我设法通过从MySQL表中提取相关数据并使用Xlsxwriter将这些数据填充到Excel中来创建许多excel文件。创建的Excel文件的数量在数据生成时可能超过100秒,我需要在将电子邮件发送出去之前将每个excel文件转换为PDF。
手动转换每个Excel文件需要几分钟,但想象一下为数百个文件做的事情。我想避免使用com32或comtypes,只需通过Xlsxwriter或VBA即可完成转换。我为Xlsxwriter编写了一些代码,但不知何故,这并没有起作用。请有人建议。谢谢。
VBA_worksheet=current_workbook.add_worksheet()
current_workbook.add_vba_project('printPDF')
VBA_worksheet.write_formula('A1', 'ThisWorkbook.ExportAsFixedFormat Type:=xlTypePDF')
VBA_worksheet.activate()
VBA_worksheet.hide()
答案 0 :(得分:0)
您提供的代码看起来就像是在尝试从XlsxWriter执行VBA宏。如果是这样就行不通了。
可以将VBA宏和函数添加到XlsxWriter文件中,但只有Excel可以执行它们。
为了将xlsx文件转换为PDF,您必须自动执行Excel,或者找一些可以执行此操作的第三方应用程序。