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

@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

 
        
        
        
            org.apache.poi
            poi-ooxml-schemas
            3.9
        

        
            org.apache.poi
            poi-ooxml
            3.9
        
        
            org.apache.poi
            poi
            3.9
        
        
            net.sourceforge.jexcelapi
            jxl
            2.6.12
        
        
            net.sf.jxls
            jxls-core
            1.0.6
        
        
            net.sf.jxls
            jxls-reader
            1.0.6
        
            
            com.baomidou
            spring-wind
            1.1.5
            
                
                    com.baomidou
                    mybatis-plus
                
            
        



		
			org.jxls
			jxls-poi
			1.0.15
		

		
			org.jxls
			jxls
			2.4.6
		

测试

 /**
     * 导出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";
                            break;
                        

你可能感兴趣的:(JAVA,物联网,poi,导出excel,物联网,springboot)