跳至页脚内容
使用 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+。 如果遇到问题,请查看故障排除指南或验证项目的目标框架兼容性

我应该何时将 IronXL 更新到最新版本?

定期更新带来性能提升和新功能。 请每季度查看更新日志。 主要版本更新通常包含重大改进,例如最近40 倍的性能提升。 在将更新部署到生产环境之前,务必先在开发环境中进行测试。

如何导入必要的命名空间?

在 C# 文件的顶部,添加以下命名空间:

using IronXL;
using IronXL;
Imports IronXL
$vbLabelText   $csharpLabel

这个命名空间为什么重要?

IronXL 命名空间包含您需要的所有核心类:用于管理 Excel 文件的WorkBook 、用于单个工作表的WorkSheet以及各种格式和样式类。 如果没有这个导入,你需要完整限定每个 IronXL 类型(例如WorkBook ),这会使你的代码冗长且难以阅读。

我可能还需要哪些其他命名空间?

根据您的具体需求,您可能还需要: using IronXL.Formatting进行高级单元格格式设置using IronXL.Drawing处理图像,或using IronXL.Styles进行全面的样式设置API 参考文档提供了完整的命名空间文档。

如何通过编程方式创建新的Excel文件?

现在,让我们编写代码来创建一个 Excel 文件:

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");
    }
}
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");
    }
}
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create a new workbook in the XLSX format
		Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
		workBook.Metadata.Author = "Mr. Author" ' Set the author (optional)

		' Add a blank worksheet named "Sheet1"
		Dim workSheet As 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")
	End Sub
End Class
$vbLabelText   $csharpLabel

以上代码演示了如何使用 C# 中的 IronXL 以编程方式创建 Excel 文件。 它首先创建一个新的 Excel 工作簿(Excel 文件的新实例),格式为 XLSX,然后使用工作簿元数据属性设置作者元数据,使用CreateWorkSheet()方法添加一个名为"Sheet1"的空白 Excel 工作表,在 A1 到 A4 单元格中填充数据,最后将工作簿另存为"Developers.xlsx"。

IronXL 提供一系列处理 Excel 文件的功能,包括创建、操作和保存为 XLSX、CSV、TSV、JSON、XML 和 HTML 等各种格式。 您还可以加载现有电子表格进行修改,或者在单个工作簿中管理多个工作表

译文如下

Excel 表格 A 列显示了开发人员姓名列表,标题为"开发人员姓名",其中列出了三个姓名:John Grahm、David Smith 和 Rishi Kelkar。

创建工作簿时常见的错误有哪些?

常见错误包括文件访问权限错误、文件路径无效或尝试保存到只读位置。 文件操作周围务必使用 try-catch 块。 如果遇到"文件正在使用"错误,请确保在程序运行时没有在 Excel 中打开该文件。 对于生产环境,请考虑实施适当的错误处理和日志记录机制。

如何处理文件路径和权限?

构建文件路径时,使用Path.Combine()可以实现跨平台兼容性。 对于 Web 应用程序,请将文件保存到具有适当写入权限的指定文件夹。 考虑使用临时目录生成文件,然后再将其移动到最终位置。 使用受保护的工作簿时,请确保您拥有必要的凭据。

何时应该使用不同的Excel格式?

使用 XLSX 格式可享受现代 Excel 功能并减小文件大小。 仅当需要与 Excel 2003 或更早版本兼容时才选择 XLS。 CSV格式最适合无需格式化的简单数据交换。 对于 Web 应用程序,请考虑导出为 HTML以便在浏览器中显示。 转换指南解释了特定格式的注意事项。

如何对Excel文件应用格式和样式?

IronXL 允许您设置单元格格式、应用字体样式、设置背景颜色和调整对齐方式。 您可以通过自定义单元格外观来创建专业美观的电子表格。 该库支持全面的单元格样式设置,包括边框、字体和对齐方式选项。

// 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
// 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
' 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)
Dim 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
$vbLabelText   $csharpLabel

以上代码演示了如何使用 C# 中的 IronXL 自定义 Excel 工作表中特定单元格的外观。 它首先将单元格 A1 的背景颜色和图案设置为浅黄色,并将字体加粗,有效地将其样式设置为标题。

接下来,它定义了一个从 A1 到 A4 单元格的区域,并在此区域的底部、左侧、右侧和顶部边缘设置中等粗细的边框,从而增强其在工作表中的视觉区分度。 这些样式选项使开发人员能够创建符合其特定需求的、视觉上吸引人且条理清晰的 Excel 文档。 您还可以设置数字、日期和货币的单元格数据格式

译文如下

Excel 表格 A 列显示了开发人员姓名列表(John Grahm、David Smith、Rishi Kelkar),标题"开发人员姓名"以黄色高亮显示。

有哪些造型选择?

IronXL 提供丰富的样式功能:字体自定义(大小、字体系列、颜色、粗体、斜体、下划线)、带图案的单元格背景、全面的边框选项、文本对齐(水平和垂直)、数字格式设置和文本换行。 您还可以合并单元格作为标题,并对行和列应用自动调整大小功能,以获得最佳显示效果。

