如何在 C# 中從 Excel 工作表中提取資料
IronXL 是一個功能豐富的API,提供各種功能來處理C#中的Excel文件。 本教程將探討如何使用IronXL從C#中的Excel工作表中獲取資料。
要遵循本教程,您需要具備以下條件:
- 在您的機器上安裝Microsoft Visual Studio
- 具備C#編程的基本知識
- 在您的專案中安裝IronXL程式庫
您可以從官網下載IronXL,或透過Visual Studio中的NuGet Package Manager進行安裝。
在Visual Studio中安裝IronXL
要在C#專案中安裝IronXL,請遵循以下步驟:
- 打開Microsoft Visual Studio。
- 建立一個新專案或打開一個現有專案。
- 在解決方案資源管理器中右鍵點擊專案,選擇"管理NuGet封裝"。
- 在"NuGet Package Manager"視窗中,選擇"瀏覽"選項卡。
- 在搜尋框中輸入"IronXL"並按Enter。
- 選擇"IronXL.Excel"並點擊"安裝"按鈕。
- 點擊"我接受"按鈕以同意授權協議。
- 等候安裝完成。
在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
使用IronXL命名空間提供了使用IronXL程式庫處理Excel文件所需的所有類別和功能。
步驟2:載入Excel文件
第一步是載入文件。IronXL提供了一個WorkBook類來打開現有的Excel文件或建立一個新的工作簿。
要載入現有的Excel文件,請使用以下程式碼:
WorkBook workbook = WorkBook.Load("path/to/excel/file.xlsx");
WorkBook workbook = WorkBook.Load("path/to/excel/file.xlsx");
Dim workbook As 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)
此程式碼建立了一個新的工作簿,以指定的文件格式(此處是XLSX)建立。
IronXL可以載入和建立.XLS和.XLSX文件格式的Excel電子表格
步驟3:檢索Excel工作表
載入Excel文件後,必須指明從哪個Excel工作表中獲取資料。 一個WorkSheet物件。 每個WorkSheet在存取資料之前需要指定工作表的名稱。
WorkSheet worksheet = workbook.WorkSheets["Sheet1"];
WorkSheet worksheet = workbook.WorkSheets["Sheet1"];
Dim worksheet As WorkSheet = workbook.WorkSheets("Sheet1")
此程式碼從工作簿中檢索第一個工作表(名稱為Sheet1的工作表)。 如果您想通過索引檢索工作表,可以使用以下程式碼:
WorkSheet worksheet = workbook.WorkSheets[0];
WorkSheet worksheet = workbook.WorkSheets[0];
Dim worksheet As WorkSheet = workbook.WorkSheets(0)
此程式碼假定該工作簿中存在工作表,從中檢索第一個工作表。
步驟4:從Excel工作表中檢索資料
從檢索到的Excel工作表中,可以存取資料。 IronXL提供了各種方法來從Excel工作表中檢索資料。 以下是一些最常用的方法:
要檢索單個單元格的值,請使用以下程式碼:
object value = worksheet["A1"].Value;
object value = worksheet["A1"].Value;
Dim value As Object = worksheet("A1").Value
此程式碼檢索工作表中A1單元格的值。
要檢索單行資料,請使用以下程式碼:
var dataRow = worksheet.GetRow(1);
var dataRow = worksheet.GetRow(1);
Dim dataRow = worksheet.GetRow(1)
此程式碼檢索工作表中的第一行資料。
要檢索單列資料,請使用以下程式碼:
var dataColumn = worksheet.GetColumn(1);
var dataColumn = worksheet.GetColumn(1);
Dim dataColumn = worksheet.GetColumn(1)
此程式碼檢索工作表中的第一列資料。
要檢索單元格範圍,請使用以下程式碼:
var cellRange = worksheet.GetRange("A1:B2");
var cellRange = worksheet.GetRange("A1:B2");
Dim cellRange = worksheet.GetRange("A1:B2")
此程式碼檢索工作表中從A1到B2的單元格範圍。
步驟5:從Excel工作表中提取資料
要從檢索到的資料中提取單個值,需要將其轉換為適當的資料型別。
以下程式碼範例展示了如何從A1單元格中提取整數值:
int value = worksheet["A1"].IntValue;
int value = worksheet["A1"].IntValue;
Dim value As Integer = worksheet("A1").IntValue
以下程式碼可用來提取一行資料:
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
此程式碼提取第一行資料並迭代其每個值,將每個值轉換為整數。
接下來,以下程式碼展示了如何提取一列資料:
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
此程式碼提取第一列資料並迭代其每個值,將每個值轉換為字串。
下一個範例演示了如何提取一個單元格範圍:
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
此程式碼提取從A1到B2的單元格範圍,並迭代每個單元格中的值。
結論
本教程探討了如何使用IronXL從C#中的Excel工作表中獲取資料,以及載入Excel文件、檢索所需的工作表、從工作表中檢索資料、提取資料並將資料導入到資料庫。 IronXL提供了一個功能豐富的API來處理Excel文件,使其易於將Excel資料整合到C#應用程式中。 使用IronXL,我們可以讀取和寫入Excel文件,並以程式方式與其資料交互。 此外,我們還可以使用IronXL來自動化Excel任務,例如生成報告、建立圖表和格式化單元格。
更多關於IronXL的資訊
IronXL是一個用於讀取和寫入Excel及CSV文件的使用者友好且方便的程式庫,具备小巧且易於記憶的功能。
本教程僅淺談了IronXL能做的事。 IronXL提供了一系列其他功能,如單元格格式化、數學功能和條件格式化,不一而足。
使用IronXL的顯著好處
常見問題
如何在C#中將HTML轉換為PDF?
您可以使用IronPDF的RenderHtmlAsPdf方法將HTML字串轉換為PDF。您也可以使用RenderHtmlFileAsPdf將HTML文件轉換為PDF。
如何在C#中不使用Interop從Excel工作表中抓取資料?
您可以使用IronXL在C#中從Excel工作表中抓取資料,方法是使用WorkBook類載入Excel文件,並使用GetRow()、GetColumn()和GetRange()等方法來存取資料。
使用IronXL在C#中操作Excel文件有哪些先決條件?
您需要擁有Microsoft Visual Studio、C#編程的基本知識,並使用NuGet包管理器安裝IronXL程式庫來操作C#中的Excel文件。
如何在我的Visual Studio項目中安裝IronXL?
要安裝IronXL,請打開Visual Studio,在Solution Explorer中右鍵點擊您的項目,選擇'管理NuGet套件',在瀏覽選項卡中搜索'IronXL',點擊'安裝'將其新增到您的項目中。
如何使用IronXL載入Excel文件?
使用WorkBook類來載入Excel文件。例如,WorkBook workbook = WorkBook.Load("path/to/excel/file.xlsx");
如何使用IronXL從工作簿中檢索特定的工作表?
您可以使用工作表的名稱檢索工作表:WorkSheet worksheet = workbook.WorkSheets["Sheet1"]; 或通過索引:WorkSheet worksheet = workbook.WorkSheets[0];
如何使用IronXL從單元格中提取資料?
使用單元格的索引來檢索其值,例如:object value = worksheet["A1"].Value;並將其轉換為適當的資料型別。
IronXL能同時處理.XLS和.XLSX文件格式嗎?
可以,IronXL能載入並建立.XLS和.XLSX格式的Excel電子表格。
如何使用IronXL提取單元格範圍?
若要提取單元格範圍,請使用var cellRange = worksheet.GetRange("A1:B2");並遍歷這些值。
使用IronXL有哪些好處?
IronXL提供來自.NET工程師的專用支援、跨平台支持、通過Visual Studio的簡單安裝、免費試用,以及便於無縫整合至C#或VB.NET專案中。




