package cn.zdxh.personnelmanage.utils;
import cn.zdxh.personnelmanage.po.Admin;
import cn.zdxh.personnelmanage.po.EmployeeInfo;
import org.apache.poi.ss.formula.functions.T;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* excel表的值
*/
public class ExcelValuesHelperUtils {
/**
* Admin表
* @param lists 数据库查出的总值
* @param titlesSize excel表的行数
* @return
*/
public static String[][] getAdminValues(List<Admin> lists, int titlesSize){
String[][] values=new String[lists.size()][titlesSize];
for (int i = 0 ;i < lists.size() ;i++){
Admin adm = lists.get(i);
values[i][0]=String.valueOf(adm.getId());
values[i][1]=adm.getUsername();
values[i][2]=adm.getPassword();
if (adm.getSign()==1){
values[i][3]="系统管理员";
}else {
values[i][3]="人事管理员";
}
}
return values;
}
/**
* EmployeeInfo
* @param lists
* @param titlesSize
* @return
*/
public static String[][] getEmployeeInfoValues(List<EmployeeInfo> lists, int titlesSize) {
String[][] values = new String[lists.size()][titlesSize];
for (int i = 0; i < lists.size(); i++) {
EmployeeInfo emp = lists.get(i);
values[i][0] = String.valueOf(emp.getEmpId());
values[i][1] = emp.getEmpName();
if (emp.getEmpSex()==1){
values[i][2]="男";
}else {
values[i][2]="女";
}
values[i][3] =emp.getEmpNation();
values[i][4] = emp.getEmpNumber();
values[i][5] = emp.getEmpBirthday().toString();
values[i][6] = emp.getEmpCard();
if (emp.getEmpMarry()==1){
values[i][7]="已婚";
}else {
values[i][7]="未婚";
}
values[i][8] = emp.getEmpDepart();
values[i][9] = emp.getEmpPic();
values[i][10] = emp.getEmpPosition();
values[i][11] = emp.getEmpSchool();
values[i][12] = emp.getEmpPhone();
values[i][13] = emp.getEmpEmail();
values[i][14] = emp.getEmpSchool();
}
return values;
}
/**
* 其他的excel表可以在此进行拓展。。。。。。。。。。
*/
/**
* 功能分析:把对象集合转换成数组集合
*
* @param list:需要操作的实体类集合
* @return
* @throws NoSuchMethodException
* @throws InvocationTargetException
* @throws IllegalAccessException
*/
public static List<Object[]> exportExcel(List list) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
//设置用到的变量参数
String name = null, type = null, m_name = null;
Object value = null;
//创建一个二维字符串数组存放数据
List<Object[]> list1 = new ArrayList<>();
//获取实体类方法操作对象
Method m = null;
//判断要提取实体类属性数据的集合是否为空
if (list != null){
//遍历集合中的实体类
for (int y=0; y<list.size(); y++){
//获取每一个实体类
Object object = list.get(y);
//获取实体类的所有属性,返回Field数组
Field[] fields = object.getClass().getDeclaredFields();
//创建一个数组存放实体类属性数据
Object[] str = new Object[fields.length];
//遍历实体类的所有属性
for (int i=0; i<fields.length; i++){
name = fields[i].getName();//获取属性的名字
m_name = name.substring(0,1).toUpperCase()+name.substring(1); //将属性的首字符大写,方便构造get,set方法
type = fields[i].getGenericType().toString(); //获取属性的类型
//判断属性的类型修改数据结构
switch (type){
case "class java.lang.String":
m = object.getClass().getMethod("get"+m_name); //组装getter方法
value = (String) m.invoke(object); //调用getter方法获取属性值
if (value != null){
/**
* 你可以进行附加操作
*/
}
break;
case "class java.lang.Double":
m = object.getClass().getMethod("get"+m_name);
value = m.invoke(object); //调用getter方法获取属性值
if (value != null){
}
break;
case "class java.lang.Boolean":
m = object.getClass().getMethod("get"+m_name); //组装getter方法
value = m.invoke(object); //调用getter方法获取属性值
if (value != null){
}
break;
case "class java.lang.Integer":
m = object.getClass().getMethod("get"+m_name);
value = m.invoke(object); //调用getter方法获取属性值
if (value != null){
}
break;
case "class java.util.Date":
m = object.getClass().getMethod("get"+m_name);
value = m.invoke(object); //调用getter方法获取属性值
if (value != null){
value = new SimpleDateFormat("yyyy-MM-dd").format(value);//改变时间的格式
}
break;
case "class java.lang.Float":
m = object.getClass().getMethod("get"+m_name);
value = m.invoke(object); //调用getter方法获取属性值
if (value != null){
}
break;
case "class java.lang.Long":
m = object.getClass().getMethod("get"+m_name);
value = m.invoke(object); //调用getter方法获取属性值
if (value != null){
}
break;
case "class java.lang.Byte":
m = object.getClass().getMethod("get"+m_name);
value = m.invoke(object); //调用getter方法获取属性值
if (value != null){
}
break;
}
//把实体类中的属性存放到一个字符串数组中
str[i] = value;
}
//把字符串数组存放到集合中
list1.add(str);
}
}
return list1;
}
/**
* 功能分析:第一个参数为对象根据该对象中的属性设置一个对象数组,把第二个数组中的数据赋值给对象属性数组中的元素(为对象属性赋值)
*
* @param object
* @param str
* @throws NoSuchMethodException
* @throws InvocationTargetException
* @throws Ill
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
大学食堂人事管理系统 软件环境:intellij IDEA + maven + SpringBoot+ mybatis-plus (314个子文件)
mvnw.cmd 6KB
layui.css 59KB
_all.css 14KB
layer.css 14KB
layui.mobile.css 10KB
laydate.css 7KB
orange.css 2KB
purple.css 2KB
yellow.css 2KB
login.css 2KB
green.css 2KB
aero.css 1KB
grey.css 1KB
blue.css 1KB
pink.css 1KB
red.css 1KB
minimal.css 1KB
code.css 1KB
global.css 39B
iconfont.eot 40KB
59.gif 10KB
22.gif 10KB
24.gif 8KB
13.gif 7KB
16.gif 7KB
39.gif 6KB
64.gif 6KB
63.gif 6KB
50.gif 6KB
loading-0.gif 6KB
4.gif 6KB
1.gif 5KB
42.gif 5KB
71.gif 5KB
21.gif 5KB
20.gif 5KB
29.gif 5KB
70.gif 4KB
5.gif 4KB
17.gif 4KB
27.gif 4KB
9.gif 4KB
44.gif 4KB
11.gif 4KB
8.gif 4KB
3.gif 4KB
23.gif 4KB
34.gif 4KB
41.gif 4KB
38.gif 4KB
65.gif 3KB
32.gif 3KB
45.gif 3KB
7.gif 3KB
12.gif 3KB
26.gif 3KB
60.gif 3KB
2.gif 3KB
40.gif 3KB
25.gif 3KB
19.gif 3KB
66.gif 3KB
18.gif 3KB
46.gif 3KB
10.gif 3KB
28.gif 3KB
51.gif 3KB
57.gif 3KB
67.gif 3KB
0.gif 3KB
48.gif 3KB
43.gif 3KB
30.gif 2KB
61.gif 2KB
33.gif 2KB
69.gif 2KB
14.gif 2KB
47.gif 2KB
36.gif 2KB
49.gif 2KB
58.gif 2KB
6.gif 2KB
54.gif 2KB
53.gif 2KB
56.gif 2KB
62.gif 2KB
31.gif 2KB
55.gif 2KB
35.gif 2KB
15.gif 2KB
loading-2.gif 2KB
37.gif 1KB
68.gif 1KB
52.gif 777B
loading-1.gif 701B
employee_list.html 12KB
employee_update_model.html 7KB
health_certificate_model.html 7KB
employee_list_model.html 7KB
certificate_info_model.html 6KB
共 314 条
- 1
- 2
- 3
- 4
资源评论
博士僧小星
- 粉丝: 1760
- 资源: 5875
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功