aspose.words的word打印中动态打印excel表格

@RequestMapping(value = "/PrintRws")
    @ResponseBody
    public void PrintRws() {
        Map userMap = (Map)session.getAttribute(GlobalNames.SESSION_USER);
        String xnxq = request.getParameter("xnxqid");
        String sj1102id = request.getParameter("sj1102id");
        List<Map> jdapList = this.getQzDao().execSqlQueryToMap("select xh,jdnr,sjap,bz,sj1103id from  sj1103 where sj1102id = '"+sj1102id+"' order by xh asc");
        
        List<Map> bysjList = this.getQzDao().execSqlQueryToMap("select sj1102.sj1102id,sj1102.ztmc,sj1102.ztjj,sj1102.ktmc,xs0101.xh,xs0101.xm as xsxm," +
                " zzdxslx.dmmc as pylx,jx01nd.zymc,xx04.bj,xx0301a.dwmc,xs0701.dqszj,jg0101.xm as jsxm ,zzdjszw.dmmc,xx0301b.dwmc as jsdw,zzdjszw.dmmc as zc," +
                " sj1102.rwmb,sj1102.ktyq ,sj1102.wcxs,sj1102.ckwx,sj1102.xslx" +
                " ,xzr.xm as xzrmc, sj1102.wcsjqs,sj1102.wcsjjs, sj1102.jsrwrq,sj1102.pzrq,sj1102.ysyj" +
                " from sj1102    left join jg0101 xzr on sj1102.xzrid = xzr.jg0101id "+ 
                " left join zzdxslx on zzdxslx.dm = sj1102.xslx "+
                " left join sj1104 on sj1104.sj1102id = sj1102.sj1102id and sj1104.sfxz = '1' "+
                " left join xs0101 on xs0101.xs0101id = sj1104.xs0101id "+
                " left join xs0701 on xs0701.xs0101id = sj1104.xs0101id "+
                " left join xx04 on xx04.xx04id = xs0701.bjbh "+
                " left join jx01nd on jx01nd.jx01ndid = xs0701.jx01ndid "+
                " left join xx0301 xx0301a on xx0301a.xx0301id = xs0701.yxsh "+
                " left join jg0101 on sj1102.zdjsid = jg0101.jg0101id  "+
                " left join xx0301 xx0301b on xx0301b.xx0301id = jg0101.dwh "+
                " left join zzdjszw on zzdjszw.dm = jg0101.zc "+
                " where sj1102.sj1102id = '"+sj1102id+"'");
        
        //模板文件
        
//        OutputStream os;
//        
//        WritableWorkbook workbook = null;
        try {

            Map ktmap = (Map)bysjList.get(0);
        
            String ktmc = StringUtil.getNotNullString(ktmap.get("ktmc"));
            String wcsjqs = StringUtil.getNotNullString(ktmap.get("wcsjqs"));
            wcsjqs = rqzh(wcsjqs);
            String wcsjjs = StringUtil.getNotNullString(ktmap.get("wcsjjs"));
            wcsjjs = rqzh(wcsjjs);
            String dwmc = StringUtil.getNotNullString(ktmap.get("dwmc"));
            String jsxm = StringUtil.getNotNullString(ktmap.get("jsxm"));
            String zymc = StringUtil.getNotNullString(ktmap.get("zymc"));
            String dmmc = StringUtil.getNotNullString(ktmap.get("dmmc"));
            String xsxm = StringUtil.getNotNullString(ktmap.get("xsxm"));
            String xzrmc = StringUtil.getNotNullString(ktmap.get("xzrmc"));
            String jsrwrq = StringUtil.getNotNullString(ktmap.get("jsrwrq"));
            String pzrq = StringUtil.getNotNullString(ktmap.get("pzrq"));
            String ktyq = StringUtil.getNotNullString(ktmap.get("ktyq"));
            String wcxs = StringUtil.getNotNullString(ktmap.get("wcxs"));
            String ckwx = StringUtil.getNotNullString(ktmap.get("ckwx"));
            String ysyj = StringUtil.getNotNullString(ktmap.get("ysyj"));
            StringBuffer jcBuffer =new StringBuffer();
        
            
            String MBURL = request.getSession().getServletContext()
                    .getRealPath("template//byrwsdy.doc");
            
            Document doc1 = new Document(MBURL);// 根据模板创建文件
            Document doc2 = doc1.deepClone();// 完全复制文件
            Section section = null;
            Document doc = null;
            doc = doc2.deepClone();
            section = doc.getSections().get(0);
            
            doc.getRange().replace("$ktmc", ktmc, true, false);
            doc.getRange().replace("$wcsjqs", wcsjqs, true, false);
            doc.getRange().replace("$wcsjjs", wcsjjs, true, false);
            doc.getRange().replace("$dwmc", dwmc, true, false);
            doc.getRange().replace("$jsxm", jsxm, true, false);
            doc.getRange().replace("$zymc", zymc, true, false);
            doc.getRange().replace("$dmmc", dmmc, true, false);
            doc.getRange().replace("$xsxm", xsxm, true, false);
            doc.getRange().replace("$xzrmc", xzrmc, true, false);
            doc.getRange().replace("$jsrwrq", jsrwrq, true, false);
            doc.getRange().replace("$pzrq", pzrq, true, false);
            doc.getRange().replace("$ktyq", ktyq, true, false);
            doc.getRange().replace("$wcxs", wcxs, true, false);
            doc.getRange().replace("$ckwx", ckwx, true, false);
            doc.getRange().replace("$ysyj", ysyj, true, false);
            
            DocumentBuilder builder = new DocumentBuilder(doc);
            builder.moveToBookmark("table") ;
            
            Table table = builder.startTable();
            
            for (Map jdap : jdapList) {
                
                
                String xuhao = StringUtil.getNotNullString(jdap.get("xh"));
                String jdnr = StringUtil.getNotNullString(jdap.get("jdnr"));
                String sjap = StringUtil.getNotNullString(jdap.get("sjap"));
                String bz = StringUtil.getNotNullString(jdap.get("bz"));
                jcBuffer.append("序号:"+xuhao+",");
                jcBuffer.append("毕业设计(论文)各阶段内容:"+jdnr+",");
                jcBuffer.append("时间安排:"+sjap+",");
                jcBuffer.append("备注:"+bz+";");
                
                // Insert a cell
                builder.insertCell();
                // Use fixed column widths.
            //    table.autoFit(AutoFitBehavior.FIXED_COLUMN_WIDTHS);
                builder.getCellFormat().setFitText(true);
                builder.getCellFormat().setWidth(194);
                builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);
                builder.write(xuhao);

                // Insert a cell
                builder.insertCell();
            //    table.autoFit(AutoFitBehavior.FIXED_COLUMN_WIDTHS);
            //    builder.getCellFormat().setFitText(true);
                builder.getCellFormat().setWidth(625);
                builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);                
                builder.write(jdnr);                
            
                builder.insertCell();
            //    table.autoFit(AutoFitBehavior.FIXED_COLUMN_WIDTHS);
            //    builder.getCellFormat().setFitText(true);
                builder.getCellFormat().setWidth(308);
                builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);
                builder.write(sjap);

                builder.insertCell();
            //    table.autoFit(AutoFitBehavior.FIXED_COLUMN_WIDTHS);
            //    builder.getCellFormat().setFitText(true);
                builder.getCellFormat().setWidth(376);
                builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);
                builder.write(bz);


                builder.endRow();

        }
        
        

            builder.endTable();
            
            //builder.moveToBookmark("$jcap");//跳转到书签名是zy的位置
            //builder.write(table);
            //doc.getRange().replace("$jcap", table, true, false);
            
            doc1.getFirstSection().remove();
            //doc1.getFirstSection().remove();

            String filename = "本科毕业设计(论文)任务书";
            byte[] by = filename.getBytes("gbk");
            filename = new String(by, "ISO-8859-1");
            response.addHeader("Content-Disposition", "attachment;filename="
                    + filename + ".doc");
            response.addHeader("Content-Length", "");
            response.setContentType("application/octet-stream");
            OutputStream out = response.getOutputStream();
            doc.save(out, SaveFormat.DOC);
        

} catch (Exception e) {
            e.printStackTrace();
        } finally {
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值