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 格式报表的更多相关文章

  1. Java Itext 生成PDF文件

    利用Java Itext生成PDF文件并导出,实现效果如下: PDFUtil.java package com.jeeplus.modules.order.util; import java.io.O ...

  2. 在linux环境下使用itext生成pdf

    转载请注明出处 https://www.cnblogs.com/majianming/p/9537173.html 项目中需要对订单生成pdf文件,在不断的尝试之后,终于生成了比较满意的pdf文档. ...

  3. 用itext生成PDF报错:Font 'STSong-Light1' with 'UniGB-UCS2-H' is not recognized.

    用itext生成PDF报错,加上try catch捕获到异常是 BaseFont bFont = BaseFont.createFont("STSong-Light1", &quo ...

  4. 【PDF】java使用Itext生成pdf文档--详解

    [API接口]  一.Itext简介 API地址:javadoc/index.html:如 D:/MyJAR/原JAR包/PDF/itext-5.5.3/itextpdf-5.5.3-javadoc/ ...

  5. Itext生成pdf文件

    来源:https://my.oschina.net/lujianing/blog/894365 1.背景 在某些业务场景中,需要提供相关的电子凭证,比如网银/支付宝中转账的电子回单,签约的电子合同等. ...

  6. 使用itext生成pdf的,各种布局

    代码如下,jar包为itext.jar,itextAsia.jar,最好都是最新的 :2张图片也在最后贴出,把图片放到D盘可以直接生成制定格式的pdf. 最后生成的pdf如下: 代码如下: packa ...

  7. 【Java】使用iText生成PDF文件

    iText介绍 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文件转 ...

  8. java使用iText生成pdf表格

    转载地址:http://www.open-open.com/code/view/1424011530749 首先需要你自己下载itext相关的jar包并添加引用,或者在maven中添加如下引用配置: ...

  9. 利用itext生成pdf的简单例子

    一.itext简介 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库.通过iText不仅可以生成PDF或rtf的文档,而且可以将XML.Html文 ...

随机推荐

  1. GreenPlum 大数据平台--安装

    1. 环境准备 01, 安装包准备: Greenplum :  >>>>链接地址 Pgadmin客户端 :  >>>链接地址 greenplum-cc-web ...

  2. Murano Weekly Meeting 2016.08.16

    Meeting time: 2016.August.16 1:00~2:00 Chairperson:  Kirill Zaitsev, from Mirantis Meeting summary: ...

  3. C#DataTable与Model互转

    /// <summary> /// 实体转换辅助类 /// </summary> public class ModelConvertHelper<T> where ...

  4. 分享:JAVA和C# 3DES加密解密

    最近 一个项目.net 要调用JAVA的WEB SERVICE,数据采用3DES加密,涉及到两种语言3DES一致性的问题,下面分享一下,这里的KEY采用Base64编码,便用分发,因为Java的Byt ...

  5. 队列同步器AbstractQueuedSynchronizer

    AQS是用来构建锁或者其它同步组件的基础框架,它使用一个int变量来表示同步状态,通过内置的FIFO队列来完成获取线程的排队工作,concurrent包的作者Doug Lea期望它能称为实现大部分同步 ...

  6. 浅谈辄止WCF:完成最基本的WCF项目(1)

    Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台. WCF的所有服务都会公开契约.契约包 ...

  7. python中时间对象生成及时间格式的转换

    1.将字符串的时间转换为时间戳 方法: a = "2013-10-10 23:40:00" 将其转换为时间数组 import time timeArray = time.strpt ...

  8. nginx配置多域名

    http{ # 第一个虚拟主机 server { listen 80; server_name aaa.domain.com; #access_log logs/host.access.log mai ...

  9. Python编码规范杂记(很乱:))

    Python编码规范 导入模块 每一个(第三方)模块的导入都需要两个import语句, 如下 使用import some的方式导入模块, 如果有还有子模块的话, 则from father.son im ...

  10. 【转】常用的邮箱服务器(SMTP、POP3)地址、端口

    gmail(google.com)POP3服务器地址:pop.gmail.com(SSL启用 端口:995)SMTP服务器地址:smtp.gmail.com(SSL启用 端口:587) 21cn.co ...