2025年若依 文档(若依文档工具)

若依 文档(若依文档工具)项目的 技术组件 基于 EasyExcel 实现 Excel 的读写操作 可用于实现最常见的 Excel 导入导出等功能 以 系统管理 gt 岗位管理 菜单为例子 讲解它 Excel 导出的实现 在 PostControll 类中 定义 导出接口 代码如下 将从数据库中查询出来的列表 一般可以复用分页接口 需要设置 不过滤分页 将

大家好,我是讯享网,很高兴认识大家。



项目的 技术组件,基于 EasyExcel 实现 Excel 的读写操作,可用于实现最常见的 Excel 导入导出等功能。

以 [系统管理 -> 岗位管理] 菜单为例子,讲解它 Excel 导出的实现。

系统管理 -> 岗位管理
讯享网

在 PostController 类中,定义 导出接口。代码如下:

  • ① 将从数据库中查询出来的列表,一般可以复用分页接口,需要设置 不过滤分页。
  • ② 将 PostDO 列表,转换成 PostRespVO 列表,之后通过 ExcelUtils 转换成 Excel 文件,返回给前端。

1.1.1 PostExcelVO 类

复用 PostRespVO 类,实现 岗位 Excel 导出的 VO 类。代码如下:

  • ① 每个字段上,添加 注解,声明 Excel Head 头部的名字。每个字段的,就是它对应的 Excel Row 行的数据值。
  • ② 如果字段的的注解 属性是 DictConvert 转换器,用于字典的转换。例如说,通过 字段,将 转换成“开启”列, 转换成”禁用”列。稍后,我们会在 「3. 字段转换器」 小节来详细讲讲。
  • ③ 在类上,添加 注解,表示未添加 的字段,不进行导出。

因此,最终 Excel 导出的效果如下:

PostExcelVO 效果

1.1.2 ExcelUtils 写入

ExcelUtils 的 方法,将列表以 Excel 响应给前端。代码如下图:

write 方法

界面,定义 操作,代码如下图:

handleExport 方法

以 [系统管理 -> 用户管理] 菜单为例子,讲解它 Excel 导出的实现。

系统管理 -> 用户管理

在 UserController 类中,定义 导入接口。代码如下:

导入 Excel 接口

将前端上传的 Excel 文件,读取成 UserImportExcelVO 列表。

2.1.1 UserImportExcelVO 类

创建 UserImportExcelVO 类,用户 Excel 导入的 VO 类。它的作用和 Excel 导入是一样的,代码如下:

UserImportExcelVO 代码

对应使用的 Excel 导入文件如下:

UserImportExcelVO 文件

2.1.2 ExcelUtils 读取

ExcelUtils 的 方法,读取 Excel 文件成列表。代码如下图:

read 方法

界面,定义 Excel 导入的功能,代码如下图:

Excel 导入的功能

EasyExcel 定义了 Converter 接口,用于实现字段的转换。它有两个核心方法:

① 方法:将 Excel Row 对应表格的值,转换成 Java 内存中的值。例如说,Excel 的“状态”列,将“状态”列转换成 ,”禁用”列转换成 。

② 方法:恰好相反,将 Java 内存中的值,转换成 Excel Row 对应表格的值。例如说,Excel 的“状态”列,将 转换成“开启”列, 转换成”禁用”列。

以项目中提供的 DictConvert 举例子,它实现 Converter 接口,提供字典数据的转换。代码如下:

DictConvert 实现

实现的代码比较简单,自己看看就可以明白。

在需要转换的字段上,声明注解 的 属性是 DictConvert 转换器,注解 为对应的字典数据的类型。示例如下:

DictConvert 使用示例

基于 《EasyExcel 中的注解 》 文章,整理相关注解。

这是最常用的一个注解,注解中有三个参数 、、 分别代表列明、列序号、数据转换方式。 和 只能二选一,通常不用设置 。

**实践

用于设置列宽度的注解,注解中只有一个参数 。 的单位是字符长度,最大可以设置 255 个字符,因为一个 Excel 单元格最大可以写入的字符个数,就是 255 个字符。

