itext分解word文档方法专门从事程序员职业的朋友有可能都会遇上类似于情况,常常必须将一个表格给定成word来供客户打印机,这个解决问题的方法可以用itext分解word文档方法来构建。当然用excel给定也可以构建,但是如果表格主要是文字信息的话用于word文档更加适合。
必须的jar包在:iTextAsian.jar,iText-rtf-2.1.3.jar,iText-2.1.3.jar;1/12参照代码:response.addHeader(Content-disposition,attachment;filename=+newString(信息处理表格.doc.getBytes(gb2312),ISO8859-1));StringletrId=request.getParameter(letrId);2/12//创立word文档,并设置纸张的大小com.lowagie.text.Documentdocument=newcom.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);3/12//设置中文字体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);4/12//加到配置文件的元素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()));5/12cell.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);6/12//测试1cell=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());7/12table.addCell(地址:);table.addCell(vl.getPernAddress());//测试2cell=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());8/12table.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);9/12//测试3cell=newCell(测试3:);cell.setHorizontalAlignment(Element.ALIGN_CENTER);table.addCell(cell);cell=newCell(newParagraph(vl.getDeptVerifyOpinion()));cell.setColspan(2);table.addCell(cell);10/12//测试4cell=newCell(测试4:);cell.setHorizontalAlignment(Element.ALIGN_CENTER);table.addCell(cell);cell=newCell(newParagraph(vl.getChargeVerifyOpinion()));cell.setColspan(2);table.addCell(cell);11/12//测试5cell=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());12/12document.close();}catch(FileNotFoundExceptione){e.printStackTrace();}catch(DocumentExceptione){e.printStackTrace();}catch(IOExceptione){e.printStackTrace();}在word中可以按照你所拒绝的格式,利用itext的table、cell、图片等“画”出有想的文档格式,然后再行将数据往其中填满;如果想将报表给定成pdf格式的,用itext也可以很精彩的构建。
本文来源:亚美体育app-www.rv02.com
Copyright © 2009-2024 www.rv02.com. 亚美体育app科技 版权所有备案号:ICP备21167179号-3网站地图