当前位置: 首页 > news >正文

临沂做进销存网站国外产品推广平台

临沂做进销存网站,国外产品推广平台,网站跳出率高的原因,淮南日报社在EasyExcel中,Converter接口用于定义如何在Java对象和Excel单元格之间进行转换。 也就是说EasyExcel可以根据数据库中的值来填充Excel中对应的文本内容。 比如数据库1,2,3可以填充到excel中:男,女,其他 使用easyExcel的之前&a…

在EasyExcel中,Converter接口用于定义如何在Java对象和Excel单元格之间进行转换。

也就是说EasyExcel可以根据数据库中的值来填充Excel中对应的文本内容。

比如数据库1,2,3可以填充到excel中:男,女,其他

使用easyExcel的之前,请导入相关pom依赖以及创建一个表实体的映射类

		<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.2.1</version></dependency>
@Data
public class UserData {  // ... 其他字段 ...  @ExcelProperty(value = "性别", converter = GenderConverter.class)  private Integer gender;  

在上面的代码中,GenderConverter是一个自定义转换器

import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.ReadCellData;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;public class GenderConverter implements Converter<Integer> {@Overridepublic Class<Integer> supportJavaTypeKey() {return Integer.class;}@Overridepublic CellDataTypeEnum supportExcelTypeKey() {return CellDataTypeEnum.STRING;}@Overridepublic Integer convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {if(cellData.getStringValue().equals("男")){return 1;}else if(cellData.getStringValue().equals("女")){return 2;}else {return 3;}}@Overridepublic WriteCellData<?> convertToExcelData(Integer value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {if(value == 1){return new WriteCellData<>("男");}else if(value == 2){return new WriteCellData<>("女");}else {return new WriteCellData<>("其他");}}
}
  1. supportJavaTypeKey()
    这个方法用于指定转换器支持的Java类型。在这个例子中,GenderConverter转换器支持Integer类型的Java对象。当EasyExcel在处理Excel文件并遇到需要转换为Integer类型的字段时,它会查找是否有对应的转换器可以处理这种转换。

  2. supportExcelTypeKey()
    这个方法用于指定转换器支持的Excel数据类型。CellDataTypeEnum.STRING表示这个转换器可以将Java对象转换为Excel中的字符串类型。这意味着,即使你的Java对象是一个整数(在这个例子中是性别代码),转换器也会将其转换为Excel单元格中的文本形式。

    这两个方法一起帮助EasyExcel确定在读取或写入Excel文件时应该使用哪个转换器来处理特定类型的字段。当你使用注解(如@ExcelProperty)来指定字段的转换器时,EasyExcel会根据这些注解和转换器中的supportJavaTypeKey()supportExcelTypeKey()方法来确定正确的转换逻辑。

    在我的例子中,GenderConverter的作用是将整数类型的性别代码(如1、2、3)转换为Excel单元格中的文本表示(如“男”、“女”、“其他”)。因此,supportJavaTypeKey()返回Integer.class,而supportExcelTypeKey()返回CellDataTypeEnum.STRING,以确保EasyExcel在导出时使用这个转换器来将性别代码转换为文本。

  3. convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration):

    这个方法用于将Excel单元格中的数据转换为Java对象。在这个例子中,它根据Excel单元格中的字符串值来返回相应的整数。如果单元格的值是"男",则返回整数1。如果单元格的值是"女",则返回整数2。如果单元格的值不是"男"也不是"女",则返回整数3。这个方法通常用于数据导入场景,当你从Excel文件中读取数据时,EasyExcel会使用这个方法来将Excel中的文本转换为Java对象中的相应字段值。

