x
当前位置:首页 > 电脑知识

itext生成word文档方法

2015-04-27 14:38:29    来源:Windows10系统之家    作者:佚名

  在企业的信息系统中,报表处理一直占比较重要的作用,本文将介绍一种生成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文档的方法,希望对大家有所帮助。

标签:
itextitext生成word

本站资源均收集于互联网,其著作权归原作者所有,如果有侵犯您权利的资源,请来信告知,我们将及时撒销相应资源。

Windows系统之家为大家提供一个绿色的平台 Copyright © 2013-2019 www.windowszj.com 版权所有 粤ICP备16128947号-2