<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>
代码片段: 通用Excel导出-通用Excel导出
/***
* 根据list创建对应的HSSFWorkbook 传入LinkedHashMap有序的与添加的顺序相同
* @param list 数据源
* @param map 传入LinkedHashMap 固定的ket:sheet value:sheet...
- 发表于 2018-07-05 12:40
- 阅读 ( 343 )
- 分类:代码片段
你可能感兴趣的文章
- Java 添加条码、二维码到PDF文档 134 浏览
- Java 在Excel中添加筛选器并执行筛选 91 浏览
- JAVA + VUE + 简洁UI:分离式软件平台形成之旅 265 浏览
- Java 设置Word中的表格自适应的3种方式 113 浏览
- LeaRun快速开发平台,.net/java项目开发工具简析 142 浏览
- JVM学习笔记之类装载器-ClassLoader 203 浏览
随机文章
- Java版本的跨域解决方案 824 浏览
- java.lang.IllegalStateException: Mapped class was not specified 3495 浏览
- springboot 带入口参数、spring.profiles.active启动项目 2981 浏览
- CentOS编译安装redis,及主从配置,集群配置 2298 浏览
- CentOS 安装RabbitMQ 2270 浏览
相关问题
- java基础知识提问 1 回答
条评论
请先 登录 后评论
发送私信
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!