跳至页脚内容
使用 IRONXL

如何在 C# 中创建新的 Excel 工作簿

IronXL 使 C# 开发人员能够以编程方式创建 Excel 工作簿,而无需依赖 Microsoft Office,并通过简单的 API 支持文件创建、格式化、公式和多种 Excel 格式。

微软Excel是各行各业最通用的数据处理和分析工具之一。 在许多软件项目中,经常需要以编程方式处理 Excel 文件。 这可能包括生成报告、管理数据导入或导出,或自动化特定流程等任务。

在 C# 生态系统中, IronXL因其强大的 Excel 文件操作功能而脱颖而出。 无论您是构建 Web 应用程序、桌面软件还是任何其他 C# 项目, IronXL都提供了一个易于使用的界面,可无缝地处理 Excel 文件。 与需要Excel Interop 的传统方法不同,IronXL 可以独立运行,使部署更简单、更可靠。

如何使用 C# 创建 Excel 工作簿?

在本教程中,我们将学习如何使用IronXL在 C# 中创建一个新的工作簿。 我们将逐步讲解必要的步骤,从设置开发环境到编写生成新 Excel 工作簿的代码。 您将学会如何在不安装 Excel 的情况下,通过编程方式创建电子表格

在本教程结束时,您将对如何利用 IronXL 以编程方式创建 Excel 工作簿有深入的了解,从而能够轻松地将 Excel 功能集成到您的 C# 应用程序中。 让我们开始吧!

什么是 IronXL?

IronXL是一个功能强大的 C# 库,它允许您处理 Excel 文档,而无需 Microsoft Office Excel Interop 或任何 Excel 应用程序。 它让您可以轻松读取创建修改工作簿,设置单元格格式,添加公式,并处理现代和旧版 Excel 文件格式。

您无需使用 Microsoft Office 即可验证数据、插入图像、应用条件格式和创建图表。开发人员可以使用 IronXL 轻松构建 Excel 解决方案,用于财务报告、数据仪表板和库存管理等任务。 该库支持在不同的电子表格格式之间进行转换,包括 XLSX、XLS、CSV、TSV、JSON 和 XML。

让我们开始用 C# 创建一个 Excel 文件。

为什么我应该选择 IronXL 而不是其他库?

IronXL 为初级开发人员提供了几个优势:它提供了一个简洁、直观的 API,比 Excel Interop 更容易学习,无需在部署服务器上安装 Microsoft Office,并且可以在包括LinuxmacOS在内的不同平台上无缝运行。 该库包含全面的文档代码示例,可帮助您快速入门。

IronXL 支持哪些 Excel 文件格式?

IronXL 支持所有主流 Excel 格式:XLSX(现代 Excel 文件)、XLS(旧版 Excel 97-2003)、CSV(逗号分隔值)、TSV(制表符分隔值),甚至可以导出为 JSON 和 XML 。 这种灵活性确保您的应用程序可以处理用户可能需要的几乎任何与 Excel 相关的文件格式。

我应该在项目中何时使用 IronXL?

当您需要自动生成报告、处理用户上传的数据、创建发票或收据、将数据库数据导出到 Excel,或者构建任何需要 Excel 文件操作的应用程序时,请考虑使用 IronXL。 它对ASP.NET 应用程序Blazor 项目,甚至.NET MAUI 应用程序都特别有用。

如何创建一个新的 C# 项目用于 Excel 开发?

打开 Visual Studio 并创建一个新的 C# 控制台应用程序项目。 你想叫它什么都行。 您还可以创建其他类型的项目,例如 ASP.NET MVC、Blazor、MAUI、Web Forms、Windows Forms、Web API 等。此代码适用于所有项目类型。为了简单起见,并使其适用于所有项目类型,我使用了控制台应用程序。该库甚至可以在Docker 容器Azure Functions中运行。

IronXL 最适合哪些项目类型?

IronXL 可与所有 .NET 项目类型无缝集成。对于 Web 应用程序,它常用于 ASP.NET Core 和 MVC 项目中的报表生成。 使用 WPF 或 Windows Forms 的桌面应用程序可以利用 IronXL 的数据导入/导出功能。 云原生应用程序可以利用AWS Lambda 函数中的 IronXL 进行无服务器 Excel 处理。

