您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關POI復制EXCEL單元格樣式失敗怎么辦,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
XSSFCell復制單元格樣式的兩種方式
1、直接將原單元格樣式加載新建單元格上
XSSFRow newRow = sheet.createRow(row + 5); for (int cell = 0; cell < maxCellNum; cell++) { XSSFCell newCell = newRow.createCell(cell); newCell.setCellStyle(sheet.getRow(5).getCell(cell).getCellStyle()); }
2、使用CellStyle的cloneStryleFrom方法復制一個新的樣式
XSSFRow newRow = sheet.createRow(row + 5); for (int cell = 0; cell < maxCellNum; cell++) { XSSFCell newCell = newRow.createCell(cell); CellStyle cStyle = workbook.createCellStyle(); cStyle.cloneStyleFrom(newCell.getCellStyle()); newCell.setCellStyle(cStyle); }
一般情況推薦使用第二種方法,方法一可能會出現單元格樣式被覆蓋的情況。
問題背景:通過excel的模版,將具體數據填充入對應的單元格中生成一份商品清單的文件。模版如下(為了直觀,特意將最后兩列背景顏色設置成橙、紅,便于對比)
最終生成excel文件如下
本次遇到的問題是不管使用上述任何一種方法都無法正常給單元格加樣式。
經過排查發現是因為在給每行最有一個單元格添加樣式之后沒有為它進行賦值,因此樣式不會生效,必須要對每行最后一個添加樣式的單元格進行賦值,樣式才會正常顯示。
excelRow.getCell(10).setCellValue("");
經過修改后導出文件如下
看完上述內容,你們對POI復制EXCEL單元格樣式失敗怎么辦有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。