我对HSSFWorkbook
对象有疑问。我有一个XLS模板,其中第14行是浅灰色,下一行是用bean值填充的。
在生成报告期间,我想更改我在代码下面编写的日期样式,但它会改变整个tempalate。
workbook = (HSSFWorkbook) WorkbookFactory.create(new FileInputStream(finalFilePath));
sheet = workbook.getSheetAt(0);
workbook.setActiveSheet(0);
CreationHelper creationHelper = workbook.getCreationHelper();
HSSFCellStyle importDataDateStyle = workbook.createCellStyle();
importDataDateStyle.setDataFormat(creationHelper.createDataFormat().getFormat("M/d/yyyy"));
BeanClass bean = new BeanClass();
if (bean.getLastDate() != null) {
migrationBeanRow.createCell(6).setCellValue(lastDate);
} else {
migrationBeanRow.createCell(6).setCellValue(notAvailable);
}
migrationBeanRow.getCell(6).setCellStyle(cellStyleDate);
workbook.write(fileOut);
workbook.close();
此代码使用XSSFWorkbook
格式正常运行xlsx(XSSFStyle
),但在尝试xls(HSSFWorkbook
)文件时更改模板。
请在文件生成之前和之后找到以下模板片段。