问题
请参阅下面的代码,每当我运行这段代码时,它将找到所有工作表的图表并将其导出为图像。但是,当涉及到chartObject.Chart.Export("chart" + str(i) + ".png")
时,它将始终导出到窗口中的文档文件夹。
问题
是否有一种方法声明要导出的路径? (PS)我已经尝试阅读文档,但是没有关于我的问题的信息。谢谢。
代码
需要注意的一件事:这段代码是在2018年的stackoverflow问题中的1个中得到回答的。因此,我不认为这是值得的。但是我正在做类似的事情。谢谢。
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(),因为会出现错误,因此如上所述可以安全使用。