【企业项目级】springboot+jxls复杂excel模板导出(附导出xls模板网盘地址哦)

本文介绍了在物联网项目中,如何使用SpringBoot结合jxls库实现复杂Excel模板的导出。通过模板和单元测试,实现了一种灵活、高效的导出方式,避免了逐行逐格操作的繁琐。并提供了模板示例及下载链接。
摘要由CSDN通过智能技术生成

@toc

本物联网系列

一、用netty做一个环保hj212协议即时通讯工具

二、零基础用uniapp快速开发实现MQTT设备中心附后台接口
三、MQTT服务器搭建实现物联网通讯
四、springboot + rabbitmq 做智能家居以及web显示未读消息

为啥要用这玩意,来看看大佬怎么说

在项目持续集成的过程中,有时候需要实现报表导出和文档导出,
类似于excel中这种文档的导出,在要求不高的情况下,有人可能会考虑直接导出csv文件来简化导出过程。
但是导出xlsx文件,其实过程相对更复杂。解决方案就是使用poi的jar包。使用源生的poi来操作表格,代码冗余,处理复杂,同时poi的相关联的依赖还会存在版本兼容问题。
所以直接使用poi来实现表格导出,维护成本大,不易于拓展。
我们需要学会站在巨人的肩膀上解决问题,jxls-poi这个就很好解决这个excel表格导出的多样化的问题。类似jsp和thymealf的模板定义,使得表格导出变得简单可控。

总结:不用像之前一行一行,一格一格来操作,这玩意类似jsp那样,灵活性强,可复用,效率高(相见恨晚!!!!!)

https://www.jb51.net/article/195015.htm

pom

 <!--jxls-->
        <!--SpringBoot快速集成jxls-poi(自定义模板,支持本地文件导出,在线文件导出)-->
        <!-- jxls-api依赖 -->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml-schemas</artifactId>
            <version>3.9</version>
        </dependency>

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.9</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.9</version>
        </dependency>
        <dependency>
            <groupId>net.sourceforge.jexcelapi</groupId>
            <artifactId>jxl</artifactId>
            <version>2.6.12</version>
        </dependency>
        <dependency>
            <groupId>net.sf.jxls</groupId>
            <artifactId>jxls-core</artifactId>
            <version>1.0.6</version>
        </dependency>
        <dependency>
            <groupId>net.sf.jxls</groupId>
            <artifactId>jxls-reader</artifactId>
            <version>1.0.6</version>
        </dependency>
            <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>spring-wind</artifactId>
            <version>1.1.5</version>
            <exclusions>
                <exclusion>
                    <groupId>com.baomidou</groupId>
                    <artifactId>mybatis-plus</artifactId>
                </exclusion>
            </exclusions>
        </dependency>


<!-- jxls-api依赖 -->
		<dependency>
			<groupId>org.jxls</groupId>
			<artifactId>jxls-poi</artifactId>
			<version>1.0.15</version>
		</dependency>

		<dependency>
			<groupId>org.jxls</groupId>
			<artifactId>jxls</artifactId>
			<version>2.4.6</version>
		</dependency>

测试

 /**
     * 导出excel
     * @param request
     * @param response
     * @return
     */
    @GetMapping("/exp")
    @ResponseBody
    public String exp(HttpServletRequest request, HttpServletResponse response) {
   

        Map<String, Object> mapList = new HashMap<String, Object>();

      String  pointId=request.getParameter("pointId");
        String  beginTime=request.getParameter("beginTime")+" 00:00:00";
        String  endTime=request.getParameter("endTime")+" 23:59:59";
        String  cn=request.getParameter("cn");//  "1:实时数据 2 :分钟 3 :小时  4:天"
        log.info("开始:{},结束时间:{}"+beginTime);
        log.info("结束时间:{}"+endTime);
        try {
   
            String templateName = null;
            byte var9 = -1;
            switch(cn.hashCode()) {
   
                case 49:
                    if (cn.equals("1")) {
   
                        var9 = 0;
                    }
                default:
                    switch(var9) {
   
                        case 0:
                            templateName = "实时数据模板.xls"</
  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值