Java 合并和颜色样式不适用于Apache POI excel 2003格式

Java 合并和颜色样式不适用于Apache POI excel 2003格式,java,excel,excel-2007,apache-poi,excel-2010,Java,Excel,Excel 2007,Apache Poi,Excel 2010,在ApachePOI中,我为一些单元格应用了一些样式并合并了这些单元格。当我在2010年或2007年打开它时,它的效果很好,但在2003年,格式样式就消失了。每次保存2003 excel文件之前,它都会打开兼容性检查对话框 请参考屏幕截图 下面是示例代码: ......... style.setFillForegroundColor(IndexedColors.GREY_50_PERCENT.getIndex()); style.setFillPattern(CellStyle.SOLID_F

在ApachePOI中,我为一些单元格应用了一些样式并合并了这些单元格。当我在2010年或2007年打开它时,它的效果很好,但在2003年,格式样式就消失了。每次保存2003 excel文件之前,它都会打开兼容性检查对话框

请参考屏幕截图

下面是示例代码:

.........
style.setFillForegroundColor(IndexedColors.GREY_50_PERCENT.getIndex());
style.setFillPattern(CellStyle.SOLID_FOREGROUND);
.........
cell.setCellStyle(style);
合并单元格

CellRangeAddress cr = new CellRangeAddress(10, 10, 18,23);
sheet.addMergedRegion(cr);
我删除了合并代码,我在2003年得到了颜色。应用样式。但我希望在2003版的单元格中同时应用颜色和合并

任何建议

int rownum = sheet.getLastRowNum()+1;
sheet.addMergedRegion(new Region(10,10,18,23));
HSSFRow row=sheet.createRow(rownum);
HSSFCell secCell=row.createCell(0);


 HSSFCellStyle cellStyle = workBook.createCellStyle();
 style.setFillForegroundColor(IndexedColors.GREY_50_PERCENT.getIndex());
 style.setFillPattern(CellStyle.SOLID_FOREGROUND);
 cell.setCellStyle(style);

这可能对初学者有帮助。不能在循环中创建样式。

在Excel中也是如此。第一个单元格的单元格样式设置为第二个单元格的默认样式。您可以先合并单元格,然后设置颜色样式?我已经交换了合并和应用颜色代码,但不起作用。您没有为“单元格”分配任何内容。如何向区域添加样式?