xlwings无法打开带有模糊错误的工作簿

时间:2018-01-20 21:50:36

标签: python pandas xlwings

我目前正在尝试将几个pandas数据帧写入现有的excel工作簿。我之所以选择xlwings是因为它在保存工作簿中的公式方面取得了成功。这段代码工作了大约两天,然后出现了一个模棱两可的错误。知道为什么这段代码会失败吗?

def write_packaged_outputs(packaged_outputs):
    print("Writing to template")

    template_file = './SlotVizTemplate.xlsx'
    output_file = './SlotVizOutput.xlsx'

    workbook = xlwings.Book(template_file)

    for packaged_output in packaged_outputs:
        df = packaged_output['dataframe']
        sheet_name = packaged_output['sheet_name']
        cell = packaged_output['cell']

        worksheet = workbook.sheets[sheet_name]
        worksheet.range(cell).options(index=False, header=False).value = df

    workbook.save(output_file)
    xlwings.apps[0].quit()

代码似乎在工作簿分配失败:

workbook = xlwings.Book(template_file)

这是错误:

    Traceback (most recent call last):
  File "C:\Users\philector\Documents\Development\Python\SlotViz\SlotVizTool_v1.py", line 214, in <module>
    write_packaged_outputs(packaged_outputs)
  File "C:\Users\philector\Documents\Development\Python\SlotViz\SlotVizTool_v1.py", line 160, in write_packaged_outputs
    workbook = xlwings.Book(template_file)
  File "C:\Users\philector\AppData\Local\Programs\Python\Python36-32\lib\site-packages\xlwings\main.py", line 479, in __init__
    app = App(add_book=False)
  File "C:\Users\philector\AppData\Local\Programs\Python\Python36-32\lib\site-packages\xlwings\main.py", line 204, in __init__
    self.impl = xlplatform.App(spec=spec, add_book=add_book)
  File "C:\Users\philector\AppData\Local\Programs\Python\Python36-32\lib\site-packages\xlwings\_xlwindows.py", line 288, in __init__
    self._xl = COMRetryObjectWrapper(DispatchEx('Excel.Application'))
  File "C:\Users\philector\AppData\Local\Programs\Python\Python36-32\lib\site-packages\win32com\client\__init__.py", line 113, in DispatchEx
    dispatch = pythoncom.CoCreateInstanceEx(clsid, None, clsctx, serverInfo, (pythoncom.IID_IDispatch,))[0]
pywintypes.com_error: (-2147024703, 'OLE error 0x800700c1', None, None)
    enter code here

我试图弄清楚错误代码是什么,并想出了这个:

enter image description here

我只是不确定错误的含义,或者我需要做些什么来解决它。

更新

使用pypiwin32模块启动Excel实例也失败了,所以我想我会重新安装,如果修复它。才不是。我们收到类似于xlwings的错误消息。

import win32com.client

win32com.client.Dispatch('Excel.Application')

更新2

我想我发现了这个问题。我有一台64位的机器,由于某种原因,我工作的公司安装了32位版本的Office 2016。

0 个答案:

没有答案