// 必须在单元格设值以后进行
 // 设置为根据内容自动调整列宽
 for (int k = 0; k < 8; k++) {
 sheet.autoSizeColumn(k);
 }
 // 处理中文不能自动调整列宽的问题
 this.setSizeColumn(sheet, 8);// 自适应宽度(中文支持)
 private void setSizeColumn(Sheet sheet, int size) {
 for (int columnNum = 0; columnNum < size; columnNum++) {
 int columnWidth = sheet.getColumnWidth(columnNum) / 256;
 for (int rowNum = 0; rowNum < sheet.getLastRowNum(); rowNum++) {
 Row currentRow;
 //当前行未被使用过
 if (sheet.getRow(rowNum) == null) {
 currentRow = sheet.createRow(rowNum);
 } else {
 currentRow = sheet.getRow(rowNum);
 }
 if (currentRow.getCell(columnNum) != null) {
 Cell currentCell = currentRow.getCell(columnNum);
 if (currentCell.getCellType() == XSSFCell.CELL_TYPE_STRING) {
 int length = currentCell.getStringCellValue().getBytes().length;
 if (columnWidth < length) {
 columnWidth = length;
 }
 }
 }
 }
 sheet.setColumnWidth(columnNum, columnWidth * 256);
 }
 }