Appearance
Office操作工具类
一、Excel 操作工具类
说明(包路径:com.kg.component.office)
- 读取Excel - 工具类: ExcelReadUtils.java (一般用于导入数据)
- 写入Excel - 工具类: ExcelWriteUtils.java (一般用于导出数据)
1.1 导入
- 1.1.1 实体列表 - List<T>
- 读取Excel文件内容,返回【实体列表】
参数说明
- request: 请求对象(用于获取上传的Excel文件)
- headerRowIndex: 标题行索引(从0开始计数)
- startRowIndex: 数据写入起始行索引(从0开始计数)
- clazz: 实体类(用于封装数据)
- alias: {标题行字段名:实体类字段名}的映射,Map类型,例如:
{"姓名":"name", "年龄":"age"}
- 1.1.2 Map列表 - List<Map<String, Object>>
- 读取Excel文件内容,返回【Map列表】
参数说明
- 参数同上:1.1.1
- 没有clazz参数,因为不需要封装实体类数据,直接返回Map列表 (其中Map的key为标题行字段名对应的alias中的英文字段名,value为对应单元格值)
1.2 导出
- 1.2.1 普通导出(标题+数据)
注意
- 数据列表<实体类T>的字段名,必须和columnMap中的key一一对应,否则会导致写入的列数错误,或数据错乱
参数说明
- path: 导出文件路径
- title: 第一行标题(大标题,合并单元格灰色背景,例如:“学生信息表”)
- dataList: 待写入数据列表(格式:List<T>>)
- columnMap: {实体字段名:标题中文名}的映射,Map类型,例如:
{"name":"姓名", "age":"年龄"}
- 1.2.2 标题导出(仅标题)
说明
- 仅导出标题行,不写入数据
- 一般用于生成导入Excel模板
参数说明
- path: 导出文件路径
- title: 第一行标题(大标题,合并单元格灰色背景,例如:“学生信息表”)
- columnMap: {实体字段名:标题中文名}的映射,Map类型,例如:
{"name":"姓名", "age":"年龄"}
- 1.2.3 自定义(返回ExcelWriter)
说明
- 仅写入标题行,不写入数据
- 返回一个 ExcelWriter 对象,用户自主写入更多数据
- ExcelWriter使用方法,见文档:Hutool-ExcelWriter
参数说明
- path: 导出文件路径
- title: 第一行标题(大标题,合并单元格灰色背景,例如:“学生信息表”)
- columnMap: {实体字段名:标题中文名}的映射,Map类型,例如:
{"name":"姓名", "age":"年龄"}