返回顶部
首页 > 资讯 > 后端开发 > Python >Easypoi轻松实现复杂excel文件导出功能
  • 559
分享到

Easypoi轻松实现复杂excel文件导出功能

2024-04-02 19:04:59 559人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

之前做的excel文件导出都相对简单,用的都是公司自己封装的一些poi方法,导出内容都是表头+一行行的数据,但是这次需要导出的excel复杂度高了不少,自己用现有方法做比较麻烦,因此

之前做的excel文件导出都相对简单,用的都是公司自己封装的一些poi方法,导出内容都是表头+一行行的数据,但是这次需要导出的excel复杂度高了不少,自己用现有方法做比较麻烦,因此引入了Easypoi 进行实现。

之所以用Easypoi我是看中了它可以直接根据现有模板填充数据实现excel生成,而模板产品已经给出,那么接下来只需要稍微做修改就能使用,修改后的模板如图:

对照着官方文档的示例(Http://easypoi.mydoc.io/ ) 很容易就能理解模板的使用规则
注意其中的{{$fe: 是遍历listmap变量循环填充数据行,其他则是类似占位符,很好理解


 //代码就纯粹只是把模板的占位符和变量对应起来
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("code", customer.getCode());
        map.put("name", customer.getName());
        map.put("mobile", customer.getMobile());
        map.put("membershipGrade", customer.getMembershipGrade());
        map.put("zzyMembershipGrade", customer.getZzyMembershipGrade());
        map.put("addressComplete", customer.getAddressComplete());
        List<Map<String, String>> listMap = new ArrayList<Map<String, String>>();

        map.put("maplist", listMap);
        SimpleDateFORMat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        for (MainOrderSubOrderFinanceResult financeResult : mainOrderSubOrderFinanceResults) {
            Map<String, String> lm = new HashMap<String, String>();
            lm.put("orderCode", financeResult.getOrderCode());
            lm.put("payStatusDesc", financeResult.getPayStatusDesc());
            lm.put("settlementTypeDesc", financeResult.getSettlementTypeDesc());
            lm.put("billDate", dateFormat.format(financeResult.getBillDate()));
            lm.put("totalAmount", financeResult.getTotalAmount().stripTrailingZeros().toPlainString());
            lm.put("discountAmount", financeResult.getDiscountAmount().stripTrailingZeros().toPlainString());
            lm.put("amount", financeResult.getAmount().stripTrailingZeros().toPlainString());
            lm.put("payAmount", financeResult.getPayAmount().stripTrailingZeros().toPlainString());
            lm.put("amountPaid", financeResult.getAmountPaid().stripTrailingZeros().toPlainString());
            listMap.add(lm);

            sumTotalAmount = sumTotalAmount.add(financeResult.getTotalAmount());
            sumDiscountAmount = sumDiscountAmount.add(financeResult.getDiscountAmount());
            sumAmount = sumAmount.add(financeResult.getAmount());
            sumPayAmount = sumPayAmount.add(financeResult.getPayAmount());
            sumAmountPaid = sumAmountPaid.add(financeResult.getAmountPaid());
        }
        map.put("sumTotalAmount", sumTotalAmount);
        map.put("sumDiscountAmount", sumDiscountAmount);
        map.put("sumAmount", sumAmount);
        map.put("sumPayAmount", sumPayAmount);
        map.put("sumAmountPaid", sumAmountPaid);
        //生成临时模板文件
        String url="";
        try {
            File temp = File.createTempFile("exportCreditBillResult", ".xlsx");
            FileUploadHelper.inputStream2File(this.getClass().getClassLoader().getResourceAsStream("exportCreditBillResult.xlsx"),temp);
            url=temp.getAbsolutePath();
            temp.deleteOnExit();
        } catch (IOException e) {

        }

        TemplateExportParams params = new TemplateExportParams(url);
        Workbook workbook = ExcelExportUtil.exportExcel(params, map);

做这个功能有一个关键点:

由于TemplateExportParams构造函数只支持传入文件路径,而直接传入resource下的模板文件路径在线上环境会有问题(本地没问题),因此需要用getResourceAsStream读取后生成临时文件,再把临时文件url传入

到此这篇关于Easypoi 轻松实现复杂excel文件导出功能的文章就介绍到这了,更多相关Easypoi导出复杂excel文件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Easypoi轻松实现复杂excel文件导出功能

本文链接: https://lsjlt.com/news/158689.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Easypoi轻松实现复杂excel文件导出功能
    之前做的excel文件导出都相对简单,用的都是公司自己封装的一些poi方法,导出内容都是表头+一行行的数据,但是这次需要导出的excel复杂度高了不少,自己用现有方法做比较麻烦,因此...
    99+
    2024-04-02
  • Easypoi如何实现复杂excel文件导出功能
    本篇内容介绍了“Easypoi如何实现复杂excel文件导出功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!之所以用Easypoi我是看中...
    99+
    2023-06-21
  • SpringBoot+EasyPoi实现excel导出功能
    在实际项目开发中,对于Excel的导入导出还是很常见的需求,比如说将数据根据模板批量导入到数据库中,以及将数据库中的数据批量导出陈Excel的形式 现有需求: 根据检索条件查询列表并...
    99+
    2024-04-02
  • EasyExcel实现Excel文件导入导出功能
    一、EasyExcel简介 Java领域解析、生成Excel比较有名的框架有Apache poi、jxl等。但他们都存在一个严重的问题就是非常的耗内存。如果你的系统并发量不大的话可能还行,但是一旦并发上来后一定会OOM或者JVM频繁的fu...
    99+
    2023-09-15
    excel java Powered by 金山文档
  • golang实现浏览器导出excel文件功能
    目录1.依赖包2.示例3.分析3.1先根据需求查询需要的list对象3.2新建文件,设置文件名,跟列名3.3设置标题单元格3.4设置内容单元格3.5流媒体返回web1.依赖包 imp...
    99+
    2024-04-02
  • Java实现导出Excel功能
    文章参考《Qt5开发及实例(第4版)》陆文周 主编 一、建立Qt工程 1、选择类别 2、建立项目名称 3、选择Qt基类及修改名称 4、选择编译器(这边两个都选择,生成两个Deb...
    99+
    2024-04-02
  • Netty 轻松实现文件上传功能
    今天我们来完成一个使用netty进行文件传输的任务。在实际项目中,文件传输通常采用FTP或者HTTP附件的方式。事实上通过TCP Socket+File的方式进行文件传输也有一定的应...
    99+
    2024-04-02
  • React实现导入导出Excel文件
    目录表示层 业务层 核心插件xlsx excel 导入 excel 导出 excel 导出插件(js-export-excel) 实现效果结语 表示层 这里我是使用的是antd的U...
    99+
    2024-04-02
  • JavaScript实现excel文件导入导出
    目录一、需求场景描述1.此时前端上传解析excel文件可能更合适2.此时前端下载excel文件可能优雅一些二、实现思路分析1.导入excel文件实现思路分析2.导出excel文件实现...
    99+
    2024-04-02
  • Vue如何实现导出Excel功能
    小编给大家分享一下Vue如何实现导出Excel功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1.前端主导流程:点击页面中导出按钮(注册点击事件)事件回调里面,发送请求后台数据对后台数据进行处理,完成想要的效果生成Exc...
    99+
    2023-06-20
  • Java如何实现导出Excel功能
    这篇文章将为大家详细讲解有关Java如何实现导出Excel功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。刚写了个导入Excel表格,现在来写个导出,其实形式都差不多,废话不多说,贴代码&...
    99+
    2023-06-21
  • JAVA怎么实现导出Excel功能
    Java可以通过使用Apache POI库来实现导出Excel功能。下面是一个简单的示例代码:```javaimport org.a...
    99+
    2023-10-08
    java
  • C#使用NPOI实现Excel导入导出功能
    本文实例为大家分享了C#使用NPOI实现Excel导入导出的具体代码,供大家参考,具体内容如下 Excel导入 使用OpenFileDiolog控件和button结合,选择文件导入,...
    99+
    2024-04-02
  • Java中怎样实现导出Excel功能
    这篇文章将为大家详细讲解有关Java中怎样实现导出Excel功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用第三方库实现导出Excel业界有句话:不重复造轮子。 使用工具类可以减少日常繁琐的编码,减...
    99+
    2023-06-14
  • java怎么实现文件导出功能
    要实现文件导出功能,可以使用Java中的文件操作相关的类和方法。下面是一个示例代码,演示了如何实现文件导出功能:```javaimp...
    99+
    2023-10-08
    java
  • React怎么实现导入导出Excel文件
    这篇文章主要介绍“React怎么实现导入导出Excel文件”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“React怎么实现导入导出Excel文件”文章能帮助大家解决问题。表示层这里我是使用的是ant...
    99+
    2023-06-05
  • Asp.Net Core实现Excel导出功能的实现方法
    在web应用程序开发时,或许你会遇到这样的需求,如何在 Asp.Net Core 中实现 excel 或者 word 的导入导出,在 NuGet 上有大量的工具包可以实现这样的...
    99+
    2022-06-07
    方法 core ASP net ASP.NET
  • 利用pandas读取Excel文件,轻松实现数据导入与分析
    利用pandas读取Excel文件,轻松实现数据导入与分析 pandas是Python中用于数据分析的强大工具,它可以对各种格式的数据进行灵活高效的处理。在数据分析中,Excel是一种常用的数据格式,pandas提供了方便的接口...
    99+
    2024-01-19
    数据分析 Excel Pandas
  • SpringBoot整合EasyExcel实现Excel表格导出功能
    目录栗子1.组件介绍2.配置文件SpringBoot项目pom.xml3.项目代码项目结构ExportController.javaMock.javaCitySheet.javaCo...
    99+
    2024-04-02
  • elementUI+Springboot实现导出excel功能的全过程
    目录前言步骤依赖包element表格table引入包编写方法完整实例最终导出结果结语前言 在前面,我们其实已经完成了elementUI+springboot的导入功能springbo...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作