POI Excel表格合并,边框设置
生活随笔
收集整理的這篇文章主要介紹了
POI Excel表格合并,边框设置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Java代碼?? RegionUtil.setBorderLeft(1,?cellRangeAddress,?sheet,?wb);?? RegionUtil.setBorderBottom(1,?cellRangeAddress,?sheet,?wb);?? RegionUtil.setBorderRight(1,?cellRangeAddress,?sheet,?wb);?? RegionUtil.setBorderTop(1,?cellRangeAddress,?sheet,?wb);?? ? 上面是加邊框的核心代碼,為單元格的上,下左,右四邊加邊框!我測試在單個合并單元格的時候,是沒有什么問題的!但是當我用下面代碼的時候會出現有的邊框沒有 Java代碼?? Row?row=sheet.createRow((short)0);?? ??????ImageUtil.createCell("排序",?0,?sctext,?row);?? ??????CellRangeAddress?CellRangeAddress1?=?new?CellRangeAddress(0,2,0,0);?? ??????sheet.addMergedRegion(CellRangeAddress1);?? ?? ??????RegionUtil.setBorderLeft(1,?cellRangeAddress,?sheet,?wb);?? ??????RegionUtil.setBorderBottom(1,?cellRangeAddress,?sheet,?wb);?? ??????RegionUtil.setBorderRight(1,?cellRangeAddress,?sheet,?wb);?? ??????RegionUtil.setBorderTop(1,?cellRangeAddress,?sheet,?wb);?? ??????ImageUtil.createCell("項目名稱",?1,?sctext,?row);?? ??????CellRangeAddress?CellRangeAddress2?=?new?CellRangeAddress(0,2,1,1);?? ??????sheet.addMergedRegion(CellRangeAddress2);?? ???????? ??????ImageUtil.createCell("姓名",?2,?sctext,?row);?? ??????CellRangeAddress?CellRangeAddress3?=?new?CellRangeAddress(0,2,2,2);?? ??????sheet.addMergedRegion(CellRangeAddress3);????? ????????? ??????ImageUtil.createCell("各指標完成情況總數據",?3,?sctext,?row);?? ??????CellRangeAddress?CellRangeAddress4?=?new?CellRangeAddress(0,0,3,8);?? ??????sheet.addMergedRegion(new?CellRangeAddress(0,0,3,8));????? ??????? ??????ImageUtil.createCell("各指標完成率",?9,?sctext,?row);?? ??????CellRangeAddress?CellRangeAddress5?=?new?CellRangeAddress(0,0,9,14);?? ??????sheet.addMergedRegion(CellRangeAddress5);???? ?????? ??????Row?row2=sheet.createRow((short)1);?? ??????ImageUtil.createCell("覆蓋面",?3,?sctext,?row2);?? ??????CellRangeAddress?CellRangeAddress6?=?new?CellRangeAddress(1,1,3,4);?? ??????sheet.addMergedRegion(CellRangeAddress6);?? ???????? ??????ImageUtil.createCell("頻次",?5,?sctext,?row2);?? ??????CellRangeAddress?CellRangeAddress7?=?new?CellRangeAddress(1,1,5,6);?? ??????sheet.addMergedRegion(CellRangeAddress7);?? public?void?setBorder(CellRangeAddress?cellRangeAddress,?Sheet?sheet,?? ????????????Workbook?wb)?throws?Exception?{?? ????????RegionUtil.setBorderLeft(1,?cellRangeAddress,?sheet,?wb);?? ????????RegionUtil.setBorderBottom(1,?cellRangeAddress,?sheet,?wb);?? ????????RegionUtil.setBorderRight(1,?cellRangeAddress,?sheet,?wb);?? ????????RegionUtil.setBorderTop(1,?cellRangeAddress,?sheet,?wb);?? ?????????? }?? ?然后將調用該方法的步驟放到最后,記得是最后,就是全部單元格合并之后,否則會覆蓋的,如下: Java代碼?? super.setBorder(CellRangeAddress1,?sheet,?book);?? super.setBorder(CellRangeAddress2,?sheet,?book);?? super.setBorder(CellRangeAddress3,?sheet,?book);?? super.setBorder(CellRangeAddress4,?sheet,?book);?? super.setBorder(CellRangeAddress5,?sheet,?book);?? super.setBorder(CellRangeAddress6,?sheet,?book);?? super.setBorder(CellRangeAddress7,?sheet,?book);?? super.setBorder(CellRangeAddress8,?sheet,?book);?? super.setBorder(CellRangeAddress9,?sheet,?book);?? super.setBorder(CellRangeAddress10,?sheet,?book);?? super.setBorder(CellRangeAddress11,?sheet,?book);?? super.setBorder(CellRangeAddress12,?sheet,?book);?? super.setBorder(CellRangeAddress13,?sheet,?book);?? super.setBorder(CellRangeAddress14,?sheet,?book);?? super.setBorder(CellRangeAddress15,?sheet,?book);?? super.setBorder(CellRangeAddress16,?sheet,?book);?? ?
?結果如下圖:
?
最后是順序問題導致的.其原因是因為在編輯單元格的時候,后者覆蓋了前者的style.
解決辦法:
封裝了一個方法:
?
Java代碼???
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的POI Excel表格合并,边框设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 遍历Newtonsoft.Json.Li
- 下一篇: vue 导航栏切换