itext生成word文档方法

 我来答
科技二三事2333
2022-11-11 · TA获得超过287个赞
知道小有建树答主
回答量:853
采纳率:100%
帮助的人:83.3万
展开全部

  从事程序员职业的朋友可能都会遇到类似情况,经常需要将一个表格导出成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();

  Fontf=newFont();

  Stringtopic="处理反馈表";

  Paragraphp=newParagraph(topic,newFont(Font.NORMAL,18,Font.BOLDITALIC,newColor(0,0,0)));

  p.setAlignment(1);

  document.add(p);

  //设置中文字体

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

  //创建有三列的表格

  Tabletable=newTable(3);

  table.setBorderWidth(1);

  table.setBorderColor(Color.BLACK);

  table.setPadding(0);

  table.setSpacing(0);

  //添加表头的元素

  Cellcell=newCell(title);//单元格

  cell.setHorizontalAlignment(Element.ALIGN_CENTER);

  cell.setHeader(true);

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

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

  table.addCell(cell);

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

  cell=newCell("时间:");

  cell.setHorizontalAlignment(Element.ALIGN_CENTER);

  table.addCell(cell);

  cell=newCell(newParagraph((vl.getLetrDate())。toString()));

  cell.setHorizontalAlignment(Element.ALIGN_CENTER);

  cell.setColspan(2);

  table.addCell(cell);

  cell=newCell("重要程度:");

  cell.setHorizontalAlignment(Element.ALIGN_CENTER);

  table.addCell(cell);

  cell=newCell(newParagraph((vl.getImptLevel())。toString()));

  cell.setHorizontalAlignment(Element.ALIGN_CENTER);

  cell.setColspan(2);

  table.addCell(cell);

  //测试1

  cell=newCell("测试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=newCell("测试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=newCell("简要内容:");

  cell.setHorizontalAlignment(Element.ALIGN_CENTER);

  table.addCell(cell);

  cell=newCell(newParagraph(vl.getLetrNote()));

  cell.setColspan(2);

  table.addCell(cell);

  //测试3

  cell=newCell("测试3:");

  cell.setHorizontalAlignment(Element.ALIGN_CENTER);

  table.addCell(cell);

  cell=newCell(newParagraph(vl.getDeptVerifyOpinion()));

  cell.setColspan(2);

  table.addCell(cell);

  //测试4

  cell=newCell("测试4:");

  cell.setHorizontalAlignment(Element.ALIGN_CENTER);

  table.addCell(cell);

  cell=newCell(newParagraph(vl.getChargeVerifyOpinion()));

  cell.setColspan(2);

  table.addCell(cell);

  //测试5

  cell=newCell("测试5:");

  cell.setHorizontalAlignment(Element.ALIGN_CENTER);

  table.addCell(cell);

  cell=newCell(newParagraph(vl.getHandleContent()));

  cell.setColspan(2);

  table.addCell(cell);

  document.add(table);

  document.add(newParagraph(""));

  document.close();

  }catch(FileNotFoundExceptione){

  e.printStackTrace();

  }catch(DocumentExceptione){

  e.printStackTrace();

  }catch(IOExceptione){

  e.printStackTrace();

  }

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

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
博思aippt
2024-07-20 广告
作为深圳市博思云创科技有限公司的工作人员,对于Word文档生成PPT的操作,我们有以下建议:1. 使用另存为功能:在Word中编辑完文档后,点击文件->另存为,选择PowerPoint演示文稿(*.pptx)格式,即可将文档内容转换为PPT... 点击进入详情页
本回答由博思aippt提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式