Apache poi HSSFWorkbook将覆盖XLS模板中的样式

我有一个HSSFWorkbook对象的问题。 我有一个XLS模板,第一行是深灰色,下一行是浅灰色。 在生成报告的过程中,我想要改变几个单元格的背景颜色(完美的)为红色/蓝色。 但在打电话之后:

HSSFCellStyle style = workbook.createCellStyle(); style.setFillBackgroundColor(...) 

要么:

 HSSFCellStyle style = workbook.getCellStyleAt(0) [default style of the workbook] style.setFillBackgroundColor(...) 

整张纸的样式丢失了。 标题变成了紫色,其余的单元格变成深灰色。 我爱紫罗兰,但我需要从XLS的颜色不被改变。

颜色问题

简而言之,从我的XLS模板中的样式,在以上述方式更改一个单元格的样式后,不会被保留。

我没有想法。 请帮忙。

Mateusz

我认为问题将出现在.xls电子表格本身中。 您在模板上select的样式与当前文件格式不兼容(电子表格可能会转换为.xlsx,但您可能必须将实现更改为XSSFWorkbook)。 你可以通过打开你的模板来检查样式是否兼容,做一个小小的改变并保存 – 在你的情况下,应该popup警告,样式将被转换为最接近的等值。

解决scheme :编辑电子表格并使用.xls格式select兼容的样式,或者升级到.xlsx格式。