Java 导出word文件

public String getDoc() throws Exception{
//有提示
    ByteArrayOutputStream ba = newByteArrayOutputStream();
    jhLeadT=jhLeadTService.get(id);
    String file =jhLeadT.getName()+"领导信息.doc";
    //设置纸张大小             
    Document document = newDocument(PageSize.A4);
    //设置样式
    BaseFont bfChinese =BaseFont.createFont("STSongStd-Light",  "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
    com.lowagie.text.FontfontChinese = new com.lowagie.text.Font(bfChinese, 12, Font.BOLD,Color.black);
    //建立一个书写器(Writer)与document对象关联,通过书写器(Writer)可以将文档写入到磁盘中           
      RtfWriter2.getInstance(document,ba);    //ACTION 中的处理
      document.open();              //设置中文字体                                       
      // 设置 Table表格             
      TableaTable;
      try {
          aTable= new Table(2);
          //居中显示           
          aTable.setAlignment(Element.ALIGN_MIDDLE);
          aTable.setWidth(90);
          //设置每个cell的宽
          float[] widths = { 0.10f, 0.40f};
          aTable.setWidths(widths);
          //设置表头             
          Cell haderCell = new Cell(newPhrase(jhLeadT.getName()+"的信息",fontChinese));   
          //  表头内信息居中
          haderCell.setHorizontalAlignment(Element.ALIGN_CENTER);
          haderCell.setHeader(true);             
          haderCell.setColspan(2);             
          aTable.addCell(haderCell);             
          aTable.endHeaders();
          aTable.setWidth(90);
//          设置字体
          Cell name=new Cell(newPhrase("姓      名",fontChinese));
          name.setHorizontalAlignment(Element.ALIGN_CENTER);
          aTable.addCell(name);
          aTable.addCell(new Cell(jhLeadT.getName()));
          Cell sex=new Cell(newPhrase("性      别",fontChinese));
          sex.setHorizontalAlignment(Element.ALIGN_CENTER);
          aTable.addCell(sex);             
          aTable.addCell(new Cell(jhLeadT.getSex()));
          Cell personid=new Cell(new Phrase("身份证号",fontChinese));
          personid.setHorizontalAlignment(Element.ALIGN_CENTER);
          aTable.addCell(personid);             
          aTable.addCell(new Cell(jhLeadT.getIdentynum()));
          Cell birday=new Cell(new Phrase("出生日期",fontChinese));
          birday.setHorizontalAlignment(Element.ALIGN_CENTER);
          aTable.addCell(birday);     
          aTable.addCell(new Cell(jhLeadT.getDatetime()));
          Cell wenhua=new Cell(new Phrase("文化程度",fontChinese));
          wenhua.setHorizontalAlignment(Element.ALIGN_CENTER);
          aTable.addCell(wenhua);             
          aTable.addCell(new Cell(jhLeadT.getEduation()));
          Cell xuewei=new Cell(new Phrase("有无学位",fontChinese));
          xuewei.setHorizontalAlignment(Element.ALIGN_CENTER);
          aTable.addCell(xuewei);             
          aTable.addCell(new Cell(jhLeadT.getIshasxuewei()));
          Cell zhicheng=new Cell(newPhrase("职      称",fontChinese));
          zhicheng.setHorizontalAlignment(Element.ALIGN_CENTER);
          aTable.addCell(zhicheng);             
          aTable.addCell(new Cell(jhLeadT.getZhicheng()));
          Cell face=new Cell(new Phrase("政治面貌",fontChinese));
          face.setHorizontalAlignment(Element.ALIGN_CENTER);
          aTable.addCell(face);
          aTable.addCell(new Cell(jhLeadT.getFace()));
          Cell zhiwu=new Cell(newPhrase("职      务",fontChinese));
          zhiwu.setHorizontalAlignment(Element.ALIGN_CENTER);
          aTable.addCell(zhiwu);
          aTable.addCell(new Cell(jhLeadT.getPosition()));
          Cell tel=new Cell(new Phrase("手机/电话",fontChinese));
          tel.setHorizontalAlignment(Element.ALIGN_CENTER);
          aTable.addCell(tel);             
          aTable.addCell(new Cell(jhLeadT.getTel()));
          Cell beizhu=new Cell(newPhrase("备      注",fontChinese));
          beizhu.setHorizontalAlignment(Element.ALIGN_CENTER);
          aTable.addCell(beizhu);             
          aTable.addCell(new Cell(jhLeadT.getIswailai()));
          Cell cell=new Cell(new Phrase("领导简介",fontChinese));
          cell.setColspan(2);
          aTable.addCell(cell);
          Cell cell1=newCell("      "+jhLeadT.getNotes());
          cell1.setColspan(2);
          aTable.addCell(cell1);
        try {
          document.add(aTable);
        }catch (DocumentException e) {
          e.printStackTrace();
                             
        document.close();     
      } catch(BadElementException e) {
        e.printStackTrace();
                           
//          Action 中最后的处理方式
    HttpServletResponse response =ServletActionContext.getResponse();
    response.setContentType("application/doc");
    //str += ".pdf";
    response.setHeader("Content-disposition","attachment;filename="+new String(file.getBytes("GB2312"), "8859_1"));
    ServletOutputStream out=response.getOutputStream();
              ba.writeTo(out);
        out.flush();
    return null;
  }          
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值