gpt4 book ai didi

使用 win32com 的 Python 不会使用所需的加载项更新 Excel 工作表

转载 作者:行者123 更新时间:2023-12-01 07:20:46 25 4
gpt4 key购买 nike

我正在尝试获取一个Python脚本来创建一个Excel文件,其中包含一个准备在工作簿打开时执行的公式(它需要一个仅在Excel中可用的加载项)。打开后,Excel 将计算公式,Python 将关闭并保存文件。然后我可以使用这个 excel 文件来完成我的 python 脚本的其余部分。但是,在我手动打开 python 创建的 excel 文件之前,我无法让添加执行公式。

我尝试了各种方法让 win32com 打开加载了所有加载项的 Excel 文件。然而,似乎都不起作用。

workbook = xlsxwriter.Workbook('C:/Users/ccraig/Desktop/QR Price_Bonds/t.xlsx')
worksheet1=workbook.add_worksheet()
worksheet2=workbook.add_worksheet()
worksheet1.write(1,1,'Hello')
worksheet1.write_formula('A2','=BDH(Sheet2!A1&"@TRAC Corp","TRADE",Sheet2!B2,Sheet2!BA2,"IntrRw=True","RPSCodes=S","RPTContra=S","Price=S","Type=S","Yield=S","Size=S","IndicatorCodes=S","CondCodes=S","QRM=S","Dir=V","cols=9;rows=312")')
worksheet2.write('A1','1730T0R50')
worksheet2.write('B2','8/7/2019')
worksheet2.write('A2','8/7/2019')
workbook.close()
xlapp = win32com.client.DispatchEx("Excel.Application")
xlapp.RegisterXLL('C:/blp/API/Office Tools/bofaddin.dll')
# for addin in xlapp.AddIns:
# addin.Installed=True
wb = xlapp.Workbooks.Open('C:/Users/ccraig/Desktop/QR Price_Bonds/t.xlsx',None,False)
wb_addin = ('C:/blp/API/Office Tools/bofaddin.dll')
wb.RefreshAll()
xlapp.CalculateUntilAsyncQueriesDone()
wb.Save()
xlapp.Quit()

我没有收到任何错误。该文件已根据需要创建,但直到我手动打开该文件后,该公式才会执行。

最佳答案

xlapp = win32com.client.DispatchEx("Excel.Application")
xlapp.RegisterXLL('C:/blp/API/Office Tools/bofaddin.dll')
xlapp.Workbooks.Open('C:\\blp\\API\\Office Tools\\BloombergUI.xla')
wb = xlapp.Workbooks.Open(filepath,None,False)
xlapp.Visible = True
wb_addin = ('C:/blp/API/Office Tools/bofaddin.dll')
wb.RefreshAll()
sleep(60)
wb.Save()
xlapp.Quit()

这是工作代码。

关于使用 win32com 的 Python 不会使用所需的加载项更新 Excel 工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57714123/

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