导出的excel有嵌套实体怎么办?

用JXLS、轻松导,嵌套、样式随你设

    jxls是一个简单的、轻量级的excel导出库,使用特定的标记在excel模板文件中来定义输出格式和布局。java中成熟的excel导出工具有pol、jxl,但他们都是使用java代码的方式来导出excel,编码效率很低且不方便维护。

另外,jxls2.3的运行效率也相当不错,经过测试,在禁用日志输出的情况下,导出excel单表66535条记录仅仅3000毫秒,与poi几乎没什么大的差距。【源】

使用:

    首先pom文件中添加

 
        
            net.sf.jxls
            jxls-core
            1.0.6
        

其次定义模板:

导出的excel有嵌套实体怎么办?_第1张图片

这个contents一会代码中map的key要对应上,其实就是foreach循环,简单吧;下面再说一个比较常用的if判断、没错 还有if判断哦,从此在也不导出

导出的excel有嵌套实体怎么办?_第2张图片

    jx:if标签可以基于某些条件来排除某些行或是某些列,如果你把jx:if标签的开始标签和结束标签放在同一行的话,JXLS会根据test的条件来处理或删除包含在标签提内的列;如果你把jx:if标签的开始标签和结束标签放在不同行的话,JXLS会根据test的条件来处理或删除包含在标签提内的行。【源】

下面上代码:数据量有点大,所以加了个线程、执行一遍 速度上去了 文件没有数据 有知道原理的欢迎指导一二

 
    /**
     * 普通按照模板导出为excel
     * @throws IOException
     */
    @Test
    public void Test1() throws IOException, InvalidFormatException {

        String tplPath = "E:\\image\\ne\\jxls方式导出excel模板.xls";
        UUID uuid = UUID.randomUUID();
        String destPath = "E:\\image\\ne\\贝瓦资源" + uuid.toString() + ".xls";

        //查询Excel用科目树
        List subjectTree = new ArrayList();
        subjectTree = getBevaData.getCatContentAndSaveToMySQL();

        Map> beanParams = new HashMap>();
        beanParams.put("contents", subjectTree);

        XLSTransformer former = new XLSTransformer();
        former.transformXLS(tplPath, beanParams, destPath);
//        ExecutorService executorService = Executors.newFixedThreadPool(3);
//        executorService.execute(new Runnable() {
//            @Override
//            public void run() {
//                try {
//                    former.transformXLS(tplPath, beanParams, destPath);
//                } catch (IOException e) {
//                    e.printStackTrace();
//                } catch (InvalidFormatException e) {
//                    e.printStackTrace();
//                }
//            }
//        });
//        executorService.shutdown();
    }
结果一角:

导出的excel有嵌套实体怎么办?_第3张图片

if判断其作用了,因为太长没有截取,大概就是这样;还有有点瑕疵 大家也看到了 :没有合并! 合并的方法还是有点,有图为证:(前方高能、请相信这是jxls做出来的,而且代码不是很多哦)

导出的excel有嵌套实体怎么办?_第4张图片

【官网】

https://blog.csdn.net/hu_shengyang/article/list/8 大牛博客里面有系列博文

https://blog.csdn.net/sinat_27115575/article/details/60957207 


O(∩_∩)O哈哈~真让人高兴




你可能感兴趣的:(java基础)