从事程序员职业的朋友可能都会遇到类似情况,经常需要将一个表格导出成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也可以很轻松的实现。
相关视频
相关阅读 利用iText在JSP中生成PDF报表amd 5700显卡和2060对比 amd 5700xt和2070哪个好鬼泣5Unable to intialize steamapi解决方法魅族note9和红米note7哪个好 魅族note9和红米note7哪个值得买鬼泣5缺失可执行文件怎么办 鬼泣5缺失可执行文件exe解决方法魅族note9发布会直播地址 魅族note9手机发布会直播网址Apex英雄奖杯列表 Apex英雄全奖杯达成条件Apex英雄怎么换服务器 Apex英雄服务器切换方法
热门文章 没有查询到任何记录。
最新文章
编程语言排行榜2020年android studio怎么删
eclipse怎么设置编码格式 eclipse设置编码格andriod studio如何使用真机测试 andriod sandroid studio怎么生成apk android studioandroid studio如何导入jar包 android stud
人气排行 安卓模拟器BlueStacks安装使用教程编程语言排行榜2020年9月 TIOBE编程语言排行eclipse字体大小怎么设置 eclipse字体大小plsql developer怎么连接数据库 plsql deveTomcat9.0安装教程 Tomcat9.0环境变量配置方plsql developer怎么使用 plsql developerVisual Studio 2015环境搭建教程Eclipse优化设置教程 Eclipse优化设置技巧
查看所有0条评论>>