Export word java using poi

 // print work orders pdf
  
  @RequestMapping(value = "/WORKDY_WORD", method = RequestMethod.GET, produces = "application/html;charset=UTF-8")
    @ResponseBody
    public void WORKDY_WORD(@RequestParam(value = "V_V_ORDERGUID") String V_V_ORDERGUID,
                           HttpServletResponse response)
            throws Exception , SQLException {
        List gxlist = new ArrayList();
        List mmlist=new ArrayList();
        //工单基本信息
        List<Map<String, Object>> workresult = (List) cjyService.PRO_PM_WORKORDER_GET(V_V_ORDERGUID).get("list");
        String V_V_ORGCODE = workresult.get(0).get("V_ORGCODE").toString();//厂矿
        String V_WORK_TYPE =workresult.get(0).get("V_ORDER_TYP_TXT").toString();//工单类型
        String V_DEPT_CODE =workresult.get(0).get("V_DEPTCODE").toString();//作业区

        //工序
        List<Map<String, Object>> workgxresult = (List) zdhService.PRO_PM_WORKORDER_ET_OPERATIONS(V_V_ORDERGUID).get("list");
//        Map<String, Object> gxdata = zdhService.PRO_PM_WORKORDER_ET_OPERATIONS(V_V_ORDERGUID);
//        if(gxdata.size()>0){ gxlist = (List) gxdata.get("list"); }

        //物料
        List<Map<String, Object>> mmresult = (List) zdhService.PRO_PM_WORKORDER_ET_OPERATIONS(V_V_ORDERGUID).get("list");
//        Map<String, Object> mmdata = zdhService.PRO_PM_WORKORDER_ET_OPERATIONS(V_V_ORDERGUID);
//        if(mmdata.size()>0){ mmlist = (List) mmdata.get("list"); }


        //Blank Document
        XWPFDocument document= new XWPFDocument();

        response.setContentType("application/msword;charset=UTF-8");
        response.setHeader("Content-Disposition", "attachment; filename="
                + URLEncoder.encode("工单打印导出.doc", "UTF-8"));
        //Write the Document in file system
//        FileOutputStream out = new FileOutputStream(new File("工单打印导出.docx"));

        //添加标题
        XWPFParagraph titleParagraph = document.createParagraph();
        //设置段落居中
        titleParagraph.setAlignment(ParagraphAlignment.CENTER);

        XWPFRun titleParagraphRun = titleParagraph.createRun();
        titleParagraphRun.setText("工单打印");
        titleParagraphRun.setColor("000000");
        titleParagraphRun.setFontSize(16);

        //换行
        XWPFParagraph paragraph1 = document.createParagraph();
        XWPFRun paragraphRun1 = paragraph1.createRun();
        paragraphRun1.setText("\r");

        //基本信息表格
        XWPFTable baseTable = document.createTable();
        //表格第一行
        XWPFTableRow baseTableRowOne = baseTable.getRow(0);
        baseTableRowOne.getCell(0).setText("@基本信息栏");

        //表格第二行
        XWPFTableRow baseTableRowTwo = baseTable.createRow();
        baseTableRowTwo.getCell(0).setText("厂矿单位");
        baseTableRowTwo.getCell(1).setText(V_V_ORGCODE);
        baseTableRowTwo.getCell(2).setText("工单类型");
        baseTableRowTwo.getCell(3).setText(V_WORK_TYPE);

        //表格第三行
        XWPFTableRow baseTableRowThree = baseTable.createRow();
        baseTableRowThree.getCell(0).setText("作业区");
        baseTableRowThree.getCell(1).setText(V_DEPT_CODE);
        baseTableRowThree.getCell(2).setText("工单号");
        baseTableRowThree.getCell(3).setText(workresult.get(0).get("V_ORDERID").toString());

        //表格第四行
        XWPFTableRow baseTableRowfour = baseTable.createRow();
        baseTableRowfour.getCell(0).setText("设备编码");
        baseTableRowfour.getCell(1).setText(workresult.get(0).get("V_EQUIP_NO").toString());

        //表格第五行
        XWPFTableRow baseTableRowFive = baseTable.createRow();
        baseTableRowFive.getCell(0).setText("功能位置");
        baseTableRowFive.getCell(1).setText(workresult.get(0).get("V_EQUSITENAME").toString());

        //表格第六行
        XWPFTableRow baseTableRowSix = baseTable.createRow();
        baseTableRowSix.setHeight(44);
        baseTableRowSix.getCell(0).setText("工单描述");
        baseTableRowSix.getCell(1).setText(workresult.get(0).get("V_SHORT_TXT").toString());

        //表格第七行
        XWPFTableRow baseTableRowSeven = baseTable.createRow();
        baseTableRowSeven.getCell(0).setText("@任务信息栏");

        //表格第八行
        XWPFTableRow baseTableRowEight = baseTable.createRow();
        baseTableRowEight.getCell(0).setText("WBS编码");
        baseTableRowEight.getCell(1).setText(workresult.get(0).get("V_WBS").toString());

        //表格第九行
        XWPFTableRow baseTableRowNine = baseTable.createRow();
        baseTableRowNine.getCell(0).setText("项目名称");
        baseTableRowNine.getCell(1).setText(workresult.get(0).get("V_WBS_TXT").toString());

        //表格第十行
        XWPFTableRow baseTableRowTen= baseTable.createRow();
        baseTableRowTen.getCell(0).setText("创建人");
        baseTableRowTen.getCell(1).setText(workresult.get(0).get("V_ENTERED_BY").toString());
        baseTableRowTen.getCell(2).setText("创建时间");
        baseTableRowTen.getCell(3).setText(workresult.get(0).get("D_ENTER_DATE").toString());

        //表格第十一行
        XWPFTableRow baseTableRowEleven= baseTable.createRow();
        baseTableRowEleven.getCell(0).setText("计划开始时间");
        baseTableRowEleven.getCell(1).setText(workresult.get(0).get("D_START_DATE").toString());
        baseTableRowEleven.getCell(2).setText("实际开始时间");
        baseTableRowEleven.getCell(3).setText(workresult.get(0).get("D_FACT_START_DATE").toString());

        //表格第十二行
        XWPFTableRow baseTableRowTwelve= baseTable.createRow();
        baseTableRowTwelve.getCell(0).setText("计划结束时间");
        baseTableRowTwelve.getCell(1).setText(workresult.get(0).get("D_FINISH_DATE").toString());
        baseTableRowTwelve.getCell(2).setText("实际结束时间");
        baseTableRowTwelve.getCell(3).setText(workresult.get(0).get("D_FACT_FINISH_DATE").toString());


        //工序表格
        XWPFTable gxTable = document.createTable();
        //列宽自动分割
        CTTblWidth gxTableWidth = gxTable.getCTTbl().addNewTblPr().addNewTblW();
        gxTableWidth.setType(STTblWidth.DXA);
        gxTableWidth.setW(BigInteger.valueOf(9072));

        //表格第一行
        XWPFTableRow gxTableRowOne = gxTable.getRow(0);
        gxTableRowOne.getCell(0).setText("工序编号");
        gxTableRowOne.getCell(1).setText("工作中心");
        gxTableRowOne.getCell(2).setText("工序内容");
        gxTableRowOne.getCell(3).setText("定额时间");
        gxTableRowOne.getCell(4).setText("定额人数");
        gxTableRowOne.getCell(5).setText("实际时间");
        gxTableRowOne.getCell(6).setText("实际人数");
        gxTableRowOne.getCell(7).setText("机具");
        gxTableRowOne.getCell(8).setText("工具");
        gxTableRowOne.getCell(9).setText("技术要求");
        gxTableRowOne.getCell(10).setText("安全措施");


        if(workgxresult.size()>0){
            for(int i=1;i<=workgxresult.size();i++)
            {
                XWPFTableRow gxtableRow=gxTable.createRow();
                gxtableRow.getCell(0).setText(workgxresult.get(i).get("V_ACTIVITY").toString());
                gxtableRow.getCell(1).setText(workgxresult.get(i).get("V_WORK_CENTER").toString());
                gxtableRow.getCell(2).setText(workgxresult.get(i).get("V_DESCRIPTION").toString());
                gxtableRow.getCell(3).setText(workgxresult.get(i).get("I_WORK_ACTIVITY").toString());
                gxtableRow.getCell(4).setText(workgxresult.get(i).get("I_DURATION_NORMAL").toString());
                gxtableRow.getCell(5).setText(workgxresult.get(i).get("I_ACTUAL_TIME").toString());
                gxtableRow.getCell(6).setText(workgxresult.get(i).get("I_NUMBER_OF_PEOPLE").toString());
                gxtableRow.getCell(7).setText(workgxresult.get(i).get("V_JJ_NAME").toString());
                gxtableRow.getCell(8).setText(workgxresult.get(i).get("V_GJ_NAME").toString());
                gxtableRow.getCell(9).setText(workgxresult.get(i).get("V_JSQY_NAME").toString());
                gxtableRow.getCell(10).setText(workgxresult.get(i).get("V_AQSC_NAME").toString());
            }
        }




        //物料表格
        XWPFTable matTable = document.createTable();
        //列宽自动分割
        CTTblWidth matTableWidth = matTable.getCTTbl().addNewTblPr().addNewTblW();
        matTableWidth.setType(STTblWidth.DXA);
        matTableWidth.setW(BigInteger.valueOf(9072));

        //表格第一行
        XWPFTableRow mmTableRowOne = matTable.getRow(0);
        mmTableRowOne.getCell(0).setText("序号");
        mmTableRowOne.getCell(1).setText("工序");
        mmTableRowOne.getCell(2).setText("物料编码");
        mmTableRowOne.getCell(3).setText("物料描述");
        mmTableRowOne.getCell(4).setText("单位");
        mmTableRowOne.getCell(5).setText("计划数量");
        mmTableRowOne.getCell(6).setText("计划总金额");
        mmTableRowOne.getCell(7).setText("实际数量");
        mmTableRowOne.getCell(8).setText("实际总金额");
        mmTableRowOne.getCell(9).setText("备注");

        if(mmresult.size()>0){
            for(int i=1;i<=mmresult.size();i++)
            {
                XWPFTableRow mattableRow=matTable.createRow();
                mattableRow.getCell(0).setText(mmresult.get(i).get("sid").toString());
                mattableRow.getCell(1).setText(mmresult.get(i).get("V_ACTIVITY").toString());
                mattableRow.getCell(2).setText(mmresult.get(i).get("V_MATERIALCODE").toString());
                mattableRow.getCell(3).setText(mmresult.get(i).get("V_MATERIALNAME").toString());
                mattableRow.getCell(4).setText(mmresult.get(i).get("V_UNIT").toString());
                mattableRow.getCell(5).setText(mmresult.get(i).get("I_PLANAMOUNT").toString());
                mattableRow.getCell(6).setText(mmresult.get(i).get("F_PLANMONEY").toString());
                mattableRow.getCell(7).setText(mmresult.get(i).get("I_ACTUALAMOUNT").toString());
                mattableRow.getCell(8).setText(mmresult.get(i).get("F_ACTUALMONEY").toString());
                mattableRow.getCell(9).setText(">&nbsp;");
            }
        }
        try {
            OutputStream out = response.getOutputStream();
            document.write(out);
            out.flush();
            out.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

 

Guess you like

Origin blog.csdn.net/woyizhizaizhaoni/article/details/95303966