C#使用NPOI实现导入导出Excel数据
时间: 2024-04-15 20:31:51 浏览: 304
使用NPOI库在C#中实现导入导出Excel数据可以按照以下步骤进行:
1. 首先,确保已经将NPOI库添加到你的C#项目中。你可以通过NuGet包管理器搜索并安装"NPOI"来添加这个库。
2. 创建一个Excel文件并写入数据:
```csharp
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System.IO;
// 创建一个Workbook对象
IWorkbook workbook = new XSSFWorkbook();
// 创建一个Sheet对象
ISheet sheet = workbook.CreateSheet("Sheet1");
// 写入数据行
for (int i = 0; i < data.Count; i++)
{
IRow row = sheet.CreateRow(i);
// 写入数据列
for (int j = 0; j < data[i].Count; j++)
{
row.CreateCell(j).SetCellValue(data[i][j]);
}
}
// 保存文件
using (FileStream fileStream = new FileStream("path/to/excel.xlsx", FileMode.Create))
{
workbook.Write(fileStream);
}
```
3. 从Excel文件读取数据:
```csharp
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System.IO;
// 打开Excel文件
using (FileStream fileStream = new FileStream("path/to/excel.xlsx", FileMode.Open, FileAccess.Read))
{
IWorkbook workbook = new XSSFWorkbook(fileStream);
// 获取第一个Sheet
ISheet sheet = workbook.GetSheetAt(0);
List<List<string>> data = new List<List<string>>();
// 遍历行
for (int i = 0; i <= sheet.LastRowNum; i++)
{
IRow row = sheet.GetRow(i);
List<string> rowData = new List<string>();
// 遍历列
for (int j = 0; j < row.LastCellNum; j++)
{
ICell cell = row.GetCell(j);
rowData.Add(cell.ToString());
}
data.Add(rowData);
}
// 处理读取到的数据
// ...
}
```
这是一个简单的示例,你可以根据自己的需求进行扩展和修改。记得替换代码中的文件路径为你的实际路径。
阅读全文