VS2015+QT5.3+Excel2006
項目中原來有使用QT的QAxObject使用OfficeExcel的組件導出Excel報告文件的功能,由於項目要求導出PDF功能比較急,如果使用其他樣式需要重新組織格式等,花費較多時間,因此考慮將原來的Excel報告直接導出PDF,
1搜索QT導出PDF的資料,遇到幾個WORD導出PDF,遇到ExportAsFixedFormat這個函數,按照網頁上的參數試了一下不行,坑,可能是word導出到pdf跟Excel不一樣,
2 經過仔細搜索,找到ExportAsFixedFormat(Excel)函數的參數說明,根據參數實現
axCurWorkBook->querySubObject("ExportAsFixedFormat(QVariant, QVariant)",
0, pdfpath);
其中axCurWorkBook是最終導出成Excel的QAxObject對象,pdfpath是保存的PDF文件的路徑
0是函數的指定的PDF格式.
函數具體參見:https://docs.microsoft.com/zh-cn/office/vba/api/excel.workbook.exportasfixedformat
PS:日期:2020-4-27
3 由於之前導出的PDF格式按照默認紙張導出 很多列都分開了,因此測試Excel的功能,發現可以設置內容爲一頁,然後再導出到Excel就可以了,方法是:
axResultSheet->setProperty("FitToPagesWide", 1);
axResultSheet->setProperty("FitToPagesTall", 1);
我是通過錄制宏分析,然後在官網網址查看說明得到的.https://docs.microsoft.com/zh-cn/office/vba/api/excel.pagesetup.fittopageswide