mybatis plus 导出sql_springBoot+mybatisPlus+hutool 实现输入sql导出 excel表格
支持pom包
com.baomidou
mybatis-plus-boot-starter
3.1.1
cn.hutool
hutool-all
4.5.10
org.apache.poi
poi-ooxml
3.17
rest代码
@GetMapping(value = "download")public voiddownload(String sqlString, HttpServletResponse response) throws IOException {
List> hashMaps =checkOrderService.invokeSql(sqlString);//Map row1 = new LinkedHashMap<>();//row1.put("姓名", "张三");//row1.put("年龄", 23);//row1.put("成绩", 88.32);//row1.put("是否合格", true);//row1.put("考试日期", DateUtil.date());//
//Map row2 = new LinkedHashMap<>();//row2.put("姓名", "李四");//row2.put("年龄", 33);//row2.put("成绩", 59.50);//row2.put("是否合格", false);//row2.put("考试日期", DateUtil.date());
ArrayList> rows =(ArrayList) hashMaps;//通过工具类创建writer,默认创建xls格式
ExcelWriter writer =ExcelUtil.getWriter();//一次性写出内容,使用默认样式,强制输出标题
writer.write(rows, true);//out为OutputStream,需要写出到的目标流//response为HttpServletResponse对象
response.setContentType("application/vnd.ms-excel;charset=utf-8");//test.xls是弹出下载对话框的文件名,不能为中文,中文请自行编码
response.setHeader("Content-Disposition","attachment;filename=test.xls");
ServletOutputStreamout=response.getOutputStream();
writer.flush(out, true);//关闭writer,释放内存
writer.close();//此处记得关闭输出Servlet流
IoUtil.close(out);//checkOrderBlh.backup2(response);
}
service
package com.mybatis.plus.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mybatis.plus.entity.order.CheckOrder;
import java.util.HashMap;
import java.util.List;public interface CheckOrderService extends IService{
List>invokeSql(String sqlString);
}
serviceImpl
package com.mybatis.plus.service.impl;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mybatis.plus.entity.order.CheckOrder;
import com.mybatis.plus.mapper.order.CheckOrderMapper;
import com.mybatis.plus.service.CheckOrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
@Servicepublic class CheckOrderServiceImpl extends ServiceImplimplements CheckOrderService{
@AutowiredprivateCheckOrderMapper checkOrderMapper;
@Overridepublic List>invokeSql(String sqlString) {returncheckOrderMapper.invokeSql(sqlString);
}
}
mapper
package com.mybatis.plus.mapper.order;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mybatis.plus.entity.order.CheckOrder;
import org.apache.ibatis.annotations.Param;
import java.util.HashMap;
import java.util.List;
import java.util.Map;/**
*
描述:阜外盘点单表Mapper接口
*
公司:浙江瑞华康源科技有限公司
*
版权:rivamed-2019
* @author 官昌洪
* @since 2019-10-23*/
public interface CheckOrderMapper extends BaseMapper{
List> invokeSql(@Param("sqlString") String sqlString);
}
xml
${sqlString} limit1000
效果演示
浏览器url输入 localhost:8092/checkOrder/download?sqlString=select * from t_fhvc_check_order
导出excel如下
注意:存在数据库中null字段不返回的问题 添加mysql配置 call-setters-on-nulls: true 即可解决
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
jdbc-type-for-null: nullcall-setters-on-nulls: truemapper-locations: classpath*:/com/mybatis/**/*Mapper.xml
mybatis plus 导出sql_springBoot+mybatisPlus+hutool 实现输入sql导出 excel表格相关推荐
- JQ 导出easyui中datagrid中的数据到excel表格中
///前端 <a href="#" class="easyui-linkbutton" id="id_exportTableToEcxel&qu ...
- 怎么把CAD表格转换成Excel表格?CAD表格导出教程
有些小伙伴在使用CAD软件绘制图纸的过程中,想要将CAD表格导出为Excel表格时不知道该如何操作,浩辰CAD软件中提供了CAD表格转Excel功能,可以快速将CAD中由线和文字构成的表格转换成Exc ...
- php 输入表格数据,怎样将导出数据输入Excel 表格-php 怎么把数据导出到excel表格...
如何将word文档中的数据导入到excel表格中 方法如下: 1.首先,打开媒介工具"记事本",将word文件里需要导入的数据,复制粘贴到记事本当中,然后保存成为txt文件,本例中 ...
- Mybatis系列之——整合Mybatis-Plus
Mybatis-Plus 1.了解Mybatis-Plus MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发.提高效率 ...
- python获取股票财务报表数据生成excel_(python导出股票数据到excel表格)如何将python输出的内容输入到表格Excel中...
如何将python输出的内容输入到表格Excel中 假如你还没有数据,手动敲进去一个frame. 你也可以用别的方式入的,网上抓的,都可以. data={'name':['zhangssan','li ...
- hutool工具类导出Excel表格
1.引入hutool和相关依赖 <dependency> <groupId>cn.hutool</groupId> <arti ...
- springboot+mybatisplus+thymeleaf导入导出excel表格和制作饼状图,柱状图
这是我们的项目结构. 我们导入的依赖. application.yml配置文件. goods实体类 type实体类 1.导出 前端代码: JavaScript代码: 通过这里跳转到后端 导出的工具 ...
- stata 导出 相关系数表_Stata高效输入:搜狗输入法自定义短语
Stata连享会 主页 || 视频 || 推文 扫码查看连享会最新专题.公开课视频和 100 多个码云计量仓库链接. 原始 Markdown 文档下载 | 码云-原始短语定义文件(持续更新中--) ...
- Springboot集合POI导出多sheet的Excel表格
这几天一个任务是生成一个Excel表格,因为Easyexcel不能生成复杂的表格,所以老师让我们使用POI来生成. 主要需求: 多个sheet 存储图片 单元格合并 单元格样式定制 表头.标题.数据内 ...
最新文章
- 挑战10个最难回答的Java面试题,我第2题就跪了...
- boost::hana::min用法的测试程序
- 自由还是霸权? TPP将撤销政府的数据主权
- mysql 查询前10门课程_数据库面试题:如何查找每门课程的前3名?
- 欧几里得算法和扩展欧几里得算法详解
- pythondict函数_Python的dict()函数
- np.mean(data, axis=0)函数
- spring将service添加事务管理,在applicationContext.xml文件中的设置
- readonly 与 const
- Common lisp编译成C的bin(二)
- 汽车电子技术——ECU/MCU嵌入式软件开发
- Win10保护眼睛豆沙绿背景
- matlab颜色识别提取,matlab实现图像颜色特征提取
- Android Property
- MySQL——Using Filesort文件排序详解
- js教程实践(JS基础)
- 面向未来,镭速助力企业构建文件安全外发新生态
- 超级玛丽3通关指南+隐藏点整理
- 为什么 4EVERLAND 是 Web 3.0 的最佳云计算平台
- 在那山的这边海的那边有一群程序员
热门文章
- python使用fpdf生成pdf文件章节(chapter),包含:页眉、页脚、章节主题、数据排版等;
- 机器学习数据预处理之缺失值:预测填充(回归模型填充、分类模型填充)
- 构建聊天机器人:检索、seq2seq、RL、SeqGAN
- ubuntu中安装rabbitmq
- html 移动端(手机)调试 vconsole
- opencv函数总结
- AI传教士和野人渡河问题-实验报告
- 【Harvest源码分析】GetFourZeroCrossingIntervals函数
- LeetCode 316. Remove Duplicate Letters--贪心--Java,C++,Python解法
- Matplotlib使用日期作为横坐标