当前位置: 首页 > news >正文

如何使用C#代码从 PDF 中提取表格并另存为Excel文件

将 PDF 中的表格提取并转换为 Excel 格式具有诸多优势,例如可以在更灵活、更加熟悉的环境中对数据进行编辑、分析和可视化处理。这对于需要处理大量表格数据的研究人员、数据分析师以及各类专业人士来说尤为重要。

本文将介绍如何使用Spire.Office for .NET,通过 C# 和 VB.NET 将 PDF 中的表格提取并导出为 Excel 文件。

安装 Spire.Office for .NET

首先,需要在 .NET 项目中引用Spire.Office for .NET包中的Spire.Pdf.dllSpire.Xls.dll

其中:

  • Spire.PDF用于从 PDF 表格中提取数据;

  • Spire.XLS用于根据提取到的数据生成 Excel 文档。

你可以通过官网下载对应的 DLL 文件后手动添加引用,也可以直接通过 NuGet 进行安装,更加便捷高效。

PM> Install-Package Spire.Office

在 C#、VB.NET 中提取 PDF 文件中的表格并另存为Excel文件

Spire.PDF for .NET提供了PdfTableExtractor.ExtractTable(int pageIndex)方法,用于从可搜索的 PDF 指定页面中提取表格。
通过PdfTable.GetText(int rowIndex, int columnIndex)方法,可以获取表格中指定单元格的文本内容。随后,借助Spire.XLS for .NET提供的Worksheet.Range[row, column].Value属性,即可将这些数据写入 Excel 工作表。

具体操作步骤如下:

  1. 创建PdfDocument类的实例。

  2. 使用PdfDocument.LoadFromFile()方法加载示例 PDF 文件。

  3. 调用PdfTableExtractor.ExtractTable()方法,从指定页面提取表格。

  4. 使用PdfTable.GetText()方法获取表格中指定单元格的文本内容。

  5. 创建Workbook对象。

  6. 通过Worksheet.Range.Value属性,将从 PDF 获取的单元格数据写入工作表。

  7. 使用Workbook.SaveToFile()方法,将工作簿保存为 Excel 文件。

下面的代码示例演示了如何提取 PDF 文档中的所有表格,并将每个表格分别写入同一个工作簿中的独立工作表。

示例代码:

