NPOI对Excel数据的读取删除修改写入
时间: 2024-01-23 17:03:13 浏览: 135
NPOI是一个基于.NET平台的开源库,用于操作Office文档,包括读取、删除、修改和写入Excel数据。下面是使用NPOI进行Excel数据操作的一些示例代码:
读取Excel数据:
```csharp
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
// 打开Excel文件
using (var file = new FileStream("path/to/excel.xlsx", FileMode.Open, FileAccess.Read))
{
// 创建工作簿
var workbook = new XSSFWorkbook(file);
// 获取第一个工作表
var sheet = workbook.GetSheetAt(0);
// 遍历行和列
for (int rowIndex = 0; rowIndex <= sheet.LastRowNum; rowIndex++)
{
var row = sheet.GetRow(rowIndex);
if (row == null) continue;
for (int colIndex = 0; colIndex < row.LastCellNum; colIndex++)
{
var cell = row.GetCell(colIndex);
if (cell == null) continue;
// 处理单元格数据
.WriteLine(cell.ToString());
}
}
}
```
删除Excel数据:
```csharp
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
// 打开Excel文件
using (var file = new FileStream("path/to/excel.xlsx", FileMode.Open, FileAccess.ReadWrite))
{
// 创建工作簿
var workbook = new XSSFWorkbook(file);
// 获取第一个工作表
var sheet = workbook.GetSheetAt(0);
// 删除指定行
var rowIndexToDelete = 5;
var rowToDelete = sheet.GetRow(rowIndexToDelete);
if (rowToDelete != null)
{
sheet.RemoveRow(rowToDelete);
}
// 保存修改
workbook.Write(file);
}
```
修改Excel数据:
```csharp
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
// 打开Excel文件
using (var file = new FileStream("path/to/excel.xlsx", FileMode.Open, FileAccess.ReadWrite))
{
// 创建工作簿
var workbook = new XSSFWorkbook(file);
// 获取第一个工作表
var sheet = workbook.GetSheetAt(0);
// 修改指定单元格的数据
var rowIndexToModify = 2;
var colIndexToModify = 3;
var rowToModify = sheet.GetRow(rowIndexToModify);
if (rowToModify != null)
{
var cellToModify = rowToModify.GetCell(colIndexToModify);
if (cellToModify != null)
{
cellToModify.SetCellValue("New Value");
}
}
// 保存修改
workbook.Write(file);
}
```
写入Excel数据:
```csharp
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
// 创建工作簿
var workbook = new XSSFWorkbook();
// 创建工作表
var sheet = workbook.CreateSheet("Sheet1");
// 创建行和单元格,并写入数据
for (int rowIndex = 0; rowIndex < 5; rowIndex++)
{
var row = sheet.CreateRow(rowIndex);
for (int colIndex = 0; colIndex < 5; colIndex++)
{
var cell = row.CreateCell(colIndex);
cell.SetCellValue($"Row {rowIndex + 1}, Col {colIndex + 1}");
}
}
// 保存Excel文件
using (var file = new FileStream("path/to/excel.xlsx", FileMode.Create, FileAccess.Write))
{
workbook.Write(file);
}
```
以上是一些使用NPOI进行Excel数据操作的示例代码,你可以根据自己的需求进行相应的修改和扩展。希望对你有帮助!
阅读全文