ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

springBoot+mybatisPlus+hutool 实现输入sql导出 excel表格

2019-12-19 17:52:53  阅读:182  来源: 互联网

标签:mybatisPlus springBoot excel mybatis plus sqlString put import com


支持pom包

<dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.1.1</version>
        </dependency>
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>4.5.10</version>
        </dependency>
<dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.17</version>
        </dependency>

rest代码

    @GetMapping(value = "download")
    public void download(String sqlString, HttpServletResponse response) throws IOException {
        List<HashMap<String,String>> hashMaps = checkOrderService.invokeSql(sqlString);
//        Map<String, Object> row1 = new LinkedHashMap<>();
//        row1.put("姓名", "张三");
//        row1.put("年龄", 23);
//        row1.put("成绩", 88.32);
//        row1.put("是否合格", true);
//        row1.put("考试日期", DateUtil.date());
//
//        Map<String, Object> row2 = new LinkedHashMap<>();
//        row2.put("姓名", "李四");
//        row2.put("年龄", 33);
//        row2.put("成绩", 59.50);
//        row2.put("是否合格", false);
//        row2.put("考试日期", DateUtil.date());

        ArrayList<Map<String, Object>> 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");
        ServletOutputStream out=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<CheckOrder> {

    List<HashMap<String,String>> 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;

@Service
public class CheckOrderServiceImpl extends ServiceImpl<CheckOrderMapper, CheckOrder> implements CheckOrderService{

    @Autowired
    private CheckOrderMapper checkOrderMapper;

    @Override
    public List<HashMap<String,String>> invokeSql(String sqlString) {
        return checkOrderMapper.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;

/**
 * <p>描述:阜外盘点单表Mapper接口</p>
 * <p>公司:浙江瑞华康源科技有限公司</p>
 * <p>版权:rivamed-2019</p>
 * @author 官昌洪
 * @since 2019-10-23
 */
public interface CheckOrderMapper extends BaseMapper<CheckOrder> {

    List<HashMap<String,String>> invokeSql(@Param("sqlString") String sqlString);
 }

xml

    <select id="invokeSql" resultType="java.util.HashMap">
       ${sqlString} limit 1000
    </select>

效果演示

浏览器url输入   localhost:8092/checkOrder/download?sqlString=select * from t_fhvc_check_order

导出excel如下

标签:mybatisPlus,springBoot,excel,mybatis,plus,sqlString,put,import,com
来源: https://www.cnblogs.com/guanxiaohe/p/12069161.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有