using Spire.Pdf; using Spire.Pdf.Utilities; using Spire.Xls; namespace ExtractTablesToExcel { class Program { static void Main(string[] args) { // 创建 PdfDocument 对象 PdfDocument doc = new PdfDocument(); // 加载示例 PDF 文件 doc.LoadFromFile(@"C:\Users\Administrator\Desktop\table.pdf"); // 创建 Workbook 对象 Workbook workbook = new Workbook(); // 清除默认的工作表 workbook.Worksheets.Clear(); // 初始化 PdfTableExtractor 类的实例 PdfTableExtractor extractor = new PdfTableExtractor(doc); // 声明 PdfTable 数组 PdfTable[] tableList = null; int sheetNumber = 1; // 遍历 PDF 的每一页 for (int pageIndex = 0; pageIndex < doc.Pages.Count; pageIndex++) { // 从指定页面提取表格 tableList = extractor.ExtractTable(pageIndex); // 判断表格列表是否为空 if (tableList != null && tableList.Length > 0) { // 遍历当前页面中的每一个表格 foreach (PdfTable table in tableList) { // 添加一个新的工作表 Worksheet sheet = workbook.Worksheets.Add( String.Format("sheet{0}", sheetNumber) ); // 获取当前表格的行数和列数 int row = table.GetRowCount(); int column = table.GetColumnCount(); // 遍历表格的行和列 for (int i = 0; i < row; i++) { for (int j = 0; j < column; j++) { // 获取指定单元格的文本内容 string text = table.GetText(i, j); // 将文本写入 Excel 指定单元格 sheet.Range[i + 1, j + 1].Value = text; } } sheetNumber++; } } } // 保存为 Excel 文件 workbook.SaveToFile("ToExcel.xlsx", ExcelVersion.Version2013); } } }

申请临时许可证

如果您希望去除生成文档中的评估提示信息,或解除功能限制,可以申请一个为期 30 天的试用许可证进行体验。

http://www.jsqmd.com/news/408808/

相关文章:

  • 2026新马泰新手全攻略:10天完整行程+机票酒店预订指南 - 资讯焦点
  • 2026郑州儿科医院哪个好?家长关注的专科实力解析 - 品牌排行榜
  • 2026年代理IP评测:跨境营销、多账号运营该如何选?
  • 热销榜单:2026年甄闪亮品牌复购率高的8大产品推荐,甄闪亮品牌影响力如何 - 睿易优选
  • 景观园林服务商怎么选?聚焦适生性与全链条服务,这5家值得推荐 - 深度智识库
  • 2026年AI搜索优化行业深度评测:五大主流服务商对比分析
  • 权威发布:2026西安装修公司综合实力榜单,先装修后付款与零增项口碑双优推荐 - 资讯焦点
  • 2026泰国家庭游全攻略:10天曼谷+普吉岛行程与一站式购票指南 - 资讯焦点
  • 腾讯云CodeBuddy AI代码助手:从需求到上线,一站式搞定开发全流程
  • 中国有实力的科技公司有哪些:多维解析国内科技公司实力表现 - 资讯焦点
  • 2026泰国首次自由行全攻略:新手专属行程规划与一站式购票方案 - 资讯焦点
  • 2026最新太阳能热水系统推荐!学校/公共建筑/医院/公共机构/工业适用,国内优质服务商权威榜单发布 - 十大品牌榜
  • 2026最新AI数字人推荐!健康科普/制造业/法律科普/连锁品牌/名师课程场景优质服务商权威榜单发布 - 十大品牌榜
  • 2026新马泰8天自由行全攻略:行程规划、预算估算、机票与门票预订指南 - 资讯焦点
  • 2026西安Java培训哪家强?AI人工智能培训+数据分析培训TOP5机构深度对比 - 深度智识库
  • 2026年全国气体纯化厂家哪家靠谱?实力强口碑好 权威且适配多场景 可靠耐用 - 深度智识库
  • 2026最新太阳能热水系统/光伏项目/空气能/能源费用托管/太阳能维保服务推荐 - 十大品牌榜
  • 2026最新光伏项目推荐!学校/公共建筑/医院/公共机构/工业场景优质服务商权威榜单发布 - 十大品牌榜
  • 2026最新AI营销推荐!健康科普/制造业/法律科普/连锁品牌/名师课程场景优质服务商权威榜单发布 - 十大品牌榜
  • 2026最新空气能推荐!学校/公共建筑/医院/公共机构/工业场景优质服务商权威榜单发布,覆盖全国的空气能品牌精选 - 十大品牌榜
  • 国内自主研发强企:从追赶者到引领者的蜕变之路 - 资讯焦点
  • BongoCat下载电脑版:2026最新版安装教程,让萌宠猫咪陪你打字 - xiema
  • AI写作的新阶段:唐库实现百万字长篇小说全自动生成 - 资讯焦点
  • 2026年评价高的雕刻公司推荐:青石柱墩雕刻/青石栏杆加工/青石栏杆定制/青石桥梁雕刻栏杆/青石河道雕刻栏杆/选择指南 - 优质品牌商家
  • 如何实现分子遗传学与植物育种学的融合?
  • 2026年国内科技领先的企业有哪些? - 资讯焦点
  • 安装依赖三方exe/msi的软件设计模式
  • 深入解析 React 中的 useCallback:原理、场景与最佳实践
  • 多肽定制丨奥米加南/Omiganan CAS号:204248-78-2
  • 进程和线程的区别