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

建设银行总部投诉网站/营销策略的重要性

建设银行总部投诉网站,营销策略的重要性,wordpress批量更新文章,最新网页游戏大全在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();  }  
}

相关文章:

EasyExcel Converter实现java对象和excel单元格转换

在EasyExcel中&#xff0c;Converter接口用于定义如何在Java对象和Excel单元格之间进行转换。 也就是说EasyExcel可以根据数据库中的值来填充Excel中对应的文本内容。 比如数据库1,2,3可以填充到excel中&#xff1a;男&#xff0c;女&#xff0c;其他 使用easyExcel的之前&a…...

stamac Ethernet DTS配置

目录 Demo 配置 compatible reg interrupts & interrupt-names phy-mode phy-handle Snps,reset-gpio...

Svg Flow Editor 原生svg流程图编辑器(四)

系列文章 Svg Flow Editor 原生svg流程图编辑器&#xff08;一&#xff09; Svg Flow Editor 原生svg流程图编辑器&#xff08;二&#xff09; Svg Flow Editor 原生svg流程图编辑器&#xff08;三&#xff09; Svg Flow Editor 原生svg流程图编辑器&#xff08;四&#xf…...

Verilog语法之assign语句学习

assign语法主要是对组合逻辑的变量进行赋值的&#xff0c;就是把一个变量赋值给另一个变量&#xff0c;被复制的变量必须是wire类型的参数。 从仿真结果可以看出&#xff0c;data_in变量的值赋值给了data_out,assign语法就是赋值没有任何延迟&#xff0c;data_in是什么值&#…...

Cocos2dx-lua ScrollView[三]高级篇

一.概述 本文缩写说明&#xff1a;sv ScrollView, cell代表ScrollView的一个子节点 本文介绍sv的一种封装类库&#xff0c;来实现快速创建sv&#xff0c;有如下几个优点&#xff1a; 1.item的位置通过参数控制&#xff0c;提高开发效率 2.免去了调用sv的API&#xff0c;提…...

后端之卡尔曼滤波

后端之卡尔曼滤波 前言 在很久之前&#xff0c;人们刚结束信息传递只能靠信件的时代&#xff0c;通信技术蓬勃发展&#xff0c;无线通信和有线通信走进家家户户&#xff0c;而著名的贝尔实验室就在这个过程做了很多影响深远的研究。为了满足不同电路和系统对信号的需求&#…...

Docker 夺命连环 15 问

目录 什么是Docker&#xff1f; Docker的应用场景有哪些&#xff1f; Docker的优点有哪些&#xff1f; Docker与虚拟机的区别是什么&#xff1f; Docker的三大核心是什么&#xff1f; 如何快速安装Docker&#xff1f; 如何修改Docker的存储位置&#xff1f; Docker镜像常…...

2024最新版克魔助手抓包教程(9) - 克魔助手 IOS 数据抓包

引言 在移动应用程序的开发中&#xff0c;了解应用程序的网络通信是至关重要的。数据抓包是一种很好的方法&#xff0c;可以让我们分析应用程序的网络请求和响应&#xff0c;了解应用程序的网络操作情况。克魔助手是一款非常强大的抓包工具&#xff0c;可以帮助我们在 Android …...

Spring Boot 防止XSS攻击

XSS 跨站脚本工具&#xff08;cross 斯特scripting&#xff09;&#xff0c;为不和层叠样式表&#xff08;cascading style sheets,CSS&#xff09;的缩写混淆&#xff0c;故将跨站脚本攻击缩写为XSS。恶意攻击者往web页面里插入恶意ScriptScript代码&#xff0c;当用户浏览该页…...

aidl文件生成Java、C++[android]、C++[ndk]、Rust接口

目录 前言一、Java二、C[android]三、C[ndk]四、Rust接口 前言 在 Android 开发中&#xff0c;AIDL 文件通常会被自动编译&#xff0c;生成对应语言的接口文件。对于应用层 Java 开发者来说&#xff0c;使用 AIDL 和 Binder 封装的接口可以让他们更加专注于应用逻辑&#xff0…...

