如何在 C# 中載入現有的電子表格

如何在 C# 中載入現有的試算表#

This article was translated from English: Does it need improvement?
Translated
View the article in English

使用 IronXL 的 WorkBook.Load() 方法將現有的 Excel、CSV、TSV 檔案和 DataSet 物件載入 C# 試算表中,以完整支援 Excel 或 LoadCSV() CSV 格式,在 .NET 應用程式中實現無縫資料操作和提取。

CSV(逗號分隔值)檔案格式適用於以逗號分隔值的表格數據,常用於資料交換。 TSV (Tab-Separated Values) 使用制表符來分隔數值,當資料包含逗號時較為適合。 瞭解更多關於檔案格式間轉換的資訊

Microsoft .NET 中的 DataSet 類是 ADO.NET (ActiveX Data Objects for .NET) 技術的一部分。 它常用於資料庫相關的應用程式中,可讓您處理來自各種來源(如資料庫、XML 等)的資料。 IronXL.Excel 為匯入和匯出 DataSet 物件提供無縫整合。

Excel 檔案格式中包含的資料,例如 XLSX、XLS、XLSM、XLTX、CSV 和 TSV,以及 DataSet 物件,都可以使用 IronXL.Excel 載入 Excel 試算表中。 這種強大的功能使 IronXL 成為在商業應用程式、資料分析專案和自動報表系統中使用試算表資料的開發人員的必備工具。

快速入門:載入現有試算表

使用 IronXL,只需一個簡單的方法,即可將現有的 Excel、CSV 或 TSV 檔案載入到 WorkBook 中。 開發人員可以透過呼叫WorkBook.Load(...)來快速開始編輯或提取數據,以獲得完整的 Excel 支持,或透過LoadCSV(...)專門用於 CSV 格式。 如需全面的 API 文件,請造訪 IronXL API Reference

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 IronXL

    PM > Install-Package IronXL.Excel

  2. 複製並運行這段程式碼。

    IronXL.WorkBook workbook = IronXL.WorkBook.Load("sample.xlsx");
  3. 部署到您的生產環境進行測試

    立即開始在您的專案中使用 IronXL,免費試用!
    arrow pointer


如何在 C# 中載入 Excel 試算表檔案?

使用靜態方法Load載入現有的 Excel 工作簿。 此方法支援 XLSX、XLS、XLSM、XLTX、CSV 和 TSV 檔案格式。 當工作簿有密碼保護時,請將密碼作為第二個參數傳送給方法。 該方法還接受工作簿資料為位元組陣列或串流,可分別使用專用的 FromByteArrayFromStream 方法。

IronXL 的載入功能可處理實際應用中的各種情況。 無論您是處理使用者上傳的檔案、從網路串流讀取資料,或是處理加密的文件,這個函式庫都能提供一致且可靠的介面。 Load 方法會根據檔案副檔名和內容自動偵測檔案格式,因此可適用於不同的使用情況。

我可以載入哪些檔案格式?

:path=/static-assets/excel/content-code-examples/how-to/load-spreadsheet-load-spreadsheet.cs
using IronXL;

// Supported for XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
Imports IronXL

' Supported for XLSX, XLS, XLSM, XLTX, CSV and TSV
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
$vbLabelText   $csharpLabel

靈活載入多種檔案格式意味著您可以處理傳統 Excel 檔案 (XLS)、現代 Excel 工作簿 (XLSX)、支援巨集的工作簿 (XLSM) 以及範本檔案 (XLTX)。 這種相容性可確保從舊系統順利轉移,同時支援現代 Excel 功能。 如需建立新的試算表的詳細資訊,請參閱我們的綜合指南。

如何處理密碼保護的檔案?

處理敏感資料通常需要密碼保護。 IronXL.Excel 透過提供密碼作為參數,讓 載入受密碼保護的工作簿變得簡單:

// Load password-protected Excel file
WorkBook protectedWorkBook = WorkBook.Load("protected.xlsx", "myPassword123");

// Work with the workbook normally
WorkSheet sheet = protectedWorkBook.DefaultWorkSheet;
sheet["B2"].Value = "Updated secure data";

// Save with password protection
protectedWorkBook.SaveAs("updated_protected.xlsx");
// Load password-protected Excel file
WorkBook protectedWorkBook = WorkBook.Load("protected.xlsx", "myPassword123");

// Work with the workbook normally
WorkSheet sheet = protectedWorkBook.DefaultWorkSheet;
sheet["B2"].Value = "Updated secure data";

// Save with password protection
protectedWorkBook.SaveAs("updated_protected.xlsx");
' Load password-protected Excel file
Dim protectedWorkBook As WorkBook = WorkBook.Load("protected.xlsx", "myPassword123")

' Work with the workbook normally
Dim sheet As WorkSheet = protectedWorkBook.DefaultWorkSheet
sheet("B2").Value = "Updated secure data"

