【发布时间】:2015-07-16 14:34:57
【问题描述】:
我正在使用 win32 python 库来自动生成 excel 文档。我还使用 Jenkins 运行将生成文档的 python 脚本。
我遇到了“另存为”功能的问题。每当我从本地机器运行 python 脚本时,它都会成功生成并保存文档。但是,当我从 jenkins 触发脚本时,它会在“调用 SaveAs”时失败。
这是我非常简单的python代码:
import win32com.client as win32
from win32com.client import Dispatch
from win32com.client import constants
excel = win32.gencache.EnsureDispatch('Excel.Application')
excel.Visible = False
excel.DisplayAlerts = False
wb = excel.Workbooks.Add()
wb.SaveAs(r"D:\HelloWorld.xlsx")
excel.Quit()
正如您在两张图片中看到的,python 调用是相同的,但它只在我的本地机器上成功。
备注:
我尝试将 jenkins 用户更改为 SYSTEM 然后更改为 LOCAL ACCOUNT 但没有任何效果。
我也尝试 chmod 文件目录,但也没有用。
更新:我需要在 excel 表中添加复选框,据我所知,这只能通过 comtypes 库或 pywin32 库来实现。如果还有其他选择,请指导我。
【问题讨论】:
标签: python excel jenkins pywin32 win32com