NPOI 如何删除重复的行保留最后一个
时间: 2024-01-28 16:05:02 浏览: 36
对于使用 NPOI 操作 Excel 文件,可以通过以下步骤删除重复的行并保留最后一个:
1. 首先,加载 Excel 文件并获取要操作的工作表对象。
2. 创建一个 HashSet 对象,用于存储已经出现过的行。
3. 从最后一行开始逐行遍历 Excel 表格,使用 HashSet 对象判断当前行是否已经存在于 HashSet 中。
4. 如果当前行已存在于 HashSet 中,说明该行是重复的,使用 NPOI 的 `Sheet.RemoveRow` 方法删除该行。
5. 如果当前行不存在于 HashSet 中,将该行添加到 HashSet 中,以便后续判断。
6. 保存并关闭 Excel 文件。
以下是一个示例代码片段,演示如何使用 NPOI 删除重复的行并保留最后一个:
```csharp
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System.Collections.Generic;
using System.IO;
public void RemoveDuplicateRows(string filePath)
{
// 加载 Excel 文件
using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.ReadWrite))
{
IWorkbook workbook = new XSSFWorkbook(fs);
ISheet sheet = workbook.GetSheetAt(0);
// 创建 HashSet 存储已经出现过的行
HashSet<int> duplicateRows