系统之家 - 专注于Win10系统的下载网站! 首页win10教程win8教程u盘教程装机软件win7教程

itext生成word文档方法

来源:系统之家发布时间:2015-04-29浏览数:
  • 摘要:在企业的信息系统中,报表处理一直占比较重要的作用,本文将介绍一种生成PDF报表的Java组件--iText。....

  •   在企业的信息系统中,报表处理一直占比较重要的作用,本文将介绍一种生成PDF报表的Java组件--iText。从事程序员职业的朋友可能都会遇到类似情况,经常需要将一个表格导出成word来供客户打印,这个解决问题的方法可以用itext生成word文档方法来实现。下面就教大家itext生成word文档方法:

      需要的jar包:iTextAsian.jar,iText-rtf-2.1.3.jar,iText-2.1.3.jar;

      参考代码:

      response.addHeader("Content-disposition", "attachment;filename=\"" + new String("信息处理表.doc".getBytes("gb2312"), "ISO8859-1"));

      String letrId = request.getParameter("letrId");

      // 创建word文档,并设置纸张的大小

      com.lowagie.text.Document document = new com.lowagie.text.Document(PageSize.A4);

      try {

      RtfWriter2.getInstance(document,"e:\123.doc");

      document.open();

      Font f = new Font();

      String topic= "处理反馈表";

      Paragraph p = new Paragraph(topic, new Font(Font.NORMAL, 18,Font.BOLDITALIC, new Color(0, 0, 0)));

      p.setAlignment(1);

      document.add(p);

      // 设置中文字体

      BaseFont bfFont = BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H",BaseFont.NOT_EMBEDDED);

      //创建有三列的表格

      Table table = new Table(3);

      table.setBorderWidth(1);

      table.setBorderColor(Color.BLACK);

      table.setPadding(0);

      table.setSpacing(0);

      //添加表头的元素

      Cell cell = new Cell(title);// 单元格

      cell.setHorizontalAlignment(Element.ALIGN_CENTER);

      cell.setHeader(true);

      cell.setColspan(3);// 设置表格为三列

      cell.setRowspan(2);// 设置表格为2行

      table.addCell(cell);

      table.endHeaders();// 表头结束

      cell = new Cell("时间:");

      cell.setHorizontalAlignment(Element.ALIGN_CENTER);

      table.addCell(cell);

      cell = new Cell(new Paragraph((vl.getLetrDate()).toString()));

      cell.setHorizontalAlignment(Element.ALIGN_CENTER);

      cell.setColspan(2);

      table.addCell(cell);

      cell = new Cell("重要程度:");

      cell.setHorizontalAlignment(Element.ALIGN_CENTER);

      table.addCell(cell);

      cell = new Cell(new Paragraph((vl.getImptLevel()).toString()));

      cell.setHorizontalAlignment(Element.ALIGN_CENTER);

      cell.setColspan(2);

      table.addCell(cell);

      //测试1

      cell = new Cell("测试1:");

      cell.setRowspan(5);// 当前单元格占两行,纵向跨度

      cell.setHorizontalAlignment(Element.ALIGN_CENTER);

      table.addCell(cell);

      table.addCell("姓名:");

      table.addCell(vl.getPernName());

      table.addCell("性别:");

      table.addCell(vl.getPernSex());

      table.addCell("公司:");

      table.addCell(vl.getPernUnit());

      table.addCell("职务:");

      table.addCell(vl.getPernPost());

      table.addCell("地址:");

      table.addCell(vl.getPernAddress());

      // 测试2

      cell = new Cell("测试2:");

      cell.setRowspan(4);// 当前单元格占两行,纵向跨度

      cell.setHorizontalAlignment(Element.ALIGN_CENTER);

      table.addCell(cell);

      table.addCell("姓名:");

      table.addCell(vl.getWrirName());

      table.addCell("单位 :");

      table.addCell(vl.getWrirOrganization());

      table.addCell("性别:");

      table.addCell(vl.getWrirSex());

      table.addCell("电话:");

      table.addCell(vl.getWrirTnur());

      // 简要内容

      cell = new Cell("简要内容:");

      cell.setHorizontalAlignment(Element.ALIGN_CENTER);

      table.addCell(cell);

      cell = new Cell(new Paragraph(vl.getLetrNote()));

      cell.setColspan(2);

      table.addCell(cell);

      // 测试3

      cell = new Cell("测试3:");

      cell.setHorizontalAlignment(Element.ALIGN_CENTER);

      table.addCell(cell);

      cell = new Cell(new Paragraph(vl.getDeptVerifyOpinion()));

      cell.setColspan(2);

      table.addCell(cell);

      // 测试4

      cell = new Cell("测试4:");

      cell.setHorizontalAlignment(Element.ALIGN_CENTER);

      table.addCell(cell);

      cell = new Cell(new Paragraph(vl.getChargeVerifyOpinion()));

      cell.setColspan(2);

      table.addCell(cell);

      //测试5

      cell = new Cell("测试5:");

      cell.setHorizontalAlignment(Element.ALIGN_CENTER);

      table.addCell(cell);

      cell = new Cell(new Paragraph(vl.getHandleContent()));

      cell.setColspan(2);

      table.addCell(cell);

      document.add(table);

      document.add(new Paragraph("\n"));

      document.close();

      } catch (FileNotFoundException e) {

      e.printStackTrace();

      } catch (DocumentException e) {

      e.printStackTrace();

      } catch (IOException e) {

      e.printStackTrace();

      }

      在word中可以按照你所要求的格式,利用itext的table、cell、图片等“画”出想要的文档格式,然后再将数据往其中填充;如果想要将报表导出成pdf格式的,用itext也可以很轻松的实现。

      以上就是itext生成word文档的方法,希望对大家有所帮助。





  •   关于我们   商务合作   版权声明   网站地图   TAG标签   XML
  •   win10系统下载   深度技术win10   雨林木风win10   win8系统下载 win10
  • Windows系统之家为大家提供一个绿色的平台 Copyright © 2013-2017 www.windowszj.com 版权所有 粤ICP备16128947号-2