C# 寫入 Excel [不使用 Interop] 程式碼範例教程
請按照以下逐步範例學習如何使用 C# 建立、打開和保存 Excel 文件,並應用基本操作如求和、平均、計算等。IronXL.Excel 是一個獨立的 .NET 軟體庫,用於讀取各種電子表格格式。它不需要 微軟 Excel 無需安裝,也不依賴於Interop。
如何用 C# 編寫 Excel 檔案
- 下載 Write Excel C# 函式庫
- 創建並打開新的 CSV 或 XML Excel 文件作為 Excel 活頁簿
- 保存並匯出您的 Excel 活頁簿
- 在多個 Excel 工作表中應用高級操作
- 與 Excel 數據庫整合
概述
使用 IronXL 開啟和寫入 Excel 檔案
開啟、寫入、儲存和自訂 Excel 文件,簡單易用 IronXL C# 函式庫。
下載 來自 GitHub 的範例專案 或使用您自己的,並按照教程進行。
從安裝IronXL Excel庫 NuGet 或 DLL 下載
使用 WorkBook.Load 方法讀取任何 XLS、XLSX 或 CSV 文件。
- 使用直觀語法獲取單元格值:
工作表 ["A11"].DecimalValue
In this tutorial, we will walk you through:
- Installing IronXL.Excel: how to install IronXL.Excel to an existing project.
- Basic Operations: basic operation steps with Excel to Create or Open workbook, select sheet, select cell, and save the workbook
- Advanced Sheet Operations: how to utilize different manipulation capabilities like adding headers or footers, mathematical operations files, and other features.
開啟 Excel 文件:快速代碼
:path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-1.cs
using IronXL;
WorkBook workBook = WorkBook.Load("test.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
IronXL.Range range = workSheet["A2:A8"];
decimal total = 0;
// iterate over range of cells
foreach (var cell in range)
{
Console.WriteLine("Cell {0} has value '{1}'", cell.RowIndex, cell.Value);
if (cell.IsNumeric)
{
// Get decimal value to avoid floating numbers precision issue
total += cell.DecimalValue;
}
}
// Check formula evaluation
if (workSheet["A11"].DecimalValue == total)
{
Console.WriteLine("Basic Test Passed");
}
Imports IronXL
Private workBook As WorkBook = WorkBook.Load("test.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
Private range As IronXL.Range = workSheet("A2:A8")
Private total As Decimal = 0
' iterate over range of cells
For Each cell In range
Console.WriteLine("Cell {0} has value '{1}'", cell.RowIndex, cell.Value)
If cell.IsNumeric Then
' Get decimal value to avoid floating numbers precision issue
total += cell.DecimalValue
End If
Next cell
' Check formula evaluation
If workSheet("A11").DecimalValue = total Then
Console.WriteLine("Basic Test Passed")
End If
將變更寫入並保存至 Excel 文件:快速代碼
:path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-2.cs
workSheet["B1"].Value = 11.54;
// Save Changes
workBook.SaveAs("test.xlsx");
workSheet("B1").Value = 11.54
' Save Changes
workBook.SaveAs("test.xlsx")
第一步
1. 安裝IronXL C#程式庫免費
立即開始在您的專案中使用IronPDF,並享受免費試用。
查看 IronXL 上 Nuget 快速安裝和部署。已被下載超過800萬次,它正用C#改變Excel。
Install-Package IronXL.Excel
請考慮安裝 IronXL DLL 直接下載並手動安裝到您的專案或GAC表單: IronXL.zip
手動安裝到您的項目中
下載DLLIronXL.Excel 提供了一個靈活且強大的庫,用於在 .NET 中打開、閱讀、編輯和儲存 Excel 檔案。它可以安裝並用於所有 .NET 專案類型,例如 Windows 應用程式、ASP.NET MVC 和 .NET Core 應用程式。
使用 NuGet 將 Excel 庫安裝到您的 Visual Studio 專案中
第一步是安裝 IronXL.Excel。將 IronXL.Excel 庫添加到專案中,我們有兩種方式:NuGet 套件管理員或 NuGet 套件管理員主控台。
使用 NuGet 將 IronXL.Excel 庫添加到專案中,我們可以使用可視化接口:NuGet 套件管理員:
- 使用滑鼠 -> 右鍵單擊專案名稱 -> 選擇管理 NuGet 套件
- 從「瀏覽」標籤 -> 搜尋 IronXL.Excel -> 安裝
使用 NuGet 套件管理器控制台進行安裝
1. 從工具 -> NuGet 套件管理器 -> 套件管理器控制台 2. 運行命令 -> Install-Package IronXL.Excel -Version 2019.5.2手動使用DLL安裝
您也可以選擇手動安裝 DLL 到您的項目或全域程序集快取。 ``` PM > Install-Package IronXL.Excel ``` 請提供內容以進行翻譯。操作教程
## 2. 基本操作:建立、開啟、儲存 ## ### 2.1. 範例專案:HelloWorld 控制台應用程式 ###創建一個HelloWorld專案
2.1.1. 打開 Visual Studio
2.1.2. 選擇建立新專案
選擇控制台應用程式 (.NET 框架)
將我們的範例命名為“HelloWorld”,然後點擊創建。
2.1.5. 現在我們已經建立了控制台應用程序
2.1.6. 添加 IronXL.Excel => 点击安装
2.1.7. 添加我們的前幾行代碼來讀取 Excel 文件中第一張工作表的第一個單元格,並打印。
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-3.cs ``` ### 2.2. 建立一個新的 Excel 文件 ###使用 IronXL 創建新的 Excel 文件
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-4.cs ``` ### 2.3. 將 (CSV、XML、JSON 列表) 打開為工作簿 ###2.3.1. 開啟 CSV 檔案
2.3.2 建立一個新的文字檔案,並在其中添加姓名和年齡列表(見示例),然後將其保存為CSVList.csv
您的代碼片段應該看起來像這樣
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-5.cs ```2.3.3. 打開 XML 檔案 創建一個包含國家列表的 XML 文件:根元素為“countries”,子元素為“country”,每個國家都有定義國家屬性的屬性,如代碼、大陸等。
```html2.3.4. 複製以下程式碼片段以將 XML 作為工作簿打開
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-7.cs ```2.3.5. 將 JSON 列表作為工作簿打开 建立 JSON 國家列表
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-8.cs ```2.3.6. 建立一個將映射到 JSON 的國家模型
這是類別代碼片段
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-9.cs ```2.3.8. 添加Newtonsoft庫以將JSON轉換為國家模型列表
2.3.9 為了將清單轉換為資料集,我們必須為清單創建一個新的擴展。新增名為 “ListConvertExtension” 的擴展類別。
然後添加此代碼片段
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-10.cs ```最後將此數據集載入為工作簿
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-11.cs ``` ### 2.4. 儲存和匯出 ### 我們可以使用以下指令將 Excel 檔案儲存或匯出為多種檔案格式,如(“.xlsx”,”.csv”,”.html”)。2.4.1. 保存為 ".xlsx" 要保存為“.xlsx”,使用saveAs函數
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-12.cs ```2.4.2. 儲存為 csv “.csv” 要保存為“ .csv ”,我們可以使用 SaveAsCsv 並傳遞給它兩個參數:第一個參數是文件名和路徑,第二個參數是分隔符。例如 (“,” 或 “ ” 或 “:”)
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-13.cs ```2.4.3. 儲存為JSON “.json” 要儲存為 Json “.json”,請按照以下方式使用 SaveAsJson
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-14.cs ```結果檔案應如下所示
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-15.cs ```2.4.4. 儲存為 XML “.xml” 要保存為 XML,請按以下方式使用 SaveAsXml
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-16.cs ```結果應如下所示
```html <_x0031_stworksheet><_x0031_stworksheet>## 3. 高級操作:總和、平均、計數等 ## 讓我們來應用一些常見的 Excel 函數,例如 SUM、AVG、Count,並查看每個程式碼片段。 ### 3.1. 加總範例 ###
讓我們來計算這個列表的總和。我創建了一個 Excel 文件,命名為 “Sum.xlsx”,並手動添加了這個數字列表。
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-18.cs ``` ### 3.2. 平均範例 ###使用相同的文件,我們可以得到平均值:
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-19.cs ``` ### 3.3. 計算範例 ###使用相同的檔案,我們也可以獲取序列中的元素數量:
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-20.cs ``` ### 3.4. 最大示例 ###使用同一個文件,我們可以得到單元格範圍的最大值:
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-21.cs ```- 我們可以將變換函數應用於最大值函數的結果:
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-22.cs ```此範例在控制台中寫入“false”。
### 3.5. 最小範例 ###使用相同的檔案,我們可以獲取單元格範圍的最小值:
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-23.cs ``` ### 3.6. 訂購單元格範例 ###使用相同的文件,我們可以按升序或降序排序儲存格:
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-24.cs ``` ### 3.7. 如果條件範例 ###使用同一個檔案,我們可以使用 Formula 屬性來設置或獲取儲存格的公式:
3.7.1. 儲存為 XML “.xml”
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-25.cs ```7.2. 使用前一個範例生成的檔案,我們可以獲取儲存格的公式:
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-26.cs ``` ### 3.8. 範例修剪 ###要套用修剪功能(消除儲存格中的所有多餘空格),我將此列添加到 sum.xlsx 文件中。
請使用以下代碼
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-27.cs ```因此,您可以以相同的方式應用公式。
## 4. 使用多工作表活頁簿 ## 我們將介紹如何處理包含多個工作表的活頁簿。 ### 4.1. 從同一個工作簿中的多個工作表讀取數據 ###
我創建了一個包含兩個工作表的 xlsx 文件:“Sheet1”、“Sheet2”
到目前為止,我們一直使用 WorkSheets.First() 處理第一個工作表。在此範例中,我們將指定工作表名稱並進行處理。
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-28.cs ``` ### 4.2. 将新工作表添加到工作簿 ###我們還可以在工作簿中添加新工作表:
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-29.cs ```## 5. 與 Excel 資料庫整合 ## 讓我們看看如何將資料導出到資料庫或從資料庫導入資料。 我創建了一個包含兩列:Id 的 "TestDb" 資料庫,其中有一個 Country 表。 (`int`, `identity`),國家名稱(字串) ### 5.1. 使用來自資料庫的數據填寫 Excel 表格 ###
在這裡我們將創建一個新工作表,並用國家表中的數據填充它。
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-30.cs ``` ### 5.2. 從 Excel 表格中填充數據庫 ###將數據插入到 TestDb 資料庫的 Country 表格中
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-31.cs ```### 進一步閱讀 若要瞭解更多有關使用 IronXL 的信息,您可能會希望查看本節中的其他教學和我們首頁上的示例,大多數開發人員發現這些內容足以幫助他們入門。 [API 參考文獻](/csharp/excel/object-reference/) 包含對於該的具體參考
工作簿
類別。快速指南
在 GitHub 上探索此教學
該專案的源代碼在GitHub上提供C#和VB.NET版本。
只需幾分鐘即可使用此代碼輕鬆啟動和運行。該項目保存為 Microsoft Visual Studio 2017 項目,但與任何 .NET IDE 兼容。
如何在 GitHub 上用 C# 開啟和寫入 Excel 檔案IronXL API 參考文檔
Explore the IronXL API 參考文檔, outlining the details of all of IronXL’s features, namespaces, classes, methods fields and enums.
查看 API 參考文件