C#NPOI导出excel表格
时间: 2023-08-25 07:05:55 浏览: 150
使用C#和NPOI库可以方便地导出Excel表格。下面是一个简单的示例:
1. 首先,你需要安装NPOI库,可以使用NuGet包管理器进行安装。
2. 在代码中,首先创建一个工作簿和一个工作表:
```
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System.IO;
...
// 创建一个工作簿
var workbook = new XSSFWorkbook();
// 创建一个工作表
var sheet = workbook.CreateSheet("Sheet1");
```
3. 接下来,你可以向表格中添加数据。以下是将数据添加到第一行的示例:
```
// 创建第一行并添加数据
var headerRow = sheet.CreateRow(0);
headerRow.CreateCell(0).SetCellValue("ID");
headerRow.CreateCell(1).SetCellValue("Name");
headerRow.CreateCell(2).SetCellValue("Age");
```
4. 然后,你可以循环遍历数据并将其添加到表格中。以下是将数据添加到第二行和第三行的示例:
```
// 模拟数据
var data = new List<Person> {
new Person { ID = 1, Name = "Alice", Age = 18 },
new Person { ID = 2, Name = "Bob", Age = 20 }
};
// 循环遍历数据
for (int i = 0; i < data.Count; i++)
{
var row = sheet.CreateRow(i + 1);
row.CreateCell(0).SetCellValue(data[i].ID);
row.CreateCell(1).SetCellValue(data[i].Name);
row.CreateCell(2).SetCellValue(data[i].Age);
}
```
5. 最后,将工作簿保存到文件中:
```
// 保存工作簿到文件
using (var fileStream = new FileStream("output.xlsx", FileMode.Create))
{
workbook.Write(fileStream);
}
```
完整的代码示例:
```
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System.Collections.Generic;
using System.IO;
class Person
{
public int ID { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
...
// 创建一个工作簿
var workbook = new XSSFWorkbook();
// 创建一个工作表
var sheet = workbook.CreateSheet("Sheet1");
// 创建第一行并添加数据
var headerRow = sheet.CreateRow(0);
headerRow.CreateCell(0).SetCellValue("ID");
headerRow.CreateCell(1).SetCellValue("Name");
headerRow.CreateCell(2).SetCellValue("Age");
// 模拟数据
var data = new List<Person> {
new Person { ID = 1, Name = "Alice", Age = 18 },
new Person { ID = 2, Name = "Bob", Age = 20 }
};
// 循环遍历数据
for (int i = 0; i < data.Count; i++)
{
var row = sheet.CreateRow(i + 1);
row.CreateCell(0).SetCellValue(data[i].ID);
row.CreateCell(1).SetCellValue(data[i].Name);
row.CreateCell(2).SetCellValue(data[i].Age);
}
// 保存工作簿到文件
using (var fileStream = new FileStream("output.xlsx", FileMode.Create))
{
workbook.Write(fileStream);
}
```
阅读全文