如何使用XSSF读取req.getInputStream()
时间: 2023-10-25 17:25:47 浏览: 31
XSSF是Apache POI中操作Excel 2007及以上版本的API,可以通过以下代码使用XSSF读取req.getInputStream()中的Excel文件数据:
```java
// 创建一个XSSFWorkbook对象
XSSFWorkbook workbook = new XSSFWorkbook(req.getInputStream());
// 获取第一个sheet
XSSFSheet sheet = workbook.getSheetAt(0);
// 读取sheet中的数据
for (int i = sheet.getFirstRowNum(); i <= sheet.getLastRowNum(); i++) {
XSSFRow row = sheet.getRow(i);
if (row != null) {
for (int j = row.getFirstCellNum(); j < row.getLastCellNum(); j++) {
XSSFCell cell = row.getCell(j);
if (cell != null) {
// 处理单元格数据
String cellValue = cell.toString();
System.out.println(cellValue);
}
}
}
}
// 关闭workbook对象
workbook.close();
```
其中,`req.getInputStream()`获取的是上传的Excel文件的输入流,通过`XSSFWorkbook`对象读取该输入流中的数据。读取方式与普通的XSSF读取方式相同,可以通过遍历每一行和每一列来获取单元格数据。
需要注意的是,当读取完Excel文件后,需要关闭`workbook`对象以释放资源。另外,还需要在pom.xml中引入以下依赖:
```xml
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.0.0</version>
</dependency>
```