如何使用免费控件将Word表格中的数据导入到Excel中

简介: 我通常使用MS Excel来存储和处理大量数据,但有时候经常会碰到一个问题—我需要的数据存储在word表格中,而不是在Excel中,这样处理起来非常麻烦,尤其是在数据比较庞大的时候, 这时我迫切地需要将word表格中的数据导入到Excel中。

我通常使用MS Excel来存储和处理大量数据,但有时候经常会碰到一个问题—我需要的数据存储在word表格中,而不是在Excel中,这样处理起来非常麻烦,尤其是在数据比较庞大的时候,

这时我迫切地需要将word表格中的数据导入到Excel中。相信大家也碰到过同样的问题,下面我就给大家分享一下在C#中如何使用免费控件来实现这一功能。这里,我使用了两个免费API,

DocX和Spire.Xls。

有需要的朋友可以下载使用。下载地址:

DocX:codeplex官网

Spire.Xls: E-iceblue官网

注意:在创建项目后,需要添加这两个控件的相关.dll文件作为项目的引用。

 

                       

 

以下是详细步骤:

首先我使用DocX API 来获取word表格中的数据,然后将数据导入System.Data.DataTable对象中

代码片段:

步骤1:加载word文档;

DocX document = DocX.Load("E:\\Program Files\\data.docx");

步骤2从文档中获取表格。作为示例,这里我仅获取了第一个表格;

//获取文档的第一个表格

Table table = document.Tables[0];

步骤3创建一个DataTable对象,并导入word表格中的数据;

//创建一个Datable对象并命名为order

DataTable dt = new DataTable("order");

//将word表格中的数据导入Datable

DataColumn column;

for (int i = 0; i < table.ColumnCount; i++)

{

column = new DataColumn();

column.ColumnName = table.Rows[0].Cells[i].Paragraphs[0].Text;

dt.Columns.Add(column);

}

DataRow newRow;

for (int i = 1; i < table.RowCount; i++)

{

newRow = dt.NewRow();

Row row = table.Rows[i];

for (int j = 0; j < table.ColumnCount; j++)

{

newRow[j] = row.Cells[j].Paragraphs[0].Text;

}

dt.Rows.Add(newRow);

}


效果图如下:

原word文档:

 

Datable:

 

 

其次,我使用了Spire.Xls API来创建一个Workbook对象,并将dataTable插入到Workbook中,然后将文件保存为.xlsx文件。

代码片段:

步骤1创建一个Workbook实例并新建一个空的worksheet;

//创建一个Workbook示例

Workbook workbook = new Workbook();

//新建一个空的worksheet

workbook.CreateEmptySheets(1);

//获取第一个worksheet

Worksheet sheet = workbook.Worksheets[0];

步骤2将dataTable中的数据导入到worksheet;

//将dataTable中的数据插入到worksheet中,1代表第一行和第一列

sheet.InsertDataTable(dt, true, 1, 1);

步骤3 保存到一个excel文件中;

workbook.SaveToFile("Data.xlsx",ExcelVersion.Version2007);


生成的excel文件效果图:

 

 

全部代码:

using System.Data;

using Spire.Xls;

using Novacode; //Docx

namespace word_table_to_excel

{

    class Program

    {

        static void Main(string[] args)

        {

            DocX document = DocX.Load("E:\\Program Files\\data.docx");

            Table table = document.Tables[0];

            DataTable dt = new DataTable("order");

            DataColumn column;

            for (int i = 0; i < table.ColumnCount; i++)

            {

                column = new DataColumn();

                column.ColumnName = table.Rows[0].Cells[i].Paragraphs[0].Text;

                dt.Columns.Add(column);

            }

            DataRow newRow;

            for (int i = 1; i < table.RowCount; i++)

            {

                newRow = dt.NewRow();

                Row row = table.Rows[i];

                for (int j = 0; j < table.ColumnCount; j++)

                {

                    newRow[j] = row.Cells[j].Paragraphs[0].Text;

                }

                dt.Rows.Add(newRow);

            }

            Workbook workbook = new Workbook();

            workbook.CreateEmptySheets(1);

            Worksheet sheet = workbook.Worksheets[0];

            sheet.InsertDataTable(dt, true, 1, 1);

            workbook.SaveToFile("Data.xlsx", ExcelVersion.Version2007);

        }

    }

}


