Python - 使用 win32com.client 将 Excel 单元格区域格式化为 table
Python - Using win32com.client to format an Excell cell range as table
我正在尝试编写一个函数来选择工作表中的所有非空单元格,根据内容调整列宽,并将它们格式化为 table。
我停留在最后一点,这是我当前的代码:
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"
问题出在最后一行。我不确定该怎么做,因为错误消息非常含糊。
*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"
我正在尝试编写一个函数来选择工作表中的所有非空单元格,根据内容调整列宽,并将它们格式化为 table。
我停留在最后一点,这是我当前的代码:
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"
问题出在最后一行。我不确定该怎么做,因为错误消息非常含糊。
*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"