基于XSSFWorkbook 实现POI设置指定列为文本格式
// 创建workbook工作簿
XSSFWorkbook xssfWorkbook= new XSSFWorkbook();
// 样式
CellStyle textStyle = workbook.createCellStyle();
// 设置文本格式
textStyle.setDataFormat(worbook.createDataFormat().getFormat("@"));
for(int i = 0; i < resultList.size; i++){
// 创建行
Row row = sheet.createRow(i+1);
for(int j = 0; j < header.size(); j++){
switch(j){
case 0:
// 设置单元格为文本格式CellUtil.createCell(行,列,值,样式)
CellUtil.createCell(row,j,value,textStyle);
break;
default:
CellUtil.createCell(row,j,"",textStyle);
}
}
}
注:因为XSSF好像不支持设置每列为文本格式,只能获取到单元格将其设置;
基于HSSF遍历表头直接设置即可
XSSFWorkbook xssfWorkbook= new XSSFWorkbook();
Row row = sheet.createRow(0);
CellStyle textStyle = workbook.createCellStyle();
textStyle.setDataFormat(worbook.createDataFormat().getFormat("@"));
for(int m = 0;m < header.length; m++){
// 表头设置样式
Cell cell = Row.crateCell(m);
cell.setCellValue(header[m]);
cell.setCellStyle(headerCellStyle);
// 对单独某一列样式赋值,第一个参数为列数(从0开始),第二个参数为样式 所有列的话,循环列进行操作即可
sheet.setDefaultColumnStyle(m,style);
}