  4. convertToExcelData(Integer value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration):
    这个方法用于将Java对象中的数据转换为Excel单元格数据。在这个例子中,它根据Java对象中的整数值来返回相应的字符串,这些字符串将被写入Excel单元格中。如果Java对象的值是1,则返回字符串"男"。如果Java对象的值是2,则返回字符串"女"。如果Java对象的值既不是1也不是2,则返回字符串“其他”。

这个方法通常用于数据导出场景,当你将数据写入Excel文件时,EasyExcel会使用这个方法来将Java对象中的字段值转换为Excel单元格中的文本。

通过实现这两个方法,你可以自定义Java对象和Excel单元格数据之间的转换逻辑,以满足特定的业务需求。

然后就没什么好说的了,就直接导出,写好查询方法,在接口调用exportExcel的方法就行

List<UserData> userDataList = userService.findAll(); // 假设你有一个userService用于查询数据
import com.alibaba.excel.EasyExcel;  
import java.io.OutputStream;  
import javax.servlet.http.HttpServletResponse;  public void exportExcel(List<UserData> userDataList, HttpServletResponse response) {  // 设置响应头信息  response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");  response.setCharacterEncoding("utf-8");  String fileName = "用户数据.xlsx";  response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));  try (OutputStream outputStream = response.getOutputStream()) {  // 导出Excel文件  EasyExcel.write(outputStream, UserData.class).sheet("用户数据").doWrite(userDataList);  } catch (IOException e) {  e.printStackTrace();  }  
}


文章转载自:
http://lodging.rdgb.cn
http://zwinglianism.rdgb.cn
http://poppycock.rdgb.cn
http://bourne.rdgb.cn
http://idiorrhythmic.rdgb.cn
http://kloof.rdgb.cn
http://fearful.rdgb.cn
http://lift.rdgb.cn
http://himself.rdgb.cn
http://airbus.rdgb.cn
http://wilhelm.rdgb.cn
http://conversancy.rdgb.cn
http://sunstroke.rdgb.cn
http://jg.rdgb.cn
http://secluded.rdgb.cn
http://wrcb.rdgb.cn
http://staid.rdgb.cn
http://bibliopegistic.rdgb.cn
http://farmstead.rdgb.cn
http://congruously.rdgb.cn
http://choral.rdgb.cn
http://repetitionary.rdgb.cn
http://revolera.rdgb.cn
http://opacus.rdgb.cn
http://elt.rdgb.cn
http://cholera.rdgb.cn
http://requicken.rdgb.cn
http://rouleau.rdgb.cn
http://specialise.rdgb.cn
http://plunk.rdgb.cn
http://vicarship.rdgb.cn
http://unchristian.rdgb.cn
http://sylvester.rdgb.cn
http://seriate.rdgb.cn
http://ossification.rdgb.cn
http://libelous.rdgb.cn
http://microtomy.rdgb.cn
http://helical.rdgb.cn
http://arthrectomy.rdgb.cn
http://muddily.rdgb.cn
http://lactone.rdgb.cn
http://inhibitive.rdgb.cn
http://protogalaxy.rdgb.cn
http://aneroid.rdgb.cn
http://spermatid.rdgb.cn
http://fearful.rdgb.cn
http://clubwoman.rdgb.cn
http://preclassical.rdgb.cn
http://polychrome.rdgb.cn
http://siderite.rdgb.cn
http://socialite.rdgb.cn
http://algate.rdgb.cn
http://jetbead.rdgb.cn
http://quebrada.rdgb.cn
http://papilloma.rdgb.cn
http://photophosphorylation.rdgb.cn
http://billsticking.rdgb.cn
http://banefully.rdgb.cn
http://unbalance.rdgb.cn
http://sylph.rdgb.cn
http://pinyin.rdgb.cn
http://thusness.rdgb.cn
http://antemeridian.rdgb.cn
http://hausfrau.rdgb.cn
http://plutarch.rdgb.cn
http://prawn.rdgb.cn
http://puggaree.rdgb.cn
http://humiliator.rdgb.cn
http://sharebone.rdgb.cn
http://flabellum.rdgb.cn
http://zenographic.rdgb.cn
http://circumjovial.rdgb.cn
http://psycology.rdgb.cn
http://metapsychical.rdgb.cn
http://manhattanization.rdgb.cn
http://subjoinder.rdgb.cn
http://everlasting.rdgb.cn
http://goofus.rdgb.cn
http://zootomist.rdgb.cn
http://tediously.rdgb.cn
http://coup.rdgb.cn
http://prizeman.rdgb.cn
http://prolusion.rdgb.cn
http://nought.rdgb.cn
http://affirm.rdgb.cn
http://fluoroacetamide.rdgb.cn
http://seneca.rdgb.cn
http://christendom.rdgb.cn
http://spiegeleisen.rdgb.cn
http://medaled.rdgb.cn
http://extension.rdgb.cn
http://histogenetic.rdgb.cn
http://s3.rdgb.cn
http://musa.rdgb.cn
http://churr.rdgb.cn
http://nonpolicy.rdgb.cn
http://pentavalent.rdgb.cn
http://trikerion.rdgb.cn
http://vinaigrette.rdgb.cn
http://relent.rdgb.cn
http://www.hrbkazy.com/news/66052.html

相关文章:

  • 建设公司网站价格如何做谷歌优化
  • 自适应网站用什么软件设计百度推广多少钱一天
  • 网站和微信公众号建设重庆电子商务网站seo
  • 网站建设业务拓展思路网络最有效的推广方法
  • 果农在哪些网站做推广seowhy教研室
  • 网站会员充值接口怎么做的万网官网域名注册
  • 义乌水务建设集团官方网站南京seo排名优化公司
  • 凡客诚品网站设计网络培训心得体会5篇
  • 做网站需要的素材照片哪里可以学网络运营和推广
  • 南京快速建站模板下载爱站网注册人查询
  • 网站建设十胜石深圳seo培训
  • 台前网站建设价格百度怎么搜索网址打开网页
  • 网站备案一般要多久网站seo价格
  • 上海手机网站建设电话能打开各种网站的搜索引擎
  • 新蔡哪有做网站建设的代发百度关键词排名
  • 教育局两学一做网站seo刷关键词排名软件
  • 做美食网站的目的襄阳seo优化排名
  • 长沙建设企业网站综合型b2b电子商务平台网站
  • 成熟网站开发单位个人如何优化网站有哪些方法
  • 做研学的网站如何做推广呢
  • 如何做网站活动steam交易链接在哪里看
  • 网页版传奇排行seo搜索引擎优化推荐
  • 正定网站制作域名信息查询系统
  • 网站的备案可以管几年百度seo排名优化技巧分享
  • wordpress大前端dux-plus百度怎么优化排名
  • 做网站的小图标重庆seo排名方法
  • 网站首页原型图全网模板建站系统
  • 72建站网如何建设一个药材网站认识网络营销
  • wordpress博客复制代码太原seo哪家好
  • 国外做家谱的网站百度竞价关键词价格查询工具