POI导出表格Java代码实现
POI导出表格
- 1. 引入依赖
- 2. Excel导出核心代码
- 2.1 核心代码导入包
- 2.2 核心util代码
- 2.3 Controller表格导出实现
- 3. Excel导出结果展示
- 3.1 导出链接
- 3.2 导出结果
1. 引入依赖
<!--poi导出start--><!-- excel --><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.14</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.14</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml-schemas</artifactId><version>3.14</version></dependency><!--poi导出end-->
2. Excel导出核心代码
2.1 核心代码导入包
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
import java.util.Map;
import java.util.Set;
2.2 核心util代码
public class ExcelUtils {/*** @param response* @param fileName excel文件名* @param headMap 表头map* @param dataList 表格数据*/public static void exportXlsx(HttpServletResponse response, String fileName,Map<String, String> headMap, List<Map<String, Object>> dataList) {Workbook workbook = exportXlsx(fileName, headMap, dataList);response.setContentType("application/binary;charset=ISO8859_1");OutputStream outputStream = null;try {outputStream = response.getOutputStream();String fn = new String(fileName.getBytes(), "ISO8859_1");response.setHeader("Content-disposition", "attachment; filename=" + fn + ".xlsx");workbook.write(outputStream);} catch (Exception e) {e.printStackTrace();} finally {if (outputStream != null) {try {outputStream.close();} catch (IOException e) {e.printStackTrace();}}}}/*** 导出数据** @param headMap* @param dataList*/public static Workbook exportXlsx(String sheetName, Map<String, String> headMap, List<Map<String, Object>> dataList) {Workbook workbook = new XSSFWorkbook();Sheet sheet = workbook.createSheet(sheetName);int rowIndex = 0, columnIndex = 0;Set<String> keys = headMap.keySet();//表头Row row = sheet.createRow(rowIndex++);for (String key : keys) {Cell cell = row.createCell(columnIndex++);cell.setCellValue(headMap.get(key));}//内容if (dataList != null && !dataList.isEmpty()) {for (Map<String, Object> map : dataList) {row = sheet.createRow(rowIndex++);columnIndex = 0;for (String key : keys) {Cell cell = row.createCell(columnIndex++);setCellValue(cell, map.get(key));}}}return workbook;}private static void setCellValue(Cell cell, Object obj) {if (obj == null) {return;}if (obj instanceof String) {cell.setCellValue((String) obj);} else {cell.setCellValue(obj.toString());}}}
2.3 Controller表格导出实现
package com..自己的包...controller;import com.zy.checkdata.util.ExcelUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;/*** @Author: Apollo* @Date: 2020/10/9 10:37* @Description:*/
@RestController
public class ExcelController {@GetMapping("/excel")public String exportDomain(HttpServletResponse repsonse) {//列头名Map<String, String> excelTitleMap = new LinkedHashMap<String, String>();excelTitleMap.put("id", "id");excelTitleMap.put("name", "name");excelTitleMap.put("sex", "sex");//列值List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(5);Map<String, Object> map = new LinkedHashMap<String, Object>();map.put("id", "1");map.put("name", "小红");map.put("sex", "女");Map<String, Object> map1 = new LinkedHashMap<String, Object>();map1.put("id", "2");map1.put("name", "小蓝");map1.put("sex", "男");list.add(map);list.add(map1);ExcelUtils.exportXlsx(repsonse, "fileName", excelTitleMap, list);return null;}
}
3. Excel导出结果展示
3.1 导出链接
http://localhost:8080/excel
3.2 导出结果
就先说到这\color{#008B8B}{ 就先说到这}就先说到这
在下Apollo\color{#008B8B}{在下Apollo}在下Apollo
一个爱分享Java、生活的小人物,\color{#008B8B}{一个爱分享Java、生活的小人物,}一个爱分享Java、生活的小人物,
咱们来日方长,有缘江湖再见,告辞!\color{#008B8B}{咱们来日方长,有缘江湖再见,告辞!}咱们来日方长,有缘江湖再见,告辞!
POI导出表格Java代码实现相关推荐
- struts2 poi导出excel实例代码下载
原文:struts2 poi导出excel实例代码下载 代码下载地址:http://www.zuidaima.com/share/1550463233526784.htm 页面展现成表格形式,添加ex ...
- POI导出表格到浏览器工具类,poi工具类
POI导出表格到浏览器工具类 要封装的实体bean类 public class Question {private String id; //题目IDprivate String companyId; ...
- java用poi导出word,Java使用POI导出Word文档的操作教程,poiword
Java使用POI导出Word文档的操作教程,poiword 一.主要pom依赖 org.apache.poi poi-ooxml 3.16 二.需要导出word模板 三.相关导出代码 package ...
- 复杂的POI导出Excel表格(多行表头、合并单元格)
poi导出excel有两种方式: 第一种:从无到有的创建整个excel,通过HSSFWorkbook,HSSFSheet HSSFCell, 等对象一步一步的创建出工作簿,sheet,和单元格,并添加 ...
- java excel 导出图片_JAVA 使用 POI 导出 EXCEL 自定义背景颜色
开发中常用表格导入和导出 Excel 是常见的功能. 在这里分享下使用 POI 导出表格的简单实现,也是为大家提供个思路吧,抛砖引玉,话不多说直接上代码. 1.项目引入 maven 依赖 <!- ...
- java 解决企查查非法操作验证问题 爬取企查查企业相关数据 最新实践可用 java 代码
这两天需要用到某查查的数据.发现只能看到100页多余部分需要开启会员.导出表格也需要开vip .虽然在某宝上十几块就可以.但是我决定还是自己写个爬虫代码 将数据导出到 xls 表格 本来想用pytho ...
- 【工具类】JAVA POI 代码导出表格的两种办法(代码全注释,小白也不怕)
讲点废话,吐个槽 最近有个要求,表格导出,之前也搞过,但觉得每次都到处找太麻烦了,有些大佬,展示部分代码,看着挺多个类,复制粘贴运行就报错,一检查,少个关键类,没办法跑,要么就是标注个什么什么大全,下 ...
- cpu java poi 导出_java基于poi导出excel透视表代码实例
这篇文章主要介绍了java基于poi导出excel透视表代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 从前,我是一个前端程序猿,怀着对打通 ...
- java中使用poi导出ppt(图片和表格)
java使用POI导出PPT(超简单方法,包含图片和表格) 在做项目中遇到一个需求,将职员的信息导出成一个形式固定的ppt文档,poi有许多方法可以实现,因为我是一名Java小白,于是便想用最简单的方 ...
最新文章
- centos 日志切割_CentOS下的日志切割
- 软件设计原则——接口隔离原则
- 普及组模板——线性筛素数
- IntelliJ IDEA——数据库集成工具(Database)的使用
- 当不同公司的产品经理在一块聊天,会聊什么?
- 文末送书 | 高级机器学习范式——终身机器学习
- CMM已经落伍了,敏捷才是王道
- 内核移植(4)移植yaffs文件系统
- three轨迹线在mapbox地图上显示
- rbf神经网络_黄小龙,陈阳舟:高阶非线性不确定多智能体系统自适应RBF神经网络协同控制...
- FindBugs-IDEA图标说明
- [杂谈] 9. C语言中getch()函数
- 浅析浏览器书签的导入和导出
- 解决office2007打开很慢问题
- 经验分享:半小时建立自己的在线管理系统!
- Python也能识别图文,看到好的文章就用它一键扫描吧
- Mysql优化_慢查询开启说明及Mysql慢查询分析工具mysqldumpslow用法讲解
- BZOJ3036 绿豆蛙的归宿
- vue-cli中mock本地json数据踩雷:报错404 (GET http://localhost:8080/goods 404 (Not Found) )
- mac 无法访问浏览器