C# 写入 Excel [不使用 Interop] 代码示例教程
按照示例逐步说明如何使用 C# 创建、打开和保存 Excel 文件,并应用基本操作,如求和、求平均值、求计数等。IronXL.Excel 是一个独立的 .NET 软件库,可读取多种电子表格格式。它不需要 微软Excel 安装,也不依赖 Interop。
如何用 C# 编写 Excel 文件
- 下载 Write Excel C# 库
- 创建并打开新的 CSV 或 XML Excel 文件作为 Excel 工作簿
- 保存并导出 Excel 工作簿
- 在多个 Excel 工作表中应用高级操作
- 与 Excel 数据库整合
概述
使用 IronXL 打开和写入 Excel 文件
使用简单易用的 Excel 软件打开、编写、保存和自定义 Excel 文件。 IronXL C# 库
下载 来自 GitHub 的示例项目 或使用自己的,并按照教程操作。
1.安装 IronXL Excel 库 NuGet 或下载 DLL
2.使用 WorkBook.Load 方法读取任何 XLS、XLSX 或 CSV 文档。
3.使用直观的语法获取单元格值: XLS、XLSX 或 CSV 文档。 片材 ["A11"].DecimalValue
In this tutorial, we will walk you through:
- Installing IronXL.Excel: how to install IronXL.Excel to an existing project.
Basic Operations: basic operation steps with Excel to Create or Open workbook, select sheet, select cell, and save the workbook
- Advanced Sheet Operations: how to utilize different manipulation capabilities like adding headers or footers, mathematical operations files, and other features.
打开 Excel 文件:快速代码
:path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-1.cs
using IronXL;
WorkBook workBook = WorkBook.Load("test.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;
IronXL.Range range = workSheet["A2:A8"];
decimal total = 0;
// iterate over range of cells
foreach (var cell in range)
{
Console.WriteLine("Cell {0} has value '{1}'", cell.RowIndex, cell.Value);
if (cell.IsNumeric)
{
// Get decimal value to avoid floating numbers precision issue
total += cell.DecimalValue;
}
}
// Check formula evaluation
if (workSheet["A11"].DecimalValue == total)
{
Console.WriteLine("Basic Test Passed");
}
Imports IronXL
Private workBook As WorkBook = WorkBook.Load("test.xlsx")
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
Private range As IronXL.Range = workSheet("A2:A8")
Private total As Decimal = 0
' iterate over range of cells
For Each cell In range
Console.WriteLine("Cell {0} has value '{1}'", cell.RowIndex, cell.Value)
If cell.IsNumeric Then
' Get decimal value to avoid floating numbers precision issue
total += cell.DecimalValue
End If
Next cell
' Check formula evaluation
If workSheet("A11").DecimalValue = total Then
Console.WriteLine("Basic Test Passed")
End If
写入并保存 Excel 文件中的更改:快速代码
:path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-2.cs
workSheet["B1"].Value = 11.54;
// Save Changes
workBook.SaveAs("test.xlsx");
workSheet("B1").Value = 11.54
' Save Changes
workBook.SaveAs("test.xlsx")
步骤 1
1. 免费安装IronXL C#库
开始在您的项目中使用IronPDF,并立即获取免费试用。
查看 IronXL 上 Nuget 用于快速安装和部署。它有超过800万次下载,正在使用C#改变Excel。
Install-Package IronXL.Excel
考虑安装 IronXL DLL 直接。下载并手动安装到您的项目或GAC表单中: IronXL.zip
手动安装到你的项目中
下载DLLIronXL.Excel 提供了一个灵活且强大的库,用于在 .NET 中打开、读取、编辑和保存 Excel 文件。它可以在所有类型的 .NET 项目中安装和使用,如 Windows 应用程序、ASP.NET MVC 和 .NET Core 应用程序。
使用 NuGet 为 Visual Studio 项目安装 Excel 库
第一步是安装 IronXL.Excel。要将 IronXL.Excel 库添加到项目中,我们有两种方法:NuGet 包管理器或 NuGet 包管理器控制台。
要使用 NuGet 将 IronXL.Excel 库添加到我们的项目中,我们可以使用可视化界面 NuGet 包管理器:
1.使用鼠标 -> 右键单击项目名称 -> 选择管理 NuGet 包
- 从浏览选项卡 -> 搜索 IronXL.Excel -> 安装
使用 NuGet 包管理器控制台安装
1. 从工具 -> NuGet 包管理器 -> 包管理器控制台 2. 运行命令 -> 安装软件包 IronXL.Excel -Version 2019.5.2使用 DLL 手动安装
您也可以选择手动安装 DLL 到项目或全局程序集缓存中。 ``` PM > 安装软件包 IronXL.Excel ```教程
## 2.基本操作:创建、打开、保存 ### ### 2.1.示例项目:HelloWorld 控制台应用程序 ####创建 HelloWorld 项目
2.1.1.打开 Visual Studio
2.1.2.选择创建新项目
2.1.3.选择控制台应用程序(.NET 框架)
2.1.4.给我们的示例命名为 "HelloWorld",然后点击创建
2.1.5.现在我们创建了控制台应用程序
2.1.6.添加 IronXL.Excel => 点击安装
2.1.7.添加我们的前几行,读取 Excel 文件中第 1 张工作表的第 1 个单元格,然后打印
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-3.cs ``` ### 2.2.创建新的 Excel 文件 ####使用 IronXL 创建新 Excel 文件
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-4.cs ``` ### 2.3.打开(CSV、XML、JSON 列表)为工作簿 ####2.3.1.打开 CSV 文件
2.3.2 新建一个文本文件,添加姓名和年龄列表(见示例),然后保存为 CSVList.csv
您的代码片段应如下所示
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-5.cs ```2.3.3.打开 XML 文件 创建一个包含国家列表的 XML 文件:根元素 "countries",子元素 "country",每个国家都有定义国家的属性,如代码、大陆等。
```html2.3.4.复制以下代码段,将 XML 作为工作簿打开
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-7.cs ```2.3.5.以工作簿形式打开 JSON 列表 创建 JSON 国家列表
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-8.cs ```2.3.6.创建映射到 JSON 的国家模型
以下是类代码片段
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-9.cs ```2.3.8.添加 Newtonsoft 库,将 JSON 转换为国家模型列表
2.3.9 要将列表转换为数据集,我们必须为列表创建一个新扩展。添加名为 "ListConvertExtension "的扩展类
然后添加以下代码段
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-10.cs ```最后将该数据集加载到工作簿中
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-11.cs ``` ### 2.4.保存并导出 #### 我们可以使用以下命令之一将 Excel 文件保存或导出为多种文件格式,如".xlsx"、".csv"、".html"。2.4.1.保存为".xlsx 要保存为".xlsx",请使用 saveAs 函数
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-12.cs ```2.4.2.保存为 csv ".csv" 文件 要保存为".csv",我们可以使用 SaveAsCsv,并向其传递 2 个参数,第一个参数是文件名和路径,第二个参数是分隔符,如 (","或" "或":")
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-13.cs ```2.4.3.保存为 JSON ".json" 格式 要保存为 Json ".json",请使用 SaveAsJson,如下所示
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-14.cs ```结果文件应如下所示
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-15.cs ```2.4.4.保存为 XML".xml "格式 要保存为 xml 格式,请使用 SaveAsXml,如下所示
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-16.cs ```结果应该是这样的
```html <_x0031_stworksheet><_x0031_stworksheet>## 3.高级运算:和、平均值、计数等## 让我们应用 Excel 的常用函数,如 SUM、AVG 和 Count,并查看每个代码片段。 ### 3.1.总和示例 ####
让我们求出这个列表的总和。我创建了一个 Excel 文件并将其命名为 "Sum.xlsx",然后手动添加了这个数字列表
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-18.cs ``` ### 3.2.平均值示例 ####使用同一文件,我们可以得到平均值:
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-19.cs ``` ### 3.3.计数示例 ####使用同一个文件,我们还可以获得序列中元素的数量:
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-20.cs ``` ### 3.4.最大示例 ####使用同一个文件,我们可以得到单元格区域的最大值:
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-21.cs ```- 我们可以对 max 函数的结果应用变换函数:
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-22.cs ```本例在控制台中写入 "false"。
### 3.5.最小示例 ####使用同一个文件,我们可以得到单元格区域的最小值:
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-23.cs ``` ### 3.6.阶梯单元格示例 ###使用同一个文件,我们可以按升序或降序排列单元格:
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-24.cs ``` ### 3.7.如果条件示例 ###使用同一个文件,我们可以使用公式属性来设置或获取单元格的公式:
3.7.1.保存为 XML".xml "格式
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-25.cs ```7.2.使用上一个示例中生成的文件,我们可以得到单元格的公式:
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-26.cs ``` ### 3.8.修剪示例 ####为了应用修剪功能(消除单元格中所有多余的空格),我在 sum.xlsx 文件中添加了这一列
并使用此代码
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-27.cs ```因此,您可以以同样的方式应用公式。
## 4.使用多表工作簿 ### 我们将介绍如何处理有多个工作表的工作簿。 ### 4.1.从同一工作簿中的多个工作表读取数据 ####
我创建了一个 xlsx 文件,其中包含两张工作表:"工作表 1"、"工作表 2
到目前为止,我们使用 WorkSheets.First() 来处理第一张工作表。在本例中,我们将指定工作表名称并使用它
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-28.cs ``` ### 4.2.为工作簿添加新工作表 ####我们还可以在工作簿中添加新工作表:
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-29.cs ```## 5.与 Excel 数据库整合 ### 让我们看看如何将数据导出/导入数据库。 我创建了 "TestDb "数据库,其中包含一个有两列的国家表:Id (int,身份), 国名(字符串) ### 5.1.将数据库中的数据填入 Excel 表格 ####
在此,我们将创建一个新工作表,并将国家表中的数据填入其中
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-30.cs ``` ### 5.2.用 Excel 表中的数据填充数据库 ####在 TestDb 数据库的国家表中插入数据
```cs :path=/static-assets/excel/content-code-examples/tutorials/csharp-open-write-excel-file-31.cs ```### 进一步阅读 要了解有关 IronXL 的更多信息,您可以查看本节中的其他教程,以及我们主页上的示例,大多数开发人员都认为这些示例足以让他们入门。 我们的 [API文档](/csharp/excel/object-reference/) 包含对
工作簿
类。教程快速访问
在 GitHub 上探索此教程
GitHub 上有该项目的 C# 和 VB.NET 源代码。
使用此代码,只需几分钟就能轻松上手并运行。该项目保存为 Microsoft Visual Studio 2017 项目,但兼容任何 .NET IDE。
如何在 GitHub 上用 C# 打开和写入 Excel 文件IronXL 应用程序接口参考
Explore the IronXL 应用程序接口参考, outlining the details of all of IronXL’s features, namespaces, classes, methods fields and enums.
查看应用程序接口参考