用map设置value时使用LinkedHashMap(有序)
map = new LinkedHashMap();
map.put(“summary”,String.valueOf(ot[0]));
import java.io.OutputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.springframework.stereotype.Component;
public void exportExcel(String[] title, List<Map<String, Object>> resultList, HttpServletResponse response,
String fileName, String sheetName) throws Exception {
// 设置返回信息
OutputStream os = response.getOutputStream();
DateFormat format = new SimpleDateFormat("yyyyMMddhhmmss");
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-Disposition", "attachment; filename="
+ new String(fileName.getBytes("gb2312"), "ISO-8859-1")
+ format.format(new Date()) + ".xls");
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
HSSFWorkbook workbook = new HSSFWorkbook();
// 添加一个sheet
HSSFSheet sheet = workbook.createSheet(sheetName);
int rowIndex = 0;
HSSFRow row = sheet.createRow(rowIndex);
// 设置表头样式
HSSFCellStyle headStyle = workbook.createCellStyle();
headStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式
headStyle.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index);// 设置背景色
headStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
headStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
headStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
headStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
headStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
// 字体
HSSFFont headFont = workbook.createFont();
headFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗体显示
headStyle.setFont(headFont);
// 创建表头
HSSFCell cell = null;
for (int i = 0; i < title.length; i++) {
cell = row.createCell(i);
cell.setCellValue(title[i]);
cell.setCellStyle(headStyle);
}
int iClm = 0;
int iRow = 0;
for (Map<String, Object> map : resultList) {
row = sheet.createRow((int) iRow + 1);
Set keySet = map.keySet();
iClm = 0;
for (Object keyName : keySet) {
row.createCell(iClm).setCellValue(CommUtil.null2String(map.get(keyName)));
iClm ++;
}
iRow++;
}
// 自动适应宽度
for (int i = 0; i < iClm; i++) {
sheet.autoSizeColumn(i);
}
try {
workbook.write(os);
os.flush();
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
os.close();
}
}