@RequestMapping(value = "exportRentalhouse",produces = {"application/json;chatset=utf-8"},method =RequestMethod.GET)
@ApiOperation(value= "导出出租房屋",notes = "导出出租房屋")public AjaxResult exportRentalhouse(HttpServletRequest request, @RequestParam Map map,HttpServletResponse response) throwsException {try{
InputStream is= new FileInputStream(ResourceUtils.getFile("classpath:static/doc/rentahouse.docx"));//InputStream is = new FileInputStream("E:\\desktop\\doc\\rentahouse.docx");
XWPFDocument doc = newXWPFDocument(is);
List tables =doc.getTables();
FileOutputStream outStream= null;
OutputStream os=response.getOutputStream();
String fileName= "出租房屋"+getTime();
response.setContentType("application/octet-stream; charset=utf-8");//导出word格式
response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("gb2312"), "ISO8859-1")+".docx");
Map mm1 = new HashMap();
Map mm2 = new HashMap();
List> listmap = new ArrayList<>();
mm1.put("rentaltleid","a5ba1e17ec6647eda347becad01aa3c3");
mm2.put("rentaltleid","9f61b54c5a2c4f9482a218183f5824de");
listmap.add(mm1);
listmap.add(mm2);if(listmap.size() > 1){
OutputStream ot= new FileOutputStream(ResourceUtils.getFile("classpath:static/doc/temp.docx"));for (int i = 1;i < listmap.size();i++) {
doc.createTable();
CTTbl ab=CTTbl.Factory.newInstance();
ab.set(doc.getTables().get(0).getCTTbl());
IBody iBody= doc.getTables().get(0).getBody();
XWPFTable newTable= newXWPFTable(ab, iBody);
doc.setTable(1,newTable);
}
doc.write(ot);
doc.close();
is.close();
InputStream is2= new FileInputStream(ResourceUtils.getFile("classpath:static/doc/temp.docx"));
XWPFDocument doc2= newXWPFDocument(is2);
List tables2 =doc2.getTables();for (int i = 0;i < listmap.size();i++) {
List> lm =appBusRentalhouseService.findRentalhouseContentList(listmap.get(i));
tables2.get(i).getRows().get(2).getTableCells().get(1).setText((String)lm.get(0).get("numberplate"));
tables2.get(i).getRows().get(2).getTableCells().get(3).setText((String)lm.get(0).get("lesseename"));
tables2.get(i).getRows().get(2).getTableCells().get(5).setText((String)lm.get(0).get("lesseephone"));
tables2.get(i).getRows().get(3).getTableCells().get(1).setText((String)lm.get(0).get("idcard"));
tables2.get(i).getRows().get(4).getTableCells().get(1).setText((String)lm.get(0).get("address"));
tables2.get(i).getRows().get(5).getTableCells().get(1).setText((String)lm.get(0).get("workunit"));
tables2.get(i).getRows().get(6).getTableCells().get(1).setText((String)lm.get(0).get("number"));
tables2.get(i).getRows().get(7).getTableCells().get(1).setText((String)lm.get(0).get("startdate"));
tables2.get(i).getRows().get(7).getTableCells().get(3).setText((String)lm.get(0).get("enddate"));
tables2.get(i).getRows().get(8).getTableCells().get(1).setText((String)lm.get(0).get("rent"));
tables2.get(i).getRows().get(8).getTableCells().get(3).setText((String)lm.get(0).get("waterrent"));
tables2.get(i).getRows().get(9).getTableCells().get(1).setText((String)lm.get(0).get("electriccharge"));
tables2.get(i).getRows().get(10).getTableCells().get(1).setText((String)lm.get(0).get("otherfees"));
tables2.get(i).getRows().get(12).getTableCells().get(0).setText((String)lm.get(0).get("detailedlist"));
tables2.get(i).getRows().get(31).getTableCells().get(4).setText((String)lm.get(0).get("writetime"));
tables2.get(i).getRows().get(31).getTableCells().get(1).setText((String)lm.get(0).get("title"));
tables2.get(i).getRows().get(31).getTableCells().get(4).setText((String)lm.get(0).get("eventtime"));
}
doc2.write(os);
doc2.close();
is2.close();
os.close();
}else{
List> lm = appBusRentalhouseService.findRentalhouseContentList(listmap.get(0));
tables.get(0).getRows().get(2).getTableCells().get(1).setText((String)lm.get(0).get("numberplate"));
tables.get(0).getRows().get(2).getTableCells().get(3).setText((String)lm.get(0).get("lesseename"));
tables.get(0).getRows().get(2).getTableCells().get(5).setText((String)lm.get(0).get("lesseephone"));
tables.get(0).getRows().get(3).getTableCells().get(1).setText((String)lm.get(0).get("idcard"));
tables.get(0).getRows().get(4).getTableCells().get(1).setText((String)lm.get(0).get("address"));
tables.get(0).getRows().get(5).getTableCells().get(1).setText((String)lm.get(0).get("workunit"));
tables.get(0).getRows().get(6).getTableCells().get(1).setText((String)lm.get(0).get("number"));
tables.get(0).getRows().get(7).getTableCells().get(1).setText((String)lm.get(0).get("startdate"));
tables.get(0).getRows().get(7).getTableCells().get(3).setText((String)lm.get(0).get("enddate"));
tables.get(0).getRows().get(8).getTableCells().get(1).setText((String)lm.get(0).get("rent"));
tables.get(0).getRows().get(8).getTableCells().get(3).setText((String)lm.get(0).get("waterrent"));
tables.get(0).getRows().get(9).getTableCells().get(1).setText((String)lm.get(0).get("electriccharge"));
tables.get(0).getRows().get(10).getTableCells().get(1).setText((String)lm.get(0).get("otherfees"));
tables.get(0).getRows().get(12).getTableCells().get(0).setText((String)lm.get(0).get("detailedlist"));
tables.get(0).getRows().get(31).getTableCells().get(4).setText((String)lm.get(0).get("writetime"));
tables.get(0).getRows().get(31).getTableCells().get(1).setText((String)lm.get(0).get("title"));
tables.get(0).getRows().get(31).getTableCells().get(4).setText((String)lm.get(0).get("eventtime"));
doc.write(os);
doc.close();
is.close();
os.close();
}return success(AjaxResult.Type.SUCCESS, "导出成功!", null);
}catch(Exception e) {
e.printStackTrace();return error(AjaxResult.Type.ERROR,"导出失败",null);
}
}