1 /** 2 * @Description:表格自适应宽度(中文支持) 3 * @Author: 4 * @param sheet sheet 5 * @param columnLength 列数 6 */ 7 private static void setSizeColumn(HSSFSheet sheet, int columnLength) { 8 for (int columnNum = 0; columnNum <= columnLength; columnNum++) { 9 int columnWidth = sheet.getColumnWidth(columnNum) / 256; 10 for (int rowNum = 0; rowNum < sheet.getLastRowNum(); rowNum++) { 11 HSSFRow currentRow; // 当前行未被使用过 12 if (sheet.getRow(rowNum) == null) { 13 currentRow = sheet.createRow(rowNum); 14 } else { 15 currentRow = sheet.getRow(rowNum); 16 } 17 if (currentRow.getCell(columnNum) != null) { 18 HSSFCell currentCell = currentRow.getCell(columnNum); 19 if (currentCell.getCellType() == HSSFCell.CELL_TYPE_STRING) { 20 int length = currentCell.getStringCellValue().getBytes().length; 21 if (columnWidth < length) { 22 columnWidth = length; 23 } 24 } 25 } 26 } 27 sheet.setColumnWidth(columnNum, columnWidth * 256); 28 } 29 }