有人可以帮忙吗? 通过使用该代码,我还能够从 Excel 字段获取值。特定列的值 = 5。
public Integer Check4(int b) throws IOException {
InputStream myxls = new FileInputStream("book.xls");
HSSFWorkbook wb = new HSSFWorkbook(myxls);
HSSFSheet sheet = wb.getSheetAt(0); // first sheet
HSSFRow row = sheet.getRow(0); // first row
//HSSFCell cell0 = row.getCell((short)a); // first arg
HSSFCell cell1 = row.getCell((short)b); // second arg
cell1.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
System.out.println("smth "+ cell1);
return ;
}
但是, 此类代码的输出是:
"smth + 5.0"
我明白了,如何将 var cell1 5.0 转换为 5 ? Math.round、Integer.parseInt() 实际上没有帮助
最佳答案
在使用Integer.parseInt()
之前,您必须从HSSFCell
获取字符串值。
使用Integer.parseInt(cell1.getStringCellValue())。您可能可以使用getNumericCellValue()
,但这将返回一个double
。
关于java 将 HSSFCell 转换为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23609621/