透過 C# 將資料寫入到Excel表格

E-iceblue發表於2024-08-12

Excel 是一款廣泛應用於資料處理、分析和報告製作的電子表格軟體。在商業、學術和日常生活中,Excel 的使用極為普遍。本文將詳細介紹如何使用免費.NET庫將資料寫入到 Excel 中,包括文字、數值、陣列、和DataTable資料的輸入。

  • C# 在Excel單元格中寫入文字、或數值
  • C# 在Excel工作表中寫入陣列
  • C# 在Excel工作表中寫入DataTable資料表

本文用到的免費.NET Excel庫為 Free Spire.XLS for .NET

該庫可以在Visual Studio > NuGet程式包管理器中搜尋 “FreeSpire.XLS” 來安裝。也可以透過此連結下載產品包後手動新增引用。

C# 在Excel單元格中寫入文字、或數值

1. 建立一個工作簿Workbook物件;

2. 獲取指定工作表;

3. 寫入資料到指定單元格:

寫入文字Worksheet.Range[].TextWorksheet.Range[].Value 屬性;

寫入數字Worksheet.Range[].Value2 屬性;

4. 儲存Excel檔案。

C#程式碼:

using Spire.Xls;

namespace WriteDataToCells
{
    class Program
    {
        static void Main(string[] args)
        {
            //建立一個Excel工作簿
            Workbook workbook = new Workbook();

            //獲取其中第一張工作表
            Worksheet worksheet = workbook.Worksheets[0];

            //寫入資料到指定單元格
            worksheet.Range["A1"].Text = "考號";
            worksheet.Range["B1"].Text = "學生姓名";
            worksheet.Range["C1"].Value = "所在班級";
            worksheet.Range["D1"].Value = "考試成績";

            worksheet.Range["A2"].Value = "TS001";
            worksheet.Range["B2"].Value = "陳國柏";
            worksheet.Range["C2"].Value = "5班";
            worksheet.Range["D2"].Value2 = 97;

            worksheet.Range["A3"].Value = "TS002";
            worksheet.Range["B3"].Value = "易江維";
            worksheet.Range["C3"].Value = "2班";
            worksheet.Range["D3"].Value2 = 92;

            //設定字型樣式
            worksheet.Range["A1:D1"].Style.Font.IsBold = true;
            worksheet.Range["A1:D3"].Style.Font.Size = 11;
            worksheet.Range["A1:D3"].Style.Font.FontName = "宋體";

            //儲存Excel檔案
            workbook.SaveToFile("寫入資料到單元格.xlsx", ExcelVersion.Version2016);
        }
    }
}

C# 在Excel工作表中寫入陣列

1. 建立一個工作簿Workbook物件;
2. 獲取指定工作表;
3. 定義一個二維陣列;
4. 透過 Worksheet.InsertArray(Object\[,\] objectArray, int firstRow, int firstColumn) 方法將二維陣列中的資料插入到工作表中指定位置;
5. 儲存Excel檔案。

C#程式碼:

using Spire.Xls;

namespace WriteArraysToWorksheet
{
    class Program
    {
        static void Main(string[] args)
        {
            //建立一個Excel工作簿
            Workbook workbook = new Workbook();

            //獲取其中第一張工作表
            Worksheet worksheet = workbook.Worksheets[0];

            //建立一個二維陣列
            string[,] twoDimensionalArray = new string[,]{

                {"統計年份", "城市", "銷售額", "增長率"},
                {"2021", "上海", "150萬", "55%"},
                {"2021", "杭州", "80萬", "-12%"},
                {"2021", "北京", "100萬", "20%"}
            };

            //將陣列寫入工作表指定位置
            worksheet.InsertArray(twoDimensionalArray, 1, 1);

            //設定字型樣式
            worksheet.Range["A1:D1"].Style.Font.IsBold = true;
            worksheet.Range["A1:D4"].Style.Font.Size = 11;
            worksheet.Range["A1:D4"].Style.Font.FontName = "宋體";

            //儲存Excel檔案
            workbook.SaveToFile("寫入陣列.xlsx", ExcelVersion.Version2016);
        }
    }
}

C# 在Excel工作表中寫入DataTable資料表

1. 建立一個工作簿Workbook物件;
2. 獲取指定工作表;
3. 建立一個DataTable物件,並新增資料;
4. 使用 Worksheet.InsertDataTable(DataTable dataTable,bool columnHeaders, int firstRow, int firstColumn, bool transTypes) 方法將DataTable的內容插入到工作表中指定位置;
5. 儲存Excel檔案。
C#程式碼:

using System;
using System.Data;
using System.Drawing;
using Spire.Xls;

namespace WriteDataTableToWorksheet
{
    class Program
    {
        static void Main(string[] args)
        {
            //建立一個Excel工作簿
            Workbook workbook = new Workbook();

            //獲取其中第一張工作表
            Worksheet worksheet = workbook.Worksheets[0];

            //建立DataTable物件
            DataTable dataTable = new DataTable();
            dataTable.Columns.Add("編碼", typeof(Int32));
            dataTable.Columns.Add("產品", typeof(String));
            dataTable.Columns.Add("單價", typeof(Decimal));

            //建立行並新增資料
            DataRow dr = dataTable.NewRow();
            dr[0] = 110600015;
            dr[1] = "資料線";
            dr[2] = "8.5";
            dataTable.Rows.Add(dr);

            dr = dataTable.NewRow();
            dr[0] = 110600037;
            dr[1] = "滑鼠";
            dr[2] = "29.9";
            dataTable.Rows.Add(dr);

            dr = dataTable.NewRow();
            dr[0] = 110600021;
            dr[1] = "網線";
            dr[2] = "15.5";
            dataTable.Rows.Add(dr);

            //將datatable中的資料寫入工作表
            worksheet.InsertDataTable(dataTable, true, 1, 1, true);

            //設定字型樣式
            worksheet.Range["A1:D1"].Style.Font.IsBold = true;
            worksheet.Range["A1:D4"].Style.Font.Size = 11;
            worksheet.Range["A1:D4"].Style.Font.FontName = "宋體";

            //儲存Excel檔案
            workbook.SaveToFile("寫入DataTable.xlsx", ExcelVersion.Version2016);
        }
    }
}

透過以上提供的三個示例,你可以將各種型別的資料寫入到 Excel工作表中。如需對Excel中的資料進行進一步的分析處理、或插入圖表等元素,可以點選檢視該免費Spire.XLS庫提供相應功能教程:
https://www.e-iceblue.cn/spirexls/spire-xls-for-net-program-guide-content.html

相關文章