我在读一个excel文件。我希望得到空单元格的行和列号,如果有类似的:
A B C D E
Jen John Alex 03-11-95 {BLANK}
这里我想要空白单元格的行和列索引,我试了很多东西但都不成功
List<Student> listStudent = new ArrayList<>();
FileInputStream inputStream = new FileInputStream(file);
Workbook workbook = new XSSFWorkbook(inputStream);
Sheet firstSheet = workbook.getSheetAt(0);
Iterator<Row> iterator = firstSheet.iterator();
while (iterator.hasNext()) {
Row nextRow = iterator.next();
Iterator<Cell> cellIterator = nextRow.cellIterator();
Student student = new Student();
while (cellIterator.hasNext()) {
Cell nextCell = cellIterator.next();
int columnIndex = nextCell.getColumnIndex();
if (!firstName.contains("not_in_file") && columnIndex == Integer.parseInt(firstName)) {
student.setFirstName((String) getCellValue(nextCell));
} else if (!familyName.contains("not_in_file") && columnIndex == Integer.parseInt(familyName)) {
student.setFamilyName((String) getCellValue(nextCell));
} else if (!preferName.contains("not_in_file") && columnIndex == Integer.parseInt(preferName)) {
student.setPreferName((String) getCellValue(nextCell));
} else if (!dob.contains("not_in_file") && columnIndex == Integer.parseInt(dob)) {
student.setDob((String) getCellValue(nextCell));
} else if (!guardianName.contains("not_in_file") && columnIndex == Integer.parseInt(guardianName)) {
student.setGuardianName((String) getCellValue(nextCell));
}
}
listStudent.add(student);
}
System.out.println(" listStudent : " + listStudent);
workbook.close();
inputStream.close();
private Object getCellValue(Cell cell) {
switch (cell.getCellType()) {
case Cell.CELL_TYPE_STRING:
return cell.getStringCellValue();
case Cell.CELL_TYPE_BOOLEAN:
return cell.getBooleanCellValue();
case Cell.CELL_TYPE_NUMERIC:
return cell.getNumericCellValue();
}
return null;
}
有一个细胞常数。可以将cell.cell_type_blank
大小写添加到getCellValue
方法中。
private Object getCellValue(Cell cell) {
switch (cell.getCellType()) {
case Cell.CELL_TYPE_BLANK:
return "";
case Cell.CELL_TYPE_STRING:
return cell.getStringCellValue();
case Cell.CELL_TYPE_BOOLEAN:
return cell.getBooleanCellValue();
case Cell.CELL_TYPE_NUMERIC:
return cell.getNumericCellValue();
}
return null;
}
有人能给我一个解决方案,我可以在单元格为空时读取应用到单元格的样式吗? 谢了。
我正在尝试使用Java中的Apache Poi将一些结果写入excel文件。我将结果存储在String变量中,然后在data.put调用中使用这些变量,前两个可以正常工作,但第三个导致空白单元格。当我打印到system.out.println()时,它显示良好? //创建空白工作簿XSSFWorkbook workbook=new XSSFWorkbook(); 子节点名称:#text 子节点文本
我试图使用Apache POI从excel.xlsx文件中获取java程序中的一些值,但我遇到了麻烦,因为我的循环有时会遇到一个空单元格,然后得到一个NullPointerException。我如何才能在读取细胞之前“测试”它?下面是我的一段代码: 这让我想到: 我想知道在尝试读取单元格之前是否有可能检查单元格是否为空,那么我就不会得到NPE。提前感谢!
我试图在一行中获得非空白的单元格数。 与 但对于这两行,我得到的int值都大于表中实际有值的单元格数。这可能是什么原因?单元格格式和/或样式是否有责任? 我还注意到,如果我从excel工作表中删除值(手动,而不是从代码中),poi仍然将它们视为非空(null?),并将它们包含在总数中。 UPD:经过更多的研究,我发现如果我给一个单元格增加价值,然后删除它,那么POI仍然认为它是非空的。有没有办法在
问题内容: 我使用telnet输入这样的命令行命令 所有这三个返回相同的错误。 问题答案: 如果只有telnet(而不是’redis-cli’),则需要使用Redis二进制安全统一协议在键名中使用空格,例如: 有关Redis二进制安全协议的更多信息:http : //redis.io/topics/protocol
我一直在用POI编写一个代码来将数据输入到Excel表中。首先,我需要遍历一组行,我不确定其中有多少行,可能是10或100行。但我发现末尾有一个空白单元格。在那个空白之后,又有一组行。我不担心第二盘。我需要找到第一盘是否已经结束。 这很让人困惑。现在我有5个用户在我的工作表如下所示。在第5个用户之后有一个空白单元格。我试图打印所有的用户,如果有一个空白停止它。