poi導出word文檔,doc和docx


docx文檔操作
    @RequestMapping(value = "exportRentalhouse",produces = {"application/json;chatset=utf-8"},method = RequestMethod.GET)
    @ApiOperation(value = "導出出租房屋",notes = "導出出租房屋")
    public AjaxResult exportRentalhouse(HttpServletRequest request, @RequestParam Map<String,Object> map,HttpServletResponse response) throws Exception {
        try {
            InputStream is = new FileInputStream(ResourceUtils.getFile("classpath:static/doc/rentahouse.docx"));
//            InputStream is = new FileInputStream("E:\\desktop\\doc\\rentahouse.docx");
            XWPFDocument doc = new XWPFDocument(is);
            List<XWPFTable> 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<String,Object> mm1 = new HashMap<String,Object>();
            Map<String,Object> mm2 = new HashMap<String,Object>();
            List<Map<String,Object>> 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 = new XWPFTable(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 = new XWPFDocument(is2);
                List<XWPFTable> tables2 = doc2.getTables();
                for (int i = 0;i < listmap.size();i++) {
                    List<Map<String,Object>> 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<Map<String,Object>> 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);
        }
    }

doc文檔操作

 

public static void main(String[] args) throws IOException {
HWPFDocument hwpfDocument = new HWPFDocument(new FileInputStream(new File("文件地址.doc")));
Range range = hwpfDocument.getRange();
TableIterator it = new TableIterator(range);
while (it.hasNext()) {
Table tables = it.next();
for (int i = 0; i < tables.numRows();i++){
TableRow row = tables.getRow(i);
for (int j = 0; j < row.numCells();j++){
System.out.println(i+"行"+j+"列:"+row.getCell(j).text());
}
}
}
}

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM