/**
* 通用导出
* @data 2018年10月10日
* @author daibingjie
* @param response
* @param fileName 文件名
* @param list 数据
* @param filePath 模板路径
* @param r 第几行录入
*/
public void getExport(HttpServletRequest request,HttpServletResponse response ,
String fileName ,List<Map<String,Object>> list, String filePath ,Integer r) {
OutputStream out = null;
try {
FileInputStream tps = new FileInputStream(new File(filePath));
final HSSFWorkbook tpWorkbook = new HSSFWorkbook(tps);
out = response.getOutputStream();
response.reset();
response.setHeader("content-disposition", "attachment;filename=" + fileName + ".xls");
response.setContentType("APPLICATION/msexcel");
// 新建一个Excel的工作空间
HSSFWorkbook workbook = new HSSFWorkbook();
// 把模板复制到新建的Excel
workbook = tpWorkbook;
HSSFSheet sheet = workbook.getSheetAt(0);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (list != null && list.size() > 0) {
for (int i = 0; i < list.size(); i++) {
Map<String,Object> map = list.get(i);
HSSFRow row = sheet.createRow(i + r);
for (int k = 0; k < map.size(); k++) {
Object value = map.get("key_"+k);
String realV = "";
if(value instanceof BigDecimal){
realV = map.get("key_"+k).toString();
}
if(value instanceof Date){
realV = sdf.format(value);
}
if(value instanceof String){
realV = value.toString();
}
if(StringUtil.isEmpty(realV)){
realV = " ";
}
HSSFCell cell = row.createCell(k);
cell.setCellValue(realV);
}
}
}
// 输出Excel内容,生成Excel文件
workbook.write(out);
} catch ( IOException e) {
e.printStackTrace();
} catch ( IllegalArgumentException e) {
e.printStackTrace();
} catch ( Exception e) {
e.printStackTrace();
} finally {
try {
// 最后记得关闭输出流
response.flushBuffer();
if (out != null) {
out.flush();
out.close();
}
} catch (final IOException e) {
e.printStackTrace();
}
}
}
列表导出excel
猜你喜欢
转载自blog.csdn.net/weixin_38197447/article/details/88940891
今日推荐
周排行