使用 IRONXL 如何用 C# 处理 Excel 文件:图 1 - 教程 Curtis Chau 已更新:2026年1月14日 下载 IronXL NuGet 下载 DLL 下载 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 IronXL 是一个功能强大的 C# 库,它使开发人员能够读取、写入和操作 Excel 文件,而无需安装 Microsoft Excel,它提供跨平台兼容性,并支持 XLS、XLSX、CSV 等格式,同时具有直观的 API。 如何在 C# 中操作 Excel 工作簿? 创建一个Visual Studio项目并添加IronXL NuGet包。 创建一个不使用Interop的Excel文件。 使用IronXL为Excel文件添加样式。 从Excel中读取值并计算。 将Excel转换为HTML以用于网络使用。 IronXL Library是什么? IronXL是一个功能强大的 .NET 库,可以简化 Excel 文件的操作。 它具有直观的 API ,可简化 Excel 文档操作,支持XLS、XLSX 和 CSV等多种格式。 这种多功能性使得对单元格值、公式和格式进行操作变得轻松便捷。 IronXL 针对性能进行了优化,能够高效处理大型文件和复杂的数据操作,同时确保高效的内存使用。 其跨平台兼容性增强了其在不同操作系统上的实用性。 它的主要特点和优势如下: IronXL的主要特点是什么? 导入和导出: 导入数据:支持XLS、XLSX、CSV 和 TSV 格式。 导出数据:可以将工作表导出为 XLS、XLSX、CSV、TSV 和 JSON 格式。 数据操作: System.Data Integration:将电子表格作为DataSet和DataTable对象进行操作。 公式:支持Excel 公式,当工作表被编辑时,公式会重新计算。 样式和格式: 单元格样式:自定义字体、大小、背景图案、边框、对齐方式和数字格式。 范围:使用WorkSheet["A1:B10"]语法直观地设置范围。 安全: 加密:使用密码加密和解密XLSX、XLSM 和 XLTX 文件。 跨平台兼容性: 可与.NET Framework、.NET Core、.NET Standard和Azure配合使用。 兼容Windows、macOS 、 Linux 、 Docker和AWS 。 为什么我应该选择 IronXL 而不是其他 Excel 库? 1.无需安装 Microsoft Office: IronXL 不需要安装 Microsoft Office,因此它轻巧且易于部署。 2.易用性:该 API 直观易用,使开发人员能够快速将 Excel 功能集成到他们的应用程序中。 3.性能: IronXL 针对性能进行了优化,确保快速高效地处理大型 Excel 文件。 4.多功能性:适用于各种应用,包括网页、桌面和云端解决方案。 5.全面的文档:提供丰富的文档和示例,使开发人员更容易上手并找到常见问题的解决方案。 我该如何开始使用 IronXL? 要在.NET项目中使用IronXL,您需确保开发环境满足以下先决条件: 使用 IronXL 的先决条件是什么? .NET Framework:IronXL 支持.NET Framework 4.5 及更高版本。 .NET Core 和 .NET Standard:兼容.NET Core 2、3、5、6、7、8 和 9 。 操作系统:可在Windows、macOS 和 Linux上运行。 兼容Docker 、 Azure和AWS 。 无需 Microsoft Office:IronXL不需要 Office 或 Excel Interop 。 代码编辑器:任何 C# 代码编辑器,例如 Visual Studio。 如何在我的项目中安装 IronXL? 您可以通过Visual Studio中的NuGet包管理器或使用包管理器控制台使用以下命令安装IronXL: dotnet add package IronXL.Excel --version 2024.8.5 dotnet add package IronXL.Excel --version 2024.8.5 SHELL 有关Blazor 、 .NET MAUI或VB.NET项目的设置等更详细的安装说明,请参阅官方文档。 如何使用 IronXL 创建我的第一个 Excel 文件? 让我们创建一个 Visual Studio 项目,并添加 IronXL 库,开始处理 Excel 文件。 如何创建 Visual Studio 项目并添加 IronXL? 打开 Microsoft Visual Studio,选择"创建新项目"即可开始。 Visual Studio 2022 启动屏幕显示打开最近项目、克隆存储库、打开项目/解决方案、打开本地文件夹或创建新项目的选项。 选择您需要的项目模板。为了简单起见,这里我们选择了控制台应用程序模板。 Visual Studio 的"创建新项目"对话框显示了 C# 的控制台应用程序选项,同时提供 .NET Core 和 .NET Framework 版本。 现在输入项目的名称和位置。 Visual Studio 项目配置对话框显示了名为"WorkingWithIronXL"的新 C# 控制台应用程序的设置,该应用程序面向包括 Windows、Linux 和 macOS 在内的多个平台。 选择您偏好的.NET Framework版本。 我们选择了机器上可用的最新版本。 Visual Studio 项目创建对话框显示了控制台应用程序配置,其中已选择 .NET 8.0 框架,并提供了顶级语句和 AOT 发布等其他选项。 点击"创建"按钮后,项目将被创建并可以使用。 打开解决方案资源管理器以检查项目文件。 Visual Studio NuGet 包管理器显示已安装 IronXL.Excel 包,并为名为 WorkingWithIronXL 的 C# 项目选择了 2024.8.5 版本。 现在,让我们按上面所示从NuGet包管理器安装IronXL库。 如何在不使用 Interop 的情况下创建 Excel 文件? 现在让我们创建一个不使用 Microsoft Interop 库的 Excel 文件。 IronXL 提供了一种简单直观的编程方式来创建电子表格。 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 $vbLabelText $csharpLabel 代码解释 我们添加IronXL命名空间以开始使用该库。 使用WorkBook.Create()创建一个 Excel 对象,以创建 XLSX 文件。 调用CreateWorkSheet方法在工作簿中创建工作表。 使用workSheet["A1"].Value向单元格添加值。 使用workBook.SaveAs保存 Excel 文件,并指定文件名。 输出Excel文件 ! Excel 电子表格在 A1 单元格中显示"IronXL 是最好的 Excel 库"文本,演示如何使用 C# 中的 IronXL 以编程方式创建 Excel 文件。 为什么 IronXL 不需要互操作性? 与依赖Microsoft Excel Interop 的传统方法不同,IronXL 是一个独立的 .NET 库,可以直接读取和写入 Excel 文件。 这意味着: 无需安装 Microsoft Office 更佳的性能和内存占用 跨平台兼容性( Linux 、 macOS 、 Docker ) 无 COM 对象清理问题 线程安全的操作 我可以保存为哪些文件格式? IronXL 支持保存为多种格式: // Save as different Excel formats workBook.SaveAs("file.xlsx"); // Excel 2007+ format workBook.SaveAs("file.xls"); // Excel 97-2003 format workBook.SaveAs("file.xlsm"); // Excel with macros // Export to other formats workBook.SaveAsCsv("file.csv", ","); // CSV with comma delimiter workBook.SaveAsJson("file.json"); // JSON format workBook.SaveAsXml("file.xml"); // XML format // Save as different Excel formats workBook.SaveAs("file.xlsx"); // Excel 2007+ format workBook.SaveAs("file.xls"); // Excel 97-2003 format workBook.SaveAs("file.xlsm"); // Excel with macros // Export to other formats workBook.SaveAsCsv("file.csv", ","); // CSV with comma delimiter workBook.SaveAsJson("file.json"); // JSON format workBook.SaveAsXml("file.xml"); // XML format ' Save as different Excel formats workBook.SaveAs("file.xlsx") ' Excel 2007+ format workBook.SaveAs("file.xls") ' Excel 97-2003 format workBook.SaveAs("file.xlsm") ' Excel with macros ' Export to other formats workBook.SaveAsCsv("file.csv", ",") ' CSV with comma delimiter workBook.SaveAsJson("file.json") ' JSON format workBook.SaveAsXml("file.xml") ' XML format $vbLabelText $csharpLabel 文件创建过程中出现错误时该如何处理? IronXL 提供全面的错误处理功能。 以下是一个最佳实践示例: try { WorkBook workBook = WorkBook.Create(); WorkSheet workSheet = workBook.CreateWorkSheet("Demo"); workSheet["A1"].Value = "Sample Data"; // Check if directory exists string directory = @"C:\ExcelFiles\"; if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } workBook.SaveAs(Path.Combine(directory, "output.xlsx")); } catch (Exception ex) { Console.WriteLine($"Error creating Excel file: {ex.Message}"); } try { WorkBook workBook = WorkBook.Create(); WorkSheet workSheet = workBook.CreateWorkSheet("Demo"); workSheet["A1"].Value = "Sample Data"; // Check if directory exists string directory = @"C:\ExcelFiles\"; if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } workBook.SaveAs(Path.Combine(directory, "output.xlsx")); } catch (Exception ex) { Console.WriteLine($"Error creating Excel file: {ex.Message}"); } Imports System Imports System.IO Try Dim workBook As WorkBook = WorkBook.Create() Dim workSheet As WorkSheet = workBook.CreateWorkSheet("Demo") workSheet("A1").Value = "Sample Data" ' Check if directory exists Dim directory As String = "C:\ExcelFiles\" If Not Directory.Exists(directory) Then Directory.CreateDirectory(directory) End If workBook.SaveAs(Path.Combine(directory, "output.xlsx")) Catch ex As Exception Console.WriteLine($"Error creating Excel file: {ex.Message}") End Try $vbLabelText $csharpLabel 如何使用 IronXL 为 Excel 文件添加样式? 现在让我们看看如何为Excel单元格添加样式。 IronXL 提供全面的样式选项,可创建专业外观的电子表格。 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 $vbLabelText $csharpLabel 代码解释 使用WorkBook.Create创建一个Excel文件。 使用workBook.CreateWorkSheet创建一个工作表。 使用workSheet["A1"].Value为单元格赋值。 使用类似workSheet["A1"].Style.Font.Bold属性为单元格添加样式。 使用workBook.SaveAs保存工作簿。 输出Excel文件 ! Excel 电子表格在 A1 单元格中显示红色斜体文本"This Styled Text with Awesome IronXL library",在 A2 单元格中显示绿色文本"999999"。 有哪些造型选择? IronXL 提供丰富的造型选择,包括: 字体属性:字体系列、字号、颜色、粗体、斜体、下划线、删除线 -单元格边框:四边边框样式和颜色 -背景:背景颜色和图案 -对齐方式:水平和垂直对齐选项 -数字格式:日期、货币、百分比的自定义格式 如何将样式应用于多个单元格? 您可以高效地将样式应用于单元格区域: // Apply styles to a range var range = workSheet["A1:D10"]; foreach (var cell in range) { cell.Style.Font.Bold = true; cell.Style.Font.Color = "#0000FF"; // Blue cell.Style.SetBackgroundColor("#FFFF00"); // Yellow background } // Apply styles to a range var range = workSheet["A1:D10"]; foreach (var cell in range) { cell.Style.Font.Bold = true; cell.Style.Font.Color = "#0000FF"; // Blue cell.Style.SetBackgroundColor("#FFFF00"); // Yellow background } ' Apply styles to a range Dim range = workSheet("A1:D10") For Each cell In range cell.Style.Font.Bold = True cell.Style.Font.Color = "#0000FF" ' Blue cell.Style.SetBackgroundColor("#FFFF00") ' Yellow background Next $vbLabelText $csharpLabel 我可以使用条件格式吗? 是的,IronXL 支持条件格式: // Add conditional formatting rule var rule = workSheet.ConditionalFormatting.CreateConditionalFormattingRule( ComparisonOperator.GreaterThan, "100"); rule.FontFormatting.Bold = true; rule.FontFormatting.FontColor = "#FF0000"; // Red for values > 100 workSheet.ConditionalFormatting.AddConditionalFormatting("A1:A10", rule); // Add conditional formatting rule var rule = workSheet.ConditionalFormatting.CreateConditionalFormattingRule( ComparisonOperator.GreaterThan, "100"); rule.FontFormatting.Bold = true; rule.FontFormatting.FontColor = "#FF0000"; // Red for values > 100 workSheet.ConditionalFormatting.AddConditionalFormatting("A1:A10", rule); ' Add conditional formatting rule Dim rule = workSheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.GreaterThan, "100") rule.FontFormatting.Bold = True rule.FontFormatting.FontColor = "#FF0000" ' Red for values > 100 workSheet.ConditionalFormatting.AddConditionalFormatting("A1:A10", rule) $vbLabelText $csharpLabel 如何从Excel中读取数值并进行计算? 现在我们来看看如何使用 IronXL读取 Excel 文件并进行计算。 IronXL 支持多种用于数据分析的数学函数。 using IronXL; using System; 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.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; using System; 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.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 Imports System 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.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 End Namespace $vbLabelText $csharpLabel 代码解释 使用WorkBook.Load加载 Excel 文件。 访问工作簿中的第一个工作表。 读取特定单元格的值并使用Console.WriteLine显示。 遍历一系列单元格并打印每个值。 H列之后打印新行。 计算 F2:F10 范围内的值的总和并打印出来。 输入Excel ! Excel 电子表格显示员工数据,包含 ID、名字、姓氏、性别、国家、年龄、日期和唯一标识符等列,显示 9 行示例员工记录。 输出 ! 控制台输出显示一个数据表,其中包含 10 行人员记录,包括姓名、性别、国家/地区、年龄、日期和 ID 字段,然后计算 F2:F10 列的总和,结果为 323。 我可以从单元格中读取哪些数据类型? IronXL 支持从单元格读取各种数据类型: // Different ways to read cell values string textValue = workSheet["A1"].StringValue; int intValue = workSheet["B1"].IntValue; decimal decimalValue = workSheet["C1"].DecimalValue; double doubleValue = workSheet["D1"].DoubleValue; DateTime dateValue = workSheet["E1"].DateTimeValue; bool boolValue = workSheet["F1"].BoolValue; // Read formula results string formulaResult = workSheet["G1"].FormattedCellValue; // Different ways to read cell values string textValue = workSheet["A1"].StringValue; int intValue = workSheet["B1"].IntValue; decimal decimalValue = workSheet["C1"].DecimalValue; double doubleValue = workSheet["D1"].DoubleValue; DateTime dateValue = workSheet["E1"].DateTimeValue; bool boolValue = workSheet["F1"].BoolValue; // Read formula results string formulaResult = workSheet["G1"].FormattedCellValue; ' Different ways to read cell values Dim textValue As String = workSheet("A1").StringValue Dim intValue As Integer = workSheet("B1").IntValue Dim decimalValue As Decimal = workSheet("C1").DecimalValue Dim doubleValue As Double = workSheet("D1").DoubleValue Dim dateValue As DateTime = workSheet("E1").DateTimeValue Dim boolValue As Boolean = workSheet("F1").BoolValue ' Read formula results Dim formulaResult As String = workSheet("G1").FormattedCellValue $vbLabelText $csharpLabel 如何处理空单元格或空值单元格? IronXL 提供安全处理空电池的方法: // Check if cell is empty if (workSheet["A1"].IsEmpty) { Console.WriteLine("Cell A1 is empty"); } // Use null-coalescing for safe value reading string value = workSheet["A1"].StringValue ?? "Default Value"; // Check for specific content types if (workSheet["B1"].IsNumeric) { decimal numValue = workSheet["B1"].DecimalValue; } // Check if cell is empty if (workSheet["A1"].IsEmpty) { Console.WriteLine("Cell A1 is empty"); } // Use null-coalescing for safe value reading string value = workSheet["A1"].StringValue ?? "Default Value"; // Check for specific content types if (workSheet["B1"].IsNumeric) { decimal numValue = workSheet["B1"].DecimalValue; } ' Check if cell is empty If workSheet("A1").IsEmpty Then Console.WriteLine("Cell A1 is empty") End If ' Use null-coalescing for safe value reading Dim value As String = If(workSheet("A1").StringValue, "Default Value") ' Check for specific content types If workSheet("B1").IsNumeric Then Dim numValue As Decimal = workSheet("B1").DecimalValue End If $vbLabelText $csharpLabel 有哪些聚合函数可用? IronXL 支持多种聚合函数: // Available aggregate functions decimal sum = workSheet["A1:A10"].Sum(); decimal avg = workSheet["A1:A10"].Avg(); decimal min = workSheet["A1:A10"].Min(); decimal max = workSheet["A1:A10"].Max(); int count = workSheet["A1:A10"].Count(); // Available aggregate functions decimal sum = workSheet["A1:A10"].Sum(); decimal avg = workSheet["A1:A10"].Avg(); decimal min = workSheet["A1:A10"].Min(); decimal max = workSheet["A1:A10"].Max(); int count = workSheet["A1:A10"].Count(); ' Available aggregate functions Dim sum As Decimal = workSheet("A1:A10").Sum() Dim avg As Decimal = workSheet("A1:A10").Avg() Dim min As Decimal = workSheet("A1:A10").Min() Dim max As Decimal = workSheet("A1:A10").Max() Dim count As Integer = workSheet("A1:A10").Count() $vbLabelText $csharpLabel 如何将Excel文件转换为HTML格式以供网页使用? 我们来看看如何将 Excel 文件转换为 HTML以便在网页上使用。 这对于在 Web 应用程序中显示 Excel 数据尤其有用。 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 End Namespace $vbLabelText $csharpLabel 代码解释 使用Load方法加载 Excel 文件。 使用HtmlExportOptions设置 HTML 转换选项。 使用ExportToHtml方法转换并保存为 HTML。 输入 ! Excel 电子表格显示示例员工数据,包含 ID、名字、姓氏、性别、国家、年龄、日期和 ID 列,共 9 行员工信息。 输出 ! HTML 表格显示 Excel 数据,列包括名字、姓氏、性别、国家、年龄、日期和 ID,显示 9 行示例员工数据。 有哪些HTML导出选项? IronXL 提供多种HTML 导出选项: var htmlOptions = new HtmlExportOptions() { // Table formatting options OutputRowNumbers = true, OutputColumnHeaders = true, // Visibility options OutputHiddenRows = false, OutputHiddenColumns = false, // Formatting preservation OutputLeadingSpacesAsNonBreaking = true, // Custom CSS class TableCssClass = "excel-table" }; var htmlOptions = new HtmlExportOptions() { // Table formatting options OutputRowNumbers = true, OutputColumnHeaders = true, // Visibility options OutputHiddenRows = false, OutputHiddenColumns = false, // Formatting preservation OutputLeadingSpacesAsNonBreaking = true, // Custom CSS class TableCssClass = "excel-table" }; Dim htmlOptions As New HtmlExportOptions() With { .OutputRowNumbers = True, .OutputColumnHeaders = True, .OutputHiddenRows = False, .OutputHiddenColumns = False, .OutputLeadingSpacesAsNonBreaking = True, .TableCssClass = "excel-table" } $vbLabelText $csharpLabel 如何在HTML中保留格式? IronXL 在导出为 HTML时会自动保留基本格式。 对于高级格式保留: // Export with inline CSS styles workBook.ExportToHtml("styled.html", new HtmlExportOptions { OutputRowNumbers = false, OutputColumnHeaders = true, // Preserves cell styles as inline CSS PreserveStyles = true }); // Export with inline CSS styles workBook.ExportToHtml("styled.html", new HtmlExportOptions { OutputRowNumbers = false, OutputColumnHeaders = true, // Preserves cell styles as inline CSS PreserveStyles = true }); ' Export with inline CSS styles workBook.ExportToHtml("styled.html", New HtmlExportOptions With { .OutputRowNumbers = False, .OutputColumnHeaders = True, ' Preserves cell styles as inline CSS .PreserveStyles = True }) $vbLabelText $csharpLabel 我可以只导出特定的工作表吗? 是的,您可以导出单个工作表: // Export specific worksheet WorkSheet sheet = workBook.GetWorkSheet("Sheet1"); sheet.SaveAsHtml("sheet1.html"); // Export multiple specific sheets foreach (var sheetName in new[] { "Sheet1", "Sheet3" }) { workBook.GetWorkSheet(sheetName).SaveAsHtml($"{sheetName}.html"); } // Export specific worksheet WorkSheet sheet = workBook.GetWorkSheet("Sheet1"); sheet.SaveAsHtml("sheet1.html"); // Export multiple specific sheets foreach (var sheetName in new[] { "Sheet1", "Sheet3" }) { workBook.GetWorkSheet(sheetName).SaveAsHtml($"{sheetName}.html"); } ' Export specific worksheet Dim sheet As WorkSheet = workBook.GetWorkSheet("Sheet1") sheet.SaveAsHtml("sheet1.html") ' Export multiple specific sheets For Each sheetName As String In {"Sheet1", "Sheet3"} workBook.GetWorkSheet(sheetName).SaveAsHtml($"{sheetName}.html") Next $vbLabelText $csharpLabel IronXL 在现实世界中有哪些应用案例? IronXL是一个用途广泛的.NET库,具有广泛的实际应用,包括: 1. 商业报告: 自动生成定期报告,例如销售汇总和财务报表。 从各种数据源创建自定义仪表板。 -将数据导出到 Excel,用于向利益相关者进行演示。 2. 数据分析: 处理大型数据集以进行统计分析和转换。 -导出分析后的数据供利益相关者审查。 使用聚合函数快速获取结果。 3. 库存管理: 管理产品库存,包括库存水平和供应商详细信息。 生成库存报告以跟踪趋势。 从供应商处导入 CSV 数据。 4. 客户关系管理(CRM): -导出客户数据以进行详细分析。 通过导入修改后的数据来更新 CRM 记录。 使用条件格式创建细分报告。 5. 教育机构: 创建学生成绩册和考勤记录。 生成考试结果和成绩分析。 使用公式自动计算成绩。 6. 金融服务: 实现财务模型、预算和预测的自动化。 整合财务数据以进行全面报告。 创建用于可视化分析的 图表。 7. 人力资源: 管理员工数据,包括工资和绩效评估。 生成有关人力资源指标和人口统计数据的报告。 使用密码加密保护敏感数据。 8. 项目管理: 跟踪项目时间表和资源分配情况。 创建甘特图和项目管理工具。 使用命名范围进行公式管理。 9. 电子商务: 从电子商务平台将订单详情、客户信息和销售数据导出到Excel。 分析销售趋势、客户行为和产品表现。 10. 医疗保健: 管理病人记录和预约安排。 分析医疗保健数据以改善患者护理。 通过工作表保护来保障患者数据安全。 哪些行业最能从IronXL中受益? 处理大量结构化数据的行业获益最大: 金融与银行(报告与分析) 医疗保健(安全数据管理) 教育(成绩管理和报告) 电子商务(数据导出和导入) 制造(库存和生产跟踪) IronXL 如何处理大规模数据处理? IronXL针对以下性能进行了优化: 高效的大文件内存管理 处理海量数据集的流式传输能力 -后台处理支持 多线程安全操作 常见的集成场景有哪些? 常见的集成场景包括 用于文件上传/下载的ASP.NET Web 应用程序 用于云端处理的Azure Functions 用于数据同步的SQL 数据库集成 用于交互式 Web 用户界面的Blazor 应用程序 用于微服务的Docker 容器 如何获得 IronXL 的生产使用许可? IronXL 是 Iron Software 出品的企业级库。 运行需要许可证。 您可以使用您的电子邮件地址从这里下载试用许可证。 提交后,许可证将发送到您的邮箱。 请将此许可证放在代码开头,在使用 IronXL 之前: License.LicenseKey = "your Key Here"; License.LicenseKey = "your Key Here"; License.LicenseKey = "your Key Here" $vbLabelText $csharpLabel 有哪些许可证类型可供选择? IronXL提供多种许可证类型: -精简版许可证:适用于个人开发者 -专业版许可证:适用于小型团队 -企业许可证:适用于大型组织 SaaS 许可证:适用于基于云的应用程序 OEM 许可证:用于再分发 如何应用许可证密钥? 您可以通过多种方式应用许可证密钥: // Method 1: In code IronXL.License.LicenseKey = "YOUR-LICENSE-KEY"; // Method 2: Using app.config or web.config // Add to configuration file: // <appSettings> // <add key="IronXL.LicenseKey" value="YOUR-LICENSE-KEY"/> // </appSettings> // Method 3: Using environment variable Environment.SetEnvironmentVariable("IRONXL_LICENSE_KEY", "YOUR-LICENSE-KEY"); // Method 1: In code IronXL.License.LicenseKey = "YOUR-LICENSE-KEY"; // Method 2: Using app.config or web.config // Add to configuration file: // <appSettings> // <add key="IronXL.LicenseKey" value="YOUR-LICENSE-KEY"/> // </appSettings> // Method 3: Using environment variable Environment.SetEnvironmentVariable("IRONXL_LICENSE_KEY", "YOUR-LICENSE-KEY"); ' Method 1: In code IronXL.License.LicenseKey = "YOUR-LICENSE-KEY" ' Method 2: Using app.config or web.config ' Add to configuration file: ' <appSettings> ' <add key="IronXL.LicenseKey" value="YOUR-LICENSE-KEY"/> ' </appSettings> ' Method 3: Using environment variable Environment.SetEnvironmentVariable("IRONXL_LICENSE_KEY", "YOUR-LICENSE-KEY") $vbLabelText $csharpLabel 对于 Web 应用程序,您也可以在 Web.config 中设置许可证。 审判期满后会发生什么? 审判期满时: 生成的文件上会出现水印 部分功能可能受限 不允许进行生产部署 要继续使用 IronXL,请购买商业许可证。 该团队为现有客户提供许可证延期和升级服务。 我们在使用 C# 处理 Excel 文件方面学到了什么? IronXL 是一个功能强大的 .NET 库,用于创建、读取和编辑 Excel 文件,它提供了一个直观的 API,简化了 Excel 文档的操作。 它支持多种格式,包括 XLS、XLSX 和 CSV,使其适用于各种使用场景。 IronXL允许轻松操作单元格值、公式和格式,经过性能优化,能够高效处理大型文件和复杂操作。 其内存管理确保应用程序响应迅速,其跨平台兼容性使其对不同操作系统上的开发人员来说非常有价值。 无论您是构建Web 应用程序、桌面软件还是云服务,IronXL 都提供了在 C# 中有效处理 Excel 文件所需的工具。 如需了解更多高级功能,请查看完整文档并浏览丰富的代码示例。 关键要点: 无需安装 Microsoft Office 支持Windows、Linux 和 macOS 等跨平台系统 全面的样式和格式选项 支持公式和计算 -安全功能包括密码保护 轻松导出和导入数据 出色的性能优化 请通过查看 IronXL 持续改进的变更日志和里程碑,随时了解最新功能和改进。 常见问题解答 如何在没有安装 Microsoft Excel 的情况下在 C# 中操作 Excel 文件? 您可以使用 IronXL,这是一款来自 Iron Software 的 C# 库,用于读取、写入和操作 Excel 文档,而无需 Microsoft Excel。它支持多种格式,如 XLS、XLSX 和 CSV,并可用于如 Web 服务、桌面和控制台等应用。 在 C# 中设置一个 Visual Studio 项目以处理 Excel 涉及哪些步骤? 要在 C# 中设置一个处理 Excel 的 Visual Studio 项目,请通过 NuGet 包管理器安装 IronXL。在包管理器控制台中使用命令:dotnet add package IronXL.Excel --version 2024.8.5 将该库添加到您的项目。 我可以使用 C# 在 Excel 文件中进行计算吗? 是的,使用 IronXL,您可以在 Excel 文件中进行计算。该库支持 Excel 公式,允许您直接在 C# 应用程序中自动化计算。 我如何使用 C# 将 Excel 文件转换为 HTML? IronXL 提供了 ExportToHtml 方法来将 Excel 文件转换为 HTML。此方法允许自定义选项以确保 HTML 输出符合您的要求。 在 C# 中使用 IronXL 操作 Excel 文件的好处是什么? IronXL 提供易于使用的直观 API、针对大型 Excel 文件优化的性能以及各种应用的多功能性。其跨平台兼容性和全面的文档使其效用更上一层楼。 我可以使用 IronXL 将高级样式应用于 Excel 单元格吗? 可以,使用 IronXL,您可以将高级样式应用于 Excel 单元格,比如通过每个单元格的样式属性自定义字体、大小、颜色、边框和对齐方式。 IronXL 是否适合跨平台 Excel 文件操作? 是的,IronXL 被设计为跨平台的,兼容 Windows、macOS、Linux 以及 Docker、Azure 和 AWS 等环境,使其成为多种部署方案的理想选择。 我如何在 C# 中使用 IronXL 读取 Excel 文件中的单元格值? 使用 IronXL,您可以通过加载文件使用 WorkBook.Load,选择工作表,并根据地址访问特定的单元格值或范围来读取 Excel 文件中的单元格值。 是什么使 IronXL 成为处理 C# 中 Excel 文件的强大工具? IronXL 因其对多种格式(XLS、XLSX、CSV)的支持、公式和样式能力、安全的加密以及在各种操作系统上高效处理大文件的能力而强大。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已发布2026年2月15日 如何使用 OleDb 与 IronXL.Excel 将 DataTable 导出到 Excel C# 了解如何使用 OleDb 与 IronXL.Excel 将 DataTable 导出到 Excel C#。 阅读更多 已发布2026年2月15日 如何使用 IronXL for .NET 在未安装 Office 的情况下在 VB.NET 中打开现有 Excel 文件 了解如何使用 IronXL for .NET 在未安装 Office 的情况下在 VB.NET 中打开现有 Excel 文件。 阅读更多 已发布2026年2月15日 C# CSV 到 XLSX:完整的开发人员指南 使用 IronXL 在 C# 中将 CSV 转换为 XLSX。加载 CSV 文件、保留数据类型、添加图表并导出为 Excel 格式,而无需依赖 Microsoft Office。 阅读更多 如何在 C# 中管理 Excel 范围如何在 C# 中将 Excel 导入 SQ...
已发布2026年2月15日 如何使用 OleDb 与 IronXL.Excel 将 DataTable 导出到 Excel C# 了解如何使用 OleDb 与 IronXL.Excel 将 DataTable 导出到 Excel C#。 阅读更多
已发布2026年2月15日 如何使用 IronXL for .NET 在未安装 Office 的情况下在 VB.NET 中打开现有 Excel 文件 了解如何使用 IronXL for .NET 在未安装 Office 的情况下在 VB.NET 中打开现有 Excel 文件。 阅读更多
已发布2026年2月15日 C# CSV 到 XLSX:完整的开发人员指南 使用 IronXL 在 C# 中将 CSV 转换为 XLSX。加载 CSV 文件、保留数据类型、添加图表并导出为 Excel 格式,而无需依赖 Microsoft Office。 阅读更多