以下代码在visual studio code中使用能够成功运行并实现文件的转换。
def xlsToxlsx(xls_file):
"""实现xls文件转化为xlsx文件.参数xls_file为需要转化的文件名"""
excel = win32.gencache.EnsureDispatch("Excel.Application") # 调用win32模块
# excel = win32.Dispatch("Excel.Application")
wb = excel.Workbooks.Open(xls_file)
xlsx_fname = xls_file + 'x' # 文件名以.xlsx为后缀
wb.SaveAs(xlsx_fname, FileFormat = 51) # FileFormat = 51 is for .xlsx extension
wb.Close() # FileFormat = 56 is for .xls extension
excel.Application.Quit()
# print(xlsx_fname)
return xlsx_fname
但在Jupyter notebook中会出现如下错误:
尝试用以下代码解决,均是出现一样的错误
# excel = win32.gencache.EnsureDispatch("Excel.Application") # 调用win32模块
# mod = win32.gencache.EnsureModule("{00020813-0000-0000-C000-000000000046}", 0, 1, 2, bForDemand=1)
mod = win32.gencache.EnsureModule("{00020813-0000-0000-C000-000000000046}", 9, 1, 0)
excel = win32.Dispatch("Excel.Application")
# excel = win32.dynamic.Dispatch("Excel.Application")
不知道是什么原因,该如何修改呢?