使用IRONXL

如何在 C# 中從 Excel 表格獲取數據

已更新 2024年2月6日
分享:

IronXL 是一個功能豐富的 API,提供多種功能來處理 使用 C# 處理 Excel 文件本教程將探討如何使用 IronXL 在 C# 中從 Excel 表單中提取數據。

要遵循本教程,您需要具備以下條件:

  • 在您的機器上安裝 Microsoft Visual Studio
  • 基本的 C# 編程知識
  • 在您的項目中安裝 IronXL 庫

您可以從官方網站或通過 Visual Studio 的 NuGet 套件管理器下載 IronXL。

在 Visual Studio 中安装 IronXL

要在 C# 项目中安装 IronXL,请按照以下步骤操作:

  1. 打开 Microsoft Visual Studio。
  2. 创建一个新项目或打开一个现有项目。
  3. 在解决方案资源管理器中的项目上点击右键,选择“管理 NuGet 包”。
  4. 在“NuGet 包管理器”窗口中,选择“浏览”选项卡。
  5. 在搜索框中输入“IronXL”,然后按回车键。
  6. 选择“IronXL.Excel”,点击“安装”按钮。
  7. 点击“我接受”按钮接受许可协议。
  8. 等待安装完成。

如何在 C# 中從 Excel 表中提取數據,圖 1:在 Visual Studio 項目中安裝 IronXL 庫

在 Visual Studio 專案中安裝 IronXL 程式庫

完成這些步驟後,IronXL 應該已安裝並可在您的 C# 專案中使用。

步驟1:導入所需的程式庫

加入以下範例程式碼以導入 IronXL 程式庫和其他必要的程式庫。

using IronXL;
using System;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;
using IronXL;
using System;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;
Imports IronXL
Imports System
Imports System.Data
Imports System.Data.OleDb
Imports System.Windows.Forms
VB   C#

使用 IronXL 命名空間提供所有必要的類別和函式,以使用 IronXL 庫處理 Excel 文檔。

第2步:載入 Excel 檔案

第一步是載入檔案。IronXL 提供了 Workbook ``markdown 使用WorkBook類別來載入 Excel 檔案。我們可以使用WorkBook` 類別來開啟現有的 Excel 檔案或建立新的工作簿。

要載入現有的 Excel 檔案,請使用以下程式碼:


```cs
WorkBook workbook = WorkBook.Load("path/to/excel/file.xlsx");

此程式碼將指定的 Excel 檔案載入到 WorkBook 對象中。

要建立新的 WorkBook,請使用以下範例程式碼:

WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
VB   C#

此代碼以指定的文件格式創建一個新工作簿 (這裡, XLSX).

如何從 Excel 表單中提取資料在 C#,圖 3:IronXL 可以加載並創建 .XLS 和 .XLSX 文件格式的 Excel 試算表

IronXL 可以載入和建立 .XLS 和 .XLSX 文件格式的 Excel 試算表

步驟 3:檢索 Excel 工作表

載入 Excel 文件後,需要指定要提取資料的 Excel 工作表。一個 WorkBook 可以包含多個 WorkSheet 物件。每个 工作表 需要在訪問資料之前指定工作表的名稱。

WorkSheet worksheet = workbook.WorkSheets ["Sheet1"];
WorkSheet worksheet = workbook.WorkSheets ["Sheet1"];
Dim worksheet As WorkSheet = workbook.WorkSheets ("Sheet1")
VB   C#

此代碼會檢索第一個工作表 (與工作表名稱 Sheet1) 從工作簿中。如果您想按索引檢索工作表,可以使用以下代碼:

WorkSheet worksheet = workbook.WorkSheets [0];
WorkSheet worksheet = workbook.WorkSheets [0];
Dim worksheet As WorkSheet = workbook.WorkSheets (0)
VB   C#

此代碼從工作簿中檢索第一個工作表,假設它存在。

第四步:從 Excel 表單獲取資料

