<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.15</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.15</version>
</dependency>
@GetMapping("daorujiadaochu")
public List<SchoolInfoAAAAAAAAAAAAAAAAAVo> testTwo() {
String[] a = {
"序号",
"学校名称",
"类型",
"档次",
"省份",
"区域",
"专业群名称",
"任务书专业代码",
"专业名称",
"调整方式",
"调整后代码",
"调整后名称"
};
// 表头
StringBuilder head = new StringBuilder();
for (int i = 0; i < a.length; i++) {
head.append(a[i]).append(",");
}
String filePathOne = "C:\\Users\\10940\\Desktop\\bbb.csv";
String filePath = "C:\\Users\\10940\\Desktop\\20210428-专业变更统计.xlsx";
head.deleteCharAt(a.length-1);
FileUtil.appendFile(filePathOne, head.toString());
List<SchoolInfoAAAAAAAAAAAAAAAAAVo> schoolInfoAAAAAAAAAAAAAAAAAVos = schoolDao.selectZhuanye();
List<SchoolInfoBBBBBBBBBBBBBBBBBBVo> schoolInfoBBBBBBBBBBBBBBBBBBVos = new ArrayList<>();
try {
//String encoding = "GBK";
File excel = new File(filePath);
if (excel.isFile() && excel.exists()) { //判断文件是否存在
String[] split = excel.getName().split("\\."); //.是特殊字符,需要转义!!!!!
Workbook wb;
//根据文件后缀(xls/xlsx)进行判断
if ( "xls".equals(split[1])){
FileInputStream fis = new FileInputStream(excel); //文件流对象
wb = new HSSFWorkbook(fis);
}else if ("xlsx".equals(split[1])){
wb = new XSSFWorkbook(excel);
}else {
System.out.println("文件类型错误!");
return null;
}
//开始解析
Sheet sheet = wb.getSheetAt(0); //读取sheet 0
int firstRowIndex = sheet.getFirstRowNum()+1; //第一行是列名,所以不读
int lastRowIndex = sheet.getLastRowNum();
System.out.println("firstRowIndex: "+firstRowIndex);
System.out.println("lastRowIndex: "+lastRowIndex);
for(int rIndex = firstRowIndex; rIndex <= lastRowIndex; rIndex++) { //遍历行
System.out.println("rIndex: " + rIndex);
Row row = sheet.getRow(rIndex);
if (row != null) {
//获取这一行的第一列 从0开始
int firstcell= row.getFirstCellNum();
//获取这一行的最后一列
int lastcell= row.getLastCellNum();
//创建一个集合,用处将每一行的每一列数据都存入集合中
for (int j = firstcell; j <lastcell; j++) {//循环列数
//获取第j列
Cell cell = row.getCell(j);
if (cell != null) {
System.out.print(cell + "\t");
}
}
SchoolInfoBBBBBBBBBBBBBBBBBBVo schoolInfoBBBBBBBBBBBBBBBBBBVo = new SchoolInfoBBBBBBBBBBBBBBBBBBVo();
schoolInfoBBBBBBBBBBBBBBBBBBVo.setOne(row.getCell(0).toString());
schoolInfoBBBBBBBBBBBBBBBBBBVo.setTwo(row.getCell(1).toString());
schoolInfoBBBBBBBBBBBBBBBBBBVo.setThree(row.getCell(2).toString());
schoolInfoBBBBBBBBBBBBBBBBBBVo.setFour(row.getCell(3).toString());
schoolInfoBBBBBBBBBBBBBBBBBBVo.setFive(row.getCell(4).toString());
schoolInfoBBBBBBBBBBBBBBBBBBVo.setSix(row.getCell(5).toString());
schoolInfoBBBBBBBBBBBBBBBBBBVo.setSeven(row.getCell(6).toString());
schoolInfoBBBBBBBBBBBBBBBBBBVo.setEight(row.getCell(7).toString());
schoolInfoBBBBBBBBBBBBBBBBBBVos.add(schoolInfoBBBBBBBBBBBBBBBBBBVo);
}
}
} else {
System.out.println("找不到指定的文件");
}
} catch (Exception e) {
e.printStackTrace();
}
schoolInfoAAAAAAAAAAAAAAAAAVos.forEach(c -> {
List<SchoolInfoBBBBBBBBBBBBBBBBBBVo> collect = schoolInfoBBBBBBBBBBBBBBBBBBVos.stream().filter(e -> e.getTwo().equals(c.getProfessionName())).collect(Collectors.toList());
if (collect.size()>0){
c.setFangShi(collect.get(0).getSix());
c.setProfessionCodeHou(collect.get(0).getSeven());
c.setProfessionNameHou(collect.get(0).getEight());
}
});
for (int i=0;i<schoolInfoAAAAAAAAAAAAAAAAAVos.size();i++) {
StringBuilder sb = new StringBuilder();
sb.append(i).append(",");
sb.append(schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getSchoolName()).append(",");
sb.append(schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getCatgory() == 1?"高水平学校":"高水平专业群").append(",");
sb.append(SeniorUtil.getSchoolGearNameByGearKey(schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getGear())).append("档,");
sb.append(schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getProvince()).append(",");
sb.append(
schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getProvince().equals("北京市") || schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getProvince().equals("天津市") ||
schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getProvince().equals("河北省") || schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getProvince().equals("辽宁省") ||
schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getProvince().equals("上海市") || schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getProvince().equals("江苏省") ||
schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getProvince().equals("浙江省") || schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getProvince().equals("福建省") ||
schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getProvince().equals("山东省") || schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getProvince().equals("广东省") ||
schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getProvince().equals("海南省") ? "东部" :
schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getProvince().equals("山西省") || schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getProvince().equals("吉林省") ||
schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getProvince().equals("黑龙江省") || schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getProvince().equals("安徽省") ||
schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getProvince().equals("江西省") || schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getProvince().equals("河南省") ||
schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getProvince().equals("湖北省") || schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getProvince().equals("湖南省") ? "中部" : "西部").append(",");
sb.append(schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getSpecialtyName()).append(",");
sb.append(schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getProfessionCode()).append(",");
sb.append(schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getProfessionName()).append(",");
sb.append(schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getFangShi()).append(",");
sb.append(schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getProfessionCodeHou()).append(",");
sb.append(schoolInfoAAAAAAAAAAAAAAAAAVos.get(i).getProfessionNameHou()).append(",");
FileUtil.appendFile(filePathOne, sb.toString());
}
return schoolInfoAAAAAAAAAAAAAAAAAVos;
}