poi读取excel
Workbook workbook = WorkbookFactory.create(InputStream);
poi写出excel
workbook.write(OutputStream);
poi获取行数
sheet.getLastRowNum()+1
poi获取列数
sheet.getRow(0).getPhysicalNumberOfCells()
poi获取单元格值
public Object getCellValue(Cell cell) {
if (cell == null) {
return "";
}
switch (cell.getCellTypeEnum()) {
case BLANK:
return "";
case BOOLEAN:
return cell.getBooleanCellValue();
case ERROR:
return cell.toString();
case FORMULA:
try {
return cell.getNumericCellValue();
} catch (IllegalStateException e) {
return cell.getRichStringCellValue();
}
case NUMERIC:
// if (HSSFDateUtil.isCellDateFormatted(cell)) {
// SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy", LocaleUtil.getUserLocale());
// sdf.setTimeZone(LocaleUtil.getUserTimeZone());
// return sdf.format(cell.getDateCellValue());
// }
return cell.getNumericCellValue();
case STRING:
return cell.getStringCellValue();
default:
return "Unknown Cell Type: " + cell.getCellTypeEnum();
}
}
jxl只能支持xls,不支持xlsx,所以项目中不要用jxl要用poi。
怎么才能导出有公式的excel,我的解决方案是,采用模板,模板第一行数据带有格式和公式,其他所有行的格式、样式、公式都复制第一行的就行了。
input file选择文件的类型,可以通过accept属性控制。