Python – 使用win32com.client将Excell单元格范围格式化为表格

我试图编写一个函数,select工作表中的所有非空单元格,调整列的宽度内容,并格式化为表格。

我卡在最后一点,这是我目前的代码:

import win32com.client from win32com.client import constants f = r"D:\Project\test_copy.xlsx" exc = win32com.client.gencache.EnsureDispatch("Excel.Application") exc.Visible = 1 exc.Workbooks.Open(Filename=f) exc.ActiveSheet.UsedRange.Select() exc.Selection.Columns.AutoFit() exc.ActiveSheet.ListObjects("Table1").TableStyle ="TableStyleLight8" 

问题在于最后一行。 我不知道该怎么做,因为错误信息是非常神秘的。 Google在这方面没有太多帮助。

 *snip* line 80, in __call__ ret = self._oleobj_.InvokeTypes(0, LCID, 2, (9, 0), ((12, 1),),Index pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, None, None, None, 0, -2147352565), None) 

我真的很感谢这里的一些帮助…

谢谢你。

它驱使了我一半的坚果,但我知道了。 与社区分享。

 import win32com.client from win32com.client import constants f = r"D:\Project\test_copy.xlsx" exc = win32com.client.gencache.EnsureDispatch("Excel.Application") exc.Visible = 1 exc.Workbooks.Open(Filename=f) exc.ActiveSheet.UsedRange.Select() exc.Selection.Columns.AutoFit() exc.ActiveSheet.ListObjects.Add().TableStyle = "TableStyleMedium15"