itext官网|itext生成word文档方法

更新时间:2020-01-12 来源:编程 点击:

【www.hzclsc.cn--编程】

从事程序员职业的朋友可能都会遇到类似情况,经常需要将一个表格导出成word来供客户打印,这个解决问题的方法可以用itext生成word文档方法来实现。当然用excel导出也可以实现,但是如果表格主要是文字信息的话使用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也可以很轻松的实现。

本文来源:http://www.hzclsc.cn/ruanjianzixun/45023.html

推荐内容

为您推荐

制作电音的软件|电音创作软件KORG将于明年登录Switch

如果你经常关注我们对任天堂Switch的报道,你可能还记得有家公司正在为Switch制作学习编程的软件,接下来要告诉各位,Switch不单可以用来编程,而且还可以作曲!日本知名的电子音乐作曲工作站软件游戏资讯

2020-12-05 17:04:48   做电音的软件   电音软件手机版  

【支付宝小程序在哪里找】支付宝小程序开发者公测地址 支付宝小程序申请公测网址

支付宝小程序目前已经开始公测了,为大家带来支付宝小程序开发者公测地址,支付宝小程序是手机应用嵌入支付宝客户端的一种方法,下面是支付宝小程序申请公测网址! 支付宝小程序开发者公测地址 特色能力开发服务成编程开发

2020-11-22 11:04:37   支付宝小程序怎么建立   支付宝小程序怎么开发  

[c罗]c++ vector用法详解 c++ vector用法总结

c++ vector是在c++中开发过程中c++ vector作为一个十分有用的容器,许多朋友还不是很清楚c++ vector用法,不知道c++ vector到底有什么优秀的用法,不用着急一起来看看编程开发

2020-11-22 11:04:37   pcba   c盘满了怎么清理  

【eclipse如何导出项目】eclipse怎么导出项目 eclipse导出项目教程

eclipse作为用户量十分大的编程开发软件,有许多新手用户朋友或者刚开始接触这款软件的朋友经常会出现在使用eclipse的时候不知道该怎么导出已经读取到软件中的项目,其实很简单,一起来看看ecli教你一招

2020-11-10 07:04:06   eclipse怎么导入项目   eclipse怎么打开项目  

jdk环境变量配置win10|JDK环境变量配置WIN7 WIN7JDK环境变量配置教程

JDK怎么进行环境变量配置一直是困扰着许多入门编程员的问题,许多用户朋友们如果重新换了一台设备,很容易出现不知道怎么进行环境配置的情况,不用担心,小编为大家带来了详细的在WIN7系统下如果进行JDK教你一招

2020-11-07 11:05:38   jdk安装与环境变量配置   安装jdk并配置环境变量