DylanGong 2022-05-16 23:43 采纳率: 0%
浏览 234
已结题

win32com.gencache.EnsureDispatch("Excel.Application") 在Jupyter notebook和vs code中的两同的结果

以下代码在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中会出现如下错误:

img

尝试用以下代码解决,均是出现一样的错误

        # 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")

不知道是什么原因,该如何修改呢?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 5月24日
    • 创建了问题 5月16日

    悬赏问题

    • ¥20 蓝牙耳机怎么查看日志
    • ¥15 Fluent齿轮搅油
    • ¥15 八爪鱼爬数据为什么自己停了
    • ¥15 交替优化波束形成和ris反射角使保密速率最大化
    • ¥15 树莓派与pix飞控通信
    • ¥15 自动转发微信群信息到另外一个微信群
    • ¥15 outlook无法配置成功
    • ¥30 这是哪个作者做的宝宝起名网站
    • ¥60 版本过低apk如何修改可以兼容新的安卓系统
    • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