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代码实现相关推荐

  1. struts2 poi导出excel实例代码下载

    原文:struts2 poi导出excel实例代码下载 代码下载地址:http://www.zuidaima.com/share/1550463233526784.htm 页面展现成表格形式,添加ex ...

  2. POI导出表格到浏览器工具类,poi工具类

    POI导出表格到浏览器工具类 要封装的实体bean类 public class Question {private String id; //题目IDprivate String companyId; ...

  3. java用poi导出word,Java使用POI导出Word文档的操作教程,poiword

    Java使用POI导出Word文档的操作教程,poiword 一.主要pom依赖 org.apache.poi poi-ooxml 3.16 二.需要导出word模板 三.相关导出代码 package ...

  4. 复杂的POI导出Excel表格(多行表头、合并单元格)

    poi导出excel有两种方式: 第一种:从无到有的创建整个excel,通过HSSFWorkbook,HSSFSheet HSSFCell, 等对象一步一步的创建出工作簿,sheet,和单元格,并添加 ...

  5. java excel 导出图片_JAVA 使用 POI 导出 EXCEL 自定义背景颜色

    开发中常用表格导入和导出 Excel 是常见的功能. 在这里分享下使用 POI 导出表格的简单实现,也是为大家提供个思路吧,抛砖引玉,话不多说直接上代码. 1.项目引入 maven 依赖 <!- ...

  6. java 解决企查查非法操作验证问题 爬取企查查企业相关数据 最新实践可用 java 代码

    这两天需要用到某查查的数据.发现只能看到100页多余部分需要开启会员.导出表格也需要开vip .虽然在某宝上十几块就可以.但是我决定还是自己写个爬虫代码 将数据导出到 xls 表格 本来想用pytho ...

  7. 【工具类】JAVA POI 代码导出表格的两种办法(代码全注释,小白也不怕)

    讲点废话,吐个槽 最近有个要求,表格导出,之前也搞过,但觉得每次都到处找太麻烦了,有些大佬,展示部分代码,看着挺多个类,复制粘贴运行就报错,一检查,少个关键类,没办法跑,要么就是标注个什么什么大全,下 ...

  8. cpu java poi 导出_java基于poi导出excel透视表代码实例

    这篇文章主要介绍了java基于poi导出excel透视表代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 从前,我是一个前端程序猿,怀着对打通 ...

  9. java中使用poi导出ppt(图片和表格)

    java使用POI导出PPT(超简单方法,包含图片和表格) 在做项目中遇到一个需求,将职员的信息导出成一个形式固定的ppt文档,poi有许多方法可以实现,因为我是一名Java小白,于是便想用最简单的方 ...

最新文章

  1. centos 日志切割_CentOS下的日志切割
  2. 软件设计原则——接口隔离原则
  3. 普及组模板——线性筛素数
  4. IntelliJ IDEA——数据库集成工具(Database)的使用
  5. 当不同公司的产品经理在一块聊天,会聊什么?
  6. 文末送书 | 高级机器学习范式——终身机器学习
  7. CMM已经落伍了,敏捷才是王道
  8. 内核移植(4)移植yaffs文件系统
  9. three轨迹线在mapbox地图上显示
  10. rbf神经网络_黄小龙,陈阳舟:高阶非线性不确定多智能体系统自适应RBF神经网络协同控制...
  11. FindBugs-IDEA图标说明
  12. [杂谈] 9. C语言中getch()函数
  13. 浅析浏览器书签的导入和导出
  14. 解决office2007打开很慢问题
  15. 经验分享:半小时建立自己的在线管理系统!
  16. Python也能识别图文,看到好的文章就用它一键扫描吧
  17. Mysql优化_慢查询开启说明及Mysql慢查询分析工具mysqldumpslow用法讲解
  18. BZOJ3036 绿豆蛙的归宿
  19. vue-cli中mock本地json数据踩雷:报错404 (GET http://localhost:8080/goods 404 (Not Found) )
  20. mac 无法访问浏览器

热门文章

  1. 教女朋友学Python是道送命题
  2. c++ - 信息学奥赛一本通答案1001
  3. ISP 图像信号处理器数字IP实现
  4. 时间序列之AR、MA、ARMA、ARIMA模型
  5. 修复“裸露”的黑莓手机
  6. AI帮我画出了小说里的人物,我这么多年的小说好像白看了。。。
  7. 电脑与手机文件互传机制
  8. mapbox 绘制路线并展示路线长度
  9. 作词:符如坤(2018.08.27)
  10. Python竟然可以画漫画!漫画版的故宫导游图,来袭!