public static void setAutoColumnWidth(HSSFSheet sheet,int maxColumnNum) { try{ //获取当前列的宽度,然后对比本列的长度,取最大值 for (int columnNum = 0; columnNum <= maxColumnNum; 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); int length = currentCell.toString().getBytes("GBK").length; if (columnWidth < length + 1) { columnWidth = length + 1; } } } sheet.setColumnWidth(columnNum, columnWidth * 300); } }catch (Exception e){ e.printStackTrace(); } }
原文:https://www.cnblogs.com/xiaopengL/p/13919504.html