C# 编程方式打开 Excel 文件(代码示例教程)
我们都知道Excel电子表格已经存在很长时间了。它主要用于计算和绘制数据图表,因此非常适合创建财务模型、分析各种广告活动的成本效益以及许多其他类型的分析。
虽然创建 Excel 文件应该是一个简单的过程,但由于涉及的行数和列数较多,因此通过编程方式创建 Excel 文件可能会很困难。 使用 Excel 可以快速完成许多任务,例如选择或排序数据。 但是,当需要从头开始创建一个新的电子表格时,就没有简单的方法可以做到这一点。 以编程方式创建 XLSX 文件需要编写很多行代码,这很快就会变得非常复杂。
Excel 文件更难通过编程方式创建,因为在使用之前需要设置数据和公式。 电子表格中存储的数据类型会显著影响创建 Excel 文件的难度。如果需要创建包含大量数据的 Excel 文件,您可能会发现它比列数和行数较少的文件要复杂得多。 其次,电子表格的格式也可能使创建 Excel 文件变得困难。 例如,假设您希望电子表格中的列始终保持对齐。 在这种情况下,生成新的电子表格会比平时更复杂,因为您需要根据表格中的其他列来计算每一列应该在哪里,以及应该有多少行。
所以,我们想出了一个解决方案。 我们将展示使用 IronXL C# 库创建和读取 Excel 文件是多么容易。
如何在 C# 中以编程方式打开 Excel 文件
- 安装 Open Excel File C# 库
- 使用
WorkBookC# 类创建或打开 Excel 文件 - 使用 C# 以编程方式向 Excel 表格添加数据
- 使用直观的 API 设置单元格样式和数字格式
- 将 Excel 文件导出为 CSV 或其他格式
IronXL:C# Excel 库
IronXL 是一个 C# Excel 库,可帮助您创建更强大的电子表格。 使用 IronXL,电子表格中的行数和列数没有限制。 您可以根据需要添加任意数量的行和列,而无需添加复杂的公式来计算列宽。
IronXL 可以创建包含数百万行和数千列的工作簿,如果没有复杂的计算或使用任何其他电子表格软件,这是不可能实现的。 使用 IronXL,电子表格中的行数或列数没有限制,允许您在单个工作表上设计非常高维的模型。 IronXL 是一个功能齐全的库,可以完成所有 Excel 处理流程。 它具备完整的功能,可以用 C# 创建和读取 Excel 文件。
IronXL 通过为用户提供强大的功能,简化了数字处理和数据分析过程,使用户能够轻松地处理数据。 我们也不需要在我们的电脑上安装微软Office。
以下部分将介绍如何使用该库在 C# 中读取和写入 Excel 文件。
创建一个 C# .NET 项目
在 Microsoft Visual Studio 中创建一个新的 C# 控制台项目。 我使用的是 Visual Studio 2022 版本。 您可以使用任何版本,但建议使用最新版本。 创建项目时,建议选择 .NET Framework 3.0 或更高版本。 你可以给你的项目取任何名字。 您也可以根据需要创建 GUI 项目。 IronXL 支持 .NET Framework 的所有模板格式。 项目完成后,下一步是安装 IronXL 库。
安装 IronXL 库
现在是时候安装 IronXL 库了。 您必须按照以下步骤进行安装。 我们将使用 NuGet 包管理器安装该库。
从主菜单栏中选择"工具"选项。 将鼠标悬停在NuGet 程序包管理器上,然后从下拉菜单中选择"管理解决方案的 NuGet 程序包..."选项。
! C# 以编程方式打开 Excel 文件(代码示例教程),图 1:在 Visual Studio 中导航到 NuGet 包管理器 在 Visual Studio 中导航到 NuGet 包管理器
这将打开NuGet包管理器标签。 转到浏览选项卡并搜索 IronXL。 从搜索结果中选择 IronXL。
! C# 以编程方式打开 Excel 文件(代码示例教程),图 2:在 NuGet 包管理器中搜索 IronXL 在 NuGet 包管理器中搜索 IronXL
安装所选库。 您将在解决方案资源管理器中看到 IronXL 库依赖项。
! C# 以编程方式打开 Excel 文件(代码示例教程),图 3:IronXL 包已添加到项目中 IronXL 包已添加到项目中
现在我们可以在项目中使用这个库了。 接下来,我们打开program.cs文件,编写创建 Excel 文件的代码。
创建 Excel 文件的代码
以下是使用 IronXL C# 库以编程方式创建 Excel 文件的代码。
using IronXL;
// Create a new Excel workbook in XLSX format
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
// Create a new worksheet named "example_sheet"
var sheet = workbook.CreateWorkSheet("example_sheet");
// Set value of a single cell
sheet["A1"].Value = "Example";
// Set value to multiple cells in a range
sheet["A2:A4"].Value = 5;
// Change background color of a cell
sheet["A5"].Style.SetBackgroundColor("#f0f0f0");
// Set style (bold font) to multiple cells in a range
sheet["A5:A6"].Style.Font.Bold = true;
// Set formula for cell A6
sheet["A6"].Value = "=SUM(A2:A4)";
// Verify if the value in A6 is the sum of the range A2:A4
if (sheet["A6"].IntValue == sheet["A2:A4"].IntValue)
{
Console.WriteLine("Basic test passed");
}
// Save the workbook as "example_workbook.xlsx"
workbook.SaveAs("example_workbook.xlsx");using IronXL;
// Create a new Excel workbook in XLSX format
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
// Create a new worksheet named "example_sheet"
var sheet = workbook.CreateWorkSheet("example_sheet");
// Set value of a single cell
sheet["A1"].Value = "Example";
// Set value to multiple cells in a range
sheet["A2:A4"].Value = 5;
// Change background color of a cell
sheet["A5"].Style.SetBackgroundColor("#f0f0f0");
// Set style (bold font) to multiple cells in a range
sheet["A5:A6"].Style.Font.Bold = true;
// Set formula for cell A6
sheet["A6"].Value = "=SUM(A2:A4)";
// Verify if the value in A6 is the sum of the range A2:A4
if (sheet["A6"].IntValue == sheet["A2:A4"].IntValue)
{
Console.WriteLine("Basic test passed");
}
// Save the workbook as "example_workbook.xlsx"
workbook.SaveAs("example_workbook.xlsx");Imports IronXL
' Create a new Excel workbook in XLSX format
Private workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
' Create a new worksheet named "example_sheet"
Private sheet = workbook.CreateWorkSheet("example_sheet")
' Set value of a single cell
Private sheet("A1").Value = "Example"
' Set value to multiple cells in a range
Private sheet("A2:A4").Value = 5
' Change background color of a cell
sheet("A5").Style.SetBackgroundColor("#f0f0f0")
' Set style (bold font) to multiple cells in a range
sheet("A5:A6").Style.Font.Bold = True
' Set formula for cell A6
sheet("A6").Value = "=SUM(A2:A4)"
' Verify if the value in A6 is the sum of the range A2:A4
If sheet("A6").IntValue = sheet("A2:A4").IntValue Then
Console.WriteLine("Basic test passed")
End If
' Save the workbook as "example_workbook.xlsx"
workbook.SaveAs("example_workbook.xlsx")在以下代码中,我们在程序顶部导入 IronXL 库。 然后我们初始化一个WorkBook对象,创建一个新的 XLSX 格式的 Excel 工作簿。 接下来,我们使用CreateWorkSheet方法在WorkBook中创建一个WorkSheet ,并将工作表的名称作为参数提供。 通过这种方式可以创建多个工作表。 现在,我们的 Excel 工作簿和工作表都可以使用了。
接下来,我们将数据输入到 Excel 工作表的单元格中。 可以通过名称访问单元格,"Value"属性用于访问或设置单元格值。 可以为特定单元格或单元格区域设置样式,例如字体大小和样式。 还可以为单个单元格或单元格区域定义公式。 最后,我们将 Excel 文件另存为"example_workbook.xlsx",该文件将保存到项目的调试文件夹中。
输出
这里可以看到所创建程序的输出结果。
! C# 以编程方式打开 Excel 文件(代码示例教程),图 4:结果文件显示在 Microsoft Excel 中 结果文件显示在 Microsoft Excel 中
结论
我们可以使用 C# 创建、读取和修改现有的 Microsoft Excel 文件或 XLSX 文件。 IronXL 还为 Microsoft Excel 文件提供了许多其他功能。 您可以在我们的教程页面中了解这些功能。 IronXL 是使用 Excel 的完整软件包。 IronXL 还提供一系列功能,可以与 Excel 工作簿、工作表和单元格级别进行交互,例如在常用格式之间进行转换、单元格数据格式设置、插入数学函数,甚至管理图表。
IronXL 完全免费用于开发。 在开发阶段,您可以免费使用它,但需要添加 IronXL 水印。 IronXL 还提供生产环境的免费试用密钥,让您可以完全免费试用 30 天。 IronXL 提供价格合理的套餐方案,您可以根据自己的需求选择合适的级别。
! C# 以编程方式打开 Excel 文件(代码示例教程),图 5:IronXL 定价方案 IronXL定价方案
更重要的是——Iron Software 目前以两套软件的价格为您提供五套软件。
常见问题解答
如何以编程方式在C#中打开Excel文件?
要在C#中以编程方式打开Excel文件,可以使用IronXL库。首先,通过Visual Studio中的NuGet包管理器安装IronXL。然后,使用WorkBook类打开和操作Excel文件,而无需微软Office。
使用 IronXL 操作 Excel 文件有什么好处?
IronXL通过提供强大的功能来简化C#中的Excel文件操作,用于读取、创建和修改Excel文件。它支持大型数据集并提供格式化、公式计算和导出到不同格式等功能。
我可以使用C#创建具有大型数据集的Excel文件吗?
是的,IronXL允许您创建有数百万行和数千列的Excel文件,非常适合以编程方式处理大型数据集和高维模型。
我应该遵循哪些步骤来在C#项目中设置IronXL?
在C#项目中设置IronXL,打开Visual Studio,转到工具 > NuGet包管理器 > 为解决方案管理NuGet包,搜索IronXL并安装它。这将把库集成到您的项目中用于Excel文件操作。
如何使用IronXL以编程方式格式化Excel单元格?
使用IronXL,您可以通过设置值、样式和公式以编程方式格式化Excel单元格。您可以调整背景颜色,应用不同的字体样式,并在C#代码中直接使用Excel公式。
在C#中处理Excel文件是否需要微软Office?
不,IronXL在C#中处理Excel文件不需要微软Office。它独立运行,允许您创建、读取和编辑Excel文件而无需额外的软件。
如何使用C#将Excel文件转换为其他格式?
IronXL使您能够将Excel文件转换为像CSV这样的其他格式。这是通过其导出功能来实现的,允许在不同的电子表格文件类型之间无缝转换。
IronXL 提供哪些许可选项?
IronXL为开发提供了带有水印的免费试用版。用于生产的免费30天试用密钥也可以获得,还有各种价格计划以满足不同用户的需求。
IronXL兼容哪些.NET版本?
IronXL支持多个.NET Framework版本,包括.NET Framework 3.0及以上。建议使用最新版本的Visual Studio以获得最佳兼容性和性能。








