DynamicReports
try {
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-disposition", "attachment;filename="
+ URLEncoder.encode("文件名", "UTF-8") + ".xls");
JRDataSource ds = new JRBeanCollectionDataSource(list);
List<ColumnBuilder> columnList = new ArrayList<ColumnBuilder>();
columnList.add(Columns
.column("任务单号", "TASKNUM", DataTypes.stringType())
.setHorizontalAlignment(HorizontalAlignment.CENTER)
.setWidth(150));
columnList.add(Columns.column("任务标题", "TASKTITLE",
DataTypes.stringType()).setWidth(250));
columnList.add(Columns.column("任务内容", "TASKCONTENT",
DataTypes.stringType()).setWidth(250));
columnList.add(Columns.column("检查企业", "OBJECTNAME",
DataTypes.stringType()).setWidth(250));
columnList.add(Columns.column("任务类型", "TASKTYPE",
DataTypes.stringType()));
columnList.add(Columns.column("任务来源", "TASKSOURCENAME",
DataTypes.stringType()));
columnList.add(Columns.column("开始时间", "STARTTIME",
DataTypes.stringType()).setWidth(120));
columnList.add(Columns.column("截止时间", "ENDTIME",
DataTypes.stringType()).setWidth(120));
columnList.add(Columns.column("紧急程度", "URGENCYNAME",
DataTypes.stringType()));
columnList.add(Columns.column("发起人", "CREATERNAME",
DataTypes.stringType()));
columnList.add(Columns.column("任务状态", "TASKSTATUS",
DataTypes.stringType()));
DynamicreportsReport.toXlsReport(columnList, ds,
response.getOutputStream());
} catch (Exception e) {
e.printStackTrace();
}
import static net.sf.dynamicreports.report.builder.DynamicReports.export;
import static net.sf.dynamicreports.report.builder.DynamicReports.report; import java.io.OutputStream;
import java.util.List; import net.sf.dynamicreports.jasper.builder.JasperReportBuilder;
import net.sf.dynamicreports.jasper.builder.export.JasperXlsExporterBuilder;
import net.sf.dynamicreports.jasper.constant.JasperProperty;
import net.sf.dynamicreports.report.builder.column.ColumnBuilder;
import net.sf.jasperreports.engine.JRDataSource; public class DynamicreportsReport { public static void toXlsReport(List<ColumnBuilder> columnList,
JRDataSource dataSource, OutputStream out) throws Exception {
try { JasperXlsExporterBuilder xlsExporter = export.xlsExporter(out)
.setDetectCellType(true).setIgnorePageMargins(true)
.setWhitePageBackground(false)
.setRemoveEmptySpaceBetweenColumns(true); JasperReportBuilder exporterBuilder = report()
.addProperty(JasperProperty.EXPORT_XLS_FREEZE_ROW, "2")
.ignorePageWidth().ignorePagination(); for (ColumnBuilder textColumnBuilder : columnList) {
exporterBuilder = exporterBuilder.columns(textColumnBuilder);
} exporterBuilder.setDataSource(dataSource).toXls(xlsExporter); // out.flush(); } catch (Exception e) {
e.printStackTrace();
} }
}
DynamicReports的更多相关文章
- Java报表开发组件DynamicReports
DynamicReports 是一个基于 JasperReports 进行扩展的 Java 报表库,可用它来快速创建报表而无需可视化报表设计工具. From : http://www.oschina ...
- DynamicReports 导出Excel 例子
import java.awt.Color; import java.io.FileOutputStream; import java.util.ArrayList; import java.util ...
- Java资源大全中文版(Awesome最新版)
Awesome系列的Java资源整理.awesome-java 就是akullpp发起维护的Java资源列表,内容包括:构建工具.数据库.框架.模板.安全.代码分析.日志.第三方库.书籍.Java 站 ...
- 国外程序员整理的Java资源大全分享
Java 几乎是许多程序员们的入门语言,并且也是世界上非常流行的编程语言.国外程序员 Andreas Kull 在其 Github 上整理了非常优秀的 Java 开发资源,推荐给大家. 译文由 Imp ...
- 基于java平台的常用资源整理
这里整理了基于java平台的常用资源 翻译 from :akullpp | awesome-java 大家一起学习,共同进步. 如果大家觉得有用,就mark一下,赞一下,或评论一下,让更多的人知道.t ...
- 完整全面的Java资源库(包括构建、操作、代码分析、编译器、数据库、社区等等)
构建 这里搜集了用来构建应用程序的工具. Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建.Maven优于Apache Ant.后者采用了一种过程化 ...
- Java资源大全中文版(Awesome最新版)(转载)
原文地址:http://www.cnblogs.com/best/p/5876559.html 目录 业务流程管理套件 字节码操作 集群管理 代码分析 编译器生成工具 构建工具 外部配置工具 约束满足 ...
- 这里整理了基于java平台的常用资源
这里整理了基于java平台的常用资源 翻译 from :akullpp | awesome-java 大家一起学习,共同进步. 如果大家觉得有用,就mark一下,赞一下,或评论一下,让更多的人知道.t ...
- Java就业指导
想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,面试者在面试之前到底需要准备哪些东西呢?本文陈列的这些内容既可以作为个人简历中的内容,也可以作为面试的时候跟面试官聊的东西,你可以把这些内 ...
随机推荐
- #define XXX do{ XXX } while(0) 为什么使用
#define XXX do{ XXX } while(0) 为什么使用 时常会遇到一个非常"奇怪的宏定义", rt.(欧西巴...思考不够深刻啊, 皮鞭, 啪啪啪) 近期又遇到这 ...
- WebService什么?
一.前言 我们或多或少都听过WebService(Web服务),有一段时间非常多计算机期刊.书籍和站点都大肆的提及和宣传WebService技术.当中不乏非常多吹嘘和做广告的成分.可是不得不承认的是W ...
- 说说nio2
利不百不变法,功不十不易器 为什么会出现nio,之前的io有什么问题? 请先看 说说nio1 nio类图例如以下 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZX ...
- RSA算法加密解密
该工具类中用到了BASE64,需要借助第三方类库:javabase64-1.3.1. jar 注意:RSA加密明文最大长度117字节,解密要求密文最大长度为128字节,所以在加密和解密的过程中需要分块 ...
- [LeetCode299]Bulls and Cows
题目: You are playing the following Bulls and Cows game with your friend: You write down a number and ...
- [LeetCode160]Intersection of Two Linked Lists
题目: Write a program to find the node at which the intersection of two singly linked lists begins. ...
- dev XtraMessageBox按钮显示中文
dev的XtraMessageBox控件使用起来很美观,但默认显示确定的是英文,如下图: 通过下面代码可使“OK”显示为中文:首先创建一个继承自Localizer的类: using DevExpres ...
- sqlite 中文排序
看 http://www.cnblogs.com/08shiyan/archive/2012/05/11/2496491.html 这个方法 不太好用 最好的办法是 表添加pinyin字段. 插入数据 ...
- Jafka来源分析——Processor
Jafka Acceptor接受client而建立后的连接请求,Acceptor会将Socket连接交给Processor进行处理.Processor通过下面的处理步骤进行client请求的处理: 1 ...
- JavaScipt面向对象编程----闭包
在javascript中闭包是一个非常不好理解的概念,可是确实一个不可逃避的东西,那么今天我们就来一起学习一下闭包. 什么是闭包? 闭包:官方"的解释是:闭包是一个拥有很多变量和绑定了这些变 ...