HSSFSheet从第二行开始读取数据
时间: 2023-10-10 09:05:15 浏览: 35
可以使用HSSFRow类的getRowNum()方法获取当前行的行号,然后判断是否大于等于1,如果是,则读取该行的数据。以下是示例代码:
```java
HSSFSheet sheet = workbook.getSheetAt(0); // 获取第一个Sheet页
Iterator<Row> rowIterator = sheet.iterator();
while (rowIterator.hasNext()) {
HSSFRow row = (HSSFRow) rowIterator.next();
if (row.getRowNum() >= 1) {
// 读取该行的数据
// ...
}
}
```
相关问题
java怎样给读取到的xls文件一个一个单元格的赋值数据
要读取一个xls文件的单元格数据,可以使用Java中的Apache POI库。以下是一个简单的示例代码,可以读取一个xls文件中的单元格数据并将其赋值到一个二维数组中:
```java
import java.io.File;
import java.io.FileInputStream;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.*;
public class ReadExcel {
public static void main(String[] args) throws Exception {
// 读取文件
FileInputStream file = new FileInputStream(new File("example.xls"));
// 创建一个工作簿对象
HSSFWorkbook workbook = new HSSFWorkbook(file);
// 获取第一个工作表
HSSFSheet sheet = workbook.getSheetAt(0);
// 获取行数和列数
int rows = sheet.getPhysicalNumberOfRows();
int cols = sheet.getRow(0).getLastCellNum();
// 创建一个二维数组来存储数据
String[][] data = new String[rows][cols];
// 遍历每一个单元格并将其赋值到数组中
for (int r = 0; r < rows; r++) {
HSSFRow row = sheet.getRow(r);
for (int c = 0; c < cols; c++) {
HSSFCell cell = row.getCell(c);
String value = cell.toString();
data[r][c] = value;
}
}
// 输出数组中的数据
for (int r = 0; r < rows; r++) {
for (int c = 0; c < cols; c++) {
System.out.print(data[r][c] + "\t");
}
System.out.println();
}
// 关闭文件
file.close();
}
}
```
在这个示例代码中,我们使用了HSSFWorkbook和HSSFSheet类来创建工作簿和工作表对象,使用HSSFRow和HSSFCell类来访问单元格数据。我们首先读取文件并创建工作簿对象,然后获取第一个工作表并获取行数和列数。接下来,我们创建一个二维数组来存储数据,并遍历每一个单元格并将其赋值到数组中。最后,我们输出数组中的数据并关闭文件。
需要注意的是,Apache POI库中也包含了针对xlsx文件的XSSFWorkbook和XSSFSheet类,使用方法与HSSFWorkbook和HSSFSheet类类似,只是读取xlsx文件时需要使用XSSFWorkbook类。
java使用poi读取excel文件
Java使用POI库可以实现对Excel文件的读取操作。具体的步骤如下:
1. 引用POI库。在Java项目中引入POI相关的jar包。
2. 创建文件输入流。使用FileInputStream类创建一个输入流对象,并指定要读取的Excel文件路径。
3. 创建工作簿对象。使用HSSFWorkbook类创建一个工作簿对象,将输入流作为参数传入。
4. 获取工作表。使用getSheetAt方法获取指定的工作表,可以通过工作表的索引或名称进行获取。
5. 获取行。使用getRow方法获取指定行的对象,行号作为参数传递给该方法。
6. 获取单元格。使用getCell方法获取指定单元格的对象,行号和列号作为参数传递给该方法。
7. 获取单元格的值。使用getStringCellValue方法获取单元格的值,将其赋给一个字符串变量。
8. 输出结果。使用System.out.println方法将获取到的数据打印出来。
需要注意的是,在读取Excel文件时可能会出现FileNotFoundException和IOException异常,需要进行异常处理。同时,在读取完成后,需要关闭输入流。
下面是一个示例代码,用于演示Java使用POI读取Excel文件:
```java
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
public class ExcelReader {
public static void poiRead() {
FileInputStream xlsStream = null;
try {
// 创建文件输入流
xlsStream = new FileInputStream(new File("C:\\Users\\itour\\Desktop\\poiTest.xls"));
// 创建工作簿对象
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(xlsStream);
// 获取工作表
HSSFSheet sheetAt = hssfWorkbook.getSheetAt(0);
// 获取行
HSSFRow row = sheetAt.getRow(0);
// 获取单元格
HSSFCell cell = row.getCell(0);
// 获取单元格的值
String cellValue = cell.getStringCellValue();
System.out.println("获取到的数据是:" + cellValue);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (xlsStream != null) {
try {
xlsStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
```
以上代码演示了如何使用POI库读取Excel文件中第一个工作表的第一个单元格的值。你可以根据自己的需求进行修改和扩展。