easy-poi 模板报表下载

先来一个官方链接参照:https://easypoi.mydoc.io/   

1.pom.xml中maven依赖如下:

<dependency>

    <groupId>org.apache.poi</groupId>

    <artifactId>poi</artifactId>

    <version>4.1.0</version>

</dependency>

<dependency>

    <groupId>org.apache.poi</groupId>

    <artifactId>poi-ooxml</artifactId>

    <version>4.1.0</version>

</dependency>

<dependency>

    <groupId>cn.afterturn</groupId>

    <artifactId>easypoi-base</artifactId>

    <version>4.1.0</version>

</dependency>

2.java代码如下:

// 获取导出excel指定模版

TemplateExportParamsparams =new TemplateExportParams("com/xxxx/doc/easypoi.xls");

// 设置sheetName

params.setSheetName("easypoi报表");

Map data =new HashMap();

data.put("start","2022-01-01");//开始日期

data.put("end","2022-01-01");//结束日期

ArrayList<Map<String,String>> arrList =new ArrayList();

BigDecimal total =new BigDecimal(0);

for (inti =0;i<10;i++) {

    total =total .add(100);//合计自动计算功能不好用     --请大神指点

    HashMap map =new HashMap();

    map.put("A","1");

    map.put("B","2");

    map.put("C","3");

    map.put("D","2");

    arrList.add(map);

}

data.put("testList",arrList);

Workbookworkbook = ExcelUtil.getWorkbook(params,data);

//下载

ExcelUtil.htmlExport(response,workbook,"easypoi报表");

3.工具类方法

/**

    * 生成excel对象

    *

    * @param params      模板导出参数设置

    * @param data        模板导出数据

    * @return workBook对象

    * @throws Exception 异常抛出

    */

    public static Workbook getWorkbook(TemplateExportParams params, Map<String, Object> data) throws Exception {

        Workbook book = null;

        try{

            book = ExcelExportUtil.exportExcel(params, data);

        }catch(Exception e){

            e.printStackTrace();

        }

        return book;

    }

/**

    * 导出excel对象

    *

    * @param response httpResponse对象

    * @param workbook workBook对象

    * @param fileName 导出文件名

    * @throws Exception 异常抛出

    */

    public static void htmlExport(HttpServletResponse response, Workbook workbook, String fileName) throws Exception {

        response.reset();

        response.setContentType("application/x-msdownload");

        response.setHeader("Content-disposition", "attachment; filename=" + new String(fileName.getBytes("gb2312"), "ISO-8859-1") + ".xls");

        ServletOutputStream outStream = null;

        try {

            outStream = response.getOutputStream();

            workbook.write(outStream);

        } finally {

            outStream.close();

        }

    }

4.指定路径下模板文件

controller部分省略。。。。

web侧 下载请求部分参考:

//设置url

param1 = "test1";

param2 = "test2";

var url =PATH + "/DownLoad?param1="+param1 +"&param2="+param2;

var form = $("<form></form>").attr("action", url).attr("method", "post");

form.appendTo('body').submit();

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Excel下载 依赖 <!-- excel文件处理 --> <dependency> <groupId>org.a...
    sfgf阅读 568评论 0 0
  • 1.依赖 如果项目有原始poi 依赖 可以使用以下兼容版本 3.15 <easypoi.version>3.3.0...
    sfgf阅读 6,197评论 0 0
  • 各位盟友,第一次在github上发布源码,不足之处还往多多指教。 这是给朋友爬虫使用的ip代理池,保证ip的有...
    Shimmer0118阅读 2,578评论 0 0
  • SpringMVC 一、SpringMVC概述 1. 三层架构 服务器端开发程序主要由两种形式构成。一种是基于客户...
    青丶空阅读 467评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,778评论 19 139

友情链接更多精彩内容