要将一维公式数组复制到Excel的ListObject列中,并且不自动填充其他单元格,可以使用以下代码示例:
import win32com.client as win32
# 创建Excel应用程序对象
excel_app = win32.gencache.EnsureDispatch('Excel.Application')
# 打开Excel文件
workbook = excel_app.Workbooks.Open(r'Path\to\your\file.xlsx')
# 获取工作表对象
worksheet = workbook.Worksheets('Sheet1')
# 获取ListObject对象
list_obj = worksheet.ListObjects('Table1')
# 定义一维公式数组
formula_array = ['=A1', '=B1', '=C1']
# 将公式数组复制到ListObject的列中
for i, formula in enumerate(formula_array):
list_obj.ListColumns(i+1).DataBodyRange.Formula = formula
# 保存并关闭Excel文件
workbook.Save()
workbook.Close()
# 退出Excel应用程序
excel_app.Quit()
请根据你的实际情况修改文件路径、工作表名称和ListObject名称。这段代码将在Excel中将formula_array
中的公式分别复制到ListObject的每一列中的数据区域。