' Save with password protection
protectedWorkBook.SaveAs("updated_protected.xlsx")
$vbLabelText   $csharpLabel

如何從位元組陣列或串流載入?

在現代應用程式中,檔案通常來自各種來源,例如網頁上傳、API 回應或資料庫 BLOB。 IronXL 能優雅地處理這些情況:

// Loading from byte array
byte[] excelBytes = File.ReadAllBytes("sample.xlsx");
WorkBook workBookFromBytes = WorkBook.FromByteArray(excelBytes);

// Loading from stream
using (FileStream stream = new FileStream("sample.xlsx", FileMode.Open))
{
    WorkBook workBookFromStream = WorkBook.FromStream(stream);

    // Process the workbook
    var sheet = workBookFromStream.DefaultWorkSheet;
    Console.WriteLine($"Sheet has {sheet.RowCount} rows");
}

// Loading from MemoryStream (common in web applications)
using (MemoryStream memStream = new MemoryStream(excelBytes))
{
    WorkBook workBookFromMemory = WorkBook.FromStream(memStream);
}
// Loading from byte array
byte[] excelBytes = File.ReadAllBytes("sample.xlsx");
WorkBook workBookFromBytes = WorkBook.FromByteArray(excelBytes);

// Loading from stream
using (FileStream stream = new FileStream("sample.xlsx", FileMode.Open))
{
    WorkBook workBookFromStream = WorkBook.FromStream(stream);

    // Process the workbook
    var sheet = workBookFromStream.DefaultWorkSheet;
    Console.WriteLine($"Sheet has {sheet.RowCount} rows");
}

// Loading from MemoryStream (common in web applications)
using (MemoryStream memStream = new MemoryStream(excelBytes))
{
    WorkBook workBookFromMemory = WorkBook.FromStream(memStream);
}
Imports System.IO

' Loading from byte array
Dim excelBytes As Byte() = File.ReadAllBytes("sample.xlsx")
Dim workBookFromBytes As WorkBook = WorkBook.FromByteArray(excelBytes)

' Loading from stream
Using stream As New FileStream("sample.xlsx", FileMode.Open)
    Dim workBookFromStream As WorkBook = WorkBook.FromStream(stream)

    ' Process the workbook
    Dim sheet = workBookFromStream.DefaultWorkSheet
    Console.WriteLine($"Sheet has {sheet.RowCount} rows")
End Using

' Loading from MemoryStream (common in web applications)
Using memStream As New MemoryStream(excelBytes)
    Dim workBookFromMemory As WorkBook = WorkBook.FromStream(memStream)
End Using
$vbLabelText   $csharpLabel

為什麼要使用 CSV 檔案的專用方法?

雖然 Load 方法可以讀取所有可用的檔案格式,但為了最佳處理,請使用專門針對 CSV 檔案格式的 LoadCSV 方法。 CSV 檔案具有獨特的特性,可從專門處理中獲益,例如分隔符偵測、編碼處理和資料類型推理。 在處理國際資料格式或 CSV 檔案使用分號或管道等非標準分隔符時,它尤其有用。

何時 LoadCSV 比 Load 更好?

LoadCSV 方法提供了對 CSV 解析的增強控制,當您需要指定自訂分隔符、處理不同的編碼或處理大型 CSV 檔案時,它是您的理想選擇。 在處理國際資料格式或 CSV 檔案使用分號或管道等非標準分隔符時,它尤其有用。

LoadCSV 如何處理特殊字元?

:path=/static-assets/excel/content-code-examples/how-to/load-spreadsheet-load-csv.cs
using IronXL;

// Load CSV file
WorkBook workBook = WorkBook.LoadCSV("sample.csv");
Imports IronXL

' Load CSV file
Private workBook As WorkBook = WorkBook.LoadCSV("sample.csv")
$vbLabelText   $csharpLabel

LoadCSV 方法可自動處理各種編碼,包括 UTF-8、UTF-16 和 ASCII,確保特殊字符、重音字母和國際符號得以正確保留。 這在處理多語言資料或科學符號時至關重要。 進一步了解 以 .NET 寫入 CSV 檔案,以進行完整的 CSV 工作流程管理。


如何將資料集物件載入 Excel?

Microsoft .NET 中的DataSet類別用於管理和處理斷開連接的記憶體表示形式的資料。 此 DataSet 可使用 LoadWorkSheetsFromDataSet 方法載入工作簿。 在下面的程式碼範例中建立了一個空的DataSet ; 然而,更常見的做法是從資料庫查詢實例化DataSet

為什麼要將 DataSet 轉換為 Excel?

