【发布时间】:2020-07-04 15:18:16
【问题描述】:
我正在构建一个读取 excel 文件中可用数据的函数。
我在 Spring 项目中使用 Apache POI。
但是,我在阅读合并单元格时遇到了问题。我需要的是使内容以红色突出显示,如图所示。
你能给我推荐一下代码吗?
谢谢!
更新:
`
public void importClassroomByExcel(MultipartFile file) {
try {
Workbook workbook = new HSSFWorkbook(file.getInputStream());
Iterator<Sheet> sheetIterator = workbook.iterator();
while (sheetIterator.hasNext()) {
Sheet sheet = sheetIterator.next();
String title = sheet.getRow(4).getCell(5).toString();
}
workbook.close();
} catch (Exception e) {
throw new BadRequestAlertException(ErrorConstants.DEFAULT_TYPE, "", e.getMessage(), "filestructerror",
Status.BAD_REQUEST);
}
}
`
【问题讨论】:
-
你试过什么?你到底卡在哪里了?合并单元格的单元格值存储在合并区域的左上角单元格中。所以第一个红色文本在
F5:sheet.getRow(4).getCell(5)。第一个红色60在G5:sheet.getRow(4).getCell(6)。 -
sheet.getRow(4).getCell(5)我得到了第一个信息。但是,我无法判断合并区域何时结束以继续阅读下一个信息?你了解我吗 ?我还想在 N 列和 O 列中获取信息,我用红色突出显示。 -
合并区域中除左上角单元格外的所有单元格均为空。因此,合并区域在找到下一个单元格值的行或该行是工作表的最后一个行号时结束。并且列
N的列索引为13,列O的列索引为14:所以N5:sheet.getRow(4).getCell(13)。 -
你能推荐一个来源吗?我刚刚更新了包含我的源代码的问题。
标签: java excel spring apache-poi