下面是详细讲解“C#从实体对象集合中导出Excel的代码”的完整攻略,包含两个示例说明。
1. 准备工作
在讲解具体的代码实现之前,需要先进行一些准备工作,包括安装需要的nuget包和导入命名空间。
1.1 安装nuget包
需要安装以下两个nuget包:
- ClosedXML
- DocumentFormat.OpenXml
可以使用Visual Studio的Nuget Package Manager进行安装。在Package Manager Console中输入以下命令:
Install-Package ClosedXML
Install-Package DocumentFormat.OpenXml
1.2 导入命名空间
在代码文件的开头,需要导入以下命名空间:
using ClosedXML.Excel;
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;
2. 导出Excel代码实现
以下是从实体对象集合中导出Excel的代码实现:
public static void ExportToExcel(IList<MyModel> data, string filePath)
{
using (var workbook = new XLWorkbook())
{
var worksheet = workbook.Worksheets.Add("Sheet1");
// 设置标题行
worksheet.Cell(1, 1).Value = "名称";
worksheet.Cell(1, 2).Value = "年龄";
worksheet.Cell(1, 3).Value = "性别";
// 填充数据
for (int i = 0; i < data.Count; i++)
{
var item = data[i];
worksheet.Cell(i + 2, 1).Value = item.Name;
worksheet.Cell(i + 2, 2).Value = item.Age;
worksheet.Cell(i + 2, 3).Value = item.Sex;
}
// 保存文件
workbook.SaveAs(filePath);
}
}
代码解释:
IList<MyModel> data
:要导出的实体对象集合。string filePath
:保存Excel文件的路径。XLWorkbook
是 ClosedXML 库中的一个类,它代表Excel的工作簿。worksheet
是工作簿中的一个工作表。- 使用
Cell
方法来访问单元格。第一个参数为行号,第二个参数为列号。 - 使用
Value
属性来设置单元格的值。 - 循环遍历实体对象集合中的每个元素,使用
foreach
循环或者for
循环都可以。 - 保存文件时需要调用
SaveAs
方法。
3. 示例说明
以下是两个示例说明。
3.1 示例一
我们有这样一个实体类:
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public string Sex { get; set; }
}
我们有一个包含多个 Person
对象的列表,现在我们要将其导出到Excel文件中。
var data = new List<Person>
{
new Person { Name = "小明", Age = 20, Sex = "男" },
new Person { Name = "小红", Age = 18, Sex = "女" },
new Person { Name = "小刚", Age = 22, Sex = "男" },
};
ExportToExcel(data, @"E:\person.xlsx");
这样就会将列表中的数据导出到 E:\person.xlsx
文件中。
3.2 示例二
我们有这样一个实体类:
public class Employee
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Salary { get; set; }
}
我们已经从数据库中查询出了多个 Employee
对象,并且将其存储在一个 List<Employee>
对象中。现在我们要将其导出到Excel文件中。
var data = GetEmployeeListFromDatabase();
ExportToExcel(data, @"E:\employee.xlsx");
其中,GetEmployeeListFromDatabase
方法是从数据库中查询出 List<Employee>
的实现,请自行实现。
这样就会将查询到的数据导出到 E:\employee.xlsx
文件中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#从实体对象集合中导出Excel的代码 - Python技术站