【纯干货】SSM 实现将数据导出为 Excel 表格(利用反射实现类型通配)

SSM框架的Excel的导出导入读取数据 由于项目的原因需要用spring+springMVC+Mybatis框架来完成Excel文件的导入和导出功能,之前没有做过Excel的导入和导出功能,经过查资料等最终将功能完成,需要用的jar包除了基本的SSM的jar包外还需要用到的jar包,用到的是easypoi的jar包 excel文件的导出 对应的实体类 public class User{ @Excel(name="姓名... 阅读详情

0. 这里假设 SSM 环境已经搭建完成

1. 需要三个依赖包

<!-- 导出为 Excel -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>5.0.0</version>
</dependency>

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>5.0.0</version>
</dependency>

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>2.2.10</version>
</dependency>

2. 核心工具类

目标是传入泛型数据列表 List dataList 实现将所有类型输出为 excel 表格,而不需要自己手动指定属性,所以对类的操作必不可少

这里利用反射达到了类的成员变量名
以及得到成员变量名和其值的映射关系(使用 Map,键是成员变量名 String ,值是成员变量值 Object)

ClassUtils.java

package com.iceclean.utils;

import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author : Ice'Clean
 * @date : 2021-08-05
 *
 * 对类的操作
 */
public class ClassUtils {
   
   

    /**
     * 通过类型返回对应的属性列表
     * @param target 目标类型
     * @return 属性列表
     */
    public static List<String> getFields(Class<?> target) {
   
   
        // 获取所有成员变量名称
        List<String> fieldList = new ArrayList<>();
        Field[] declaredFields = target.getDeclaredFields();

        // 放入 List 集合中
        for(Field field : declaredFields) {
   
   
            fieldList.add(field.getName());
        }

        return  fieldList;
    }

    /**
     * 获取泛型所有的成员及其值的映射
     * @param data 泛型对象
     * @param <T> 泛型
     * @return 成员变量名和成员变量值的映射
     */
    public static <T> Map<String, Object> getFieldOfValue(T data) throws IllegalAccessException {
   
   
        // 获取所有成员变量,并建立一个 Map(大小为成员变量的个数)来存放名字和值的对应关系
        Field[] declaredFields = data.getClass().getDeclaredFields();
将Excel数据导入SSMS数据库中 1.打开SSMS软件,建立数据库experiment data 2.进入导入数据界面 3.选择数据源和文件路径,下一步 4.目标选择 Microsoft OLE DB Provider for SQL Server,输入用户名密码,下一步 5.下一步 6.下一步(可以先预览一下) 7.立即运行,下一步 8.完成 9.执行成功 10.刷新一下 11.就可以看到刚刚添加的sheet1,右击查看前1000行可浏览和修改数据 ... 阅读详情

相关推荐

SSM导出Excel

layui 导出Excel 开发工具:eclipse、 mysql 技术架构:javaSSM、 layui 工具类 package com.hezuo.utils; import java.io.OutputStream; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import ...

weixin_43276383的博客 705

MATLAB控制信号发生器(USB-GPIB-HS)GPIB仪器控制教程(含matlab代码)

自动化测试时需要自动产生信号,通过matlab控制信号发生器的频率与功率,以实现自动化信号生成输出

qq_43686057的博客 1606

电赛综合测评题练习(一)-(与2013年电赛综合测评要求类似)

电赛综合测评题练习 文章目录电赛综合测评题练习前言1. 波形发生器1.1 题目说明1.1.1 可用器件1.1.2 设计要求1.1.3 设计方案论证1.2 仿真电路设计1.2.1 脉冲波发生器电路1.2.1.1 方案介绍1.2.1.2 理论分析与计算1.2.1.3 电路系统设计1.2.1.4 仿真方案与仿真测试结果1.2.2 锯齿波电路1.2.2.1 理论分析与计算1.2.2.2 电路系统设计1.2.2.3 仿真方案与仿真测试结果1.2.3 正弦波I电路1.2.3.1 理论分析与计算1.2.3.2 电路系

daydayup!的博客 3万+

告别SD卡!手把手教你用NVMe硬盘盒给Jetson Orin Nano离线烧录Ubuntu系统

本文详细介绍了如何利用NVMe硬盘盒为Jetson Orin Nano离线烧录Ubuntu系统,替代传统SD卡方案。通过硬件选择、系统镜像准备到烧录命令的全流程解析,帮助开发者提升存储性能与系统稳定性,特别适合嵌入式开发场景。

weixin_30808693的博客 458

scrapy - 美团民宿 实战练习

目录结构 items.py import scrapy # 民俗名称,地区,价格,房间类型及数量,床的数量,可住几人 class MeituanItem(scrapy.Item): # define the fields for your item here like: # name = scrapy.Field() title = scrapy.Field() place = scrapy.Field() price = scrapy.F...

小刘的博客 2664

考试遇到 Assistant API 考点时,该掌握哪些要点?

【摘要】聚焦阿里云大模型 ACP 认证中智能体 Assistant API 考点,我结合自学认证成功经验,分享复习攻略。先解析 assistants、threads 等五个核心组件作用与关系,点明各组件支持及不支持的方法,最后给出计算 Python 代码调用大模型次数的思路,助力考生攻克考点、顺利拿证 。

davidkorhenn的博客 495

嵌入式系统实战:DroneCAN协议栈移植与避坑指南

本文详细介绍了在嵌入式系统中移植DroneCAN协议栈的完整流程与实战技巧。内容涵盖移植前的准备工作、内存管理优化、CRC校验实现、多帧数据处理及硬件平台适配等关键环节,并以STM32F4为例提供了具体的移植步骤和避坑指南,帮助开发者高效完成DroneCAN在嵌入式设备上的集成与应用。

solidity8miner的博客 547

R语言灰色关联分析法

输入数据并用DT包的datatable函数展示数据 ABDDEF分别对应第1到第6个供应商产品质量、技术水平、供应能力、经济效益、交货情况、市场影响度指标属于效益型指 产品价格、地理位置、售后服务指标属于成本型指标。现分别对上述指标进行规范化: 对于效益型指标(正项指标)标准化公式为: x∗=x−min(x)max(x)−min(x) x^{\ast}=\frac{x-min\left( x \right)}{max\left( x \right) -min\left( x \right)} x∗=max

qq_54423921的博客 7996

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: 【纯干货】SSM 实现文件上传
下一篇: 【Spring之轨迹】Spring Session 基础使用(三种情况)
寒冰小澈IceClean
博客等级 码龄6年 344粉丝 79原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寒冰小澈IceClean

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值