從獲取的 Excel 表單中,可以開始存取資料。IronXL 提供了多種方法從 Excel 表單中獲取資料。以下是一些最常用的方法:

  • 索引運算子 `[]:檢索單個單元格的值。
  • 获取行: 检索单行数据。
  • GetColumn: 檢索單列數據。
  • GetRange: 檢索一系列的單元格。

要檢索單個單元格的值,請使用以下代碼:

object value = worksheet ["A1"].Value;
object value = worksheet ["A1"].Value;
Dim value As Object = worksheet ("A1").Value
VB   C#

此程式碼取得工作表中單元格A1的值。

要檢索單行數據,請使用以下程式碼:

var dataRow = worksheet.GetRow(1);
var dataRow = worksheet.GetRow(1);
Dim dataRow = worksheet.GetRow(1)
VB   C#

此代碼檢索工作表中的第一行數據。

要檢索單列數據,請使用以下代碼:

var dataColumn = worksheet.GetColumn(1);
var dataColumn = worksheet.GetColumn(1);
Dim dataColumn = worksheet.GetColumn(1)
VB   C#

此代碼檢索工作表中的第一欄數據。

要檢索範圍內的單元格,請使用以下代碼:

var cellRange = worksheet.GetRange("A1:B2");
var cellRange = worksheet.GetRange("A1:B2");
Dim cellRange = worksheet.GetRange("A1:B2")
VB   C#

此程式碼從工作表中取得範圍從A1到B2的儲存格。

步驟五:從 Excel 表單中提取數據

要從獲取的數據中提取單個值,需要將其轉換為適當的數據類型。

以下代碼展示了如何從單元格 A1 提取整數值:

int value = worksheet ["A1"].IntValue;
int value = worksheet ["A1"].IntValue;
Dim value As Integer = worksheet ("A1").IntValue
VB   C#

以下代碼可用於提取一行數據:

var dataRow = worksheet.GetRow(1);
var values = dataRow.Values;

foreach (var value in values)
{
    int intValue = (int)value;
    // Do something with the extracted value
}
var dataRow = worksheet.GetRow(1);
var values = dataRow.Values;

foreach (var value in values)
{
    int intValue = (int)value;
    // Do something with the extracted value
}
Dim dataRow = worksheet.GetRow(1)
Dim values = dataRow.Values

For Each value In values
	Dim intValue As Integer = CInt(value)
	' Do something with the extracted value
Next value
VB   C#

此程式碼提取第一行數據並遍歷該行中的數值,將每個值轉換為整數。

接下來,以下程式碼顯示如何提取一列數據:

var dataColumn = worksheet.GetColumn(1);
var values = dataColumn.Values;

foreach (var value in values)
{
    string strValue = (string)value;
    // Do something with the extracted value
}
var dataColumn = worksheet.GetColumn(1);
var values = dataColumn.Values;

foreach (var value in values)
{
    string strValue = (string)value;
    // Do something with the extracted value
}
Dim dataColumn = worksheet.GetColumn(1)
Dim values = dataColumn.Values

For Each value In values
	Dim strValue As String = CStr(value)
	' Do something with the extracted value
Next value
VB   C#

此程式碼提取第一列數據並遍歷該列中的值,將每個值轉換為字串。

接下來的範例展示如何提取一範圍的儲存格:

var cellRange = worksheet.GetRange("A1:B2");
var values = cellRange.Values;

foreach (var row in values)
{
    foreach (var value in row)
    {
        // Do something with the extracted value
    }
}
var cellRange = worksheet.GetRange("A1:B2");
var values = cellRange.Values;

foreach (var row in values)
{
    foreach (var value in row)
    {
        // Do something with the extracted value
    }
}
Dim cellRange = worksheet.GetRange("A1:B2")
Dim values = cellRange.Values

For Each row In values
	For Each value In row
		' Do something with the extracted value
	Next value
Next row
VB   C#

這段代碼提取了從A1到B2的單元格範圍,並遍歷每個單元格中的值。

結論

本教程探討了如何使用IronXL在C#中從Excel工作表中獲取數據,載入Excel文件,檢索所需的工作表,從工作表中檢索數據,提取數據,並將數據導入數據庫。IronXL提供了豐富的API以處理Excel文件,使將Excel數據集成到C#應用程式中變得輕而易舉。使用IronXL,我們可以讀取和寫入Excel文件,並以編程方式與其數據互動。此外,我們還可以使用IronXL自動化Excel任務,例如生成報告。 建立圖表,和 格式化單元格.

更多關於IronXL

IronXL是一個用戶友好且方便的庫,用於讀取和寫入Excel和CSV文件,具有小型且易於記憶的函數。

本教程只是觸及了内容的表面, IronXL 可以做到。IronXL 提供各種額外功能,例如 單元格格式化, 數學函數,和 條件格式化 舉幾個例子。

使用 IronXL 的顯著優勢

  • 獲得專業 .NET 工程師的專屬支持,並支援跨平台。 Azure, AWS, and Docker.
  • Simple installation via Microsoft Visual Studio
  • free trial for development, with licenses starting at $749
  • Easy integration into C# or VB.NET projects
< 上一頁
如何將表格轉換為範圍在Excel中
下一個 >
如何在 C# 中創建 CSV 文件(逐步教程)

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 1,023,839 查看許可證 >