poi导出excel时部分单元格边框丢失,找不到原因,调的时通用的方法。

  1. 调用的代码
        /**
         * 获取边框和标题是否加粗以及填充颜色的样式
         *
         * @param workbook workbook
         * @param isTitle  是否是标题
         * @return this
         */
        public static CellStyle getBorderStyle(Workbook workbook, boolean isTitle) {
            CellStyle style = workbook.createCellStyle();
            style.setBorderBottom(BorderStyle.THIN);
            style.setBottomBorderColor(IndexedColors.BLACK.getIndex());
            style.setBorderLeft(BorderStyle.THIN);
            style.setLeftBorderColor(IndexedColors.BLACK.getIndex());
            style.setBorderRight(BorderStyle.THIN);
            style.setRightBorderColor(IndexedColors.BLACK.getIndex());
            style.setBorderTop(BorderStyle.THIN);
            style.setTopBorderColor(IndexedColors.BLACK.getIndex());
            //垂直
            style.setVerticalAlignment(VerticalAlignment.CENTER);
            //水平
            style.setAlignment(HorizontalAlignment.CENTER);
            style.setWrapText(true);
            if (isTitle) {
                Font font = workbook.createFont();
                font.setBold(true);
                font.setColor(HSSFColor.HSSFColorPredefined.BLACK.getIndex());
                style.setFont(font);
                style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
                style.setFillForegroundColor((short) 50);
            }
            return style;
        }

    导出的结果

我已经解决了,是因为循环创建出现了问题,因为创建样式对象是有限制的,再循环外创建好样式再set就不会出现问题了。

https://blog.csdn.net/weixin_40140969/article/details/115009835?spm=1001.2014.3001.5501

这个仅凭这些 确实不好确定问题所在

如果方便可以发代码压缩包给我或者远程帮你看下?