在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
在現代程式設計範式中,使用程式設計語言處理 Microsoft Excel 文件已成為一個重要需求。 Excel 生成用於自動化、數據分析、生產力測量、報告等。IronXL從Iron Software是一個強大的 C# 函式庫,允許開發人員在不需要在機器上安裝 Microsoft Excel 的情況下,在任何應用程式(如網路服務、控制台、桌面等)中讀取、寫入和操作 Excel 文件。這使它成為需要高效和有效處理 Excel 數據的應用程式的出色選擇。 在本文中,我們將探討如何使用IronXL在C#中處理Excel文件。
建立一個 Visual Studio 專案並添加 IronXL NuGet 套件。
无需 Interop 創建 Excel 文件。
使用 IronXL 為 Excel 文件添加樣式。
從 Excel 讀取數值並進行計算。
IronXL 是一個強大的 .NET 庫,簡化了 Excel 文件的操作。 IronXL 是一個強大的 .NET 函式庫,專為輕鬆創建、讀取和編輯 Excel 文件而設計。 它具有直觀的API,簡化了Excel文件的操作,支持多種格式如XLS、XLSX和CSV。這種多樣性允許輕鬆操作單元格值、公式和格式。 IronXL 經過性能優化,能夠高效處理大型文件和複雜資料操作,同時確保記憶體使用的效率。 其跨平台的相容性提升了其實用性,使 IronXL 成為開發人員在不同作業系統上不可或缺的工具。 以下是其主要功能和優勢:
導入和導出: 1. 導入數據:支持XLS、XLSX、CSV和TSV格式。
匯出資料:可以匯出工作表為XLS、XLSX、CSV、TSV和JSON格式。
資料操作:
System.Data 整合:以 `System.Data.DataSet` 和 `System.Data.DataTable` 物件的形式處理電子試算表。
公式:支持 Excel 公式,每次編輯工作表時都會重新計算。
樣式和格式化:
儲存格樣式:自訂字體、大小、背景樣式、邊框、對齊和數字格式。
範圍:使用 WorkSheet
進行直觀的範圍設置["A1:B10"]` 語法。
安全性:
加密:使用密碼加密和解密XLSX、XLSM和XLTX文件。5. 跨平台相容性: 1. 支援 .NET Framework、.NET Core、.NET Standard,以及 Azure。2. 兼容 Windows、macOS、Linux、Docker、Azure 和 AWS。
不需要 Microsoft Office: IronXL 不需要安裝 Microsoft Office,使其輕量化並易於部署。
使用方便:API 直觀且易於使用,使開發者能夠快速將 Excel 功能整合到其應用程式中。3. 效能:IronXL 針對效能進行優化,以確保快速高效地處理大型 Excel 文件。
要在您的 .NET 專案中使用 IronXL,您需要確保您的開發環境符合以下先決條件:
.NET Framework:IronXL 支援 .NET Framework 4.5 及更高版本的 .NET 技術。
.NET Core 和 .NET Standard:兼容 .NET Core 2、3、5、6、7、8 和 9。支持 .NET Standard 2.0 和 2.1。
作業系統:適用於 Windows、macOS 和 Linux。 相容於 Docker、Azure 和 AWS 環境。
無需 Microsoft Office:IronXL 無需安裝 Microsoft Office 或 Excel Interop。
您可以通過 Visual Studio 的 NuGet 套件管理器或使用套件管理器控制台,使用以下命令安裝 IronXL:
dotnet add package IronXL.Excel --version 2024.8.5
dotnet add package IronXL.Excel --version 2024.8.5
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronXL.Excel --version 2024.8.5
要開始處理 Excel 文件,首先,我們來開發一個 Visual Studio 專案並添加 IronXL 庫。
打開 Microsoft Visual Studio,選擇「建立新專案」選項以開始建立專案。
選擇您想要的專案模板,在此我們為了簡單起見選擇了主控台應用程式。
現在輸入專案的名稱和位置。
選擇您偏好的 .NET Framework 版本。 我們已選擇我們機器上可用的最新版本。
當點擊建立按鈕後,專案將會被建立並準備好使用。 打開方案總管以檢查專案檔案。
現在,讓我們從 NuGet 套件管理器安裝 IronXL 函式庫,如上所示。
現在,我們來創建一個不使用 Microsoft Interop 庫的 Excel 文件。
using IronXL;
namespace WorkingWithIronXL
{
public class Program
{
public static void Main()
{
// Create new Excel WorkBook Object
WorkBook workBook = WorkBook.Create();
// Create WorkSheet
WorkSheet workSheet = workBook.CreateWorkSheet("newXlDemo");
// Add data in new worksheet
workSheet["A1"].Value = "IronXL is the best Excel library";
// Save the Excel file as XLSX
workBook.SaveAs("myIronXlDemo.xlsx");
}
}
}
using IronXL;
namespace WorkingWithIronXL
{
public class Program
{
public static void Main()
{
// Create new Excel WorkBook Object
WorkBook workBook = WorkBook.Create();
// Create WorkSheet
WorkSheet workSheet = workBook.CreateWorkSheet("newXlDemo");
// Add data in new worksheet
workSheet["A1"].Value = "IronXL is the best Excel library";
// Save the Excel file as XLSX
workBook.SaveAs("myIronXlDemo.xlsx");
}
}
}
Imports IronXL
Namespace WorkingWithIronXL
Public Class Program
Public Shared Sub Main()
' Create new Excel WorkBook Object
Dim workBook As WorkBook = WorkBook.Create()
' Create WorkSheet
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("newXlDemo")
' Add data in new worksheet
workSheet("A1").Value = "IronXL is the best Excel library"
' Save the Excel file as XLSX
workBook.SaveAs("myIronXlDemo.xlsx")
End Sub
End Class
End Namespace
程式碼解釋
我們添加 IronXL 命名空間以開始使用該庫
接著,我們創建一個 Excel 物件,使用 WorkBook.Create 來建立一個 XLSX 文件。();
然後調用 CreateWorkSheet 方法在活頁簿中創建一個工作表。
使用 workSheet 將值添加到單元格["A1"]
然後使用 workBook.SaveAs 提供檔名來儲存 Excel 文件。
輸出 Excel 文件
現在讓我們看看如何為 Excel 儲存格添加樣式。
using IronXL;
namespace WorkingWithIronXL
{
public class Program
{
public static void Main()
{
// Create a new workbook
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
// Create a new worksheet
WorkSheet workSheet = workBook.CreateWorkSheet("StyledSheet");
// Add multiple values to cells
workSheet["A1"].Value = "This Styled Text with Awesome IronXL library";
workSheet["A2"].Value = 999999;
// Apply styles to cells
workSheet["A1"].Style.Font.Bold = true;
workSheet["A1"].Style.Font.Italic = true;
workSheet["A1"].Style.Font.Height = 14;
workSheet["A1"].Style.Font.Color = "#FF0000"; // Red color
workSheet["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;
workSheet["A2"].Style.BottomBorder.SetColor("#00FF00"); // Green color
// Save the workbook
workBook.SaveAs("myIronXlWriteDemo.xlsx");
}
}
}
using IronXL;
namespace WorkingWithIronXL
{
public class Program
{
public static void Main()
{
// Create a new workbook
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
// Create a new worksheet
WorkSheet workSheet = workBook.CreateWorkSheet("StyledSheet");
// Add multiple values to cells
workSheet["A1"].Value = "This Styled Text with Awesome IronXL library";
workSheet["A2"].Value = 999999;
// Apply styles to cells
workSheet["A1"].Style.Font.Bold = true;
workSheet["A1"].Style.Font.Italic = true;
workSheet["A1"].Style.Font.Height = 14;
workSheet["A1"].Style.Font.Color = "#FF0000"; // Red color
workSheet["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;
workSheet["A2"].Style.BottomBorder.SetColor("#00FF00"); // Green color
// Save the workbook
workBook.SaveAs("myIronXlWriteDemo.xlsx");
}
}
}
Imports IronXL
Namespace WorkingWithIronXL
Public Class Program
Public Shared Sub Main()
' Create a new workbook
Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
' Create a new worksheet
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("StyledSheet")
' Add multiple values to cells
workSheet("A1").Value = "This Styled Text with Awesome IronXL library"
workSheet("A2").Value = 999999
' Apply styles to cells
workSheet("A1").Style.Font.Bold = True
workSheet("A1").Style.Font.Italic = True
workSheet("A1").Style.Font.Height = 14
workSheet("A1").Style.Font.Color = "#FF0000" ' Red color
workSheet("A2").Style.BottomBorder.Type = IronXL.Styles.BorderType.Double
workSheet("A2").Style.BottomBorder.SetColor("#00FF00") ' Green color
' Save the workbook
workBook.SaveAs("myIronXlWriteDemo.xlsx")
End Sub
End Class
End Namespace
程式碼解釋
使用 WorkBook.Create 創建 Excel 文件
使用 workBook.CreateWorkSheet 創建工作表
使用 workSheet 向儲存格添加值["A1"].Value
使用工作表中的屬性為每個單元格添加樣式。["A1"].Style.Font.Bold
使用 workBook.SaveAs 儲存工作簿
輸出 Excel 文件
現在我們已經看到如何創建 Excel 文件,接下來讓我們來看看以下使用 IronXL 讀取 Excel 文件並進行一些內存計算的代碼。
using IronXL;
namespace WorkingWithIronXL
{
internal class IronXlDemo
{
public static void ReadData()
{
// Load the Excel worksheet
WorkBook workBook = WorkBook.Load("sampleEmployeeData.xlsx");
// Select the first worksheet
WorkSheet workSheet = workBook.WorkSheets[0];
// Read a specific cell value
int cellValue = workSheet["A2"].IntValue;
Console.WriteLine($"Value in A2: {cellValue}");
// Read a range of cells
foreach (var cell in workSheet["A1:H10"])
{
//Console.WriteLine($"Cell {cell.AddressString} has value '{cell.Text}'");
Console.Write($"{cell.Text}\t");
if(cell.AddressString.Contains("H"))
{
Console.WriteLine();
}
}
// Calculate aggregate values
decimal sum = workSheet["F2:F10"].Sum();
Console.WriteLine($"Sum of F2:F10: {sum}");
}
}
using IronXL;
namespace WorkingWithIronXL
{
internal class IronXlDemo
{
public static void ReadData()
{
// Load the Excel worksheet
WorkBook workBook = WorkBook.Load("sampleEmployeeData.xlsx");
// Select the first worksheet
WorkSheet workSheet = workBook.WorkSheets[0];
// Read a specific cell value
int cellValue = workSheet["A2"].IntValue;
Console.WriteLine($"Value in A2: {cellValue}");
// Read a range of cells
foreach (var cell in workSheet["A1:H10"])
{
//Console.WriteLine($"Cell {cell.AddressString} has value '{cell.Text}'");
Console.Write($"{cell.Text}\t");
if(cell.AddressString.Contains("H"))
{
Console.WriteLine();
}
}
// Calculate aggregate values
decimal sum = workSheet["F2:F10"].Sum();
Console.WriteLine($"Sum of F2:F10: {sum}");
}
}
Imports Microsoft.VisualBasic
Imports IronXL
Namespace WorkingWithIronXL
Friend Class IronXlDemo
Public Shared Sub ReadData()
' Load the Excel worksheet
Dim workBook As WorkBook = WorkBook.Load("sampleEmployeeData.xlsx")
' Select the first worksheet
Dim workSheet As WorkSheet = workBook.WorkSheets(0)
' Read a specific cell value
Dim cellValue As Integer = workSheet("A2").IntValue
Console.WriteLine($"Value in A2: {cellValue}")
' Read a range of cells
For Each cell In workSheet("A1:H10")
'Console.WriteLine($"Cell {cell.AddressString} has value '{cell.Text}'");
Console.Write($"{cell.Text}" & vbTab)
If cell.AddressString.Contains("H") Then
Console.WriteLine()
End If
Next cell
' Calculate aggregate values
Dim sum As Decimal = workSheet("F2:F10").Sum()
Console.WriteLine($"Sum of F2:F10: {sum}")
End Sub
End Class
程式碼說明
以下是以 Excel 物件模型儲存的員工資料
使用 IronXL,我們將 Excel 文件加載到記憶體並讀取第一個工作表。
然後我們遍歷每個單元格以獲取值並將其顯示在控制台上。
然後我們使用單元格 F2 到 F10 計算年齡總和,然後將其顯示在控制台上。
輸入 Excel
輸出
現在我們已經知道如何生成、讀取和寫入 Excel 文件,讓我們看看如何將 Excel 轉換為 HTML 以供網頁使用。
using IronXL;
using IronXL.Options;
namespace WorkingWithIronXL
{
internal class IronXlDemo
{
public static void ConvertToHtml()
{
WorkBook workBook = WorkBook.Load("sampleEmployeeData.xlsx");
var options = new HtmlExportOptions()
{
// Set row/column numbers visible in HTML document
OutputRowNumbers = true,
OutputColumnHeaders = true,
// Set hidden rows/columns visible in HTML document
OutputHiddenRows = true,
OutputHiddenColumns = true,
// Set leading spaces as non-breaking
OutputLeadingSpacesAsNonBreaking = true
};
// Export workbook to the HTML file
workBook.ExportToHtml("workBook.html", options);
}
}
using IronXL;
using IronXL.Options;
namespace WorkingWithIronXL
{
internal class IronXlDemo
{
public static void ConvertToHtml()
{
WorkBook workBook = WorkBook.Load("sampleEmployeeData.xlsx");
var options = new HtmlExportOptions()
{
// Set row/column numbers visible in HTML document
OutputRowNumbers = true,
OutputColumnHeaders = true,
// Set hidden rows/columns visible in HTML document
OutputHiddenRows = true,
OutputHiddenColumns = true,
// Set leading spaces as non-breaking
OutputLeadingSpacesAsNonBreaking = true
};
// Export workbook to the HTML file
workBook.ExportToHtml("workBook.html", options);
}
}
Imports IronXL
Imports IronXL.Options
Namespace WorkingWithIronXL
Friend Class IronXlDemo
Public Shared Sub ConvertToHtml()
Dim workBook As WorkBook = WorkBook.Load("sampleEmployeeData.xlsx")
Dim options = New HtmlExportOptions() With {
.OutputRowNumbers = True,
.OutputColumnHeaders = True,
.OutputHiddenRows = True,
.OutputHiddenColumns = True,
.OutputLeadingSpacesAsNonBreaking = True
}
' Export workbook to the HTML file
workBook.ExportToHtml("workBook.html", options)
End Sub
End Class
程式碼解釋
在這裡,我們使用 Load 方法載入 Excel "sampleEmployeeData.xlsx"
然後使用 HtmlExportOptions 設定轉換為 HTML 的選項。
然後我們使用 ExportToHtml 方法轉換為 HTML。
輸入
輸出
IronXL 是一個多功能的 .NET 程式庫,具有廣泛的實際應用,包括:
1. 商業報告:
自動化生成定期報告,例如銷售摘要、財務報表和績效指標。
建立自訂儀表板,從各種來源提取數據並以 Excel 格式呈現。
2. 數據分析:
處理大型數據集以執行統計分析、數據清理和數據轉換。
將分析後的數據匯出到 Excel 以進行進一步的檢查和與相關方共享。
3. 庫存管理:
透過建立和更新包含庫存水平、供應商詳細資訊和再訂購點的 Excel 表單來管理產品庫存。
生成庫存報告以追蹤庫存流動並識別趨勢。
4. 客戶關係管理(客戶關係管理)
將客戶資料從 CRM 系統匯出到 Excel 以進行詳細分析和報告。
透過從 Excel 文件匯入修改後的資料來更新 CRM 紀錄。
5. 教育機構:
建立和維護學生成績冊、出勤記錄和進度報告。
生成考試結果和教師與學生的詳細表現分析。
6. 金融服務:
在 Excel 中自動化建立財務模型、預算和預測。
整合來自多個來源的財務數據以進行全面的財務報告。
7. 人力資源:
管理員工數據,包括聯絡詳情、薪資信息和績效評估。
生成有關人力資源指標的報告,如員工總數、流動率和員工人口統計數據。
8. 專案管理:
使用 Excel 試算表跟踪專案時間線、里程碑和資源分配。
直接在Excel中創建甘特圖和其他專案管理工具。
9. 電子商務:
從電子商務平台匯出訂單詳情、客戶資訊及銷售數據到 Excel。
分析銷售趨勢、顧客行為和產品表現。
10. 醫療保健:
在 Excel 中管理患者記錄、預約時間表和治療計劃。
IronXL 是 Iron Software 的 Iron Suite 產品的一部分企業級庫。 它需要授權才能運行。 用戶可以使用他們的電子郵件 ID 從 下載試用許可證來使用這裡. 一旦輸入資料,許可證將發送到提供的電子郵件地址。 在使用IronXL庫之前,必須將此授權放置在代碼的開頭,如下所示。
License.LicenseKey = "your Key Here"
License.LicenseKey = "your Key Here"
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'License.LicenseKey = "your Key Here"
IronXL 是一個強大的 .NET 程式庫,用於建立、讀取和編輯 Excel 文件,提供直觀的 API,使得處理 Excel 文檔的過程更加簡單化。 它支持多種 Excel 格式,包括 XLS、XLSX 和 CSV,使其在各種應用場景中具有多功能性。 IronXL 允許輕鬆操控儲存格的值、公式和格式,並針對效能進行優化,可以高效處理大型文件和複雜操作。 其高效的記憶體管理確保應用程式反應迅速,並且其跨平台相容性使其成為在不同作業系統上工作的開發人員的一個寶貴工具。