文章目錄
使用 C# 將 Excel 檔(.xlsx .xls) 轉換為 PDF
之前筆記 使用 C# 將 Word 檔(.docx .doc) 轉換為 PDF 紀錄到該如何使用 Word 內建 API 將 Word 轉存為 PDF,後來有網友問到 Excel 及 PowerPoint 轉存的狀況,為了不要給出錯誤的答案,當然要實際測試看看才能確保正確性,而驗證的過程中發現 Excel 轉存程式跟 Word 有些落差,於是就多紀錄一篇了
使用 C# 將 Excel 轉 PDF
NuGet 安裝
Microsoft.Office.Interop.Excel
套件引用
Microsoft.Office.Interop.Excel
using Microsoft.Office.Interop.Excel
程式碼
// Excel 檔案位置 string sourcexlsx = @"D:\Downloads\003-圖表-ok.xlsx"; // PDF 儲存位置 string targetpdf = @"D:\Downloads\003-圖表-ok.pdf"; //建立 Excel application instance Microsoft.Office.Interop.Excel.Application appExcel = new Microsoft.Office.Interop.Excel.Application(); //開啟 Excel 檔案 var xlsxDocument = appExcel.Workbooks.Open(sourcexlsx); //匯出為 pdf xlsxDocument.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, targetpdf); //關閉 Excel 檔 xlsxDocument.Close(); //結束 Excel appExcel.Quit();
完整程式碼
using Microsoft.Office.Interop.Excel; namespace xlsx2pdf { class Program { static void Main(string[] args) { // Excel 檔案位置 string sourcexlsx = @"D:\Downloads\003-圖表-ok.xlsx"; // PDF 儲存位置 string targetpdf = @"D:\Downloads\003-圖表-ok.pdf"; //建立 Excel application instance Microsoft.Office.Interop.Excel.Application appExcel = new Microsoft.Office.Interop.Excel.Application(); //開啟 Excel 檔案 var xlsxDocument = appExcel.Workbooks.Open(sourcexlsx); //匯出為 pdf xlsxDocument.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, targetpdf); //關閉 Excel 檔 xlsxDocument.Close(); //結束 Excel appExcel.Quit(); } } }
實際效果
原始 Excel
匯出的 PDF
以結果來看當然是跑版了,但如果透過預覽列印檢視,就可以發現原本就超出範圍,跑版並不是單純因為轉 PDF 而造成的
心得
前文有提到 Word 與 Excel 的程式碼略有不同,不同內容如下
namespace 不同
word
Microsoft.Office.Interop.Word
excel
Microsoft.Office.Interop.Excel
開檔 api 不同
word 使用
Documents
appWord.Documents.Open(sourcedocx);
excel 使用
Workbooks
appExcel.Workbooks.Open(sourcexlsx);
export function 參數不同
word
- 先指定 pdf 儲存路徑
再使用
dExportFormat.wdExportFormatPDF
wordDocument.ExportAsFixedFormat(targetpdf, dExportFormat.wdExportFormatPDF);
excel
- 先指定匯出格式
XlFixedFormatType.xlTypePDF
再指定 pdf 儲存路徑
xlsxDocument.ExportAsFixedFormat(XlFixedFormatType.xlTypePDF, targetpdf);
- 先指定匯出格式
參考資訊
文章作者 Yowko Tsai
上次更新 2021-11-03
授權合約
本部落格 (Yowko's Notes) 所有的文章內容(包含圖片),任何轉載行為,必須通知並獲本部落格作者 (Yowko Tsai) 的同意始得轉載,且轉載皆須註明出處與作者。
Yowko's Notes 由 Yowko Tsai 製作,以創用CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款 釋出。