poi 操作excel总结

最近在做excel的导入导出工作,参考了几个框架easypoi,hutool,easyexcel,做一些总结。

1.easypoi 官网:http://easypoi.mydoc.io/

优点:功能丰富,比较方便。有大数据量导出的功能

缺点:没有大数据量导入的功能

2.hutool 官网:https://hutool.cn/docs/#/poi/%E6%A6%82%E8%BF%B0

优点:大数据量导入导出的功能

缺点:功能比较简单,但也满足日常使用。(目前项目中使用的)

3.easyexcel 官网:https://github.com/alibaba/easyexcel

优点:大数据量导入导出的功能

缺点:功能比较简单,但也满足日常使用。

4.使用hutool的过程中遇到的问题

4.1在docker镜像中  ExcelUtil.getBigWriter(destFile); 报nullpointter。

null

解决方法:docker镜像增加fontconfig ttf-dejavu字体支持

4.2 大数据量的导入一行一行读取,回调处理。

4.3 别名使用LinkedhashMap就会按照别名加入的顺序。

writer.setHeaderAlias(Constants.fileNameExport);

Map<String, String> fileNameExport= new LinkedHashMap() {
    {
        put("oldGoodsNo", "旧系统编码");
        put("goodsNo", "新系统编码");
        put("goodsName", "通用名");
        put("curname", "商品名");
        put("barCode", "国际条形码");
        put("goodsSpec", "规格");
        put("apprDocNo", "批准文号");
        put("goodsUnit", "单位");
        put("curnameCode", "助记码");
        put("prodArea", "产地");
        put("factoryShortname", "生产厂家");
        put("dataType", "类型");
        put("checkStatus", "检查状态");
        put("errorFlag", "错误反馈");
        put("updatedStatus", "修正状态");
        put("updatedByName", "修正人");

    }
};

猜你喜欢

转载自blog.csdn.net/wangzifei1234/article/details/88893618