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|.png|.gif
教程文档:https://github.com/andyczy/czy-nexus-commons-utils/blob/master/README-Andyczy.md
CSDN博客:https://blog.csdn.net/JavaWebRookie/article/details/80843653
一、导出配置。
设置列宽举例:
HashMap mapColumnWidth = new HashMap<>(); HashMap mapColumn = new HashMap<>(); //自定义列宽 mapColumn.put(0, 3); //第一列、宽度为3 mapColumn.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 excelUtils = ExcelUtils.initialization(); // 必填项--导出数据(参数请看下面的格式) excelUtils.setDataLists(dataLists); // 必填项--sheet名称(如果是多表格导出、sheetName也要是多个值!) excelUtils.setSheetName(sheetNameList); // 文件名称(可为空,默认是:sheet 第一个名称) excelUtils.setFileName(excelName); // web项目response响应输出流:必须填 【ExcelUtils 对象】 excelUtils.setResponse(response); // 输出本地【LocalExcelUtils 对象】 // excelUtils.setFilePath("F://test.xlsx"); // 每个表格的大标题(可为空) excelUtils.setLabelName(labelName); // 自定义:固定表头(可为空) excelUtils.setPaneMap(setPaneMap); // 自定义:单元格合并(可为空) excelUtils.setRegionMap(regionMap); // 自定义:对每个单元格自定义列宽(可为空) excelUtils.setMapColumnWidth(mapColumnWidth); // 自定义:某一行样式(可为空) excelUtils.setRowStyles(stylesRow); // 自定义:某一列样式(可为空) excelUtils.setColumnStyles(columnStyles); // 自定义:每一个单元格样式(可为空) excelUtils.setStyles(styles); // 自定义:对每个单元格自定义下拉列表(可为空) excelUtils.setDropDownMap(dropDownMap); // 自定义:忽略边框(可为空:默认是有边框) excelUtils.setNotBorderMap(notBorderMap); // 执行导出 excelUtils.exportForExcelsOptimize();
无样式(行、列、单元格样式)推荐使用这个函数、样式设置过多会影响速度
* 获取多单元数据 * 自定义:多单元从第几行开始获取数据【看本文最底下参数说明】 * 自定义:多单元根据那些列为空来忽略行数据【看本文最底下参数说明】
ExcelUtils: web响应有 response LocalExcelUtils:本地输出没 response
* 可提供模板下载 * 自定义下拉列表:对每个单元格自定义下拉列表 * 自定义列宽:对每个单元格自定义列宽 * 自定义样式:对每个单元格自定义样式 * 自定义样式:单元格自定义某一列或者某一行样式 * 自定义单元格合并:对每个单元格合并 * 自定义:每个表格的大标题 * 自定义:对每个单元格固定表头
二、导入配置。
有的人会问了,为什么这个导入没有转换成对象呢?我是觉得不好用,因为导入导出都是公用的,而且都是多表格,也没必要转换也有空拿到值。
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
Java导出Excel-Utils类和业务层调用 提示:可以点击目录跳转到想要查看或使用的位置 前言 大多数情况下,系统的数据列表都需要导出Excel,再进一步处理后才能进行汇报。本文主要记录【多Sheet导出】到Excel实现的工具类,并且举例演示使用方法。 一、多Sheet导出到Excel实现 传参注释: /** * @param fileName * 另存为文件名 * @param shee
软件简介 java-excel-utils是JAVA操作 Excel 导入导出的工具类,目的是简化逻辑操作、可拓展 Excel 导入导出配置。 功能: 1、自定义导入数据格式,支持配置时间、小数点类型(支持单/多sheet) 2、浏览器导出Excel文件、模板文件(支持单/多sheet) 3、指定路径生成Excel文件(支持单/多sheet) 4、自定义样式:行、列、某个单元格(字体大小、字体颜色
导入使用函数: ExcelUtils.importForExcelData(......) 和 LocalExcelUtils.importForExcelData(......) * 获取多单元数据 * 自定义:多单元从第几行开始获取数据【看本文最底下参数说明】 * 自定义:多单元根据那些列为空来忽略行数据【看本文最底下参数说明】 ExcelUtils 对象与 LocalExcelUtils 区
项目中,时常会需要导入导出Excel的需求,因此我专门花时间设计了工具类。 所需依赖 <!-- 处理xls或xlsx格式的Excel表格导入导出的依赖 --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId>
git地址:https://github.com/Jayce2018/melab/tree/master/me-common/src/main/java/com/melab/common/utils/excel 工具类: package com.melab.common.utils.excel; import com.alibaba.fastjson.JSONArray; import com.
import org.apache.poi.hssf.usermodel.*; import org.apache.poi.hssf.util.HSSFColor; import org.apache.poi.ss.util.CellRangeAddress; import java.io.FileOutputStream; import java.io.OutputStream; import
Excel操作依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.0.1</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <a
Excel操作依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.0.1</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <a
EasyPoi 1 导入依赖 <!-- EasyPoiUtil导入依赖--> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base</artifactId> <version>4.1.0</version>
本文向大家介绍java实现Excel的导入、导出,包括了java实现Excel的导入、导出的使用技巧和注意事项,需要的朋友参考一下 一、Excel的导入 导入可采用两种方式,一种是JXL,另一种是POI,但前者不能读取高版本的Excel(07以上),后者更具兼容性。由于对两种方式都进行了尝试,就都贴出来分享(若有错误,请给予指正) 方式一、JXL导入 所需jar包 JXL.jar 方式二、POI
本文向大家介绍java实现的导出Excel工具类实例,包括了java实现的导出Excel工具类实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了java实现的导出Excel工具类。分享给大家供大家参考,具体如下: ExcelExportUtil: VerifyUtil: 更多关于java相关内容感兴趣的读者可查看本站专题:《Java操作Excel技巧总结》、《Java+MySQL数据库程
实际上,我已经使用Node.js和mongoDB完成了一个示例项目,它允许用户保存注释,现在我正在进行导出和导入 点击导出按钮,会下载一个带有用户名和备注字段的excel文件,用户必须在下载的excel文件中写入用户名和备注,现在点击导入按钮,会显示一个对话框,它会显示一个选择文件的按钮。这里我们需要选择和上传excel 上传成功后,数据将存储在mongoDB数据库中。 我已经使用javascri
本文向大家介绍Asp.Net使用Npoi导入导出Excel的方法,包括了Asp.Net使用Npoi导入导出Excel的方法的使用技巧和注意事项,需要的朋友参考一下 asp.net针对Excel文件的导入与导出是非常常见的功能之一。本文实例讲述了Asp.Net使用Npoi导入导出Excel的方法。分享给大家供大家参考之用。具体方法如下: 在使用Npoi导出Excel的时候,服务器可以不装任何offi
知道为什么在导出并再次导入后,调用sheet.rowiterator()时会忽略空行吗?
本文向大家介绍SpringBoot中EasyExcel实现Excel文件的导入导出,包括了SpringBoot中EasyExcel实现Excel文件的导入导出的使用技巧和注意事项,需要的朋友参考一下 前言 在我们日常的开发过程中经常会使用Excel文件的形式来批量地上传下载系统数据,我们最常用的工具是Apache poi,但是如果数据到底上百万时,将会造成内存溢出的问题,那么我们怎么去实现百万数据