用java开发语言,使用Apache POI工具,编写一段代码,进行流式读取excel文件中的内容
时间: 2024-03-01 16:53:34 浏览: 130
以下是使用Apache POI进行流式读取excel文件的示例代码:
```
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelReader {
public static void main(String[] args) throws IOException {
String fileName = "test.xlsx";
FileInputStream inputStream = new FileInputStream(fileName);
XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
int sheetCount = workbook.getNumberOfSheets();
for (int i = 0; i < sheetCount; i++) {
// 遍历每个sheet
var sheet = workbook.getSheetAt(i);
var rows = sheet.rowIterator();
while (rows.hasNext()) {
// 遍历每一行
var row = rows.next();
var cells = row.cellIterator();
while (cells.hasNext()) {
// 遍历每个单元格
var cell = cells.next();
switch (cell.getCellType()) {
case STRING:
System.out.print(cell.getStringCellValue() + "\t");
break;
case NUMERIC:
System.out.print(cell.getNumericCellValue() + "\t");
break;
case BOOLEAN:
System.out.print(cell.getBooleanCellValue() + "\t");
break;
default:
System.out.print(cell.toString() + "\t");
}
}
System.out.println();
}
}
workbook.close();
inputStream.close();
}
}
```
以上代码中,我们通过 `FileInputStream` 打开一个excel文件,然后使用 `XSSFWorkbook` 类来读取文件内容。使用 `rowIterator()` 方法遍历每一行,使用 `cellIterator()` 遍历每个单元格。根据单元格类型,通过 `getStringCellValue()`、`getNumericCellValue()` 或 `getBooleanCellValue()` 方法获取单元格内容。最后关闭输入流和工作簿。
阅读全文
相关推荐



