总结:

这是两款独立的免费软件,使用时不需要安装MS Office。使我节省了不少的时间。如果你有好的意见或建议,希望可以在这里相互分享。

 

希望本文能给您带来一定的帮助。

目录
相关文章
|
3天前
|
数据采集 存储 JavaScript
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
本文介绍了一种使用Selenium和Excel结合代理IP技术从WIPO品牌数据库(branddb.wipo.int)自动化爬取专利信息的方法。通过Selenium模拟用户操作,处理JavaScript动态加载页面,利用代理IP避免IP封禁,确保数据爬取稳定性和隐私性。爬取的数据将存储在Excel中,便于后续分析。此外,文章还详细介绍了Selenium的基本设置、代理IP配置及使用技巧,并探讨了未来可能采用的更多防反爬策略,以提升爬虫效率和稳定性。
|
3天前
|
easyexcel Java UED
SpringBoot中大量数据导出方案:使用EasyExcel并行导出多个excel文件并压缩zip后下载
在SpringBoot环境中,为了优化大量数据的Excel导出体验,可采用异步方式处理。具体做法是将数据拆分后利用`CompletableFuture`与`ThreadPoolTaskExecutor`并行导出,并使用EasyExcel生成多个Excel文件,最终将其压缩成ZIP文件供下载。此方案提升了导出效率,改善了用户体验。代码示例展示了如何实现这一过程,包括多线程处理、模板导出及资源清理等关键步骤。
|
21天前
|
SQL C# 数据库
EPPlus库的安装和使用 C# 中 Excel的导入和导出
本文介绍了如何使用EPPlus库在C#中实现Excel的导入和导出功能。首先,通过NuGet包管理器安装EPPlus库,然后提供了将DataGridView数据导出到Excel的步骤和代码示例,包括将DataGridView转换为DataTable和使用EPPlus将DataTable导出为Excel文件。接着,介绍了如何将Excel数据导入到数据库中,包括读取Excel文件、解析数据、执行SQL插入操作。
EPPlus库的安装和使用 C# 中 Excel的导入和导出
|
9天前
|
Java Apache
Apache POI java对excel表格进行操作(读、写) 有代码!!!
文章提供了使用Apache POI库在Java中创建和读取Excel文件的详细代码示例,包括写入数据到Excel和从Excel读取数据的方法。
19 0
|
1月前
|
数据采集 存储 数据挖掘
使用Python读取Excel数据
本文介绍了如何使用Python的`pandas`库读取和操作Excel文件。首先,需要安装`pandas`和`openpyxl`库。接着,通过`read_excel`函数读取Excel数据,并展示了读取特定工作表、查看数据以及计算平均值等操作。此外,还介绍了选择特定列、筛选数据和数据清洗等常用操作。`pandas`是一个强大且易用的工具,适用于日常数据处理工作。
|
2月前
|
SQL JSON 关系型数据库
n种方式教你用python读写excel等数据文件
n种方式教你用python读写excel等数据文件
|
2月前
|
人工智能 BI
用ChatGPT做excel表格真香!只需动嘴提要求和复制粘贴
用ChatGPT做excel表格真香!只需动嘴提要求和复制粘贴
|
2月前
|
关系型数据库 MySQL Shell
不通过navicat工具怎么把查询数据导出到excel表中
不通过navicat工具怎么把查询数据导出到excel表中
37 0
|
2月前
|
存储 Java Apache
|
2月前
|
数据可视化 Python
我是如何把python获取到的数据写入Excel的?
我是如何把python获取到的数据写入Excel的?
41 2