Как абстрагировать и экспортировать данные из нескольких таблиц в один файл Excel?
Я создаю файл Excel с JExcel и пытаюсь отобразить несколько значений таблицы.
@RequestMapping(value = "/resilenceCenterExcel", method = RequestMethod.GET)
public void defaultPageExce654(ModelMap model, HttpServletRequest request,HttpServletResponse response) {
OutputStream out = null;
try
{
List<ResilenceCenter> resilence=resilenceCenterService.doGetAllResilenceCenter();
response.setContentType("application/vnd.ms-excel");
SimpleDateFormat st = new SimpleDateFormat("MM/dd/yy");
response.setHeader("Content-Disposition",
"attachment; filename=ResilenceCenterExcel.xls");
WritableWorkbook w = Workbook.createWorkbook(response.getOutputStream());
WritableSheet s = w.createSheet("Demo", 0);
s.addCell(new Label(0, 0, "CCC ID"));
s.addCell(new Label(1, 0, "Source of reporting"));
s.addCell(new Label(2, 0, "Butterflies ID"));
s.addCell(new Label(3, 0, "Reported by"));
s.addCell(new Label(4, 0, "Area of intervention"));
s.addCell(new Label(5, 0, "Case Category"));
s.addCell(new Label(6, 0, "Child located"));
s.addCell(new Label(7, 0, "Any kind of official document available"));
s.addCell(new Label(8, 0, "Name of the Child"));
s.addCell(new Label(9, 0, "Sex of the Child"));
s.addCell(new Label(10, 0, "Father/ Mother Name"));
s.addCell(new Label(11, 0, "Local/ present address of the Child"));
s.addCell(new Label(12, 0, "Permanent address"));
s.addCell(new Label(13, 0, "DD entry done"));
s.addCell(new Label(14, 0, "DD No"));
s.addCell(new Label(15, 0, "DD Police Station Name"));
s.addCell(new Label(16, 0, "FIR lodged"));
s.addCell(new Label(17, 0, "FIR no"));
s.addCell(new Label(18, 0, "FIR Police Station Name"));
s.addCell(new Label(19, 0, "Child produced before the CWC"));
s.addCell(new Label(20, 0, "CWC ID"));
s.addCell(new Label(21, 0, "Provided shelter in resilience centre"));
s.addCell(new Label(22, 0, "track the missing child ID"));
s.addCell(new Label(23, 0, "Duration of stay"));
s.addCell(new Label(24, 0, "Reasons for leaving"));
s.addCell(new Label(25, 0, "Status"));
s.addCell(new Label(26, 0, "Assistance provided"));
s.addCell(new Label(27, 0, "Closing comments"));
int i=1;
for(ResilenceCenter resilenceCenter:resilence){
s.addCell(new Label(0, i, resilenceCenter.getCccId()));
s.addCell(new Label(1, i, resilenceCenter.getSourceOfReportingCccId()));
s.addCell(new Label(2, i, resilenceCenter.getBtfId()));
s.addCell(new Label(3, i, resilenceCenter.getReportedBy()));
s.addCell(new Label(4, i, resilenceCenter.getAreaOfIntervention()));
s.addCell(new Label(5, i, resilenceCenter.getCaseCategory()));
s.addCell(new Label(6, i, resilenceCenter.getChildLocated()));
s.addCell(new Label(7, i, resilenceCenter.getDocumentAvailable()));
s.addCell(new Label(8, i, resilenceCenter.getChildName()));
s.addCell(new Label(9, i, resilenceCenter.getChildSex()));
s.addCell(new Label(10, i, resilenceCenter.getFatherMotherName()));
s.addCell(new Label(11, i, resilenceCenter.getLocalAddress()));
s.addCell(new Label(12, i, resilenceCenter.getPermanentAddress()));
s.addCell(new Label(13, i, resilenceCenter.getDdEntry()));
s.addCell(new Label(14, i, resilenceCenter.getDdNo()));
s.addCell(new Label(15, i, resilenceCenter.getDdPoliceStation()));
s.addCell(new Label(16, i, resilenceCenter.getFirLodged()));
s.addCell(new Label(17, i, resilenceCenter.getSectionFir()));
s.addCell(new Label(18, i, resilenceCenter.getFirPoliceStation()));
s.addCell(new Label(19, i, resilenceCenter.getChildCwc()));
s.addCell(new Label(20, i, resilenceCenter.getCwcId()));
s.addCell(new Label(21, i, resilenceCenter.getShelter()));
s.addCell(new Label(22, i, resilenceCenter.getTrackMissingChildId()));
s.addCell(new Label(23, i, resilenceCenter.getDurationOfStay()));
s.addCell(new Label(24, i, resilenceCenter.getReasonsForLeaving()));
s.addCell(new Label(25, i, resilenceCenter.getStatus()));
s.addCell(new Label(26, i, resilenceCenter.getAssistanceProvided()));
s.addCell(new Label(27, i, resilenceCenter.getClosingComment()));
i++;
}
w.write();
w.close();
} catch (Exception e)
{
e.printStackTrace();
} finally
{
if (out != null)
try{
out.close();
}catch(Exception e){
}
}
}