将数据字典转为Excel表格
导入依赖
<dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.10-FINAL</version>
</dependency>
转Excel的工具类
public class ExportExcel {/*** @param sheetName 工作表的名字* @param column 列名* @param data 需要导出的数据 ( map的键定义为列的名字 一定要和column中的列明保持一致 )* @param response*/public static void exportExcel(String sheetName, List<String> column, List<Map<String,Object>> data, HttpServletRequest request, HttpServletResponse response){//创建工作薄HSSFWorkbook hssfWorkbook = new HSSFWorkbook();//创建sheetHSSFSheet sheet = hssfWorkbook.createSheet(sheetName);// 表头HSSFRow headRow = sheet.createRow(0);for (int i = 0; i < column.size(); i++){headRow.createCell(i).setCellValue(column.get(i));}for (int i = 0; i < data.size(); i++) {HSSFRow dataRow = sheet.createRow(sheet.getLastRowNum() + 1);for (int x = 0; x < column.size(); x++) {dataRow.createCell(x).setCellValue(data.get(i).get(column.get(x))==null?"":data.get(i).get(column.get(x)).toString());}}response.setContentType("application/vnd.ms-excel");try {//获取浏览器名称String agent=request.getHeader("user-agent");String filename=sheetName+".xls";//不同浏览器需要对文件名做特殊处理if (agent.contains("Firefox")) { // 火狐浏览器filename = "=?UTF-8?B?"+ new BASE64Encoder().encode(filename.getBytes("utf-8"))+ "?=";filename = filename.replaceAll("\r\n", "");} else { // IE及其他浏览器filename = URLEncoder.encode(filename, "utf-8");filename = filename.replace("+"," ");}//推送浏览器response.setHeader("Content-Disposition","attachment;filename="+filename);hssfWorkbook.write(response.getOutputStream());} catch (Exception e) {e.printStackTrace();}}}
具体代码实现
/*** 导出数据到excel表格* @param request* @param response*/@RequestMapping("exportData")@ResponseBodypublic void export(HttpServletRequest request, HttpServletResponse response){//创建excel表头List<String> column = new ArrayList<>();column.add("id");column.add("parent_id");column.add("name");column.add("dict_code");column.add("create_id");column.add("create_name");column.add("update_name");column.add("create_time");column.add("update_time");column.add("is_deleted");List<Dict> dictList = dictService.findAll();//表头对应的数据List<Map<String,Object>> data = new ArrayList<>();//遍历获取到的需要导出的数据,k要和表头一样dictList.stream().forEach(dict ->{Map<String,Object> dataMap = new HashMap<>();dataMap.put("id",dict.getId() );dataMap.put("parent_id", dict.getParentId());dataMap.put("name", dict.getName());dataMap.put("dict_code", dict.getDictCode());dataMap.put("create_id", dict.getCreateId());dataMap.put("create_name", dict.getCreateName());dataMap.put("update_name", dict.getUpdateName());dataMap.put("create_time", dict.getCreateTime());dataMap.put("update_time", dict.getUpdateTime());dataMap.put("is_deleted", dict.getIsDeleted());data.add(dataMap);});//调用导出工具类ExportExcel.exportExcel("数据字典",column,data,request,response);}
将数据字典转为Excel表格相关推荐
- python怎么将txt转为excel_使用matlab或python将txt文件转为excel表格
假设txt文件为: 一.matlab代码 data=importdata('data.txt'); xlswrite('data.xls',data); 二.python代码 利用pandas的Dat ...
- 原创 | GIS属性表转为Excel表格
GIS数据=几何信息+属性信息,对于矢量数据,属性信息一般以表格的形式存储在后台.虽然在GIS中我们也可以针对表格进行分析.制图,但有时效果不如Excel的好,那么怎样才能将GIS的属性表转为Exce ...
- 【python】txt记事本转为excel表格,超快超方便
txt记事本转为excel表格,太简单啦!!! 使用python将txt格式转化为xls,火箭般的速度,就转化好了!!! 完整代码: # -*- encoding: utf-8 -*- import ...
- 电脑将图片转为excel表格的几种常用方法
一.用金鸣表格文字识别在线网页版: 1.打开金鸣表格文字识别(简称金鸣识别)网站. 2.点击"点此添加图片/PDF",将待识别的门脸图片添加进去. 3.点击"提交识别&q ...
- 用电脑将图片转为excel表格有几种方法?怎么操作?
将图片转为Excel表格,一般需要借助OCR(光学字符识别)技术.OCR技术可以将图片中的文字提取出来,并转换成Excel表格中的数据.以下是几种常用的方法: 一..使用在线OCR工具 1.打开金鸣表 ...
- 零代码编程:用ChatGPT将PDF文件的表格批量转为Excel表格
电脑中有几百个PDF文件,文件内容格式一致,每个PDF文件第一页是一个表格.想把这几百个PDF文件里面的表格都提取出来,转为excel表,该怎么办? 打开ChatGPT(一定要用GPT4,编程能力很强 ...
- 10000条txt数据转为excel表格数据
从网上查资料知道Java有2种进行excel数据写入,一种jxl,另一种poi. jxl架包下载地址带demo:https://download.csdn.net/download/wangguido ...
- WORD文档转为EXCEL表格
WORD文档也可以转换为EXCEL表格,这样可以方便大家制作表格的需要,像写好的WORD简历需要添加至EXCEL表格内,不需要复制粘贴,也不用一步步填写的,这里面是可以直接转换的,方法小编这就来告诉大 ...
- 导出的excel表格是乱码的解决方法
场景: 将后端传过来的二进制数据转为excel表格导出 问题描述: 前端导出数据代码为: let blob = new Blob([res.data], {type: 'application/vnd ...
最新文章
- 台式计算机属于,pc机属于什么型计算机
- Pentest Box -windows平台的linux bash,集成了很多测试工具
- 线性拟合和梯度下降python代码实现—面向对象(二)
- thinkphp session mysql_ThinkPHP实现将SESSION存入MYSQL的方法
- JS实现在输入框内输入@时,邮箱账号自动补全
- 用python程序编写二元多项式_Python多项式回归的实现方法
- Linux操作系统各版本ISO镜像下载(包括oracle linux\redhat\centos\u
- 【三维路径规划】基于matlab A_star算法无人机三维路径规划(起终点障碍物可设置)【含Matlab源码 1321期】
- 开源Java B2B2C商城项目Javashop的部署安装过程
- Java、LotusScript和JavaScript中的自定义事件编程
- 怎么设置台式计算机密码忘了,台式电脑忘记开机密码怎么办
- linux 输入法成繁体字_寻找Ubuntu中繁体字输入法 | 学步园
- 青岛大学计算机科学技术学院辛立强,赵志刚-青岛大学计算机科学技术学院
- 计算机c语言好学吗?要是想自学应该怎么办?
- 安徽身份证网上办理最全攻略
- 生命,感情,谁之脆弱
- 路由宽带运营商服务器未响应,路由器拨号失败服务器无响应的解决方法
- 浅析Trafodion体系结构
- string转换long
- 中国电信4g最快服务器IP,中国电信DNS IP地址大全(32个省)