两个excel

    科技2022-08-08  102

    package excel; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.util.ArrayList; import java.util.Date; import java.util.List; import cc.isystem.smartfox.company.persistence.mybatis.model.CmnPropertyStaff; import cc.isystem.smartfox.company.persistence.mybatis.model.CompanyInfo; import cn.hutool.poi.excel.ExcelReader; import cn.hutool.poi.excel.ExcelUtil; /** * 首先读取一张表的信息 * * @author Administrator * */ public class TestExcelOne { public static void main(String[] args) { String BASE_FILE_LOCATION = "D:\\文件录入\\文件录入\\"; // 公司信息的对象列表 List<CompanyInfo> companyInfosList = new ArrayList<CompanyInfo>(); // 1. 先将数据读取进内存 ExcelReader readerBase = ExcelUtil.getReader(BASE_FILE_LOCATION + "物业企业录入资料\\基础信息表.xlsx"); List<List<Object>> readAllBase = readerBase.read(); for (int i = 1; i < readAllBase.size(); i++) { CompanyInfo companyInfo = new CompanyInfo(); String name = (String) readAllBase.get(i).get(0); String local = (String) readAllBase.get(i).get(1); // System.out.println(readAllBase.get(i).get(3)); String accommodation = (String) readAllBase.get(i).get(2); Date founder = (Date) readAllBase.get(i).get(3); String regNo = (String) readAllBase.get(i).get(4); String legalName = (String) readAllBase.get(i).get(5); String legalPhone = null; Object legalPhoneTemp = readAllBase.get(i).get(6); if (legalPhoneTemp != null) { legalPhone = legalPhoneTemp.toString(); } // String Capital = readAllBase.get(i).get(7).toString(); // String nonLocalStaffNumber = (String) readAllBase.get(i).get(8); // String ManagerStaffNumber = (String) readAllBase.get(i).get(9); // String mediumGradeProfessionalNumber = (String) readAllBase.get(i).get(10); // String businessScope = (String) readAllBase.get(i).get(11); companyInfo.setName(name); if (local == "本地") { companyInfo.setLocal("Y"); } else { companyInfo.setLocal("N"); } companyInfo.setAccommodation(accommodation); companyInfo.setFounder(founder); companyInfo.setRegNo(regNo); companyInfo.setLegalName(legalName); companyInfo.setLegalPhone(legalPhone); // companyInfo.setCapital(Capital); // 剩余一些基本信息由于没有及时的更新导致 先实现功能 companyInfosList.add(companyInfo); String fileLoction = (String) readAllBase.get(i).get(0); } // 再根据获取到的公司信息获取人员信息--- 路径与公司名称相关 for (int i = 0; i < companyInfosList.size(); i++) { String name = companyInfosList.get(i).getName(); // 找不到指定的表格直接处理异常 try { InputStream inputStream = null; try { FileInputStream file = new FileInputStream( BASE_FILE_LOCATION + "物业企业录入资料" + "\\" + name + "\\" + "物业管理企业人员基本情况表.xlsx"); inputStream = file; } catch (Exception e) { System.out.println( BASE_FILE_LOCATION + "物业企业录入资料" + "\\" + name + "\\" + "物业管理企业人员基本情况表.xlsx" + "找不到!"); } ExcelReader reader = ExcelUtil.getReader(inputStream); List<List<Object>> readAllStaff = reader.read(); // 同样获取表的数据进行封装 List<CmnPropertyStaff> cmnPropertyStaffs = new ArrayList<CmnPropertyStaff>(); for (int j = 1; j < readAllStaff.size(); j++) { try { CmnPropertyStaff cmnPropertyStaff = new CmnPropertyStaff(); // cmnPropertyStaff.setCompanyId(companyId); // 需要和公司id进行绑定 List<Object> first = readAllStaff.get(j); if ("" == first.get(2) || null == first.get(2)) { continue; } Long degrees = (Long) first.get(2); String degreess = "" + degrees; // System.out.println(degreess+"**********************************************"); if (null == first.get(0) || "" == first.get(0)) { // break a; } a: { } cmnPropertyStaff.setName((String) first.get(0)); // 性别、籍贯字段需要在实体类中添加 // System.out.println("测试是否是一个表格读取不到"); // Object c = first.get(j).get(1); cmnPropertyStaff.setDegree(degreess); // System.out.println("测试是否是第二个表格读取不到"); if ("" == first.get(3) || null == first.get(3)) { continue; } cmnPropertyStaff.setDuty((String) first.get(3)); // System.out.println("测试是否是第三个表格读取不到"); if ("" == first.get(4) || null == first.get(4)) { continue; } cmnPropertyStaff.setTitle((String) first.get(4)); cmnPropertyStaffs.add(cmnPropertyStaff); } catch (Exception e) { System.out.println(e); System.out.println("读取表失败!" + companyInfosList.get(i) + readAllStaff.get(j).toString()); } } if (cmnPropertyStaffs != null) { for (int m = 0; m < cmnPropertyStaffs.size(); m++) { String message = cmnPropertyStaffs.get(m).toString(); LogTest logTest = new LogTest(); logTest.logger(message, "D:\\logs\\heyuanexcel"); } } reader.close(); } catch (Exception e) { System.out.println(e); System.out .println("找不到:" + BASE_FILE_LOCATION + "物业企业录入资料" + "\\" + name + "\\" + "物业管理企业人员基本情况表.xlsx"); } } } }
    Processed: 0.009, SQL: 8