通过Jenkins进行Python Excel自动化

我正在使用win32 python库来自动生成一个Excel文档。 我也使用Jenkins来运行将生成文档的Python脚本。

我遇到了“另存为”function的问题。 每当我从我的本地机器运行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工作表中添加checkbox,并据我所知,这是唯一可能通过comtypes库或pywin32库。 如果还有其他的select,请指导我。

尝试编写excel而不使用com对象。

我推荐xlsxwriter,但也有其他的select

这是一个疯狂的猜测,但你运行jenkins作为一个Windows服务? 如果是,那么尝试通过命令行来运行它并尝试。 作为服务运行的Jenkins在启动Windows /浏览器时确实有问题。