Skip to content

Office操作工具类

一、Excel 操作工具类

Excel工具类相关

说明(包路径:com.kg.component.office)

  • 读取Excel - 工具类: ExcelReadUtils.java (一般用于导入数据)
  • 写入Excel - 工具类: ExcelWriteUtils.java (一般用于导出数据)

1.1 导入

- 1.1.1 实体列表 - List<T>

  • 读取Excel文件内容,返回【实体列表】

导入Excel方法

参数说明

  • request: 请求对象(用于获取上传的Excel文件)
  • headerRowIndex: 标题行索引(从0开始计数)
  • startRowIndex: 数据写入起始行索引(从0开始计数)
  • clazz: 实体类(用于封装数据)
  • alias: {标题行字段名:实体类字段名}的映射,Map类型,例如:{"姓名":"name", "年龄":"age"}

- 1.1.2 Map列表 - List<Map<String, Object>>

  • 读取Excel文件内容,返回【Map列表】

导入Excel方法

参数说明

  • 参数同上:1.1.1
  • 没有clazz参数,因为不需要封装实体类数据,直接返回Map列表 (其中Map的key为标题行字段名对应的alias中的英文字段名,value为对应单元格值)

1.2 导出

- 1.2.1 普通导出(标题+数据)

注意

  • 数据列表<实体类T>的字段名,必须和columnMap中的key一一对应,否则会导致写入的列数错误,或数据错乱

导出Excel方法

参数说明

  • path: 导出文件路径
  • title: 第一行标题(大标题,合并单元格灰色背景,例如:“学生信息表”)
  • dataList: 待写入数据列表(格式:List<T>>)
  • columnMap: {实体字段名:标题中文名}的映射,Map类型,例如:{"name":"姓名", "age":"年龄"}

- 1.2.2 标题导出(仅标题)

说明

  • 仅导出标题行,不写入数据
  • 一般用于生成导入Excel模板

导出Excel方法

参数说明

  • path: 导出文件路径
  • title: 第一行标题(大标题,合并单元格灰色背景,例如:“学生信息表”)
  • columnMap: {实体字段名:标题中文名}的映射,Map类型,例如:{"name":"姓名", "age":"年龄"}

- 1.2.3 自定义(返回ExcelWriter)

说明

  • 仅写入标题行,不写入数据
  • 返回一个 ExcelWriter 对象,用户自主写入更多数据
  • ExcelWriter使用方法,见文档:Hutool-ExcelWriter

导出Excel方法

参数说明

  • path: 导出文件路径
  • title: 第一行标题(大标题,合并单元格灰色背景,例如:“学生信息表”)
  • columnMap: {实体字段名:标题中文名}的映射,Map类型,例如:{"name":"姓名", "age":"年龄"}