**实践

用于设置单元格内容字体格式的注解。参数如下:

参数 含义 字体名称 字体高度 是否斜体 是否设置删除水平线 字体颜色 偏移量 下划线 是否加粗 编码格式

用于设置合并单元格的注解。参数如下:

参数 含义

用于设置行高。参数如下:

参数 含义 value 行高,代表自动行高

设置内容格式注解。参数如下:

参数 含义 日期格式 设置单元格使用此样式隐藏 设置单元格使用此样式锁定 在单元格前面增加 符号,数字或公式将以字符串形式展示</td></tr> <tr><td></td> <td>设置是否水平居中</td></tr> <tr><td></td> <td>设置文本是否应换行。将此标志设置为通过在多行上显示使单元格中的所有内容可见</td></tr> <tr><td></td> <td>设置是否垂直居中</td></tr> <tr><td></td> <td>设置单元格中文本旋转角度。03版本的Excel旋转角度区间为-90°~90°,07版本的Excel旋转角度区间为0°~180°</td></tr> <tr><td></td> <td>设置单元格中缩进文本的空格数</td></tr> <tr><td></td> <td>设置左边框的样式</td></tr> <tr><td></td> <td>设置右边框样式</td></tr> <tr><td></td> <td>设置上边框样式</td></tr> <tr><td></td> <td>设置下边框样式</td></tr> <tr><td></td> <td>设置左边框颜色</td></tr> <tr><td></td> <td>设置右边框颜色</td></tr> <tr><td></td> <td>设置上边框颜色</td></tr> <tr><td></td> <td>设置下边框颜色</td></tr> <tr><td></td> <td>设置填充类型</td></tr> <tr><td></td> <td>设置背景色</td></tr> <tr><td></td> <td>设置前景色</td></tr> <tr><td></td> <td>设置自动单元格自动大小</td></tr></tbody></div> <p>用于定制标题字体格式。参数如下:</p> <div><thead><tr><th>参数</th> <th>含义</th></tr></thead> <tbody><tr><td></td> <td>设置字体名称</td></tr> <tr><td></td> <td>设置字体高度</td></tr> <tr><td></td> <td>设置字体是否斜体</td></tr> <tr><td></td> <td>是否设置删除线</td></tr> <tr><td></td> <td>设置字体颜色</td></tr> <tr><td></td> <td>设置偏移量</td></tr> <tr><td></td> <td>设置下划线</td></tr> <tr><td></td> <td>设置字体编码</td></tr> <tr><td></td> <td>设置字体是否家畜</td></tr></tbody></div> <p>设置标题行行高。参数如下:</p> <div><thead><tr><th>参数</th> <th>含义</th></tr></thead> <tbody><tr><td></td> <td>设置行高,-1代表自动行高</td></tr></tbody></div> <p>设置标题样式。参数如下:</p> <div><thead><tr><th>参数</th> <th>含义</th></tr></thead> <tbody><tr><td></td> <td>日期格式</td></tr> <tr><td></td> <td>设置单元格使用此样式隐藏</td></tr> <tr><td></td> <td>设置单元格使用此样式锁定</td></tr> <tr><td></td> <td>在单元格前面增加符号,数字或公式将以字符串形式展示 设置是否水平居中 设置文本是否应换行。将此标志设置为通过在多行上显示使单元格中的所有内容可见 设置是否垂直居中 设置单元格中文本旋转角度。03版本的Excel旋转角度区间为-90°~90°,07版本的Excel旋转角度区间为0°~180° 设置单元格中缩进文本的空格数 设置左边框的样式 设置右边框样式 设置上边框样式 设置下边框样式 设置左边框颜色 设置右边框颜色 设置上边框颜色 设置下边框颜色 设置填充类型 设置背景色 设置前景色 设置自动单元格自动大小

4.10

不将该字段转换成 Excel。

没有注解的字段都不转换

小讯
上一篇 2025-05-25 07:49
下一篇 2025-06-10 23:31

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/154504.html