java生成excel 使用easyExcel 有前段可以下载(内有环境包)

发个博客推广一下alibaba的easyExcel,以一些我使用的体会技巧。

我理解easyexcel就是在poi上进行了优化和封装,性能的道路极高的改善。极高,官网测试1:100的速度。

在使用上也极度好理解,就是把excel抽象成二维数组,我们只需要注意数据类型及表格样式,在二维数组中设置。就可以实现自己想看的功能。比以前poi或其他的使用,简单超多倍。

easyexcel github连接:https://github.com/alibaba/easyexcel

官网有很多案例,我写我用怎么用的,上代码。

@Test
    public void test01() throws Exception {
        OutputStream out = new FileOutputStream(
                "C:/Users/Administrator/Desktop/test.xls");
        ExcelWriter writer = new ExcelWriter(out, ExcelTypeEnum.XLS, false);
        // 写第一个sheet, sheet1 数据全是List<String> 无模型映射关系
        Sheet sheet1 = new Sheet(1,0);
        sheet1.setSheetName("玫瑰图");
        // 去掉表头  如果不设置,在不设置表头,总是从第二行开始有数据
        sheet1.setStartRow(-1);
        int colWidth = 2400;
        // 设置列宽 设置每列的宽度
        Map columnWidth = new HashMap();
        for (int i = 0; i < 17; i++) {
            columnWidth.put(i,colWidth);
        }
        sheet1.setColumnWidthMap(columnWidth);
        writer.write0(createTestListString(), sheet1);

        writer.finish();
        out.close();

    }

private static List<List<String>> createTestListString() {
        List<List<String>> object = new ArrayList<List<String>>();
        
        for (int i = 0; i < 10; i++) {
            List<String> da = new ArrayList<String>();
            da.add("");
            da.add("字符串"+i);
            da.add("字符串"+i);
            da.add("字符串"+i);
            da.add("字符串"+i);
            da.add("字符串"+i);
            da.add("字符串"+i);
            da.add("字符串"+i);
            object.add(da);
        }
        return object;
    }

 

然后就可以看到生成的excel了。

在无耻的沾一下人家web下载案例:

public class Down {
    @GetMapping("/a.htm")
    public void cooperation(HttpServletRequest request, HttpServletResponse response) {
        ServletOutputStream out = response.getOutputStream();
         response.setContentType("multipart/form-data");
        response.setCharacterEncoding("utf-8");
        response.setHeader("Content-disposition", "attachment;filename="+fileName+".xlsx");
        ExcelWriter writer = new ExcelWriter(out, ExcelTypeEnum.XLSX, true);
        String fileName = new String(("UserInfo " + new SimpleDateFormat("yyyy-MM-dd").format(new Date()))
                .getBytes(), "UTF-8");
        Sheet sheet1 = new Sheet(1, 0);
        sheet1.setSheetName("第一个sheet");
        writer.write0(getListString(), sheet1);
        writer.finish();
      
        out.flush();
        }
    }
}

 

主要还推广和我的理解。

java操作easyexcel环境cglib-3.1.jar commons-collections4-4.1.jar easyexcel-1.1.2-beta5.jar junit-4.10.jar poi-3.17.jar poi-ooxml-3.17.jar poi-ooxml-schemas

环境jar包下载链接:https://download.csdn.net/download/zl15145428/11317546

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值