java-excel-utils是JAVA操作 Excel 导入导出的工具类,目的是简化逻辑操作、可拓展 Excel 导入导出配置。
???功能:
- ?导入Excel文件,支持配置时间、小数点类型(支持单/多sheet) ?浏览器导出Excel文件、模板文件(支持单/多sheet) ?指定路径生成Excel文件(支持单/多sheet) ?样式自定义,行、列、某个单元格(支持单/多sheet) ?固定表头(支持单/多sheet) ?下拉列表值(支持单/多sheet) ?合并单元格、列宽、标题(支持单/多sheet)
教程文档:
https://github.com/andyczy/czy-nexus-commons-utils/blob/master/README-Andyczy.md
一、导出配置。
设置列宽举例:
HashMap mapColumnWidth = new HashMap<>();HashMap mapColumn = new HashMap<>();//自定义列宽mapColumn.put(0, 3); //第一列、宽度为3mapColumn.put(1, 20); //有人会问宽度3是多宽?两个中文刚刚好,设置序号的大小 mapColumn.put(2, 15); //样式多调就好了,没有什么事就一下次弄好的,而且是美观上。mapColumnWidth.put(1, mapColumn); //第一个单元格列宽设置表头举例:
HashMap setPaneMap = new HashMap();setPaneMap.put(1, 3); //第一个表格、第三行开始固定表头设置数据举例:(假设数据)
List> dataLists = new ArrayList<>(); //多表格数据导出表格sheet名称:
String[] sheetNameList = new String[]{"今日交易记录","今日交易明细"}; //两个表格、可多个方式一:导出使用函数
ExcelUtils.exportForExcelsOptimize() 和 LocalExcelUtils.exportForExcelsOptimize()
方式三:导出函数
ExcelUtils.exportForExcelsNoStyle() 和 LocalExcelUtils.exportForExcelsNoStyle()
导入使用函数:
ExcelUtils.importForExcelData(……) 和 LocalExcelUtils.importForExcelData(……)
ExcelUtils 对象与 LocalExcelUtils 区别。
ExcelUtils: web响应有 responseLocalExcelUtils:本地输出没 responseTest 测试【新增本地测试】
方式四:导出函数 ExcelUtils.exportForExcel(……) 过期注解
?* 可提供模板下载 ?* 自定义下拉列表:对每个单元格自定义下拉列表 ?* 自定义列宽:对每个单元格自定义列宽 ?* 自定义样式:对每个单元格自定义样式 ?* 自定义样式:单元格自定义某一列或者某一行样式 ?* 自定义单元格合并:对每个单元格合并 ?* 自定义:每个表格的大标题 ?* 自定义:对每个单元格固定表头二、导入配置。
有的人会问了,为什么这个导入没有转换成对象呢?我是觉得不好用,因为导入导出都是公用的,而且都是多表格,也没必要转换也有空拿到值。
9、导入配置:(第几行开始获取数据) 参数 indexMap
?参数说明:多单元从第几行开始获取数据,默认从第二行开始获取(可为空) HashMap hashMapIndex = new HashMap(); hashMapIndex.put(1,3); // 第一个表格从第三行开始获取10、导入配置:(列为空来忽略行数据) 参数 continueRowMap
?参数说明:多单元根据那些列为空来忽略行数据(可为空) HashMap mapContinueRow = new HashMap(); mapContinueRow.put(1,new Integer[]{1, 3}); // 第一个表格第1、3列为空就忽略这行数据11、导入时间格式(默认:yyyy-MM-dd)、导入数字保留的小数点(默认:#.###### 六位)
?ExcelUtils excelUtils = ExcelUtils.initialization(); 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(........){ // 伪代码 String accountNo = hashMapList.get(j).get("0"); // 获取到Excel表格中第一列数据 // 多表格数据、想怎么处理怎么处理,这就是不想转成对象的原因}POM Maven 引入依赖:(推荐使用最新版本)
com.github.andyczy
java-excel-utils
4.0