需求:
一个校友有多个企业,再导入校友的时候 直接把企业都导入进去,如果一个校友有两个企业的话,导一个校友两个企业
思路
导入工具包, 把所需的要导入的字段写进去,写两个实体类
一个alumniEntity 校友实体类
一个enterpriseEntity 企业实体类
再写一个pojo类 包括所有字段
之后写一个controller 做业务
业务:创建一个所有校友的集合作为一个容器, 创建校友对象,把校友字段存入之后+创建企业对象(因为校友企业属于一对多的关系,所以要提高作用域,做成全局变量,防止同一个主表覆盖附表的第二表中的第一条数据),把校友和企业字段都放入校友容器中,之后存入企业的对象中,把企业字段加入
最后循环容器中的数据,把数据存到数据库中
代码如下
导入工具类,把excel表中要导入的数据写入
package com.hegao.pdos.core.uitle;
import com.alibaba.druid.util.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @ClassName: ExcelHelper
* @Auther:
* @Date: 2019/12/8 10:27
* @Description: excel帮助类
*/
public class ExcelHelper {
/**
* 将excel解析为指定的对象集合 <br>
* 例如: 要导入的excel格式为 <br>
* 第1行: | id | username | password |(与对象的字段对应)<br>
* 第2行: |1 | 小周 | 123456 |<br>
* 第3行: |2 | 老王 | 123456 |<br>
* 调用: analysisExcel(file,User.class);
*
* @param file-----要解析的excel文件
* @param c--------指定的对象类型
* @throws IOException
* @return---------对象集合
*/
public static <T> List<T> analysisExcel(File file, Class<T> c) {
List<T> list = new ArrayList<T>();
InputStream inputStream = null;
String fileName = null;
Workbook wb = null;
try {
inputStream = new FileInputStream(file);
fileName = file.getName();
if (fileName.endsWith(".xls") || fileName.endsWith(".xlsx")) {
//如果是2003版本
if (fileName.endsWith(".xls")) {
//1.先解析文件
POIFSFileSystem fs = new POIFSFileSystem(inputStream);
wb = new HSSFWorkbook(fs);
} else if (fileName.endsWith(".xlsx")) {//如果是2007以上版本
wb = new XSSFWorkbook(inputStream);
} else {
return null;
}
}
} catch (IOException e) {
e.printStackTrace();
}
Sheet sheet = null;
Row row1 = null;
try {
sheet = wb.getSheetAt(0);
if(sheet == null){
return null;
}
row1 = sheet.getRow(0);
if(row1 == null){
return null;
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
//获取第一行(标题行)
//总列数
int colNum = row1.getPhysicalNumberOfCells();
//总行数
int rowNum = sheet.getLastRowNum();
//将标题行一一放入数组
List<String> titles = new ArrayList<>();
for (int i = 0; i < colNum; i++) {
if (StringUtils.isEmpty(row1.getCell(i).getStringCellValue()) || "null".equals(row1.getCell(i).getStringCellValue())) {
continue;
}
// if(row1.getCell(i).getStringCellValue().equals("姓名")){
//
// titles.add(row1.getCell(i).getStringCellValue());
// }
titles.add(row1.getCell(i).getStringCellValue());
}
//获取指定对象所有的字段
Field fields[] = c.getDeclaredFields();
Map<String, Field> fieldMap = new HashMap<String, Field>();
for (int i = 0; i < fields.length; i++) {
fieldMap.put(fields[i].getName(), fields[i]);
}
//使用反射机制,将值存入对应对象中
try {
row:
for (int i = 1; i < rowNum + 1; i++) {
T t = c.newInstance();
String title = null;
item:
for (int j = 0; j < titles.size(); j++) {
//当excel中有这个字段
String str = null;
if(titles.get(j).equals("行业")){
str = "industry";
}
if(titles.get(j).equals("常驻地区")){
str = "resident_area";
}
if(titles.get(j).equals("工作单位")){
str = "org";
}
if(titles.get(j).equals("工作部门")){
str = "department";
}
if(titles.get(j).equals("职务")){
str = "duty";
}
if(titles.get(j).equals("职称")){
str = "job_title";
}
if(titles.get(j).equals("单位地址省")){
str = "org_province";
}
if(titles.get(j).equals("单位地址 市")){
str = "org_city";
}
if(titles.get(j).equals("单位地址区")){
str = "org_area";
}
if(titles.get(j).equals("单位地址")){
str = "org_address";
}
if(titles.get(j).equals("单位地址具体")){
str = "org_address_specific";
}
if(titles.get(j).equals("提供校友id")){
str = "alumnus_id";
}
if(titles.get(j).equals("校友信息--提供")){
str = "provide_information";
}
if(titles.get(j).equals("校友信息-所需信息")){
str = "information_required";
}
if(titles.get(j).equals("出生日期")){
str = "birth";
}
if(titles.get(j).equals("民族")){
str = "nation";
}
if(titles.get(j).equals("宗教信仰")){
str = "faith";
}
if(titles.get(j).equals("兴趣爱好")){
str = "hobby";
}
if(titles.get(j).equals("家庭地址")){
str = "family_address";
}
if(titles.get(j).equals("家庭地址具体")){
str = "family_address_specific";
}
if(titles.get(j).equals("个人介绍")){
str = "my_introduce";
}
if(titles.get(j).equals("毕业班级")){
str = "graduation_class";
}
if(titles.get(j).equals("所学专业")){
str = "major";
}
if(titles.get(j).equals("微信号")){
str = "wx_number";
}
if(titles.get(j).equals("邮箱")){
str = "email";
}
if(titles.get(j).equals("企业名字")){
str = "enterprise_name";
}
if(titles.get(j).equals("企业介绍")){
str = "enterprise_introduce";
}
if(titles.get(j).equals("产品介绍")){
str = "produc_introduce";
}
if(titles.get(j).equals("产品介绍条件")){
str = "produc_condition";
}
if(titles.get(j).equals("荣誉")){
str = "honor";
}
if(titles.get(j).equals("履历")){
str = "resume";
}
if (fieldMap.containsKey(str)) {
// String fieldName = titles.get(j);
String fieldName = str;
String methodName = "set" + fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1);
//调用该字段对应的set方法
// Class cc = fieldMap.get(titles.get(j)).getType();
Class cc = fieldMap.get(str).getType();
Method method = c.getMethod(methodName, cc);
String value = String.valueOf(sheet.getRow(i).getCell(j));
Object o = parseValue(value, cc);
if (o == null) {
break row;
}
title = o.toString();
method.invoke(t, o);
}
}
if (title != null) {
list.add(t);
}
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
return list;
}
/**
* 将字符串转化为指定类型的对象
*
* @param s----要转化的字符串
* @param c----目标对象类型
* @return
*/
private static Object parseValue(String s, Class c) {
Object obj = null;
String className = c.getName();
//excel中的数字解析之后可能末尾会有.0,需要去除
if (s.endsWith(".0")) s = s.substring(0, s.length() - 2);
if (className.equals("java.lang.Integer")) { //Integer
if ("null".equals(s) && StringUtils.isEmpty(s)) {
obj = null;
} else {
obj =Integer.valueOf(s);
}
} else if (className.equals("int")) { //int
if ("null".equals(s) || StringUtils.isEmpty(s)) {
obj = null;
} else {
obj = Integer.parseInt(s);
}
} else if (className.equals("java.lang.String")) { //String
obj = s;
} else if (className.equals("java.lang.Double")) { //Double
if ("null".equals(s) || StringUtils.isEmpty(s)) {
obj = null;
} else {
obj = new Double(s);
}
} else if (className.equals("double")) { //double
if ("null".equals(s) || StringUtils.isEmpty(s)) {
obj = null;
} else {
obj = new Double(s);
}
} else if (className.equals("java.lang.Float")) { //Float
if ("null".equals(s) || StringUtils.isEmpty(s)) {
obj = null;
} else {
obj = new Float(s);
}
} else if (className.equals("float")) { //float
if ("null".equals(s) || StringUtils.isEmpty(s)) {
obj = null;
} else {
obj = new Float(s);
}
} else if (className.equals("java.util.Date")) { //Date
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
obj = sdf.parse(s);
} catch (ParseException e) {
e.printStackTrace();
}
} else if (className.equals("long")) { //long
if ("null".equals(s) || StringUtils.isEmpty(s)) {
obj = null;
} else {
obj = Long.parseLong(s);
}
} else if (className.equals("java.util.Long")) { //Long
if ("null".equals(s) || StringUtils.isEmpty(s)) {
obj = null;
} else {
obj = Long.valueOf(s);
}
}
return obj;
}
}
导入pom文件
<!--解析excel start-->
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.7</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.7</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml-schemas -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>3.7</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.xmlbeans/xmlbeans -->
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
<version>3.0.2</version>
</dependency>
建立两个实体类
校友实体(声明一个集合存入企业list)
package com.hegao.pdos.applet.controller.entity;
import java.util.List;
/**
* 校友实体
*/
public class alumniEntity {
List<enterpriseEntity> enterpriseEntityList;
public List<enterpriseEntity> getEnterpriseEntityList() {
return enterpriseEntityList;
}
public void setEnterpriseEntityList(List<enterpriseEntity> enterpriseEntityList) {
this.enterpriseEntityList = enterpriseEntityList;
}
private String industry;
// @ExcelColum("常驻地区")
private String resident_area;
// @ExcelColum("工作单位")
private String org;
// @ExcelColum("工作部门")
private String department;
public String getDuty() {
return duty;
}
public void setDuty(String duty) {
this.duty = duty;
}
// @ExcelColum("职务")
private String duty;
// @ExcelColum("职称")
private String job_title;
// @ExcelColum("单位地址省")
private String org_province;
// @ExcelColum("单位地址 市")
private String org_city;
// @ExcelColum("单位地址区")
private String org_area;
// @ExcelColum("单位地址")
private String org_address;
// @ExcelColum("单位地址具体")
private String org_address_specific;
// @ExcelColum("校友信息--提供")
private String provide_information;
// @ExcelColum("校友信息-所需信息")
private String information_required;
// @ExcelColum("出生日期")
private String birth;
// @ExcelColum("民族")
private String nation;
// @ExcelColum("宗教信仰")
private String faith;
// @ExcelColum("兴趣爱好")
private String hobby;
// @ExcelColum("家庭地址")
private String family_address;
// @ExcelColum("家庭地址具体")
private String family_address_specific;
// @ExcelColum("个人介绍")
private String my_introduce;
// @ExcelColum("毕业班级")
private String graduation_class;
// @ExcelColum("所学专业")
private String major;
// @ExcelColum("微信号")
private String wx_number;
// @ExcelColum("邮箱")
private String email;
// @ExcelColum("提供校友id")
private String alumnus_id;
public String getAlumnus_id() {
return alumnus_id;
}
public void setAlumnus_id(String alumnus_id) {
this.alumnus_id = alumnus_id;
}
public String getIndustry() {
return industry;
}
public void setIndustry(String industry) {
this.industry = industry;
}
public String getResident_area() {
return resident_area;
}
public void setResident_area(String resident_area) {
this.resident_area = resident_area;
}
public String getOrg() {
return org;
}
public void setOrg(String org) {
this.org = org;
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
public String getJob_title() {
return job_title;
}
public void setJob_title(String job_title) {
this.job_title = job_title;
}
public String getOrg_province() {
return org_province;
}
public void setOrg_province(String org_province) {
this.org_province = org_province;
}
public String getOrg_city() {
return org_city;
}
public void setOrg_city(String org_city) {
this.org_city = org_city;
}
public String getOrg_area() {
return org_area;
}
public void setOrg_area(String org_area) {
this.org_area = org_area;
}
public String getOrg_address() {
return org_address;
}
public void setOrg_address(String org_address) {
this.org_address = org_address;
}
public String getOrg_address_specific() {
return org_address_specific;
}
public void setOrg_address_specific(String org_address_specific) {
this.org_address_specific = org_address_specific;
}
public String getProvide_information() {
return provide_information;
}
public void setProvide_information(String provide_information) {
this.provide_information = provide_information;
}
public String getInformation_required() {
return information_required;
}
public void setInformation_required(String information_required) {
this.information_required = information_required;
}
public String getBirth() {
return birth;
}
public void setBirth(String birth) {
this.birth = birth;
}
public String getNation() {
return nation;
}
public void setNation(String nation) {
this.nation = nation;
}
public String getFaith() {
return faith;
}
public void setFaith(String faith) {
this.faith = faith;
}
public String getHobby() {
return hobby;
}
public void setHobby(String hobby) {
this.hobby = hobby;
}
public String getFamily_address() {
return family_address;
}
public void setFamily_address(String family_address) {
this.family_address = family_address;
}
public String getFamily_address_specific() {
return family_address_specific;
}
public void setFamily_address_specific(String family_address_specific) {
this.family_address_specific = family_address_specific;
}
public String getMy_introduce() {
return my_introduce;
}
public void setMy_introduce(String my_introduce) {
this.my_introduce = my_introduce;
}
public String getGraduation_class() {
return graduation_class;
}
public void setGraduation_class(String graduation_class) {
this.graduation_class = graduation_class;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public String getWx_number() {
return wx_number;
}
public void setWx_number(String wx_number) {
this.wx_number = wx_number;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
企业实体
package com.hegao.pdos.applet.controller.entity;
/**
* 企业实体
*/
public class enterpriseEntity {
// @ExcelColum("企业名字")
private String enterprise_name;
// @ExcelColum("企业介绍")
private String enterprise_introduce;
// @ExcelColum("产品介绍")
private String produc_introduce;
// @ExcelColum("产品介绍条件")
private String produc_condition;
// @ExcelColum("荣誉")
private String honor;
// @ExcelColum("履历")
private String resume;
public String getEnterprise_name() {
return enterprise_name;
}
public void setEnterprise_name(String enterprise_name) {
this.enterprise_name = enterprise_name;
}
public String getEnterprise_introduce() {
return enterprise_introduce;
}
public void setEnterprise_introduce(String enterprise_introduce) {
this.enterprise_introduce = enterprise_introduce;
}
public String getProduc_introduce() {
return produc_introduce;
}
public void setProduc_introduce(String produc_introduce) {
this.produc_introduce = produc_introduce;
}
public String getProduc_condition() {
return produc_condition;
}
public void setProduc_condition(String produc_condition) {
this.produc_condition = produc_condition;
}
public String getHonor() {
return honor;
}
public void setHonor(String honor) {
this.honor = honor;
}
public String getResume() {
return resume;
}
public void setResume(String resume) {
this.resume = resume;
}
}
存入所有的字段
package com.hegao.pdos.applet.controller.member;
/**
* Created by huasheng on 2019/11/24.
*/
public class TestPaper {
// // @ExcelColum("问题题目")
// private String title;
// @ExcelColum("学校名称")
private String industry;
// @ExcelColum("常驻地区")
private String resident_area;
// @ExcelColum("工作单位")
private String org;
// @ExcelColum("工作部门")
private String department;
// @ExcelColum("职称")
private String job_title;
// @ExcelColum("单位地址省")
private String org_province;
// @ExcelColum("单位地址 市")
private String org_city;
// @ExcelColum("单位地址区")
private String org_area;
// @ExcelColum("单位地址")
private String org_address;
// @ExcelColum("单位地址具体")
private String org_address_specific;
// @ExcelColum("校友信息--提供")
private String provide_information;
// @ExcelColum("校友信息-所需信息")
private String information_required;
// @ExcelColum("出生日期")
private String birth;
// @ExcelColum("民族")
private String nation;
// @ExcelColum("宗教信仰")
private String faith;
// @ExcelColum("兴趣爱好")
private String hobby;
// @ExcelColum("家庭地址")
private String family_address;
// @ExcelColum("家庭地址具体")
private String family_address_specific;
// @ExcelColum("个人介绍")
private String my_introduce;
// @ExcelColum("毕业班级")
private String graduation_class;
// @ExcelColum("所学专业")
private String major;
// @ExcelColum("微信号")
private String wx_number;
// @ExcelColum("邮箱")
private String email;
// @ExcelColum("企业名字")
private String enterprise_name;
// @ExcelColum("企业介绍")
private String enterprise_introduce;
// @ExcelColum("产品介绍")
private String produc_introduce;
// @ExcelColum("产品介绍条件")
private String produc_condition;
// @ExcelColum("荣誉")
private String honor;
// @ExcelColum("履历")
private String resume;
// @ExcelColum("提供校友id")
private String alumnus_id;
public String getAlumnus_id() {
return alumnus_id;
}
public void setAlumnus_id(String alumnus_id) {
this.alumnus_id = alumnus_id;
}
public String getDuty() {
return duty;
}
public void setDuty(String duty) {
this.duty = duty;
}
// @ExcelColum("职务")
private String duty;
public String getIndustry() {
return industry;
}
public void setIndustry(String industry) {
this.industry = industry;
}
public String getResident_area() {
return resident_area;
}
public void setResident_area(String resident_area) {
this.resident_area = resident_area;
}
public String getOrg() {
return org;
}
public void setOrg(String org) {
this.org = org;
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
public String getJob_title() {
return job_title;
}
public void setJob_title(String job_title) {
this.job_title = job_title;
}
public String getOrg_province() {
return org_province;
}
public void setOrg_province(String org_province) {
this.org_province = org_province;
}
public String getOrg_city() {
return org_city;
}
public void setOrg_city(String org_city) {
this.org_city = org_city;
}
public String getOrg_area() {
return org_area;
}
public void setOrg_area(String org_area) {
this.org_area = org_area;
}
public String getOrg_address() {
return org_address;
}
public void setOrg_address(String org_address) {
this.org_address = org_address;
}
public String getOrg_address_specific() {
return org_address_specific;
}
public void setOrg_address_specific(String org_address_specific) {
this.org_address_specific = org_address_specific;
}
public String getProvide_information() {
return provide_information;
}
public void setProvide_information(String provide_information) {
this.provide_information = provide_information;
}
public String getInformation_required() {
return information_required;
}
public void setInformation_required(String information_required) {
this.information_required = information_required;
}
public String getBirth() {
return birth;
}
public void setBirth(String birth) {
this.birth = birth;
}
public String getNation() {
return nation;
}
public void setNation(String nation) {
this.nation = nation;
}
public String getFaith() {
return faith;
}
public void setFaith(String faith) {
this.faith = faith;
}
public String getHobby() {
return hobby;
}
public void setHobby(String hobby) {
this.hobby = hobby;
}
public String getFamily_address() {
return family_address;
}
public void setFamily_address(String family_address) {
this.family_address = family_address;
}
public String getFamily_address_specific() {
return family_address_specific;
}
public void setFamily_address_specific(String family_address_specific) {
this.family_address_specific = family_address_specific;
}
public String getMy_introduce() {
return my_introduce;
}
public void setMy_introduce(String my_introduce) {
this.my_introduce = my_introduce;
}
public String getGraduation_class() {
return graduation_class;
}
public void setGraduation_class(String graduation_class) {
this.graduation_class = graduation_class;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public String getWx_number() {
return wx_number;
}
public void setWx_number(String wx_number) {
this.wx_number = wx_number;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getEnterprise_name() {
return enterprise_name;
}
public void setEnterprise_name(String enterprise_name) {
this.enterprise_name = enterprise_name;
}
public String getEnterprise_introduce() {
return enterprise_introduce;
}
public void setEnterprise_introduce(String enterprise_introduce) {
this.enterprise_introduce = enterprise_introduce;
}
public String getProduc_introduce() {
return produc_introduce;
}
public void setProduc_introduce(String produc_introduce) {
this.produc_introduce = produc_introduce;
}
public String getProduc_condition() {
return produc_condition;
}
public void setProduc_condition(String produc_condition) {
this.produc_condition = produc_condition;
}
public String getHonor() {
return honor;
}
public void setHonor(String honor) {
this.honor = honor;
}
public String getResume() {
return resume;
}
public void setResume(String resume) {
this.resume = resume;
}
}
业务逻辑 controller
package com.hegao.pdos.applet.controller.member;
import com.hegao.pdos.admin.controller.BaseController;
import com.hegao.pdos.applet.controller.entity.alumniEntity;
import com.hegao.pdos.applet.controller.entity.enterpriseEntity;
import com.hegao.pdos.core.annotation.Action;
import com.hegao.pdos.core.config.ErrorCode;
import com.hegao.pdos.core.uitle.ExcelHelper;
import com.jfinal.aop.Clear;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Record;
import com.jfinal.upload.UploadFile;
import java.util.ArrayList;
import java.util.List;
/**
* 公共请求数据
*
* @author OF
* @date 2018年1月8日
*/
@Action(path = "/excel/service")
public class ExcelController extends BaseController {
@Clear
public void upload() {
try {
UploadFile file = this.getFile("file", "image");
List<TestPaper> testPapers = ExcelHelper.analysisExcel(file.getFile(), TestPaper.class);//返回数据list,添加到对应的位置、
//获取数据list是否为null
if (testPapers == null || testPapers.size() <= 0) {
rendFailedJson(ErrorCode.get("9999"));
} else {
//创建list<校友>
List<alumniEntity> alumniEntityList = new ArrayList<>();
//创建list<企业>
List<enterpriseEntity> enterpriseEntityList = new ArrayList<>();
for (TestPaper info : testPapers) {
// //判断实体类中行业是否存在
// if (info.getIndustry().equals("") || info.getIndustry().equals("null")) {
// continue;
// }
if (alumniEntityList != null) {
//创建校友实体
if (info.getIndustry().equals("") || info.getIndustry().equals("null")) {
} else {
alumniEntity alumni = new alumniEntity();
//企业list
//创建list<企业>
enterpriseEntityList = new ArrayList<>();
//把 //企业信息集合放到校友集合中
if (!info.getIndustry().equals("") || !info.getIndustry().equals("null") || !info.getIndustry().toString().equals("undifend")) {
alumni.setIndustry(info.getIndustry());
}
if (!info.getResident_area().equals("") || !info.getResident_area().equals("null") || !info.getResident_area().toString().equals("undifend")) {
alumni.setResident_area(info.getResident_area());
}
if (!info.getOrg().equals("") || !info.getOrg().equals("null") || !info.getOrg().toString().equals("undifend")) {
alumni.setOrg(info.getOrg());
}
if (!info.getDepartment().equals("") || !info.getDepartment().equals("null") || !info.getDepartment().toString().equals("undifend")) {
alumni.setDepartment(info.getDepartment());
}
if (!info.getDuty().equals("") || !info.getDuty().equals("null") || !info.getDuty().toString().equals("undifend")) {
alumni.setDuty(info.getDuty());
}
if (!info.getJob_title().equals("") || !info.getJob_title().equals("null") || !info.getJob_title().toString().equals("undifend")) {
alumni.setJob_title(info.getJob_title());
}
if (!info.getOrg_province().equals("") || !info.getOrg_province().equals("null") || !info.getOrg_province().toString().equals("undifend")) {
alumni.setOrg_province(info.getOrg_province());
}
if (!info.getOrg_city().equals("") || !info.getOrg_city().equals("null") || !info.getOrg_city().toString().equals("undifend")) {
alumni.setOrg_city(info.getOrg_city());
}
if (!info.getOrg_area().equals("") || !info.getOrg_area().equals("null") || !info.getOrg_area().toString().equals("undifend")) {
alumni.setOrg_area(info.getOrg_area());
}
if (!info.getOrg_address().equals("") || !info.getOrg_address().equals("null") || !info.getOrg_address().toString().equals("undifend")) {
alumni.setOrg_address(info.getOrg_address());
}
if (!info.getOrg_address_specific().equals("") || !info.getDuty().equals("null") || !info.getDuty().toString().equals("undifend")) {
alumni.setOrg_address_specific(info.getOrg_address_specific());
}
alumni.setProvide_information(info.getProvide_information());
alumni.setInformation_required(info.getInformation_required());
alumni.setBirth(info.getBirth());
alumni.setNation(info.getNation());
alumni.setFaith(info.getFaith());
alumni.setHobby(info.getHobby());
alumni.setFamily_address(info.getFamily_address());
alumni.setFamily_address_specific(info.getFamily_address_specific());
alumni.setMy_introduce(info.getMy_introduce());
alumni.setGraduation_class(info.getGraduation_class());
alumni.setMajor(info.getMajor());
alumni.setWx_number(info.getWx_number());
alumni.setEmail(info.getEmail());
alumni.setAlumnus_id(info.getAlumnus_id());
alumniEntityList.add(alumni);
alumniEntityList.get(alumniEntityList.size()-1).setEnterpriseEntityList(enterpriseEntityList);
}
}
//创建企业实体
enterpriseEntity enterprise = new enterpriseEntity();
enterprise.setEnterprise_introduce(info.getEnterprise_introduce());
enterprise.setEnterprise_name(info.getEnterprise_name());
enterprise.setHonor(info.getHonor());
enterprise.setResume(info.getResume());
enterprise.setProduc_condition(info.getProduc_condition());
enterprise.setProduc_introduce(info.getProduc_introduce());
enterpriseEntityList.add(enterprise);
//为校友添加企业的信息
}
//循环校友的信息
for (int i = 0; i < alumniEntityList.size(); i++) {
// if (alumniEntityList.get(i).getIndustry().equals("") || alumniEntityList.get(i).getIndustry().equals("null")) {
//// continue;
// }
Record alumniRecord = new Record();
alumniRecord.set("industry", alumniEntityList.get(i).getIndustry());
alumniRecord.set("resident_area", alumniEntityList.get(i).getResident_area());
alumniRecord.set("org", alumniEntityList.get(i).getOrg());
alumniRecord.set("department", alumniEntityList.get(i).getDepartment());
alumniRecord.set("duty", alumniEntityList.get(i).getDuty());
alumniRecord.set("job_title", alumniEntityList.get(i).getJob_title());
Record province = Db.findFirst("select id from of_city where district=?", alumniEntityList.get(i).getOrg_province());
alumniRecord.set("org_province", province.getStr("id"));
Record city = Db.findFirst("select id from of_city where district=?", alumniEntityList.get(i).getOrg_city());
alumniRecord.set("org_city", city.getStr("id"));
Record area = Db.findFirst("select id from of_city where district=?", alumniEntityList.get(i).getOrg_area());
alumniRecord.set("org_area", area.getStr("id"));
alumniRecord.set("org_address", alumniEntityList.get(i).getOrg_address());
alumniRecord.set("org_address_specific", alumniEntityList.get(i).getOrg_address_specific());
alumniRecord.set("alumnus_id", alumniEntityList.get(i).getAlumnus_id());
alumniRecord.set("provide_information", alumniEntityList.get(i).getProvide_information());
alumniRecord.set("information_required", alumniEntityList.get(i).getInformation_required());
alumniRecord.set("birth", alumniEntityList.get(i).getBirth());
alumniRecord.set("nation", alumniEntityList.get(i).getNation());
alumniRecord.set("faith", alumniEntityList.get(i).getFaith());
alumniRecord.set("hobby", alumniEntityList.get(i).getHobby());
alumniRecord.set("family_address", alumniEntityList.get(i).getFamily_address());
alumniRecord.set("family_address_specific", alumniEntityList.get(i).getFamily_address_specific());
alumniRecord.set("graduation_class", alumniEntityList.get(i).getGraduation_class());
alumniRecord.set("major", alumniEntityList.get(i).getMajor());
alumniRecord.set("wx_number", alumniEntityList.get(i).getWx_number());
alumniRecord.set("email", alumniEntityList.get(i).getEmail());
//db.save 校友
Db.save("alumni_profile", alumniRecord);
//循环校友下企业list
for (int j = 0; j < alumniEntityList.get(i).getEnterpriseEntityList().size(); j++) {
//根据校友id 存企业信息
Integer id = alumniRecord.getInt("id");
Record enterpriseRecord = new Record();
enterpriseRecord.set("enterprise_name", alumniEntityList.get(i).getEnterpriseEntityList().get(j).getEnterprise_name());
enterpriseRecord.set("enterprise_introduce", alumniEntityList.get(i).getEnterpriseEntityList().get(j).getEnterprise_introduce());
enterpriseRecord.set("produc_introduce", alumniEntityList.get(i).getEnterpriseEntityList().get(j).getProduc_introduce());
enterpriseRecord.set("produc_condition", alumniEntityList.get(i).getEnterpriseEntityList().get(j).getProduc_condition());
enterpriseRecord.set("honor", alumniEntityList.get(i).getEnterpriseEntityList().get(j).getHonor());
enterpriseRecord.set("resume", alumniEntityList.get(i).getEnterpriseEntityList().get(j).getResume());
//循环企业的list 之后
enterpriseRecord.set("alumni_profile_id", id);
Db.save("enterprise", enterpriseRecord);
}
}
rendSuccessJson(testPapers);
}
} catch (Exception e) {
e.printStackTrace();
rendFailedJson(ErrorCode.get("9999"));
}
}
}
后台管理 按钮显示
<button
class="layui-btn layui-btn-sm"
onclick="uplodeFlie()"
>
<i class="layui-icon"></i>
导入
</button>
把id传过来
<input type="file" id="file" style="display: none">
js
function uplodeFlie(){ //展示按钮点击事件
$("#file").click();
}
$("#file").change(function(){ //绑定改变方法
uplode();
});
function uplode() { //上传文件
var file = $("#file");
var formData = new FormData();
formData.append("file", file[0].files[0]);
var loading = layer.load(0, {
shade: [0.5, 'gray'] //0.5透明度的灰色背景
});
$.ajax({
type: 'post',
url: '${webroot}/admin/excel/service/upload',
timeout:3600000,
data: formData,
cache: false,
processData: false,
contentType: false,
success:function (data) {
console.log(data);
layer.close(loading);
layer.msg('导入成功!', {icon: 1});
$("#file").val("");
adminCommon.setRefreshTable("1");
},
error:function () {
layer.close(loading);
layer.msg('导入失败!', {icon: 5});
// adminCom mon.setRefreshTable("1");
adminCommon.setRefreshTable("1");
}});
}
本文详细介绍了一种通过Excel批量导入校友及关联企业信息的方法,包括导入工具包使用、实体类设计、业务逻辑实现等关键步骤,适用于一对多关系的数据导入场景。
561

被折叠的 条评论
为什么被折叠?



