读取Excel 数字 A1到文件末尾
时间: 2024-12-21 22:26:53 浏览: 3
在Java中,读取Excel文件(`.xls`或`.xlsx`)直到文件末尾,可以使用Apache POI库。以下是使用HSSF(针对`.xls`)或XSSFWorkbook(针对`.xlsx`)的一个基本示例:
对于HSSF(`.xls`):
```java
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
try (FileInputStream fis = new FileInputStream("your_file.xls");
HSSFWorkbook workbook = new HSSFWorkbook(fis)) {
Sheet sheet = workbook.getSheetAt(0); // 假设你想要的第一个工作表是索引0
Iterator<Row> rowIterator = sheet.iterator();
while (rowIterator.hasNext()) {
Row row = rowIterator.next();
Iterator<Cell> cellIterator = row.cellIterator();
// 遍历单元格,直到到达文件末尾
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
// 读取单元格内容
int numericValue = (int) cell.getCellType() == Cell.CELL_TYPE_NUMERIC ? cell.getNumericCellValue() : cell.getStringCellValue();
// 处理数字
System.out.println(numericValue);
}
}
} catch (IOException e) {
e.printStackTrace();
}
```
对于XSSFWorkbook(`.xlsx`):
```java
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
try (FileInputStream fis = new FileInputStream("your_file.xlsx");
XSSFWorkbook workbook = new XSSFWorkbook(fis)) {
Sheet sheet = workbook.getSheetAt(0); // 同上,假设第一个工作表
for (Row row : sheet) {
for (Cell cell : row) {
switch (cell.getCellType()) {
case NUMERIC:
double value = cell.getNumericCellValue();
// 处理数字
System.out.println(value);
break;
// 其他类型处理...
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
```
阅读全文