使用apache poi在xls文件中应用单元格样式时更改模板

时间:2018-04-11 05:07:36

标签: java apache-poi

我对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)文件时更改模板。

请在文件生成之前和之后找到以下模板片段。

  • 预编码模板

pre code template

  • 发布代码模板(日期格式按预期进行,但模板标题颜色从灰色变为绿色)

post code template

0 个答案:

没有答案