【发布时间】:2015-10-19 15:24:26
【问题描述】:
我尝试打开一个名为“N11 Result.xlsx”的现有工作簿。复制整个工作表“Sheet1”(首先将其重命名为“使用 Python 构建”...)并粘贴到同一工作簿中的新工作表(名为“Annual”)。我认为我的代码的最后一行不起作用......任何帮助都会有所帮助。
import os,sys
sys.path.append(r"""U:\Programming\Python\Python Manipulate Excel""")
work_dir=r"""U:\Programming\Python\Python Manipulate Excel"""
file_name='N11 Result.xlsx'
import win32com.client
excel = win32com.client.Dispatch('Excel.Application')
excel.Visible = True
wb = excel.Workbooks.Open(work_dir+'\\'+file_name)
ws = wb.Worksheets('Sheet1')
ws.Name = 'Built with Python'
wb.Worksheets("Built with Python").Copy(before=wb.Worksheets("Annual"))
excel.Application.Quit()
出现的错误信息将是
Traceback(最近一次通话最后一次): 文件“U:\Programming\Python\Python Manipulate Excel\Test_createExcel_01.py”,第 17 行,在 wb.Worksheets("用 Python 构建").Copy(before=wb.Worksheets("Annual")) 调用中的文件“C:\Temp\gen_py\2.7\00020813-0000-0000-C000-000000000046x0x1x7\Sheets.py”,第 113 行 ret = self._oleobj_.InvokeTypes(0, LCID, 2, (9, 0), ((12, 1),),Index com_error: (-2147352567, '发生异常。', (0, None, None, None, 0, -2147352565), None)
【问题讨论】:
-
也许可以看看其中一个 Python 库来执行此操作:xlwt/xlrd openpyxl、xlsxwriter 等。根据我的经验,这比使用 win32com 简单得多
-
@SiHa 你绝对是对的。我开始使用 openpyxl,您知道我应该查看任何书籍或网站以了解有关 openpyxl 的更多信息吗?谢谢!
-
官方文档怎么样? openpyxl.readthedocs.io/en/stable很彻底。
标签: python excel python-2.7 win32com