在这个程序中我想要在调用service存数据到数据库的同时也使用easyexcel向excel表中写入数据应该怎么改classesforEachx - int majorIndex = datagetDeptsindexOfxgetDept; int coursesIndex = datagetCoursesindexOfxgetCourse;
可以在添加完数据到数据库后,再创建一个ExcelWriter对象,将需要写入的数据写入到excel表中。具体实现可以参考easyexcel的官方文档。代码示例如下:
classes.forEach(x -> { int majorIndex = data.getDepts().indexOf(x.getDept()); int coursesIndex = data.getCourses().indexOf(x.getCourse()); int roomsIndex = data.getRooms().indexOf(x.getRoom()); int instructorsIndex = data.getInstructors().indexOf(x.getInstructor()); int meetingTimeIndex = data.getMeetingTimes().indexOf(x.getMeetingTime());
schRes.setClassNumb(classNumb);
schRes.setDepartent(data.getDepts().get(majorIndex).getName());
schRes.setCourse(data.getCourses().get(coursesIndex).getName());
schRes.setNumber(data.getCourses().get(coursesIndex).getNumber());
schRes.setMaxofs(x.getCourse().getMaxNumbOfStudents());
schRes.setRoom(x.getRoom().getNumber());
schRes.setCapacity(x.getRoom().getSeatingCapacity());
schRes.setInsname(data.getInstructors().get(instructorsIndex).getName());
schRes.setInsid(data.getInstructors().get(instructorsIndex).getId());
schRes.setMtime(data.getMeetingTimes().get(meetingTimeIndex).getTime());
schRes.setMid(data.getMeetingTimes().get(meetingTimeIndex).getId());
schResService.addRes(schRes);
// 写入excel表中
ExcelWriter writer = null;
try {
writer = EasyExcel.write("output.xlsx").build();
WriteSheet sheet = EasyExcel.writerSheet("Sheet1").build();
List<SchRes> dataList = new ArrayList<>();
dataList.add(schRes);
writer.write(dataList, sheet);
} finally {
if (writer != null) {
writer.finish();
}
}
// 输出到控制台
System.out.print(" ");
System.out.print(String.format("%1$02d ", classNumb) + " | ");
System.out.print(String.format("%1$4s", data.getDepts().get(majorIndex).getName()) + " | ");
System.out.print(String.format("%1$21s", data.getCourses().get(coursesIndex).getName() +
"(" + data.getCourses().get(coursesIndex).getNumber() + "," +
x.getCourse().getMaxNumbOfStudents()) + ") | ");
System.out.print(String.format("%1$10s", data.getRooms().get(roomsIndex).getNumber() +
"(" + x.getRoom().getSeatingCapacity()) + ") | ");
System.out.print(String.format("%1$15s", data.getInstructors().get(instructorsIndex).getName() +
"(" + data.getInstructors().get(instructorsIndex).getId() + ")") + "|");
System.out.println(data.getMeetingTimes().get(meetingTimeIndex).getTime() +
"(" + data.getMeetingTimes().get(meetingTimeIndex).getId() + ")");
classNumb++;
});
原文地址: http://www.cveoy.top/t/topic/bDcs 著作权归作者所有。请勿转载和采集!