Java千万级数据导出Excel及自适应宽度(支持中文)
/**
* 导出Excel
* @param sheetName sheet名称
* @param title 标题
* @param values 内容
* @param wb SXSSFWorkbook对象
* @return
*/
public static SXSSFWorkbook getSXSSFWorkbook(String sheetName,String []title,String [][]values, SXSSFWorkbook wb){
// 第一步,创建一个HSSFWorkbook,对应一个Excel文件
if(wb == null){
wb = new SXSSFWorkbook (-1);
}
// 第二步,在workbook中添加一个sheet,对应Excel文件中的sheet
Sheet sheet = wb.createSheet(sheetName);
//冻结首行
sheet.createFreezePane( 0, 1, 0, 1 );
// 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制
Row row = sheet.createRow(0);
// 第四步,创建单元格,并设置值表头 设置表头居中
CellStyle style = wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
// style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND );
// style.setFillForegroundColor(IndexedColors.GREY_40_PERCENT.getIndex());
//声明列对象
Cell cell = null;
//创建标题
for(int i=0;i |