多源统一视频融合可视指挥调度平台VMS/smarteye系统概述

系统功能 1. 集成了视频监控典型的常用功能&#xff0c;包括录像&#xff08;本地录像、云端录像&#xff08;录像计划、下载计划-无线导出&#xff09;、远程检索回放&#xff09;、实时预览&#xff08;PTZ云台操控、轮播、多屏操控等&#xff09;、地图-轨迹回放、语音对讲…...

PyTorch简介:与TensorFlow的比较

PyTorch简介&#xff1a;与TensorFlow的比较 一、PyTorch框架概述 PyTorch是一个开源的机器学习库&#xff0c;广泛用于计算机视觉和自然语言处理。由Facebook的人工智能研究团队开发&#xff0c;它以其灵活性和动态计算图而闻名。 主要特点 动态计算图&#xff1a;PyTorch…...

虚拟机-从头配置Ubuntu18.04(包括anaconda,cuda,cudnn,pycharm,ros,vscode)

最好先安装anaconda后cuda和cudnn&#xff0c;因为配置环境的时候可能conda会覆盖cuda的路径&#xff08;不确定这种说法对不对&#xff0c;这里只是给大家的建议&#xff09; 准备工作&#xff1a; 1.Ubuntu18.04&#xff0c;x86_64&#xff0c;amd64 虚拟机下载和虚拟机Ubu…...

uniApp使用XR-Frame创建3D场景(8)粒子系统

上篇文章讲述了如何将XR-Frame作为子组件集成到uniApp中使用 本片我们详细讲解一下xr-frame的粒子系统 先看源码 <xr-scene render-system"alpha:true" bind:ready"handleReady"> <xr-node visible"{{sec8}}"><xr-asset-load t…...

【JMeter入门】—— JMeter介绍

1、什么是JMeter Apache JMeter是Apache组织开发的基于Java的压力测试工具&#xff0c;用于对软件做压力测试。它最初被设计用于Web应用测试&#xff0c;但后来扩展到其他测试领域。 &#xff08;Apache JMeter是100%纯JAVA桌面应用程序&#xff09;Apache JMeter可以用于对静…...

C# 多线程编程:线程锁与无锁并发

文章目录 前言一、锁的基本概念1.1 什么是锁&#xff1f;1.2 为什么需要锁&#xff1f;1.3 锁的作用原理 二、线程锁的类型2.1 自旋锁&#xff08;Spin Lock&#xff09;2.2 互斥锁&#xff08;Mutex&#xff09;2.3 混合锁&#xff08;Hybrid Lock&#xff09;2.4 读写锁&…...

React.FC

React.FC 是 React 中的一个类型别名&#xff0c;代表“函数组件”。它是一个接受 props&#xff08;属性&#xff09;并返回 JSX 元素的函数。 type React.FC<P {}> (props: P) > ReactElement | null;其中&#xff1a;P 是一个可选的泛型类型参数&#xff0c;表示…...

使用pytorch构建一个无监督的深度卷积GAN网络模型

本文为此系列的第二篇DCGAN&#xff0c;上一篇为初级的GAN。普通GAN有训练不稳定、容易陷入局部最优等问题&#xff0c;DCGAN相对于普通GAN的优点是能够生成更加逼真、清晰的图像。 因为DCGAN是在GAN的基础上的改造&#xff0c;所以本篇只针对GAN的改造点进行讲解&#xff0c;其…...

[AI]文心一言出圈的同时,NLP处理下的ChatGPT-4.5最新资讯

AI文心一言出圈的同时&#xff0c;NLP处理下的ChatGPT-4.5最新资讯 1.背景介绍 随着人工智能技术的不断发展&#xff0c;自然语言处理&#xff08;NLP&#xff09;技术在近年来取得了显著的进步。其中&#xff0c;聊天机器人技术作为NLP领域的一个重要应用&#xff0c;已经广…...

vue.js设计与实现(分支切换与cleanup)

如存在三元运算符时&#xff0c;怎么处理 // 原始数据 const data { text: hello world,ok:true}// 副作用函数存在三元运算符 effect(function effectFn(){document.body.innerText obj.ok ? obj.text : not })// 理解如此&#xff0c;obj.ok和obj.text都会绑定effectFn函…...

