如何使用免費控件將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。使我節省了不少的時間。如果你有好的意見或建議,希望可以在這里相互分享。

 

希望本文能給您帶來一定的幫助。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM