C# NPOI读取xlsx并保存
时间: 2023-09-17 11:12:14 浏览: 117
NPOI方式读取、保存等excel操作
4星 · 用户满意度95%
以下是使用C# NPOI库读取xlsx文件并保存的示例代码:
```csharp
using System.IO;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
// 读取Excel文件
using (FileStream stream = new FileStream("example.xlsx", FileMode.Open, FileAccess.Read))
{
// 创建工作簿
XSSFWorkbook workBook = new XSSFWorkbook(stream);
// 获取第一个Sheet
ISheet sheet = workBook.GetSheetAt(0);
// 遍历每一行
for (int i = sheet.FirstRowNum; i <= sheet.LastRowNum; i++)
{
IRow row = sheet.GetRow(i);
if (row == null) continue;
// 遍历每一列
for (int j = row.FirstCellNum; j < row.LastCellNum; j++)
{
ICell cell = row.GetCell(j);
if (cell == null) continue;
// 获取单元格的值
string value = cell.ToString();
Console.WriteLine(value);
}
}
}
// 保存Excel文件
using (FileStream stream = new FileStream("example.xlsx", FileMode.Create, FileAccess.Write))
{
// 创建工作簿
XSSFWorkbook workBook = new XSSFWorkbook();
// 创建Sheet
ISheet sheet = workBook.CreateSheet("Sheet1");
// 创建行和单元格
for (int i = 0; i < 10; i++)
{
IRow row = sheet.CreateRow(i);
for (int j = 0; j < 5; j++)
{
ICell cell = row.CreateCell(j);
cell.SetCellValue($"Row{i} Column{j}");
}
}
// 保存工作簿到文件
workBook.Write(stream);
}
```
在上面的示例代码中,我们首先使用`FileStream`打开一个xlsx文件,并创建一个`XSSFWorkbook`对象来读取该文件。然后我们获取第一个Sheet,并遍历每一行和每一列,输出单元格的值。
然后我们创建一个新的xlsx文件,并使用`XSSFWorkbook`对象来创建Sheet、行和单元格。最后我们将工作簿保存到文件中。
阅读全文