导出-若依(RuoYi)

自述

本篇个人巩固-如有不足,大佬可以指点指点


注解(导入导出)

@Excel

        RuoYi使用@Excel注解给属性进行绑定,实现数据的导入和导出功能

@Excel参数

这里我就直接贴官网的参数

参数类型默认值描述
sortintInteger.MAX_VALUE导出时在excel中排序,值越小越靠前
nameString导出到Excel中的名字
dateFormatString日期格式, 如: yyyy-MM-dd
dictTypeString如果是字典类型,请设置字典的type值 (如: sys_user_sex)
readConverterExpString读取内容转表达式 (如: 0=男,1=女,2=未知)
separatorString,分隔符,读取字符串组内容
scaleint-1BigDecimal 精度 默认:-1(默认不开启BigDecimal格式化)
roundingModeintBigDecimal.ROUND_HALF_EVENBigDecimal 舍入规则 默认:BigDecimal.ROUND_HALF_EVEN
celltypeEnumType.STRING导出类型(0数字 1字符串 2图片)
heightString14导出时在excel中每个列的高度 单位为字符
widthString16导出时在excel中每个列的宽 单位为字符
suffixString文字后缀,如% 90 变成90%
defaultValueString当值为空时,字段的默认值
promptString提示信息
comboStringNull设置只能选择不能输入的列内容
comboReadDictbooleanfalse是否从字典读数据到combo,默认不读取,如读取需要设置dictType注解.
headerBackgroundColorEnumIndexedColors.GREY_50_PERCENT导出列头背景色IndexedColors.XXXX
headerColorEnumIndexedColors.WHITE导出列头字体颜色IndexedColors.XXXX
backgroundColorEnumIndexedColors.WHITE导出单元格背景色IndexedColors.XXXX
colorEnumIndexedColors.BLACK导出单元格字体颜色IndexedColors.XXXX
targetAttrString另一个类中的属性名称,支持多级获取,以小数点隔开
isStatisticsbooleanfalse是否自动统计数据,在最后追加一行统计数据总和
typeEnumType.ALL字段类型(0:导出导入;1:仅导出;2:仅导入)
alignEnumHorizontalAlignment.CENTER导出对齐方式HorizontalAlignment.XXXX
handlerClassExcelHandlerAdapter.class自定义数据处理器
argsString[]{}自定义数据处理器参数

具体怎么用呢???

我写了个例子可以进行参考,每个参数之间使用","进行区分


导出

------------------------------------------------------------------------------------------------

怎么用??

其实很简单,RuoYi有现成的ExcelUtil提供我们使用

注意:ExcelUtil传入的泛型与list相同

------------------------------------------------------------------------------------------------

实现流程??

完成导出需要两次请求,分别是生成文件和下载文件

(1)导出接口

【从外往里看】

1.导出接口

调用了ExcelUtil的exportExcel方法

进入exportExcel(需要导出的数据集合,工资表名称)

2.exportExcel(需要导出的数据集合,工资表名称)方法

需要两个参数,分别是需要导出的数据集合工资表名称。

再往里走exportExcel方法

进入exportExcel(需要导出的数据集合,工资表名称,标题)

3.exportExcel(需要导出的数据集合,工资表名称,标题)

调用了两个方法

1.init

2.exportExcel

我们一个个看

        3.1  init方法

                

                3.1.1createExcelField()

                3.1.2createWorkbook()

        

        3.2 exportExcel方法

最后根据return exportExcel() 我们知道了最后返回的数据是一个文件名

总结

关于导出的总结我感觉有个博主写的不错,我就直接复制下来看一下导出流程

自定义注解,描述Bean字段在Execl的表现形式。(比如,字段的值否需要格式化,字段对应到表格中的列名称等等)

使用List<object[]> 存入类的Filed对象和注解对象。(比如导出的字段有10个,则该集合大小为10)

导出执行的大致逻辑:

根据注解信息完成List<object[]>集合的赋值。

根据导出的数据量,计算需要导出的sheet页。针对每一个sheet页进行处理

创建表头:遍历List<object[]>集合,通过object[1]得到字段的注解信息,创建sheet页表头。

填充数据: 根据sheet页数,计算对应的数据范围,循环创建行对象,根据循环下标,在数据集合中获取改行对应的数据对象。行中创建单元格对象,接着遍历List<object[]>集合,通过object[0]获取数据对象中属性值,通过object[1]>获取对该值的处理策略。处理完毕后,将值填充到单元格中。

【这段是我直接cv上来的,所以我就直接把链接也贴一下吧原文链接】https://blog.csdn.net/weixin_41842550/article/details/120001735

 (2)通用下载接口

这里就不做过多的介绍下载了 

  • 11
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值