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程序员或工程师到底需要具备哪些专业技能,面试者在面试之前到底需要准备哪些东西呢?本文陈列的这些内容既可以作为个人简历中的内容,也可以作为面试的时候跟面试官聊的东西,你可以把这些内 ...
随机推荐
- char与unsigned char 差别
char 与 unsigned char的本质差别 http://bbs.csdn.net/topics/270080484 同一个内存内容:10010000 你用char* 解释是-1 ...
- javascript焦点图(能够自己主动切换 )
/* 思路总结: 1.实现图片滚动的function.鼠标经时候获取当前li的index.设置ndex自己主动递增的函数.实现淡入淡出效果的函数 2.整个实现效果一传递index为主线 3.我的编写代 ...
- Java常见问题3:周期之谜
谜24 byte是有符号的.范围是-128 - 127. 而0x90是int类型. 比較的时候.不相等. 假设想让其相等,须要进行类型转换:(byte & 0xff) 或者 (byte)0x9 ...
- poj 3225 间隙(横截面和填充操作)
http://poj.org/problem?id=3225 一道题又做了一天. .这道题对我来说起初有N多难点. 1:区间的开闭怎样解决. . 2:如何把区间的交并补.对称差转化为对线段树的操作. ...
- 怎样设制 select 不可编辑 仅仅读
1. <select style="width:195px" name="role" id="role" onfocus=" ...
- myeclipse如何恢复已删除的文件和代码
这是一篇文章分享秘诀:myeclipse恢复意外删除的文件和代码 [ 恢复误删文件 ] 今天在写代码的时候,不小心把一个包给删除了,然后这个包下全部的文件都没了,相信非常多人都有类似的经历. 幸好my ...
- Android 它们的定义ContentProvider和ContentObserver充分利用
在他们的定义ContentProvider结合ContentObserver一起使用时,自己写的ContentProvider,在运行完insert.delete和update后,要手动地调用getC ...
- [LeetCode66]Plus One
题目: Given a non-negative number represented as an array of digits, plus one to the number. The digit ...
- Object-C 新手教程
大纲 開始吧 下载这篇教学 设定环境 前言 编译 hello world 创建 Classes @interface @implementation 把它们凑在一起 具体说明... 多重參数 建构子( ...
- Android下拉刷新上拉载入控件,对全部View通用!
转载请声明出处http://blog.csdn.net/zhongkejingwang/article/details/38868463 前面写过一篇关于下拉刷新控件的博客下拉刷新控件终结者:Pull ...