在经过Jxls或者POI导出数据至excel中后,发现有的单元格内容太多,既没有自动换行,也没有自动增大行高。那如何通过Java代码来实现呢?请看下面步骤:
(一)首先,将excel设置为最合适的行高,通过CTRow对象的setCustomHeight(false)函数实现,具体的代码如下:
XSSFWorkbook workbook = new XSSFWorkbook(文件路径或者文件流);
XSSFSheet sheet = workbook.getSheet(sheetIndex);
XSSFRow xssfRow = sheet.getRow(rowIndex);
CTRow ctRow = xssfRow.getCTRow();
ctRow.setCustomHeight(false);
(二)然后,循环每个sheet页的行,通过XSSFCell的setWrapText(true),就可以设置单元格自动换行,并且自动调整行高,将单元格内容全部显示出来;
(三)最后,对于合并的单元格,只能是通过XSSFRow的setHeight(行高值)来设置,这里说一下思路:
(1)通过sheet获取当前sheet页总共有哪些合并的单元格,例如List<CellRangeAddress> listCombineCell = sheet.getMergedRegions();
(2)计算合并单于格的高度和宽度,采用循环的方式求的每一行的高度之和或者是每一列的宽度之和;
(