Jasper_sheetName_defined by parameter or hard coding or filed name
1、根据传递的参数定义sheet name (jasper sheet name defined by parameter)
(1) 获取后台参数
<parameter name="PARAMS_PROVIDER" class="com......jasper.writer.JRParamsProvider" isForPrompting="false"/>
<parameter name="P_FIN_PRES" class="java.lang.String">
<defaultValueExpression><![CDATA[$P{PARAMS_PROVIDER}.getQueryParams().get("P_SheetName")]]></defaultValueExpression>
</parameter>
(2) 根据参数定义sheetname, 定义在main report 的 pageHeader 中。
<line>
<reportElement x="0" y="0" width="1" height="1" uuid="141e6753-0b2c-4b74-be35-5826e4df4eb2">
<propertyExpression name="net.sf.jasperreports.export.xls.sheet.name"><![CDATA[$P{P_SheetName}]]></propertyExpression>
</reportElement>
</line>
2、在jasper main report 中硬编码,不同sheet页的sheet name 需要用 "/" 隔开。 (jasper sheet name defined by hard coding)
<property name="net.sf.jasperreports.export.xls.sheet.names.all" value="Sheet1Name/Sheet2Name/Sheet3Name"/>
3、 在jasper sub report 中使用子报表的数据源字段作为sheetName. (jasper sheet name defined by field name)
<group name="Group1">
<groupExpression><![CDATA[$F{Restriction Id}]]></groupExpression>
<groupHeader>
<band height="20">
<property name="com.jaspersoft.studio.unit.height" value="pixel"/>
<textField>
<reportElement mode="Opaque" x="0" y="0" width="555" height="20" backcolor="#A6A2A2" uuid="23780fba-1d03-40d6-8c45-fe4ff67e83ad">
<propertyExpression name="net.sf.jasperreports.export.xls.sheet.name"><![CDATA[$F{Restriction Id}]]></propertyExpression>
</reportElement>
4、每个 sheet 页的 sheet name 长度不能超过31 个字符。超过的部分将会被截断。
Jasper_sheetName_defined by parameter or hard coding or filed name的更多相关文章
- scrapy(四): 爬取二级页面的内容
scrapy爬取二级页面的内容 1.定义数据结构item.py文件 # -*- coding: utf-8 -*- ''' field: item.py ''' # Define here the m ...
- scrapy (三) : 请求传参
scrapy 请求传参 1.定义数据结构item.py文件 ''' field: item.py ''' # -*- coding: utf-8 -*- # Define here the model ...
- Projected coordinate systems 和 wkid
Projected coordinate systems Well-known ID Name Well-known text 2000 Anguilla_1957_British_West_Indi ...
- Coding源码学习第三部分(EaseStartView.m)
首先接上篇的要做一个NSEnumerator 类的延展阅读. 枚举(NSEnumerator) (1)依附于集合类(NSArray,NSSet,NSDictionary),没有用来创建实例的接口. ( ...
- 编程风格(Coding Style)要求
编程风格(Coding Style)要求2.1.1 文件(1) 每个模块(module)一般应存在于单独的源文件中,通常源文件名与所包含模块名相同.(2) 每个设计文件开头应包含如下注释内容:? 年份 ...
- A few things to remember while coding in Python.
A few things to remember while coding in Python. - 17 May 2012 - UPDATE: There has been much discuss ...
- (转帖) 有限狀態機FSM coding style整理 (SOC) (Verilog)
来源:http://www.codesoso.net/Record/101092_95120_21.html 来源:http://www.cnblogs.com/oomusou/archive/201 ...
- Java – 4 Security Vulnerabilities Related Coding Practices to Avoid---reference
This article represents top 4 security vulnerabilities related coding practice to avoid while you ar ...
- linux c coding style
Linux kernel coding style This is a short document describing the preferred coding style for the lin ...
随机推荐
- hdu Free DIY Tour
http://acm.hdu.edu.cn/showproblem.php?pid=1224 #include <cstdio> #include <cstring> #inc ...
- TVS和一般的稳压二极管有什么区别
电压及电流的瞬态干扰是造成电子电路及设备损坏的主要原因,常给人们带来无法估量的损失.这些干扰通常来自于电力设备的起停操作.交流电网的不稳定.雷击干扰及静电放电等,瞬态干扰几乎无处不在.无时不有,使人感 ...
- Qt创建和使用动态链接库
一.创建共享库 1.新其他建项目,选择C++库 2.选择共享库,并取项目名称,单击下一步.这里取名位mylib 3.按默认配置单击下一步至模块选项,选择所需支持的模块.这里勾选Qtcore和QtGui ...
- Ushare应用
Ushare应用 Openwrt 系统功能强大,主要优势在于其开放性和可扩展性,Openwrt 安装ushare后,可将路由器变身为一个功能强大的家庭upnp流媒体服务器! 打开网上邻居,会显示发现u ...
- 嵌入式项目数据解决方案之sqlite
sqlite当前的版本为3
- [每日一题] 11gOCP 1z0-052 :2013-09-27 bitmap index.................................................C37
转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/12106027 正确答案C 这道题目是需要我们掌握位图索引知识点. 一.首先我们来看位图索引 ...
- python数据类型—列表(增改删查,统计,取值,排序)
列表是最常用的数据类型之一,通过列表可以对数据实现方便的存储,修改等操作. 先声明一个空列表: >>> names = [] >>> names [] 可以存多个值 ...
- PyInstaller打包Python脚本为exe
1.PyInstaller-3.1.1 百度云链接 http://pan.baidu.com/s/1jHYWin8 密码 oapl 2.安装最新版本的 pywin32-217.win32-py2 ...
- HDOJ/HDU 2544 最短路---dijkstra算法
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544 这题的思路可以见这里(同一类型):http://blog.csdn.net/xiaozhuaix ...
- Java中Thread类的start()和run()的区别
1.start()方法来启动线程,真正实现了多线程运行,这时无需等待run方法体代码执行完毕而直接继续执行下面的代码. 通 过调用Thread类的start()方法来启动一个线程,这时此线程是处于就绪 ...