将图表导出到不同的路径 win32Com
Export Chart to a different Path win32Com
问题
参考下面的代码,每当我运行这段代码时,它会找到所有表格的图表并导出为图像。但是,当涉及到 chartObject.Chart.Export("chart" + str(i) + ".png")
时,它总是导出到 window.
中的文档文件夹
问题
有没有办法声明导出路径? (P.s) 我已尝试阅读文档,但没有关于我的问题的信息。谢谢。
代码
1 件需要注意的事情:这段代码在 2018 年的 Whosebug 问题中得到了回答。因此,我不拥有它的功劳。但我正在做类似的事情。谢谢
from win32com.client import Dispatch
app = Dispatch("Excel.Application")
workbook_file_name = 'Programmes.xlsx'
workbook = app.Workbooks.Open(Filename=workbook_file_name)
# WARNING: The following line will cause the script to discard any unsaved changes in your workbook
app.DisplayAlerts = False
i = 1
for sheet in workbook.Worksheets:
for chartObject in sheet.ChartObjects():
# print(sheet.Name + ':' + chartObject.Name)
chartObject.Chart.Export("chart" + str(i) + ".png")
i += 1
workbook.Close(SaveChanges=False, Filename=workbook_file_name)
解决方案
大家好,抱歉我发布了我的答案。但经过反复试验,我找到了解决方案
chartObject.Chart.Export("chart" + str(i) + ".png")
只需添加路径和文件名即可。示例:
chartObject.Chart.Export(os.getcwd() + "/chart" + str(i) + ".png")
对于那些不确定什么是 os.getcwd()
的人,它基本上是指您的代码文件所在的当前目录。
注意: 永远不要使用 os.path.join() 因为你会得到一个错误,因此可以安全地如上所述使用。
问题
参考下面的代码,每当我运行这段代码时,它会找到所有表格的图表并导出为图像。但是,当涉及到 chartObject.Chart.Export("chart" + str(i) + ".png")
时,它总是导出到 window.
问题
有没有办法声明导出路径? (P.s) 我已尝试阅读文档,但没有关于我的问题的信息。谢谢。
代码
1 件需要注意的事情:这段代码在 2018 年的 Whosebug 问题中得到了回答。因此,我不拥有它的功劳。但我正在做类似的事情。谢谢
from win32com.client import Dispatch
app = Dispatch("Excel.Application")
workbook_file_name = 'Programmes.xlsx'
workbook = app.Workbooks.Open(Filename=workbook_file_name)
# WARNING: The following line will cause the script to discard any unsaved changes in your workbook
app.DisplayAlerts = False
i = 1
for sheet in workbook.Worksheets:
for chartObject in sheet.ChartObjects():
# print(sheet.Name + ':' + chartObject.Name)
chartObject.Chart.Export("chart" + str(i) + ".png")
i += 1
workbook.Close(SaveChanges=False, Filename=workbook_file_name)
解决方案
大家好,抱歉我发布了我的答案。但经过反复试验,我找到了解决方案
chartObject.Chart.Export("chart" + str(i) + ".png")
只需添加路径和文件名即可。示例:
chartObject.Chart.Export(os.getcwd() + "/chart" + str(i) + ".png")
对于那些不确定什么是 os.getcwd()
的人,它基本上是指您的代码文件所在的当前目录。
注意: 永远不要使用 os.path.join() 因为你会得到一个错误,因此可以安全地如上所述使用。