DataSet 物件轉換為 Excel 格式,對於報告、資料匯出和建立使用者友善的資料簡報來說是不可或缺的。 商業使用者通常偏好 Excel 格式的資料分析,而自動化報告經常需要將資料庫結果轉換為試算表格式。 此轉換可實現原始 DataSet 物件無法提供的功能,例如 條件格式化圖表建立,以及公式應用程式。

Excel 中的 DataSet 關係會發生什麼變化?

當載入具有多個相關表格的 DataSet 時,IronXL 會為 DataSet 中的每個 DataTable 建立獨立的工作表。 表關係透過一致的關鍵值得以保留,讓使用者在處理匯出的 Excel 檔案時,能維持資料的完整性。這使其成為匯出複雜資料庫架構的理想選擇,同時維持參考完整性。

我可以從資料集載入多個表格嗎?

:path=/static-assets/excel/content-code-examples/how-to/load-spreadsheet-load-dataset.cs
using IronXL;
using System.Data;

// Create dataset
DataSet dataSet = new DataSet();

// Create workbook
WorkBook workBook = WorkBook.Create();

// Load DataSet
WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook);
Imports IronXL
Imports System.Data

' Create dataset
Private dataSet As New DataSet()

' Create workbook
Private workBook As WorkBook = WorkBook.Create()

' Load DataSet
WorkBook.LoadWorkSheetsFromDataSet(dataSet, workBook)
$vbLabelText   $csharpLabel

如需更多涉及資料庫整合的進階方案,請參閱我們的 Excel to SQL via System.Data.DataSet 指南,該指南展示了 Excel 與資料庫之間的雙向資料流。

IronXL 可以將各種資料來源載入 Excel 格式,因此對 .NET 開發人員而言,IronXL 是非常寶貴的工具。 無論您是要建立報表系統、資料遷移工具或商業智慧應用程式,載入功能都能為強大的試算表操作提供基礎。 如需更多範例和進階技術,請造訪我們的 綜合教學部分

常見問題解答

哪些檔案格式可以載入 C# 試算表?

IronXL 支援載入多種檔案格式,包括 XLSX、XLS、XLSM、XLTX、CSV 和 TSV 檔案,以及 DataSet 物件。這種全面的格式支援使 IronXL 適合 .NET 應用程式中各種試算表資料處理的需求。

如何在 C# 中載入 Excel 檔案?

使用 IronXL.Excel 的 WorkBook.Load() 方法只需一行代碼即可載入 Excel 檔案:IronXL.WorkBook workbook = IronXL.WorkBook.Load("sample.xlsx").對於 CSV 檔案,您可以使用 LoadCSV() 方法。

我可以載入受密碼保護的 Excel 檔案嗎?

是的,IronXL 支援載入密碼保護的工作簿。只需在開啟加密的 Excel 檔案時,將密碼作為第二參數傳入 Load 方法即可。

CSV 和 TSV 檔案格式有何差異?

CSV (Comma-Separated Values,逗號分隔值) 使用逗號分隔值,常用於資料交換。TSV (Tab-Separated Values) 使用制表符來分隔值,當您的資料包含逗號時,TSV 是首選。IronXL 支援無縫載入這兩種格式。

我可以從檔案以外的來源載入 Excel 資料嗎?

是的,IronXL 可以從多種來源載入工作簿資料,包括使用 FromByteArray 方法的位元組陣列和使用 FromStream 方法的串流。這種靈活性允許處理來自上傳、網路串流或記憶體的檔案。

如何在試算表中使用 DataSet 物件?

IronXL 提供 LoadWorkSheetsFromDataSet 方法,將資料從 ADO.NET DataSet 物件匯入 Excel 試算表。此整合可讓資料庫應用程式與 Excel 工作簿之間進行無縫資料傳輸。

載入和匯出試算表資料的主要步驟是什麼?

工作流程包括:1)下載 IronXL 函式庫;2)準備您的檔案或 DataSet;3)使用 Load 方法建立工作簿物件;4)使用 LoadWorkSheetsFromDataSet 進行 DataSet 匯入;以及 5)根據需要匯出工作簿。

載入方法是否有完整的說明文件?

是的,IronXL 提供完整的 API 文件,包括 IronXL API Reference 中所有載入方法及其參數的詳細資訊,幫助開發人員有效地實現試算表載入功能。

Curtis Chau
技術撰稿人

Curtis Chau 擁有電腦科學學士學位(卡爾頓大學),專長於前端開發,精通 Node.js、TypeScript、JavaScript 和 React。Curtis 對製作直覺且美觀的使用者介面充滿熱情,他喜歡使用現代化的架構,並製作結構良好且視覺上吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 也有濃厚的興趣,他喜歡探索整合硬體與軟體的創新方式。在空閒時間,他喜歡玩遊戲和建立 Discord bots,將他對技術的熱愛與創意結合。

準備好開始了嗎?
Nuget 下載 1,846,091 | 版本: 2026.2 剛剛發布