C#/VB.NET 将PDF转为Excel
Posted 毛毛雨大人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#/VB.NET 将PDF转为Excel相关的知识,希望对你有一定的参考价值。
PDF文档可以避免可防⽌他⼈⽆意中触到键盘修改⽂件内容。但是在避免他人⽆意修改的同时也妨碍了正常的修改。如果你想处理或修改PDF文档中的数据,不妨试试用Excel来实现。Excel拥有强大的数据处理功能,丰富的绘制图表功能,丰富的自动化功能。本文将分为两个部分详细为您介绍如何通过C#/VB.NET代码将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路径,文件路径可自定义为其他路径。
以上是关于C#/VB.NET 将PDF转为Excel的主要内容,如果未能解决你的问题,请参考以下文章