如何应用条件格式?

IronXL 中的条件格式功能允许您根据单元格的值突出显示单元格。 您可以为颜色标度、数据条和图标集创建规则。 此功能可帮助用户快速识别趋势、异常值或重要数据点。 条件格式示例展示了实际应用。

为什么单元格格式对用户体验很重要?

专业格式化可以将原始数据转化为可操作的见解。 格式良好的电子表格更易于阅读,减少错误,并展现专业性。 请考虑使用一致的配色方案、清晰的标题和适当的数字格式。 Excel 数字格式指南展示了数据呈现的最佳实践。

如何添加公式和计算?

你可以通过编程方式向单元格添加公式。 IronXL 支持多种Excel 函数数学运算。 该库既可以设置公式,也可以评估公式的结果。

// 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)";
// 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)";
' 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)"
$vbLabelText   $csharpLabel

上面的代码演示了如何在 IronXL 中使用公式和函数来计算开发人员姓名的长度,以及在 Excel 工作表中计算这些长度的总和。 通过此演示,开发人员可以了解如何在 IronXL 中集成公式和函数,以编程方式在 Excel 工作表中执行动态计算和操作,从而在数据处理任务中提供灵活性和自动化。

首先,在单元格 B1 中添加标题为"名称长度"的标题,并设置样式以突出显示其重要性。 接下来,对单元格 B2、B3 和 B4 应用公式,使用 LEN 函数计算每个开发者姓名的长度,并引用 A 列中的相应单元格。 这样一来,当开发者名称发生变化时,系统就能自动计算名称长度。

此外,单元格 B5 使用SUM 函数计算名称长度总数,该函数将单元格 B2 到 B4 中的值相加。您还可以使用其他聚合函数,例如 AVERAGE、MIN 和 MAX。

通过应用这些公式,工作表可以动态更新。 虽然这个具体的用例可能不太实用,但它可以作为在代码中使用 Excel 公式的一个例子。

Excel 表格 A 列显示开发人员姓名,B 列显示计算出的姓名长度,B5 单元格显示总和 33,并可见 SUM 公式。

IronXL 支持哪些 Excel 函数?

IronXL 支持超过 165 个 Excel 函数,包括数学函数(SUM、AVERAGE、MIN、MAX)、文本操作函数(LEN、CONCATENATE、TRIM)、逻辑函数(IF、AND、OR)、查找函数(VLOOKUP、HLOOKUP)和日期/时间函数。 功能概述提供了支持功能的完整列表。

如何调试公式错误?

当公式返回错误时,请检查:正确的单元格引用、正确的语法、循环引用和数据类型不匹配。 使用Evaluate()方法以编程方式测试公式。 故障排除指南可帮助解决常见的配方问题。

何时应该在代码中计算值,何时应该在公式中计算值?

在以下情况下使用 Excel 公式:用户需要在 Excel 中查看计算结果、数值需要自动更新,或者您正在创建模板。 在以下情况下,请使用 C# 进行计算:处理复杂的业务逻辑、需要对大型数据集进行更高性能的计算,或者需要进行 Excel 不支持的计算。 数学函数教程解释了这两种方法。

接下来我该如何使用 IronXL?

总而言之,本教程演示了如何使用IronXL(一个强大的库,可简化 C# 生态系统中的 Excel 文件操作)在 C# 中创建一个新的 Excel 工作簿。 借助 IronXL,开发人员可以将 Excel 功能无缝集成到他们的应用程序中,从设置开发环境到以编程方式生成 Excel 工作簿。 除了能够执行格式化、样式设置和应用公式等任务外,IronXL 还提供了一套全面的功能,用于高效的数据管理和分析。

有关如何使用 IronXL 的参考资料,请访问文档页面。 IronXL 还提供了一系列代码示例,对入门很有帮助。 探索高级场景,例如 创建图表使用命名区域保护工作表

开发者可以通过免费试用和购买来探索 IronXL,从而确保从评估到全面实施的无缝过渡。 有关永久许可证的更多详细信息,请访问许可证页面。 考虑购买许可证扩展包以获取更多功能。

哪里可以找到更多进阶示例?

示例部分包含针对高级场景的综合教程:数据库集成创建数据透视表Excel 自动化复杂报表生成。 每个示例都包含完整的、可运行的代码,您可以根据自己的项目进行修改。

遇到问题时如何获得帮助?

IronXL 提供多种支持渠道:全面的故障排除指南、详细的API 文档、社区论坛以及为授权用户提供的直接技术支持。 首先请查阅文档,查看现有示例,如有需要,请随时联系我们寻求帮助。

哪些授权选项最适合我的项目?

IronXL 提供灵活的许可选项:面向单个开发人员的开发许可证、面向协作项目的团队许可证以及面向大规模部署的企业许可证。 每个许可证均包含一年的支持和更新服务。 随着项目的发展,考虑升级方案

常见问题解答

如何在 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 机器人,将他对技术的热爱与创造力相结合。