我使用Apache POI將數據導出到.xlsx文件,並且想要對文件中包含的某些行和單元格進行樣式設置。Apache POI,創建新單元格覆蓋了行樣式
我正在使用XSSF,因爲文件將在Excel 2007+中讀取。
基本上,我的問題是,我試圖設置一個行樣式,如下例所示,它爲索引0處的整個行設置黑色前景色。它工作正常,但每當我創建一個新單元,新創建的單元格沒有樣式,就好像它重寫了我指定的行樣式。
這裏的代碼片段展示我在做什麼:
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet("mySheet");
XSSFRow row = sheet.createRow(0);
XSSFCellStyle myStyle = wb.createCellStyle();
myStyle.setFillForegroundColor(new XSSFColor(new Color(255, 255, 255)));
myStyle.setFillPattern(CellStyle.SOLID_FOREGROUND);
row.setRowStyle(myStyle); //This works, the whole row is now black
row.createCell(0); // This cell doesn't have a style, the rest of the line stays stylized
row.getCell(0).setCellValue("Test");
我也試過* row.createCell(0,Cell.CELL_TYPE_STRING); *,但它並沒有改變任何東西。
完成我想要做的事情的正確方法是什麼?我想這樣做,所以在創建它之後,我不必設置每個單元格的樣式,因爲同一行上的所有單元格都具有相同的樣式。
嘗試調用_row.createCell()_之前_row.setRowStyle(myStyle的); _ –
呀我已經試過了,順序似乎沒有關係 –
_row.setCellValue(「Test」); _給我一個編譯時錯誤檢查! –