为什么选择游戏主机应用程序进行学习?

控制台应用程序为学习新库提供了最简单的环境。 它们消除了用户界面上的复杂性,使您能够专注于 Excel 操作代码。 一旦掌握了核心概念,就可以轻松地将这些知识应用到更复杂的项目类型中。无论是在控制台应用程序还是复杂的 Web 应用程序中,同一段 IronXL 代码都能完全正常运行。

如何安装 IronXL NuGet 包?

要将IronXL包安装到您的 C# 项目中,您可以使用以下任何一种方法。 正确的许可证密钥配置可确保您的生产部署不受限制地运行。

  1. 要安装 IronXL,请在解决方案资源管理器中右键单击您的项目,选择"管理 NuGet 程序包",搜索 IronXL,然后继续安装。

NuGet 包管理器窗口显示 IronXL.Excel 包的搜索结果,已选择版本 2024.4.4 进行安装到 C# 项目中

  1. 或者,您也可以使用以下命令通过软件包管理器控制台安装 IronXL:
Install-Package IronXL.Excel

此命令将下载、安装程序集并将其添加到您的项目中。 等待软件包下载并安装完成。 安装完成后,您就可以在项目中使用 IronXL 以编程方式处理 Excel 文件了。

Visual Studio IDE 展示了如何通过包管理器控制台安装 IronXL Excel 库,并提供 C# 代码示例来创建 Excel 工作簿。

