(一)easyexcel将数据库状态数字导出到excel为汉字

本文介绍如何使用EasyExcel将数据库中代表状态的数字字段在导出到Excel时转换为对应的汉字描述。通过自定义Converter实现转换,适用于初学者,提供了一种在查询阶段或利用AI进行转换的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  easyexcel导出的时候,涉及到部分字段由数据库数字状态,导出到excel时为文字。方法有很多,下面给出一个自定义converter的方法。
  自定义一个converter转换器实现converter,重写了导出转换convertToExcelData方法,搞成工具类。然后在对应字段加上注解完成。需要变通的地方就是泛型的指定以及if else那个地方换一下就能用。

import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;

public class AppointSourceConvert implements Converter<Integer> {
    @Override
    public WriteCellData<Integer> convertToExcelData(Integer i, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
        if (i == 1) {
            return new WriteCellData<>("挂号预约");
        } else if (i == 2) {
            return new WriteCellData<>("复诊预约");
        }
        return new WriteCellData<>(" ");
    }
}
/**
 * 预约类型 1、挂号预约 2、复诊预约
 */
@ExcelProperty(value = "预约类型", index = 2,converter = AppointTypeConvert.class)
private Integer appointType;

20240731.

这篇文章是刚刚入行且刚刚开始写后端的时候留的笔记,没想到现在还有人在看和点赞。看着这简陋不堪的笔记,心血来潮今天更新一下。
这个问题在查csdn的话,应该和我那时候一样刚刚入行,所以今天在更新一下。针对的也是可能刚刚入行不怎么会的,大佬勿喷,大佬也可以直接略过了。

如果上面的方法没搞定,那么试试看下面的更简单。
也不往深了写,就按照最容易理解得方法来写。首先,将数字转换为汉字,那么应该就是类似于   状态(比如1代表完成,2代表未完成,3代表。。)。我还记得当时我做到这里的时候是在改bug,导出的数据的某个字段要从汉字转成对应得文字(那时候我都不知道字典是什么东西)。导出大概率是先查,然后用工具类直接实现导出。那么可以直接在查询这里,直接在sql层面就把这个字段匹配出来,比如查询得数据,1就替换成完成;其次,不在查询层面处理,那么还可以在查询出来了之后,去使用百度得ai或者chatgpt之类的,把查询出来的数据-比如查询出来的多个用户uesrs,把users里面的某个字段,做个替换,1替换成完成,2替换成未完成,喊ai给你写好了,就完成了需求。这两个方法不会写代码没关系,直接问ai,这样子就行了,比我这篇文章写的应该操作起来要更简单。
再回想那时候刚刚入行,真的是艰难,有时候遇到了问题都不知道怎么去问怎么去描述,也不可能找个同事像带娃一样教。如果你在查询这个问题并看到这里,我祝你一切顺利。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值