gpt4 book ai didi

python - 使用来自 win32com 的数据向 Excel 提供命名冲突 (_FilterDatabase)

转载 作者:行者123 更新时间:2023-12-04 20:51:36 25 4
gpt4 key购买 nike

我想创建一个快速脚本,它从标准化表格(word docs/docxs)中提取数据并将它们传输到 Excel 表格中,并附上一张用于计算的表格。
一切都很好,除了一个异常(exception):

我希望能够过滤特定项目编号、用户姓名首字母或其他数据点的结果,但是当我在 Excel 工作表上添加过滤器时,每当我从 Python 运行它时,我都会收到“命名冲突”错误消息并且必须为“_FilterDatabase”选择一个新名称 - 当我这样做时,过滤器就消失了。
如果我不这样做,脚本就会崩溃。

我像这样打开工作表:

import win32com.client as win32
def openExcel():
xl = win32.gencache.EnsureDispatch('Excel.Application')
wb = xl.Workbooks.Open(path+"\\"+'Analysis.xlsx')
ws = wb.Sheets(1)
xl.Visible = True

return ws

然后我将数据中包含的数据点传递给 Excel
def print2Excel(data, ws):
const = win32.constants
ws.Range("A2:H2").Insert(const.xlShiftDown, const.xlFormatFromRightOrBelow)
ws.Cells(2,1).Value = data["datapoint"]
...

这个问题仍然存在,即使我在事后移除了过滤器。一旦 Excel 工作表被过滤一次,错误就会一直发生,直到时间结束。到目前为止,唯一的出路是 git reset/checkout Excel。

最佳答案

我看不到您在哪里应用过滤器,但在应用过滤器之前,您是否尝试将 AutoFilterMode 设置为 False,然后添加过滤器?例如

    sh_data.Rows(1).AutoFilter(Field=1, Criteria1='B')

关于python - 使用来自 win32com 的数据向 Excel 提供命名冲突 (_FilterDatabase),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58303237/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com