常见的安装问题有哪些? 最常见的问题涉及 NuGet 包冲突或目标 .NET 版本不兼容。 请确保您的项目面向 .NET Framework 4.6.2 或更高版本,或者任何版本的 .NET Core/.NET 5+。 如果遇到问题,请查看[故障排除指南](https://ironsoftware.com/csharp/excel/troubleshooting/apply-a-license-key-in-ironxl/)或验证[项目的目标框架兼容性](https://ironsoftware.com/csharp/excel/docs/)。 ### 我应该何时将 IronXL 更新到最新版本? 定期更新带来[性能提升](https://ironsoftware.com/csharp/excel/product-updates/milestones-performance/)和新功能。 请每季度查看更新[日志](https://ironsoftware.com/csharp/excel/product-updates/changelog/)。 主要版本更新通常包含重大改进,例如最近[40 倍的性能提升](https://ironsoftware.com/csharp/excel/product-updates/milestones-enhancing/)。 在将更新部署到生产环境之前,务必先在开发环境中进行测试。 ## 如何导入必要的命名空间? 在 C# 文件的顶部,添加以下命名空间: ```csharp using IronXL; ``` ### 这个命名空间为什么重要? IronXL 命名空间包含您需要的所有核心类:用于管理 Excel 文件的`WorkBook` 、用于单个工作表的`WorkSheet`以及各种格式和样式类。 如果没有这个导入,你需要完整限定每个 IronXL 类型(例如`WorkBook` ),这会使你的代码冗长且难以阅读。 ### 我可能还需要哪些其他命名空间? 根据您的具体需求,您可能还需要: `using IronXL.Formatting`进行高级[单元格格式设置](https://ironsoftware.com/csharp/excel/how-to/cell-font-size/), `using IronXL.Drawing`[处理图像](https://ironsoftware.com/csharp/excel/how-to/add-extract-remove-worksheet-images/),或`using IronXL.Styles`进行全面的[样式设置](https://ironsoftware.com/csharp/excel/examples/excel-style-cells-borders-fonts/)。 [API 参考文档](https://ironsoftware.com/csharp/excel/object-reference/api/)提供了完整的命名空间文档。 ## 如何通过编程方式创建新的Excel文件? 现在,让我们编写代码来创建一个 Excel 文件: ```csharp internal class Program { static void Main(string[] args) { // Create a new workbook in the XLSX format WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX); workBook.Metadata.Author = "Mr. Author"; // Set the author (optional) // Add a blank worksheet named "Sheet1" WorkSheet workSheet = workBook.CreateWorkSheet("Sheet1"); // Add data to the new worksheet workSheet["A1"].Value = "Developer Name"; workSheet["A2"].Value = "John Grahm"; workSheet["A3"].Value = "David Smith"; workSheet["A4"].Value = "Rishi Kelkar"; // Save the Excel file as "Developers.xlsx" workBook.SaveAs("Developers.xlsx"); } } ``` 以上代码演示了如何使用 C# 中的 IronXL 以编程方式创建 Excel 文件。 它首先创建一个新的 Excel 工作簿(Excel 文件的新实例),格式为 XLSX,然后使用[工作簿元数据属性](https://ironsoftware.com/csharp/excel/how-to/edit-workbook-metadata/)设置作者元数据,使用`CreateWorkSheet()`方法添加一个名为"Sheet1"的空白 Excel 工作表,在 A1 到 A4 单元格中填充数据,最后将工作簿另存为"Developers.xlsx"。 IronXL 提供一系列处理 Excel 文件的功能,包括创建、操作和保存为 XLSX、CSV、TSV、JSON、XML 和 HTML 等各种格式。 您还可以[加载现有电子表格](https://ironsoftware.com/csharp/excel/how-to/load-spreadsheet/)进行修改,或者在单个工作簿中[管理多个工作表](https://ironsoftware.com/csharp/excel/how-to/manage-worksheet/)。 译文如下 ! [Excel 表格 A 列显示了开发人员姓名列表,标题为"开发人员姓名",其中列出了三个姓名:John Grahm、David Smith 和 Rishi Kelkar。](/static-assets/excel/blog/csharp-create-excel-new-workbook/csharp-create-excel-new-workbook-3.webp) ### 创建工作簿时常见的错误有哪些? 常见错误包括文件访问权限错误、文件路径无效或尝试保存到只读位置。 文件操作周围务必使用 try-catch 块。 如果遇到"文件正在使用"错误,请确保在程序运行时没有在 Excel 中打开该文件。 对于生产环境,请考虑实施适当的[错误处理](https://ironsoftware.com/csharp/excel/troubleshooting/file-size-limits/)和日志记录机制。 ### 如何处理文件路径和权限? 构建文件路径时,使用`Path.Combine()`可以实现跨平台兼容性。 对于 Web 应用程序,请将文件保存到具有适当写入权限的指定文件夹。 考虑使用临时目录生成文件,然后再将其移动到最终位置。 使用[受保护的工作簿](https://ironsoftware.com/csharp/excel/how-to/set-password-workbook/)时,请确保您拥有必要的凭据。 ### 何时应该使用不同的Excel格式? 使用 XLSX 格式可享受现代 Excel 功能并减小文件大小。 仅当需要与 Excel 2003 或更早版本兼容时才选择 XLS。 [CSV格式](https://ironsoftware.com/csharp/excel/how-to/csharp-read-csv-file/)最适合无需格式化的简单数据交换。 对于 Web 应用程序,请考虑[导出为 HTML](https://ironsoftware.com/csharp/excel/examples/convert-excel-to-html/)以便在浏览器中显示。 [转换指南](https://ironsoftware.com/csharp/excel/tutorials/csharp-open-write-excel-file/)解释了特定格式的注意事项。 ## 如何对Excel文件应用格式和样式? IronXL 允许您设置单元格格式、应用字体样式、设置背景颜色和调整对齐方式。 您可以通过自定义单元格外观来创建专业美观的电子表格。 该库支持[全面的单元格样式设置,](https://ironsoftware.com/csharp/excel/how-to/border-alignment/)包括边框、字体和对齐方式选项。 ```csharp // Set style of heading for cell A1 workSheet["A1"].Style.BackgroundColor = "#FFFF66"; // Light yellow background workSheet["A1"].Style.Font.Bold = true; // Bold font // Set border style for a specific range (A1:A4) var range = workSheet["A1:A4"]; range.Style.BottomBorder.Type = BorderType.Medium; // Medium bottom border range.Style.LeftBorder.Type = BorderType.Medium; // Medium left border range.Style.RightBorder.Type = BorderType.Medium; // Medium right border range.Style.TopBorder.Type = BorderType.Medium; // Medium top border ``` 以上代码演示了如何使用 C# 中的 IronXL 自定义 Excel 工作表中特定单元格的外观。 它首先将单元格 A1 的[背景颜色和图案](https://ironsoftware.com/csharp/excel/how-to/background-pattern-color/)设置为浅黄色,并将字体加粗,有效地将其样式设置为标题。 接下来,它定义了一个从 A1 到 A4 单元[格的区域](https://ironsoftware.com/csharp/excel/how-to/select-range/),并在此区域的底部、左侧、右侧和顶部边缘设置中等粗细的边框,从而增强其在工作表中的视觉区分度。 这些样式选项使开发人员能够创建符合其特定需求的、视觉上吸引人且条理清晰的 Excel 文档。 您还可以[设置数字、日期和货币的单元格数据格式](https://ironsoftware.com/csharp/excel/how-to/set-cell-data-format/)。 译文如下 ! [Excel 表格 A 列显示了开发人员姓名列表(John Grahm、David Smith、Rishi Kelkar),标题"开发人员姓名"以黄色高亮显示。](/static-assets/excel/blog/csharp-create-excel-new-workbook/csharp-create-excel-new-workbook-4.webp) ### 有哪些造型选择? IronXL 提供丰富的样式功能:[字体自定义](https://ironsoftware.com/csharp/excel/how-to/cell-font-size/)(大小、字体系列、颜色、粗体、斜体、下划线)、带图案的单元格背景、全面的边框选项、文本对齐(水平和垂直)、数字格式设置和文本换行。 您还可以[合并单元格](https://ironsoftware.com/csharp/excel/how-to/csharp-excel-merge-cells/)作为标题,并对[行和列应用自动调整大小](https://ironsoftware.com/csharp/excel/how-to/autosize-rows-columns/)功能,以获得最佳显示效果。 ### 如何应用条件格式? IronXL 中的[条件格式功能](https://ironsoftware.com/csharp/excel/how-to/conditional-formatting/)允许您根据单元格的值突出显示单元格。 您可以为颜色标度、数据条和图标集创建规则。 此功能可帮助用户快速识别趋势、异常值或重要数据点。 [条件格式示例](https://ironsoftware.com/csharp/excel/examples/excel-conditional-formatting/)展示了实际应用。 ### 为什么单元格格式对用户体验很重要? 专业格式化可以将原始数据转化为可操作的见解。 格式良好的电子表格更易于阅读,减少错误,并展现专业性。 请考虑使用一致的配色方案、清晰的标题和适当的数字格式。 [Excel 数字格式指南](https://ironsoftware.com/csharp/excel/examples/excel-number-formats/)展示了数据呈现的最佳实践。 ## 如何添加公式和计算? 你可以通过编程方式向单元格添加公式。 IronXL 支持多种[Excel 函数](https://ironsoftware.com/csharp/excel/how-to/edit-formulas/)和[数学运算](https://ironsoftware.com/csharp/excel/how-to/math-functions/)。 该库既可以设置公式,也可以评估公式的结果。 ```csharp // Add a new column to display the length of developer names workSheet["B1"].Value = "Name Length"; workSheet["B1"].Style.BackgroundColor = "#FFFF66"; // Styled as heading workSheet["B1"].Style.Font.Bold = true; // Bold font // Formula to calculate the length of names in column B workSheet["B2"].Value = "=LEN(A2)"; workSheet["B3"].Value = "=LEN(A3)"; workSheet["B4"].Value = "=LEN(A4)"; // Add a total count of the length of names in cell A5 workSheet["A5"].Value = "Sum of Length"; workSheet["B5"].Formula = "=SUM(B2:B4)"; ``` 上面的代码演示了如何在 IronXL 中使用[公式和函数](https://ironsoftware.com/csharp/excel/examples/excel-formulas-csharp/)来计算开发人员姓名的长度,以及在 Excel 工作表中计算这些长度的总和。 通过此演示,开发人员可以了解如何在 IronXL 中集成公式和函数,以编程方式在 Excel 工作表中执行动态计算和操作,从而在数据处理任务中提供灵活性和自动化。 首先,在单元格 B1 中添加标题为"名称长度"的标题,并设置样式以突出显示其重要性。 接下来,对单元格 B2、B3 和 B4 应用公式,使用 LEN 函数计算每个开发者姓名的长度,并引用 A 列中的相应单元格。 这样一来,当开发者名称发生变化时,系统就能自动计算名称长度。 此外,单元格 B5 使用[SUM 函数](https://ironsoftware.com/csharp/excel/examples/aggregate-excel-functions/)计算名称长度总数,该函数将单元格 B2 到 B4 中的值相加。您还可以使用其他[聚合函数,](https://ironsoftware.com/csharp/excel/how-to/math-functions/)例如 AVERAGE、MIN 和 MAX。 通过应用这些公式,工作表可以动态更新。 虽然这个具体的用例可能不太实用,但它可以作为在代码中使用 Excel 公式的一个例子。 ! [Excel 表格 A 列显示开发人员姓名,B 列显示计算出的姓名长度,B5 单元格显示总和 33,并可见 SUM 公式。](/static-assets/excel/blog/csharp-create-excel-new-workbook/csharp-create-excel-new-workbook-5.webp) ### IronXL 支持哪些 Excel 函数? IronXL 支持超过 165 个 Excel 函数,包括数学函数(SUM、AVERAGE、MIN、MAX)、文本操作函数(LEN、CONCATENATE、TRIM)、逻辑函数(IF、AND、OR)、查找函数(VLOOKUP、HLOOKUP)和日期/时间函数。 [功能概述](https://ironsoftware.com/csharp/excel/features/working-with-data/)提供了支持功能的完整列表。 ### 如何调试公式错误? 当公式返回错误时,请检查:正确的单元格引用、正确的语法、循环引用和数据类型不匹配。 使用`Evaluate()`方法以编程方式测试公式。 [故障排除指南](https://ironsoftware.com/csharp/excel/troubleshooting/excel-limitation-data-validation-for-string-lists/)可帮助解决常见的配方问题。 ### 何时应该在代码中计算值,何时应该在公式中计算值? 在以下情况下使用 Excel 公式:用户需要在 Excel 中查看计算结果、数值需要自动更新,或者您正在创建模板。 在以下情况下,请使用 C# 进行计算:处理复杂的业务逻辑、需要对大型数据集进行更高性能的计算,或者需要进行 Excel 不支持的计算。 [数学函数教程](https://ironsoftware.com/csharp/excel/how-to/math-functions/)解释了这两种方法。 ## 接下来我该如何使用 IronXL? 总而言之,本教程演示了如何使用[**IronXL(**](/csharp/excel/)一个强大的库,可简化 C# 生态系统中的 Excel 文件操作)在 C# 中[创建](https://ironsoftware.com/csharp/excel/how-to/create-spreadsheet/)一个新的 Excel 工作簿。 借助 IronXL,开发人员可以将 Excel 功能无缝集成到他们的应用程序中,从设置开发环境到以编程方式生成 Excel 工作簿。 除了能够执行格式化、样式设置和应用公式等任务外,IronXL 还提供了一套全面的[功能](https://ironsoftware.com/csharp/excel/features/),用于高效的数据管理和分析。 有关如何使用 IronXL 的参考资料,请访问[文档](/csharp/excel/docs/)页面。 IronXL 还提供了一系列[代码示例](/csharp/excel/examples/read-excel/),对入门很有帮助。 探索高级场景,例如 [创建图表](https://ironsoftware.com/csharp/excel/how-to/csharp-create-excel-chart-programmatically/)、[使用命名区域](https://ironsoftware.com/csharp/excel/how-to/named-range/)或[保护工作表](https://ironsoftware.com/csharp/excel/how-to/set-password-worksheet/)。 开发者可以通过[免费试用](trial-license)和购买来探索 IronXL,从而确保从评估到全面实施的无缝过渡。 有关永久许可证的更多详细信息,请访问[许可证](licensing)页面。 考虑购买[许可证扩展包](https://ironsoftware.com/csharp/excel/licensing/extensions/)以获取更多功能。 ### 哪里可以找到更多进阶示例? [示例部分](https://ironsoftware.com/csharp/excel/examples/create-excel-spreadsheet/)包含针对高级场景的综合教程:[数据库集成](https://ironsoftware.com/csharp/excel/examples/excel-sql-dataset/)、[创建数据透视表](https://ironsoftware.com/csharp/excel/how-to/named-table/)、 [Excel 自动化](https://ironsoftware.com/csharp/excel/examples/excel-update-database-records/)和[复杂报表生成](https://ironsoftware.com/csharp/excel/examples/export-excel-spreadsheet/)。 每个示例都包含完整的、可运行的代码,您可以根据自己的项目进行修改。 ### 遇到问题时如何获得帮助? IronXL 提供多种支持渠道:全面的[故障排除指南](https://ironsoftware.com/csharp/excel/troubleshooting/ironxl-security-cve/)、详细的[API 文档](https://ironsoftware.com/csharp/excel/object-reference/api/)、社区论坛以及为授权用户提供的直接技术支持。 首先请查阅文档,查看现有示例,如有需要,请随时联系我们寻求帮助。 ### 哪些授权选项最适合我的项目? IronXL 提供灵活的[许可选项](https://ironsoftware.com/csharp/excel/licensing/):面向单个开发人员的开发许可证、面向协作项目的团队许可证以及面向大规模部署的企业许可证。 每个许可证均包含一年的支持和更新服务。 随着项目的发展,考虑[升级方案](https://ironsoftware.com/csharp/excel/licensing/upgrades/)。

常见问题解答

如何在 C# 中创建一个不使用 Interop 的新 Excel 工作簿?

您可以通过使用 IronXL 在 C# 中创建一个不使用 Interop 的新 Excel 工作簿。首先,设定您的 C# 项目并安装 IronXL NuGet 包。然后,使用 IronXL 的 API 创建新工作簿,添加工作表,并用数据填充它们。

如何在 C# 中格式化 Excel 工作簿中的单元格?

使用 IronXL,您可以在 C# 中格式化 Excel 工作簿中的单元格。IronXL 允许您通过编程方式应用样式,如字体更改、背景颜色和边框,使您能够创建具有专业外观的电子表格。

我可以在用 C# 创建的 Excel 工作簿中使用公式吗?

是的,您可以在用 C# 创建的 Excel 工作簿中使用公式,使用 IronXL。IronXL 支持多种 Excel 功能,允许您直接在工作表中进行诸如求和列或查找平均值等计算。

与微软 Office Interop 相比,使用 IronXL 有什么优势?

IronXL 提供了几项优于微软 Office Interop 的优势,包括不需要在服务器上安装 Excel、更快的性能以及更容易集成到 C# 应用程序中。它还支持广泛的 Excel 功能,而不需要 Interop 的开销。

如何在 C# 项目中安装 IronXL?

要在 C# 项目中安装 IronXL,访问 Visual Studio 中的 '管理 NuGet 包' 选项,搜索 IronXL 并安装它。或者,使用 Package Manager 控制台输入命令 Install-Package IronXL.Excel

IronXL 可以在网络应用程序中使用吗?

是的,IronXL 可以在 ASP.NET MVC 和 Blazor 等网络应用程序中使用。其灵活性使您能够将 Excel 功能集成到各种项目类型中,包括 Web 窗体和 API。

IronXL 可以处理哪些文件格式?

IronXL 支持多种文件格式,包括 XLSX、CSV、TSV、JSON、XML 和 HTML。这种灵活性使您能够在 Excel 相关任务中轻松处理不同的数据格式。

IronXL 如何协助自动化 Excel 进程?

IronXL 通过允许开发人员在 C# 应用程序中以编程方式创建、修改和管理 Excel 文件来帮助自动化 Excel 进程。这包括生成报告、导入/导出数据和自动化计算。

我在哪里可以访问 IronXL 的文档和教程?

IronXL 的文档和教程可以在 IronXL 网站上找到。这些资源提供了详细的指南和示例,以帮助您在项目中有效地使用 IronXL 的功能。

IronXL 有免费试用吗?

是的,IronXL 提供免费试用版,供开发人员探索其功能。此试用版允许您评估 IronXL 在以编程方式创建和管理 Excel 工作簿方面的能力。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。