java-excel-utils 精简的 Excel 导入导出工具开源项目

我要开发同款
匿名用户2018年12月07日
155阅读

技术信息

开源地址
https://github.com/andyczy/czy-nexus-commons-utils
授权协议
Apache

作品详情

java-excel-utils是JAVA操作Excel导入导出的工具类,目的是简化逻辑操作、可拓展Excel导入导出配置。

功能:

1、自定义导入数据格式,支持配置时间、小数点类型(支持单/多sheet)       2、浏览器导出Excel文件、模板文件(支持单/多sheet)      3、指定路径生成Excel文件(支持单/多sheet)      4、自定义样式:行、列、某个单元格(字体大小、字体颜色、左右对齐、居中、是否忽略边框。支持单/多sheet)      5、自定义固定表头(支持单/多sheet)      6、自定义下拉列表值(支持单/多sheet)      7、自定义合并单元格、自定义列宽、自定义大标题(支持单/多sheet)8、导出图片、图片地址和数据一样,只要是能访问的图片都可以导出(有需求、图片适应大小待解决),图片格式:.JPEG|.jpeg|.JPG|.jpg|.pg|.gif

 教程文档:https://github.com/adyczy/czy-exus-commos-utils/blob/master/README-Adyczy.md

CSDN博客:https://blog.csd.et/JavaWebRookie/article/details/80843653

一、导出配置。

设置列宽举例:

HashMap mapColumWidth = ew HashMap<>();HashMap mapColum = ew HashMap<>();//自定义列宽mapColum.put(0, 3);     //第一列、宽度为3mapColum.put(1, 20);    //有人会问宽度3是多宽?两个中文刚刚好,设置序号的大小  mapColum.put(2, 15);    //样式多调就好了,没有什么事就一下次弄好的,而且是美观上。mapColumWidth.put(1, mapColum);  //第一个单元格列宽

设置表头举例:

HashMap setPaeMap = ew HashMap();setPaeMap.put(1, 3);     //第一个表格、第三行开始固定表头

设置数据举例:(假设数据)

List>   dataLists = ew ArrayList<>();   //多表格数据

导出表格sheet名称:

Strig[] sheetNameList = ew Strig[]{"今日交易记录","今日交易明细"};   //两个表格、可多个方式一:导出使用函数ExcelUtils.exportForExcelsOptimize()和LocalExcelUtils.exportForExcelsOptimize()    //【推荐使用该方式】【建议大数据量下不要过多设置样式】             ExcelUtils excelUtils = ExcelUtils.iitializatio();    // 必填项--导出数据(参数请看下面的格式)    excelUtils.setDataLists(dataLists);       // 必填项--sheet名称(如果是多表格导出、sheetName也要是多个值!)    excelUtils.setSheetName(sheetNameList);    // 文件名称(可为空,默认是:sheet 第一个名称)    excelUtils.setFileName(excelName);        // web项目respose响应输出流:必须填 【ExcelUtils 对象】    excelUtils.setRespose(respose);        // 输出本地【LocalExcelUtils 对象】    // excelUtils.setFilePath("F://test.xlsx");    // 每个表格的大标题(可为空)    excelUtils.setLabelName(labelName);    // 自定义:固定表头(可为空)    excelUtils.setPaeMap(setPaeMap);    // 自定义:单元格合并(可为空)    excelUtils.setRegioMap(regioMap);        // 自定义:对每个单元格自定义列宽(可为空)    excelUtils.setMapColumWidth(mapColumWidth);    // 自定义:某一行样式(可为空)    excelUtils.setRowStyles(stylesRow);    // 自定义:某一列样式(可为空)    excelUtils.setColumStyles(columStyles);    // 自定义:每一个单元格样式(可为空)    excelUtils.setStyles(styles);                // 自定义:对每个单元格自定义下拉列表(可为空)    excelUtils.setDropDowMap(dropDowMap);    // 自定义:忽略边框(可为空:默认是有边框)    excelUtils.setNotBorderMap(otBorderMap);                   // 执行导出    excelUtils.exportForExcelsOptimize();方式三:导出函数ExcelUtils.exportForExcelsNoStyle()和LocalExcelUtils.exportForExcelsNoStyle()无样式(行、列、单元格样式)推荐使用这个函数、样式设置过多会影响速度导入使用函数:ExcelUtils.importForExcelData(......)和LocalExcelUtils.importForExcelData(......)    * 获取多单元数据             * 自定义:多单元从第几行开始获取数据【看本文最底下参数说明】                * 自定义:多单元根据那些列为空来忽略行数据【看本文最底下参数说明】ExcelUtils对象与LocalExcelUtils区别。ExcelUtils:     web响应有  resposeLocalExcelUtils:本地输出没 resposeTest测试【新增本地测试】方式四:导出函数ExcelUtils.exportForExcel(......)过期注解    * 可提供模板下载               * 自定义下拉列表:对每个单元格自定义下拉列表             * 自定义列宽:对每个单元格自定义列宽             * 自定义样式:对每个单元格自定义样式      * 自定义样式:单元格自定义某一列或者某一行样式                * 自定义单元格合并:对每个单元格合并     * 自定义:每个表格的大标题              * 自定义:对每个单元格固定表头

二、导入配置。

有的人会问了,为什么这个导入没有转换成对象呢?我是觉得不好用,因为导入导出都是公用的,而且都是多表格,也没必要转换也有空拿到值。

9、导入配置:(第几行开始获取数据)参数idexMap

   参数说明:多单元从第几行开始获取数据,默认从第二行开始获取(可为空)   HashMap hashMapIdex = ew HashMap();   hashMapIdex.put(1,3);  //  第一个表格从第三行开始获取

10、导入配置:(列为空来忽略行数据)参数cotiueRowMap

   参数说明:多单元根据那些列为空来忽略行数据(可为空)   HashMap mapCotiueRow = ew HashMap();   mapCotiueRow.put(1,ew Iteger[]{1, 3});  // 第一个表格第1、3列为空就忽略这行数据

11、导入时间格式(默认:yyyy-MM-dd)、导入数字保留的小数点(默认:#.######六位)

    ExcelUtils excelUtils = ExcelUtils.iitializatio();    excelUtils.setNumeralFormat("#.####");                  // (可为空)期望保留小数的位数(#.####)这样保留四位。    // (可为空) (poi 只接受无中文的日期格式、如果你想转换别的格式,这个参数要和导入表中日期格式类似,如表格中为:2019年02月14日 12时12分)。    excelUtils.setDateFormatStr("yyyy年MM月dd日 HH时mm分");     excelUtils.setExpectDateFormatStr("yyyy-MM-dd HH-mm");  // (可为空、默认的值是:dateFormatStr 参数值) 期望转换后的日期格式。    // 执行导入函数   ExcelUtils.importForExcelData()

导入获取数据:(支持多表格数据)

for(........){    // 伪代码    Strig accoutNo = hashMapList.get(j).get("0");     //  获取到Excel表格中第一列数据    //  多表格数据、想怎么处理怎么处理,这就是不想转成对象的原因}

POM Mave引入依赖:(推荐使用最新版本)

    com.github.adyczy

    java-excel-utils

    4.0

功能介绍

java-excel-utils是JAVA操作 Excel 导入导出的工具类,目的是简化逻辑操作、可拓展 Excel 导入导出配置。 功能: 1、自定义导入数据格式,支持配置时间、小数点类型(支...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论