206基于matlab的无人机航迹规划(UAV track plannin)

基于matlab的无人机航迹规划(UAV track plannin&#xff09;。输入输出参数包括 横滚、俯仰、航向角&#xff08;单位&#xff1a;度&#xff09;&#xff1b;横滚速率、俯仰速率、航向角速率&#xff08;单位&#xff1a;度/秒&#xff09;&#xff1b;飞机运动速度——X右翼、…...

【Linux 】查看veth-pair对的映射关系

1. 查看当前存在的ns ip netns add netns199 //新建一个命名空间 # ip netns show netns199 (id: 3)可以看到一个名称叫做netns199 的命名空间&#xff0c;其 id为3 2. 创建一个对&#xff0c;并加入其中一个到其他命名空间中 $ sudo ip link add veth100 type veth peer n…...

Cisco Firepower FMCv修改管理Ip方法

FMCv 是部署在VMWARE虚拟平台上的FMC 部署完成后&#xff0c;如何修改管理IP 1 查看当前版本 show version 可以看到是for VMware 2 修改管理IP步骤 2.1 进入expert模式 expert2.2 进入超级用户 sudo su并输入密码 2.3 查看当前网卡Ip 2.4 修改Ip 命令&#xff1a; /…...

PHP开发全新29网课交单平台源码修复全开源版本,支持聚合登陆易支付

这是一套最新版本的PHP开发的网课交单平台源代码&#xff0c;已进行全开源修复&#xff0c;支持聚合登录和易支付功能。 项目 地 址 &#xff1a; runruncode.com/php/19721.html 以下是对该套代码的主要更新和修复&#xff1a; 1. 移除了论文编辑功能。 2. 移除了强国接码…...

【Web前端】CSS基本语法规范和引入方式常见选择器用法常见元素属性

一、基本语法规范 选择器 {一条/N条声明} 选择器决定针对谁修改 (找谁) 声明决定修改什么.。(干什么) 声明的属性是键值对.。使用 &#xff1a; 区分键值对&#xff0c; 使用 &#xff1a; 区分键和值。 <!DOCTYPE html> <html lang"en"> <head>&…...

SnapGene 5 for Mac 分子生物学软件

SnapGene 5 for Mac是一款专为Mac操作系统设计的分子生物学软件&#xff0c;以其强大的功能和用户友好的界面&#xff0c;为科研人员提供了高效、便捷的基因克隆和分子实验设计体验。 软件下载&#xff1a;SnapGene 5 for Mac v5.3.1中文激活版 这款软件支持DNA构建和克隆设计&…...

本地部署大模型的几种工具(上-相关使用)

目录 前言 为什么本地部署 目前的工具 vllm 介绍 下载模型 安装vllm 运行 存在问题 chatglm.cpp 介绍 下载 安装 运行 命令行运行 webdemo运行 GPU推理 ollama 介绍 下载 运行 运行不同参数量的模型 存在问题 lmstudio 介绍 下载 使用 下载模型文件…...

Spring Boot集成itext实现html生成PDF功能

1.itext介绍 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件 iText 的特点 以下是 iText 库的显着特点 − Interactive − iText 为你提供类(API)来生成…...

Java 多态、包、final、权限修饰符、静态代码块

多态 Java多态是指一个对象可以具有多种形态。它是面向对象编程的一个重要特性&#xff0c;允许子类对象可以被当作父类对象使用。多态的实现主要依赖于继承、接口和方法重写。 在Java中&#xff0c;多态的实现主要通过以下两种方式&#xff1a; 继承&#xff1a;子类继承父类…...

基于Spring boot + Vue协同过滤算法的电影推荐系统

末尾获取源码作者介绍&#xff1a;大家好&#xff0c;我是墨韵&#xff0c;本人4年开发经验&#xff0c;专注定制项目开发 更多项目&#xff1a;CSDN主页YAML墨韵 学如逆水行舟&#xff0c;不进则退。学习如赶路&#xff0c;不能慢一步。 目录 一、项目简介 二、开发技术与环…...