2012-08-14 69 views
2

在Apache POI中,我爲某些單元格應用了一些樣式併合並了這些單元格。當我在2010年或2007年開放時,它的作品很好,但在2003年,格式化風格已經消失。它在每次保存2003 excel文件之前先推出兼容性檢查對話框。合併和顏色樣式不適用於Apache POI excel 2003格式

請參閱截圖。

enter image description here

下面是示例代碼:

......... 
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版本的這些單元格中。

任何建議!

+2

這在Excel中是一樣的。第一個單元格的單元格樣式被設置爲第二個單元格的默認樣式。您可以先合併單元格,然後設置顏色樣式? – 2012-08-14 12:47:36

+0

我換了合併和應用顏色代碼,不工作。 – undisputed 2012-08-23 14:23:24

回答

1
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); 

它可能對初學者有幫助。樣式的創建不能在循環中完成。

+0

您尚未將任何內容分配給「單元格」。 如何添加樣式到一個區域? – 2016-05-09 08:57:27