C#/VB.NET 將PDF轉為Excel
PDF文檔可以避免可防⽌他⼈⽆意中觸到鍵盤修改⽂件內容。但是在避免他人⽆意修改的同時也妨礙了正常的修改。如果你想處理或修改PDF文檔中的數據,不妨試試用Excel來實現。Excel擁有強大的數據處理功能,豐富的繪製圖表功能,豐富的自動化功能。本文將分為兩個部分詳細為您介紹如何通過C#/VB.NET程式碼將PDF轉為Excel格式。僅需簡單幾步即可實現此功能,詳情請閱讀以下內容。
將PDF轉為Excel
將多頁 PDF 轉換為一個 Excel 工作表
類庫引入及程式碼思路
方法 1:
在程式中引入 Spire.PDF.dll 文件;將Free Spire.PDF for .NET 下載到本地,解壓,找到 BIN 文件夾下的 Spire.PDF.dll。然後在 Visual Studio 中打開「解決方案資源管理器」,滑鼠右鍵點擊「引用」,「添加引用」,將本地路徑 BIN 文件夾下的 dll 文件添加引用至程式。
方法 2:
通過 NuGet 安裝。可通過以下 2 種方法安裝:
1. 可以在 Visual Studio 中打開「解決方案資源管理器」,滑鼠右鍵點擊「引用」,「管理 NuGet 包」,然後搜索「Free Spire.PDF」,點擊「安裝」。等待程式安裝完成。
2. 將以下內容複製到 PM 控制台安裝。
Install-Package FreeSpire.PDF -Version 8.2.0
將PDF轉為Excel
具體步驟:
-
創建 PdfDocument 類的對象。
-
調用 PdfDocument.LoadFromFile() 方法載入 PDF 文檔。
-
通過 PdfDocument.SaveToFile() 方法保存為Excel文件格式到指定路徑。
完整程式碼:
【C#】
using Spire.Pdf; using Spire.Pdf.Conversion; namespace ConvertPdfToExcel { class Program { static void Main(string[] args) { //創建 PdfDocument 類的對象 PdfDocument pdf = new PdfDocument(); //載入PDF文檔 pdf.LoadFromFile("TableSample2.pdf"); //保存PDF為XLSX文件 pdf.SaveToFile("PdfToExcel2.xlsx", FileFormat.XLSX); } } }
【VB.NET】
Imports Spire.Pdf Imports Spire.Pdf.Conversion Namespace ConvertPdfToExcel Class Program Private Shared Sub Main(ByVal args() As String) '創建 PdfDocument 類的對象 Dim pdf As PdfDocument = New PdfDocument '載入PDF文檔 pdf.LoadFromFile("TableSample2.pdf ") '保存PDF為XLSX文件 pdf.SaveToFile("PdfToExcel2.xlsx", FileFormat.XLSX) End Sub End Class End Namespace
文檔效果:
原文檔
輸出文檔
將多頁 PDF 轉換為一個 Excel 工作表
下面是將多頁 PDF 轉換為一個 Excel 工作表的具體步驟:
- 創建 PdfDocument 類的對象。
- 調用 PdfDocument.LoadFromFile() 方法載入 PDF 文檔。
- 初始化XlsxLineLayoutOptions 類的一個實例,在類構造函數中,將第一個參數convertToMultipleSheet 設置為 false。
- 調用PdfDocument.ConvertOptions.SetPdfToXlsxOptions()方法設置PDF轉XLSX選項。
- 用PdfDocument.SaveToFile()方法將PDF保存為Excel文檔。
完整程式碼:
【C#】
using Spire.Pdf; using Spire.Pdf.Conversion; namespace ConvertPdfToExcel { class Program { static void Main(string[] args) { //創建 PdfDocument 類的對象 PdfDocument pdf = new PdfDocument(); //載入PDF文檔 pdf.LoadFromFile("TableSample.pdf"); //初始化XlsxLineLayoutOptions 類的一個實例,在類構造函數中,將第一個參數convertToMultipleSheet 設置為 false. //四個參數分別代表:convertToMultipleSheet、showRotatedText、splitCell、wrapText XlsxLineLayoutOptions options = new XlsxLineLayoutOptions(false, true, true, true); //設置PDF轉XLSX選項 pdf.ConvertOptions.SetPdfToXlsxOptions(options); //保存PDF為Excel文檔 pdf.SaveToFile("PdfToOneExcelSheet.xlsx", FileFormat.XLSX); } } }
【VB.NET】
Imports Spire.Pdf Imports Spire.Pdf.Conversion Namespace ConvertPdfToExcel Class Program Private Shared Sub Main(ByVal args() As String) '創建 PdfDocument 類的對象 Dim pdf As PdfDocument = New PdfDocument pdf.LoadFromFile("TableSample.pdf") '初始化XlsxLineLayoutOptions 類的一個實例,在類構造函數中,將第一個參數convertToMultipleSheet 設置為 false. '四個參數分別代表:convertToMultipleSheet、showRotatedText、splitCell、wrapText Dim options As XlsxLineLayoutOptions = New XlsxLineLayoutOptions(false, true, true, true) '設置PDF轉XLSX選項 pdf.ConvertOptions.SetPdfToXlsxOptions(options) '保存PDF為Excel文檔 pdf.SaveToFile("PdfToOneExcelSheet.xlsx", FileFormat.XLSX) End Sub End Class End Namespace
文檔效果:
原文檔
輸出文檔
注:測試程式碼中的文件路徑為程式Debug路徑,文件路徑可自定義為其他路徑。