C# HSSFWorkbook 获取sheet的最后一行
时间: 2024-11-13 10:28:41 浏览: 15
在C#中,如果你正在使用Apache POI库处理HSSFWorkbook(Excel工作簿)并想要获取某个Sheet(工作表)的最后一行,可以按照以下步骤操作:
首先,你需要创建一个`HSSFSheet`对象,它代表Excel中的一个工作表。然后,你可以通过`LastRowNum`属性获取该表的最后一行索引,但是请注意,这个值并不包括表头行。如果需要排除表头,可以减一。
```csharp
using NPOI.HSSF.UserModel;
// 假设workbook已经打开并且sheetIndex是你想要操作的工作表索引
HSSFWorkbook workbook = ...;
HSSFSheet sheet = workbook.GetSheetAt(sheetIndex);
int lastRow = sheet.LastRowNum; // 获取最后一行的行数
if (lastRow > 0) // 如果不是表头
{
int lastDataRow = lastRow - 1; // 减一得到实际的最后一行数据索引
Row lastRowData = sheet.GetRow(lastDataRow); // 获取这一行的数据
}
```
相关问题
C# NPOI HSSFWorkbook用法
C# NPOI 是一个操作 Excel 文件的第三方库,其中 HSSFWorkbook 是处理 Excel 2003(.xls)格式文件的类。下面是 HSSFWorkbook 的用法示例:
1. 创建工作簿对象
```csharp
HSSFWorkbook workbook = new HSSFWorkbook();
```
2. 创建工作表对象
```csharp
HSSFSheet sheet = (HSSFSheet)workbook.CreateSheet("Sheet1");
```
3. 创建行对象
```csharp
HSSFRow row = (HSSFRow)sheet.CreateRow(0);
```
4. 创建单元格对象并设置单元格的值
```csharp
HSSFCell cell = (HSSFCell)row.CreateCell(0);
cell.SetCellValue("Hello World!");
```
5. 将工作簿对象写入文件
```csharp
using (FileStream fs = new FileStream("test.xls", FileMode.Create, FileAccess.Write))
{
workbook.Write(fs);
}
```
完整示例代码:
```csharp
using System.IO;
using NPOI.HSSF.UserModel;
namespace NPOIExample
{
class Program
{
static void Main(string[] args)
{
// 创建工作簿对象
HSSFWorkbook workbook = new HSSFWorkbook();
// 创建工作表对象
HSSFSheet sheet = (HSSFSheet)workbook.CreateSheet("Sheet1");
// 创建行对象
HSSFRow row = (HSSFRow)sheet.CreateRow(0);
// 创建单元格对象并设置单元格的值
HSSFCell cell = (HSSFCell)row.CreateCell(0);
cell.SetCellValue("Hello World!");
// 将工作簿对象写入文件
using (FileStream fs = new FileStream("test.xls", FileMode.Create, FileAccess.Write))
{
workbook.Write(fs);
}
}
}
}
```
以上就是使用 C# NPOI HSSFWorkbook 操作 Excel 文件的基本步骤。
C# NPOI HSSFWorkbook读数据用法
NPOI是一款.NET平台下的开源Excel读写组件,可以用于对Excel文件进行读取和写入。其中,HSSFWorkbook是NPOI中代表Excel 2003(.xls)文件格式的类。
下面是使用C# NPOI HSSFWorkbook读取Excel数据的示例:
```csharp
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using System.IO;
// 读取Excel文件
using (FileStream fs = new FileStream("test.xls", FileMode.Open, FileAccess.Read))
{
// 创建HSSFWorkbook对象
HSSFWorkbook workbook = new HSSFWorkbook(fs);
// 获取第一个Sheet
ISheet sheet = workbook.GetSheetAt(0);
// 循环读取每一行数据
for (int i = 0; i <= sheet.LastRowNum; i++)
{
IRow row = sheet.GetRow(i);
// 获取第一列和第二列的数据
string col1Value = row.GetCell(0).StringCellValue;
string col2Value = row.GetCell(1).StringCellValue;
// 处理数据
// ...
}
}
```
其中,需要引用以下命名空间:
```csharp
using NPOI.HSSF.UserModel; // HSSFWorkbook所在命名空间
using NPOI.SS.UserModel; // ISheet、IRow、ICell等所在命名空间
using System.IO; // FileStream所在命名空间
```
这样就可以使用C# NPOI HSSFWorkbook读取Excel数据了。
阅读全文