代码片段: 通用Excel导出-通用Excel导出

/*** * 根据list创建对应的HSSFWorkbook 传入LinkedHashMap有序的与添加的顺序相同 * @param list 数据源 * @param map 传入LinkedHashMap 固定的ket:sheet value:sheet...
<pre>/*** * 根据list创建对应的HSSFWorkbook 传入LinkedHashMap有序的与添加的顺序相同 * @param list 数据源 * @param map 传入LinkedHashMap 固定的ket:sheet value:sheet名称 key:list实体中的字段,value:对应名称 * @param c list value类型 * @return * @throws Exception */ public static HSSFWorkbook createWorkBookByList(List list, Map<String,String> map, Class c) throws Exception { HSSFWorkbook book = new HSSFWorkbook(); HSSFSheet sheet = book.createSheet(map.get("sheet")==null||"".equals(map.get("sheet"))?"数据表格":map.get("sheet")); map.remove("sheet"); List<String> title = new ArrayList<>(); HSSFRow headerRow = sheet.createRow(0); int index = 0; for (String item : map.keySet()){ HSSFCell cell = headerRow.createCell(index); title.add(item); cell.setCellValue(map.get(item)); ++index; } for (int i=1;i<list.size();i++){ HSSFRow row = sheet.createRow(i); Method method = null; for (int j=0;j<title.size();j++){ HSSFCell cell = row.createCell(j); method = c.getMethod("get"+title.get(j).substring(0,1).toUpperCase()+title.get(j).substring(1,title.get(j).length())); cell.setCellValue(method.invoke(list.get(i)).toString()); } } return book; }</pre>
  • 发表于 2018-07-05 12:40
  • 阅读 ( 343 )
  • 分类:代码片段

条评论

请先 登录 后评论
不写代码的码农
小编

篇文章

作家榜 »

  1. 小编 文章
返回顶部
部分文章转自于网络,若有侵权请联系我们删除