iText生成PDF 格式报表
1.导包
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>4.2.1</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-asian</artifactId>
<version>5.2.0</version>
</dependency>
2.添加导出按钮
例如:<a id="exportXlsBtn" icon="icon-print" href="#" class="easyui-linkbutton" plain="true">导出Excel按钮</a>
3.添加导出事件 例如:
$("#exportXlsBtn").click(function(){
$("#searchForm").attr("action","../../report_exportXls.action");
$("#searchForm").submit();
});
4.编写ExportAction,添加exportXls方法 五步走.1.create a document 2.get a pdfWriter instance 3.open a docement 4.add content 5.close the document
@Action(value = "report_exportXls")
public String exportXls() throws IOException {
// 查询出满足当前条件 结果数据
List<WayBill> wayBills = wayBillService.findWayBills(model);
// 下载导出,一个流两个头
// 设置头信息
ServletActionContext.getResponse().setContentType("application/vnd.ms-excel");//设置文件类型MIME类型
String filename="运单数据.xls";
String agent = ServletActionContext.getRequest().getHeader("user-agent");//获得浏览器的类型
filename = FileUtils.encodeDownloadFilename(filename, agent);//进行编码
ServletActionContext.getResponse().setHeader("Content-Disposition",
"attachment;filename=" + filename);
//生成PDF文件
Document document = new Document();
PdfWriter.getInstance(document,ServletActionContext.getResponse().getOutputStream); document.open();
//写PDF数据,
// 向document 生成pdf表格
Table table = new Table(6);
table.setWidth(80); // 宽度
table.setBorder(1); // 边框
table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); // 水平对齐方式
table.getDefaultCell().setVerticalAlignment(Element.ALIGN_TOP); // 垂直对齐方式 // 设置表格字体
BaseFont cn = BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H", false);
Font font = new Font(cn, 10, Font.NORMAL, Color.BLUE); // 向表格写数据
// 表头
table.addCell(buildCell("编号", font));
table.addCell(buildCell("到达地", font));
table.addCell(buildCell("货物", font));
table.addCell(buildCell("数量", font));
table.addCell(buildCell("重量", font));
table.addCell(buildCell("配载要求", font)); // 表格数据
for (WorkOrderManage workOrderManage : workOrderManages) {
table.addCell(buildCell(workOrderManage.getId(), font));
table.addCell(buildCell(workOrderManage.getArrivecity(), font));
table.addCell(buildCell(workOrderManage.getProduct(), font));
table.addCell(buildCell(workOrderManage.getNum().toPlainString(), font));
table.addCell(buildCell(workOrderManage.getWeight().toString(), font));
table.addCell(buildCell(workOrderManage.getFloadreqr(), font));
} // 向文档添加表格
document.add(table);
document.close();
iText生成PDF 格式报表的更多相关文章
- Java Itext 生成PDF文件
利用Java Itext生成PDF文件并导出,实现效果如下: PDFUtil.java package com.jeeplus.modules.order.util; import java.io.O ...
- 在linux环境下使用itext生成pdf
转载请注明出处 https://www.cnblogs.com/majianming/p/9537173.html 项目中需要对订单生成pdf文件,在不断的尝试之后,终于生成了比较满意的pdf文档. ...
- 用itext生成PDF报错:Font 'STSong-Light1' with 'UniGB-UCS2-H' is not recognized.
用itext生成PDF报错,加上try catch捕获到异常是 BaseFont bFont = BaseFont.createFont("STSong-Light1", &quo ...
- 【PDF】java使用Itext生成pdf文档--详解
[API接口] 一.Itext简介 API地址:javadoc/index.html:如 D:/MyJAR/原JAR包/PDF/itext-5.5.3/itextpdf-5.5.3-javadoc/ ...
- Itext生成pdf文件
来源:https://my.oschina.net/lujianing/blog/894365 1.背景 在某些业务场景中,需要提供相关的电子凭证,比如网银/支付宝中转账的电子回单,签约的电子合同等. ...
- 使用itext生成pdf的,各种布局
代码如下,jar包为itext.jar,itextAsia.jar,最好都是最新的 :2张图片也在最后贴出,把图片放到D盘可以直接生成制定格式的pdf. 最后生成的pdf如下: 代码如下: packa ...
- 【Java】使用iText生成PDF文件
iText介绍 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文件转 ...
- java使用iText生成pdf表格
转载地址:http://www.open-open.com/code/view/1424011530749 首先需要你自己下载itext相关的jar包并添加引用,或者在maven中添加如下引用配置: ...
- 利用itext生成pdf的简单例子
一.itext简介 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文 ...
随机推荐
- TOJ 2939 解救小Q
描述 小Q被邪恶的大魔王困在了迷宫里,love8909决定去解救她.迷宫里面有一些陷阱,一旦走到陷阱里,就会被困身亡:(,迷宫里还有一些古老的传送阵,一旦走到传送阵上,会强制被传送到传送阵的另一头. ...
- Shell脚本检测程序,如果挂了就重启程序
脚本如下: #!/bin/sh #要检查的进程名 PROGRESS_NAME="heihu_server" #----------------------------------- ...
- ajax实现的点击数目加1代码实例
ajax实现的点击数目加1代码实例:在点击按钮实现数字增加效果代码实例一章节中,介绍如何点击按钮实现数字加1的效果,但是好像并没有什么实际用处,下面就分享一段相对完整的能够在实际应用中派上用场的代码, ...
- [转]微信小程序开发(二)图片上传+服务端接收
本文转自:http://blog.csdn.net/sk719887916/article/details/54312573 文/YXJ 地址:http://blog.csdn.net/sk71988 ...
- 0、安装Ionic2
1.安装ionic2 $ npm install -g ionic@beta 2.创建项目 $ ionic start 项目名称 --v2 // 默认tabs的模板 $ ionic start 项目 ...
- .Net下Redis使用注意事项
.Net下Redis使用注意事项 注:Redis的安装方法和桌面端工具很多,不在本文讨论范围内. 一:不结合适用场景的技术都是耍流氓,Redis主要适用场景: 简单字符串缓存 简单队列 简单发布订阅 ...
- 科学计算基础包——Numpy
一.NumPy简介 NumPy是高性能科学计算和数据分析的基础包.它是pandas等其他各种工具的基础. 1.NumPy的主要功能 (1)ndarray:一个多维数组结构,高效且节省空间. (2)无需 ...
- javascript统计一个字符在一段字符串出现次数
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" ...
- windows常用命令集锦
开始→运行→输入的命令集锦 gpedit.msc-----组策略 sndrec32-------录音机 Nslookup-------IP地址侦测器 explorer-------打开资源管理器 lo ...
- java面试题之----get和post请求方法的区别
GET和POST两种基本请求方法的区别 GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过req ...