<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>报表工具博客-ibaobiao</title>
	<atom:link href="http://ibaobiao.com/feed" rel="self" type="application/rss+xml" />
	<link>http://ibaobiao.com</link>
	<description>专注报表相关研究，报表工具、报表技术、报表应用、报表相关知识</description>
	<pubDate>Wed, 25 Aug 2010 01:38:11 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>对单元格中的空格null或0的处理</title>
		<link>http://ibaobiao.com/archives/1116</link>
		<comments>http://ibaobiao.com/archives/1116#comments</comments>
		<pubDate>Wed, 25 Aug 2010 01:38:11 +0000</pubDate>
		<dc:creator>zangmingkun</dc:creator>
		
		<category><![CDATA[报表相关知识]]></category>

		<category><![CDATA[bonzer]]></category>

		<category><![CDATA[null]]></category>

		<category><![CDATA[space(n)]]></category>

		<category><![CDATA[空单元格]]></category>

		<category><![CDATA[空格]]></category>

		<guid isPermaLink="false">http://ibaobiao.com/?p=1116</guid>
		<description><![CDATA[一些客户对于单元格内的空格、空单元格或是数字0，有些特殊的处理方式。下面介绍两种经常遇见的情况：
1.数据集中没有空格，但是想在单元格中显示出几个空格。如下图：

在以地区分组... ]]></description>
			<content:encoded><![CDATA[<p>一些客户对于单元格内的空格、空单元格或是数字0，有些特殊的处理方式。下面介绍两种经常遇见的情况：</p>
<p><strong>1.数据集中没有空格，但是想在单元格中显示出几个空格。</strong>如下图：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2010/08/zrclip-034p2b36b709.png" alt="" width="224" height="71" /></p>
<p>在以地区分组的情况下，想要显示的每个城市前有3个空格，同时，数据集中又没有空格（注意B2此时已经左对齐了）。这种情况下可以利用函数space(n)（n为空格的个数）。与space()相对的是trim()函数，它可以忽略左右的空格。用户如果有这样的需求可以加上去。</p>
<p>如下图：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2010/08/zrclip-035n1c8df8eb.png" alt="" width="228" height="235" /></p>
<p><strong>2.null和0都不能做除数。</strong>如下图：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2010/08/zrclip-036n24248c40.png" alt="" width="302" height="71" /></p>
<p>同期比=今年销售量/去年销售量，但如果去年销售量为0，表达式无效，<a href="http://www.runqian.com.cn/"  class="alinks_links" onclick="return alinks_click(this);" title="&#28070;&#20094;&#25253;&#34920;"  rel="external">润乾</a><a href="http://www.runqian.com.cn/rqrptcenter/12_rqrptct_2.htm"  class="alinks_links" onclick="return alinks_click(this);" title="&#28070;&#20094;&#25253;&#34920;"  rel="external">报表</a>会显示Infinity。可以按照下面方法处理：在C2单元格的”值”里写表达式来实现，if（B2==null or B2==0，null，A2/B2）。</p>
<p>如下图：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2010/08/zrclip-037n1bb7d2ae.png" alt="" width="659" height="458" /></p>
<p>如果想要设计器能够自动计算C2的值，首先将报表属性设为可以填报，再在C2的填报属性里的自动计算表达式里写一个三元表达式：（B2==0 or B2==null）？”&#8221;：A2/B2。</p>
<p>如下图所示：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2010/08/zrclip-038p59f3c988.png" alt="" width="416" height="295" /></p>
<p>对于上面两个表达式，如果不想显示null可以改为自己想要显示的数据，如无穷大之类的。</p>
]]></content:encoded>
			<wfw:commentRss>http://ibaobiao.com/archives/1116/feed</wfw:commentRss>
		</item>
		<item>
		<title>Weblogic集群配置__部署润乾应用</title>
		<link>http://ibaobiao.com/archives/1114</link>
		<comments>http://ibaobiao.com/archives/1114#comments</comments>
		<pubDate>Fri, 20 Aug 2010 02:54:04 +0000</pubDate>
		<dc:creator>zangmingkun</dc:creator>
		
		<category><![CDATA[报表技术]]></category>

		<category><![CDATA[weblogic]]></category>

		<category><![CDATA[web报表]]></category>

		<category><![CDATA[报表应用]]></category>

		<category><![CDATA[数据源连接]]></category>

		<category><![CDATA[部署]]></category>

		<category><![CDATA[集群]]></category>

		<guid isPermaLink="false">http://ibaobiao.com/?p=1114</guid>
		<description><![CDATA[
◆ 环境：
Windows xp
Weblogic：wls1031_ccjk_win32.rar（内部下载：\\192.168.0.38\SystemInstaller\4WebServer\weblogic\wls1031_ccjk_win32.rar）
◆ 配置部署
Weblogic 10 的安装，这里就不介绍了。
启动weblogic
从”开始”菜... ]]></description>
			<content:encoded><![CDATA[<div class="entry">
<p>◆ 环境：</p>
<p>Windows xp</p>
<p>Weblogic：wls1031_ccjk_win32.rar（内部下载：\\192.168.0.38\SystemInstaller\4WebServer\weblogic\wls1031_ccjk_win32.rar）</p>
<p>◆ 配置部署</p>
<p>Weblogic 10 的安装，这里就不介绍了。</p>
<p>启动weblogic</p>
<p>从”开始”菜单中-”WebLogic”-” User Projects”-” base_domain”-”Start Admin Server”就启动weblogic管理服务器了。</p>
<p>（命令行方式启动管理服务器：进入目录user_projects\domains\ base_domain \bin&gt;startWebLogic.cmd</p>
<p>回车，随后按提示输入用户名，密码就启动了。）</p>
<p>在浏览器中输入http://192.168.0.132:7001/console （ip为本地机器的ip），输入用户名、密码就进入了管理界面，如下图：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2010/07/14.gif" alt="1.gif" width="553" height="496" /></p>
<p>点击”环境”-”服务器”-配置两个受管服务器，取名为Server3，Server4：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2010/07/22.gif" alt="2.gif" width="546" height="403" /></p>
<p>点击”环境”-”群集”-配置群集，取名为Cluster-0：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2010/07/32.gif" alt="3.gif" width="551" height="314" /></p>
<p>然后为群集添加服务器：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2010/07/42.gif" alt="4.gif" width="549" height="298" /></p>
<p>将Server3，Server4勾选，点添加，就可以了。</p>
<p>到此，集群，服务器就都配置好了，下面就部署应用。</p>
<p>点击”部署”-”安装”-”上传文件”，将打好的war包上传，就可以了：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2010/07/51.gif" alt="5.gif" width="546" height="297" /></p>
<p>一直点”下一步”，为应用分配集群，如下图：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2010/07/61.gif" alt="6.gif" width="407" height="215" /></p>
<p>到最后，”完成”-”保存”结束，部署就完成了。</p>
<p>启动受管服务器：</p>
<p>命令行进入目录user_projects\domains\ base_domain \bin&gt;  startManagedWebLogic.cmd Server-3  http://192.168.0.132:7001（注意：服务器名大小写相关），回车，随后按提示输入用户名，密码就启动了。</p>
<p>两个服务器起来后，点击部署上的应用，点启动，就启起来了。</p>
<p>在浏览器中输入http://192.168.0.132:7004/demo，就能看到你的应用了。</p>
<p>到此，整个集群部署<a href="http://www.runqian.com.cn/"  class="alinks_links" onclick="return alinks_click(this);" title="&#28070;&#20094;&#25253;&#34920;"  rel="external">润乾</a>应用，就完成了。</div>
]]></content:encoded>
			<wfw:commentRss>http://ibaobiao.com/archives/1114/feed</wfw:commentRss>
		</item>
		<item>
		<title>Olap导出excel问题</title>
		<link>http://ibaobiao.com/archives/1111</link>
		<comments>http://ibaobiao.com/archives/1111#comments</comments>
		<pubDate>Thu, 19 Aug 2010 01:43:55 +0000</pubDate>
		<dc:creator>zangmingkun</dc:creator>
		
		<category><![CDATA[报表技术]]></category>

		<category><![CDATA[CSS样式]]></category>

		<category><![CDATA[OLAP]]></category>

		<category><![CDATA[web报表]]></category>

		<category><![CDATA[导出excel]]></category>

		<guid isPermaLink="false">http://ibaobiao.com/?p=1111</guid>
		<description><![CDATA[
◆ 背景说明
Olap展现，在页面上，有导出excel功能。有时，导出的excel为一空表，没有数据，后台有相应错误信息：
org.xml.sax.SAXParseException: Element type “title” must be followed by either attribute
specific... ]]></description>
			<content:encoded><![CDATA[<div class="entry">
<p>◆ 背景说明</p>
<p>Olap展现，在页面上，有导出excel功能。有时，导出的excel为一空表，没有数据，后台有相应错误信息：</p>
<p>org.xml.sax.SAXParseException: Element type “title” must be followed by either attribute<br />
specifications, “&gt;” or “/&gt;”。</p>
<p>◆ 原因分析</p>
<p>在olap页面中，有title标签，它是olap的标题。应用中用户都用自己的css样式，而在给title定义字体时，定义了一些特殊的字体，使得excle不能识别这种字体，所以导出的excel是一个空表，后台出现以上的错误信息。</p>
<p>要验证是否是css样式中定义字体的原因，很简单，将页面中引入的css换成<a href="http://www.runqian.com.cn/"  class="alinks_links" onclick="return alinks_click(this);" title="&#28070;&#20094;&#25253;&#34920;"  rel="external">润乾</a>默认的css就可以了。</p>
<p>◆ 解决方法</p>
<p>1 用<a href="http://www.runqian.com.cn/" target="_blank">润乾</a>默认的css样式文件</p>
<p>2 修改应用中的css，将字体定义成常规字体，excel中能识别的字体。</p></div>
]]></content:encoded>
			<wfw:commentRss>http://ibaobiao.com/archives/1111/feed</wfw:commentRss>
		</item>
		<item>
		<title>与数据有关的问题</title>
		<link>http://ibaobiao.com/archives/1108</link>
		<comments>http://ibaobiao.com/archives/1108#comments</comments>
		<pubDate>Wed, 18 Aug 2010 01:33:33 +0000</pubDate>
		<dc:creator>zangmingkun</dc:creator>
		
		<category><![CDATA[报表技术]]></category>

		<category><![CDATA[异常排查]]></category>

		<category><![CDATA[报表应用]]></category>

		<category><![CDATA[数据]]></category>

		<guid isPermaLink="false">http://ibaobiao.com/?p=1108</guid>
		<description><![CDATA[
◆ 背景说明
在为用户排查问题，解决问题时，有一种情况是不容易引起大家注意的，那就是用户的数据；比如，数据中有某些特殊字符，引起展现不了或展现不正常；本文简要介绍在哪些条... ]]></description>
			<content:encoded><![CDATA[<div class="entry">
<p>◆ 背景说明</p>
<p>在为用户排查问题，解决问题时，有一种情况是不容易引起大家注意的，那就是用户的数据；比如，数据中有某些特殊字符，引起展现不了或展现不正常；本文简要介绍在哪些条件下需要考虑用户的数据。</p>
<p>◆ 应用举例</p>
<p>为了突出说明问题，将整个服务分为两部分，一个为服务器环境，一个为<a href="http://www.runqian.com.cn/rqrptcenter/12_rqrptct_2.htm"  class="alinks_links" onclick="return alinks_click(this);" title="&#28070;&#20094;&#25253;&#34920;"  rel="external">报表</a>应用。将服务器环境当作A，报表应用当作B，两个变量，就会出现如下四个结果。</p>
<p>条件1：A正常，B正常 结果：展现正常；</p>
<p>条件2：A正常，B异常 结果：展现异常；</p>
<p>条件3：A异常，B正常 结果：展现异常；</p>
<p>条件4：A异常，B异常 结果：展现异常；</p>
<p>条件1：服务器环境正常，报表应用正常，结果：展现正常；这是一个服务都要调整到的状态。其他的几种情况，我们都是要往条件1上调整的，一直到跟条件1一致为止。</p>
<p>还有一种情况，就是在条件1的前提下，应用中的大部分报表都正常展现，有那么一两个报表，不能正常展现。这时，就需要看用户的数据了。看是不是数据 里有某些特殊字符，比如：数据中有分隔符，分号，双引号等。出现这种情况，一般都会去怀疑是服务器环境不正常，会花很多时间去查用户的环境，这时应该想到 可能是数据引起的问题。</p>
<p>这个情况在<a href="http://www.runqian.com.cn/" target="_blank">报表</a>的其他功能模块，也是会发生的，在其他功能模块，它的隐蔽性更强。因为其他功能模块跟页面的牵连更多，支持人员对功能模块的熟悉程度不如报表人员等。</div>
]]></content:encoded>
			<wfw:commentRss>http://ibaobiao.com/archives/1108/feed</wfw:commentRss>
		</item>
		<item>
		<title>对单元格中的空格null或0的处理</title>
		<link>http://ibaobiao.com/archives/1105</link>
		<comments>http://ibaobiao.com/archives/1105#comments</comments>
		<pubDate>Tue, 17 Aug 2010 05:47:20 +0000</pubDate>
		<dc:creator>zangmingkun</dc:creator>
		
		<category><![CDATA[报表技术]]></category>

		<category><![CDATA[bonzer]]></category>

		<category><![CDATA[null]]></category>

		<category><![CDATA[space(n)]]></category>

		<category><![CDATA[空单元格]]></category>

		<category><![CDATA[空格]]></category>

		<guid isPermaLink="false">http://ibaobiao.com/?p=1105</guid>
		<description><![CDATA[一些客户对于单元格内的空格、空单元格或是数字0，有些特殊的处理方式。下面介绍两种经常遇见的情况：
1.数据集中没有空格，但是想在单元格中显示出几个空格。如下图：

在以地区分组... ]]></description>
			<content:encoded><![CDATA[<p>一些客户对于单元格内的空格、空单元格或是数字0，有些特殊的处理方式。下面介绍两种经常遇见的情况：</p>
<p><strong>1.数据集中没有空格，但是想在单元格中显示出几个空格。</strong>如下图：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2010/08/zrclip-034p2b36b709.png" alt="" width="224" height="71" /></p>
<p>在以地区分组的情况下，想要显示的每个城市前有3个空格，同时，数据集中又没有空格（注意B2此时已经左对齐了）。这种情况下可以利用函数 space(n)（n为空格的个数）。与space()相对的是trim()函数，它可以忽略左右的空格。用户如果有这样的需求可以加上去。</p>
<p>如下图：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2010/08/zrclip-035n1c8df8eb.png" alt="" width="228" height="235" /></p>
<p><strong>2.null和0都不能做除数。</strong>如下图：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2010/08/zrclip-036n24248c40.png" alt="" width="302" height="71" /></p>
<p>同期比=今年销售量/去年销售量，但如果去年销售量为0，表达式无效，<a href="http://www.runqian.com.cn/" target="_blank">润乾报表</a>会显示Infinity。可以按照下面方法处理：在C2单元格的”值”里写表达式来实现，if（B2==null or B2==0，null，A2/B2）。</p>
<p>如下图：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2010/08/zrclip-037n1bb7d2ae.png" alt="" width="659" height="458" /></p>
<p>如果想要设计器能够自动计算C2的值，首先将<a href="http://www.runqian.com.cn/rqrptcenter/12_rqrptct_2.htm"  class="alinks_links" onclick="return alinks_click(this);" title="&#28070;&#20094;&#25253;&#34920;"  rel="external">报表</a>属性设为可以填报，再在C2的填报属性里的自动计算表达式里写一个三元表达式：（B2==0 or B2==null）？”&#8221;：A2/B2。</p>
<p>如下图所示：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2010/08/zrclip-038p59f3c988.png" alt="" width="416" height="295" /></p>
<p>对于上面两个表达式，如果不想显示null可以改为自己想要显示的数据，如无穷大之类的。</p>
]]></content:encoded>
			<wfw:commentRss>http://ibaobiao.com/archives/1105/feed</wfw:commentRss>
		</item>
		<item>
		<title>润乾报表集群缓存同步功能介绍</title>
		<link>http://ibaobiao.com/archives/1103</link>
		<comments>http://ibaobiao.com/archives/1103#comments</comments>
		<pubDate>Tue, 10 Aug 2010 05:46:21 +0000</pubDate>
		<dc:creator>zangmingkun</dc:creator>
		
		<category><![CDATA[报表技术]]></category>

		<category><![CDATA[URL]]></category>

		<category><![CDATA[共享]]></category>

		<category><![CDATA[服务器集群]]></category>

		<category><![CDATA[本地硬盘]]></category>

		<category><![CDATA[缓存]]></category>

		<category><![CDATA[跳转]]></category>

		<guid isPermaLink="false">http://ibaobiao.com/?p=1103</guid>
		<description><![CDATA[
目前服务器的集群，大多是使用session同步的方法解决的问题，即让集群中一台电脑的session在集群服务器发生相互之间跳转的时候，把session也同时复制到相应的电脑上。例如：在集群服务器中... ]]></description>
			<content:encoded><![CDATA[<div class="entry">
<p style="line-height: 150%; text-indent: 18pt;">目前服务器的集群，大多是使用<span>session</span>同步的方法解决的问题，即让集群中一台电脑的<span>session</span>在集群服务器发生相互之间跳转的时候，把<span>session</span>也同时复制到相应的电脑上。例如：在集群服务器中，第一次访问<span>A</span>机器，第二次跳转到<span>B</span>机器继续访问，服务器会自动把<span>A</span>机器产生的<span>session</span>的内容复制到<span>B</span>机器上，使得访问正常进行，从而实现服务器之间负载更加均衡。</p>
<p style="line-height: 150%;">但是<a href="http://www.runqian.com.cn/rqrptcenter/12_rqrptct_2.htm" target="_blank">润乾报表</a>的缓存机制有所不同，<a href="http://www.runqian.com.cn/"  class="alinks_links" onclick="return alinks_click(this);" title="&#28070;&#20094;&#25253;&#34920;"  rel="external">润乾</a>的缓存是基于硬盘的，会把缓存文件保存到电脑的硬盘上。但是这样在集群服务器上就造成了如下问题：当客户端第一次访问<span>A</span>机器时产生的<a href="http://www.runqian.com.cn/rqrptcenter/12_rqrptct_2.htm"  class="alinks_links" onclick="return alinks_click(this);" title="&#28070;&#20094;&#25253;&#34920;"  rel="external">报表</a>保存在<span>A</span>机器的缓存目录下，第二次访问跳转到<span>B</span>机器时，<span>B</span>机器无法从<span>A</span>机器的本地硬盘上取得缓存的报表。为了解决这个问题，润乾采取了集群缓存同步的功能。</p>
<p style="line-height: 150%;">首先介绍一下集群缓存同步功能的概念。集群缓存同步是指：客户端在多次访问集群服务器的不同主机时，服务器之间可以进行报表缓存的同步，使得客户端能够返回正确的结果而不需要重新计算。</p>
<p style="line-height: 150%;">然后用户需要知道，润乾报表缓存相关的配置方法要在 reportconfig.xml 中设置， reportconfig.xml 的路径为：润乾<span>web</span>应用根目录下的<span>WEB-INF/<span class="SpellE">reportConfig.xml</span></span> ，其中所有缓存相关的可配置属性如下：</p>
<p style="line-height: 150%;"><span style="color: #0000ff;">&lt;config&gt;<br />
&lt;!– 配置缓存机器和缓存端口号–&gt;<br />
&lt;name&gt;clusterMember&lt;/name&gt;<br />
&lt;value&gt;A,192.168.0.59,8087;B,192.168.0.48,8087;&lt;/value&gt;<br />
&lt;/config&gt;<br />
&lt;config&gt;<br />
&lt;!– 配置是否共享缓存目录–&gt;<br />
&lt;name&gt;isCachedFileShared&lt;/name&gt;<br />
&lt;value&gt;yes&lt;/value&gt;<br />
&lt;/config&gt;<br />
&lt;config&gt;<br />
&lt;!– 配置缓存共享目录–&gt;<br />
&lt;name&gt;cachedReportDir&lt;/name&gt;<br />
&lt;value&gt;\\192.168.0.59\cached&lt;/value&gt;<br />
&lt;/config&gt;<br />
&lt;config&gt;<br />
&lt;!– 配置缓存id的前缀，注意集群时不同机器用不同的前缀–&gt;<br />
&lt;name&gt;cachedIdPrefix&lt;/name&gt;<br />
&lt;value&gt;A&lt;/value&gt;<br />
&lt;/config&gt;</span></p>
<p style="line-height: 150%;">
<p style="line-height: 150%;">在上面的可配置属性中，其中 clusterMember 属性指定了系统缓存前缀，所有集群的服务器结点，每个服务器结点与缓存服务器间的通讯接口。它的格式是：<span>“</span>缓存前缀<span>,</span>对应电脑的<span>IP</span>地址<span>,</span>访问电脑的端口号<span>;…”</span>，集群中有多少台电脑要用到集群缓存同步机制，那么就要在这里按照上面的格式，把这些电脑一一配置好。</p>
<p class="MsoNormal" style="line-height: 150%; text-indent: 18pt;"><span style="line-height: 150%; font-family: 宋体; font-size: 12pt;">第二个重要属性是</span> <span class="SpellE"><span style="line-height: 150%; font-size: 12pt;">isCachedFileShared</span></span> <span style="line-height: 150%; font-family: 宋体; font-size: 12pt;">，它的取值范围是</span> <span style="line-height: 150%; font-size: 12pt;">yes</span> <span style="line-height: 150%; font-family: 宋体; font-size: 12pt;">或者</span> <span style="line-height: 150%; font-size: 12pt;">no</span> <span style="line-height: 150%; font-family: 宋体; font-size: 12pt;">，它的作用是是否共享本地硬盘上的缓存目录和文件。设置为</span> <span style="line-height: 150%; font-size: 12pt;">yes</span> <span style="line-height: 150%; font-family: 宋体; font-size: 12pt;">的时候缓存目录和文件被共享，可以在集群服务器中访问到电脑硬盘上的缓存，如果设置为</span> <span style="line-height: 150%; font-size: 12pt;">no</span> <span style="line-height: 150%; font-family: 宋体; font-size: 12pt;">，那么缓存不能被共享，也就不能被集群中的其他电脑得到。必须注意的是，如果它的值为</span> <span style="line-height: 150%; font-size: 12pt;">yes</span> <span style="line-height: 150%; font-family: 宋体; font-size: 12pt;">，那么必须设置</span> <span class="SpellE"><span style="line-height: 150%; font-size: 12pt;">cachedReportDir</span></span> <span style="line-height: 150%; font-family: 宋体; font-size: 12pt;">属性的值，</span> <span class="SpellE"><span style="line-height: 150%; font-size: 12pt;">cachedReportDir</span></span> <span style="line-height: 150%; font-family: 宋体; font-size: 12pt;">的作用是</span> <span style="font-family: 宋体;">配置缓存共享目录，润乾报表的缓存将被保存到这个目录下，所以</span> <span class="SpellE"><span style="line-height: 150%; font-size: 12pt;">cachedReportDir</span></span> <span style="line-height: 150%; font-family: 宋体; font-size: 12pt;">的值需</span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="line-height: 150%; font-family: 宋体; font-size: 12pt;">为一个可读写的访问路径。</span></p>
<p class="MsoNormal" style="line-height: 150%;"><span style="line-height: 150%; font-family: 宋体; font-size: 12pt;">根据上面</span> <span class="SpellE"><span style="line-height: 150%; font-size: 12pt;">reportconfig.xml</span></span> <span style="line-height: 150%; font-family: 宋体; font-size: 12pt;">的例子和属性说明配置好这个配置文件后，集群缓存同步的配置就基本完成了，这个就可以在集群服务器中相互跳转的时候取到润乾报表的缓存文件了，也就成功解决了以前采用</span> <span style="line-height: 150%; font-size: 12pt;">session</span> <span style="line-height: 150%; font-family: 宋体; font-size: 12pt;">复制的方法不能取到本地硬盘上缓存的问题。</span></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://ibaobiao.com/archives/1103/feed</wfw:commentRss>
		</item>
		<item>
		<title>读入导出rat文件</title>
		<link>http://ibaobiao.com/archives/1099</link>
		<comments>http://ibaobiao.com/archives/1099#comments</comments>
		<pubDate>Mon, 09 Aug 2010 01:38:06 +0000</pubDate>
		<dc:creator>zangmingkun</dc:creator>
		
		<category><![CDATA[报表应用]]></category>

		<category><![CDATA[QUIEE]]></category>

		<category><![CDATA[rat文件]]></category>

		<category><![CDATA[保存]]></category>

		<category><![CDATA[导出]]></category>

		<category><![CDATA[读入]]></category>

		<guid isPermaLink="false">http://ibaobiao.com/?p=1099</guid>
		<description><![CDATA[
在使用快逸报表的过程中，在设计器中点击预览按钮，或者点击F9按钮，就可以浏览已经设计出来的报表了。既可以检查设计的样式，为进一步修 改报表做准备，也可以对查询出来的数据进行... ]]></description>
			<content:encoded><![CDATA[<div class="entry">
<p>在使用<a href="http://www.quiee.com.cn"  class="alinks_links" onclick="return alinks_click(this);" title="&#24555;&#36920;&#25253;&#34920;"  rel="external">快逸</a><a href="http://www.quiee.com.cn/archives/275" target="_blank">报表</a>的过程中，在设计器中点击预览按钮，或者点击F9按钮，就可以浏览已经设计出来的<a href="http://www.quiee.com.cn/" target="_blank">报表</a>了。既可以检查设计的样式，为进一步修 改<a href="http://www.runqian.com.cn/rqrptcenter/12_rqrptct_2.htm"  class="alinks_links" onclick="return alinks_click(this);" title="&#28070;&#20094;&#25253;&#34920;"  rel="external">报表</a>做准备，也可以对查询出来的数据进行检查，看看是否出现错误。在这时点击保存，会发现保存为一个与raq文件同名的.rat文件。如果浏览的这张报 表上没有错误信息，我们也可以把它当做预览结果，浏览数据。由于导出功能可以保存当时的数据信息，就可以对数据实时的情况进行保存，以便日后查看。这种保 存方法既提高了效率，又减少了对内存的占用，所以有些客户会选择这种方式来对数据进行浏览和实时情况的保存。</p>
<p>下面就介绍一下用代码实现保存和读取rat文件的方法。</p>
<p>首先需要引入相关的文件：</p>
<p>&lt;%@ page import=”java.io.*”%&gt;<br />
&lt;%@ page import=”com.runqian.report4.usermodel.*”%&gt;<br />
&lt;%@ page import=”com.runqian.report4.model.*”%&gt;<br />
&lt;%@ page import=”com.runqian.report4.util.*”%&gt;<br />
&lt;%@ page import=”com.runqian.report4.usermodel.graph.*”%&gt;<br />
第一步，读取报表模版<br />
FileInputStream in = new FileInputStream(”C:\\test.raq”); //根据文件名新建文件输入流<br />
ObjectInputStream ois = new ObjectInputStream(in); //新建对象输入流<br />
第二步，计算报表<br />
ReportDefine rd = new ReportDefine2(1, 1);<br />
Context cxt = new Context();<br />
Engine engine = new Engine(rd, cxt); //构造报表引擎<br />
IReport iReport = engine.calc();<br />
第三步，将计算好的ireport对象导入到rat文件，<br />
OutputStream out1 = new FileOutputStream( “C:\\test.rat” );<br />
ReportUtils.write(out1,iReport);<br />
out1.close();</p>
<p>这样就会发现在c盘根目录下有test.rat这个文件。</p>
<p>下面说一下读入的方法：</p>
<p>FileInputStream in = new FileInputStream(”C:\\test.rat”); //根据文件名新建文件输入流<br />
ObjectInputStream ois = new ObjectInputStream(in); //新建对象输入流<br />
IReport r = (IReport) ois.readObject(); //强制转换为IReport实体对象<br />
in.close(); //关闭文件输入流<br />
将读入的文件输出为 html，<br />
String htmlText = ReportUtils.toHTMLString(r,”report2″,request); //把当前页对象输出html语法<br />
out.println(htmlText);<br />
这样就能在页面上浏览效果了。</p>
<p>通过以上方法可以完成导出为rat文件，客户可以根据自己的需求，设置定时器，定时将报表预览的结果导出，既可以作为备份，又可以作为结果浏览。</p></div>
]]></content:encoded>
			<wfw:commentRss>http://ibaobiao.com/archives/1099/feed</wfw:commentRss>
		</item>
		<item>
		<title>快逸报表在vista和win7下无法浏览应用的解决办法</title>
		<link>http://ibaobiao.com/archives/1095</link>
		<comments>http://ibaobiao.com/archives/1095#comments</comments>
		<pubDate>Fri, 06 Aug 2010 01:50:36 +0000</pubDate>
		<dc:creator>zangmingkun</dc:creator>
		
		<category><![CDATA[报表应用]]></category>

		<category><![CDATA[$TOMCAT_HOME$conf]]></category>

		<category><![CDATA[QUIEE]]></category>

		<category><![CDATA[vista]]></category>

		<category><![CDATA[web应用]]></category>

		<category><![CDATA[win7]]></category>

		<category><![CDATA[应用部署]]></category>

		<guid isPermaLink="false">http://ibaobiao.com/?p=1095</guid>
		<description><![CDATA[
对于vista和win7系统，快逸报表有着良好的兼容性，无论是设计器还是实际应用。有些客户在安装报表设计报表的时候没有遇到问题，但 是在这两种系统下会发现无法启动应用，或者打开设计器... ]]></description>
			<content:encoded><![CDATA[<div class="entry">
<p>对于vista和win7系统，<a href="http://www.quiee.com.cn/" target="_blank">快逸报表</a>有着良好的兼容性，无论是设计器还是实际应用。有些客户在安装<a href="http://www.runqian.com.cn/rqrptcenter/12_rqrptct_2.htm"  class="alinks_links" onclick="return alinks_click(this);" title="&#28070;&#20094;&#25253;&#34920;"  rel="external">报表</a><a href="http://www.quiee.com.cn/archives/292" target="_blank">设计报表</a>的时候没有遇到问题，但 是在这两种系统下会发现无法启动应用，或者打开设计器自带的ie浏览页面后，页面一直在读取，并没有展示出应有的界面。会出现这个问题是因为在这两种系统 下c盘是对users受写保护的，在安装设计器的时候的权限不足，当启动应用的时候，由于没有足够的权限才导致这个问题。</p>
<p>如果重新安装到其他盘符下，就不会有问题了。</p>
<p>如果不重新安装，解决思路如下：使用管理员身份登陆操作系统，给tomcat配置可用的权限，就可以实现应用的访问了。</p>
<p>解决方法：找到$TOMCAT_HOME$conf，把conf文件夹设置为完全控制。</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2010/05/1-0009.png" alt="1.png" width="342" height="357" /></p>
<p>（右键属性-安全-找到当前登录名-下面选择完全控制）</p>
<p>保存，重启TOMCAT 。</p>
<p>注意：</p>
<p>重要的是”当前登录名”，不是”CREATOR OWNER”，也不是”Administrator”，如果没有当前用户的话，添加一个即可。</p></div>
]]></content:encoded>
			<wfw:commentRss>http://ibaobiao.com/archives/1095/feed</wfw:commentRss>
		</item>
		<item>
		<title>快逸报表同时多列纵向扩展</title>
		<link>http://ibaobiao.com/archives/1093</link>
		<comments>http://ibaobiao.com/archives/1093#comments</comments>
		<pubDate>Thu, 05 Aug 2010 01:45:37 +0000</pubDate>
		<dc:creator>zangmingkun</dc:creator>
		
		<category><![CDATA[报表应用]]></category>

		<category><![CDATA[group]]></category>

		<category><![CDATA[QUIEE]]></category>

		<category><![CDATA[valueat()]]></category>

		<category><![CDATA[扩展]]></category>

		<category><![CDATA[纵向]]></category>

		<guid isPermaLink="false">http://ibaobiao.com/?p=1093</guid>
		<description><![CDATA[
在快逸报表中，属性中有对报表中分栏的设置，通过简单的设置可以完成分栏报表的设计，在页面上展示出来分栏的效果。有些客户在进行设计时需要在报表的内部根据相关的条件进行分栏展... ]]></description>
			<content:encoded><![CDATA[<div class="entry">
<p>在<a href="http://www.quiee.com.cn"  class="alinks_links" onclick="return alinks_click(this);" title="&#24555;&#36920;&#25253;&#34920;"  rel="external">快逸</a><a href="http://www.runqian.com.cn/rqrptcenter/12_rqrptct_2.htm"  class="alinks_links" onclick="return alinks_click(this);" title="&#28070;&#20094;&#25253;&#34920;"  rel="external">报表</a>中，属性中有对报表中分栏的设置，通过简单的设置可以完成分栏报表的设计，在页面上展示出来分栏的效果。有些客户在进行设计时需要在<a href="http://www.quiee.com.cn/archives/292" target="_blank">报表</a>的内部根据相关的条件进行分栏展示，本篇文章就着重介绍一下这种报表的设置方法。</p>
<p>首先先看一下数据库表结构和数据：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2010/04/1-0041.png" alt="1.png" width="215" height="91" /></p>
<p>其中，Pname是 姓名，PYEAR 是入职年份。</p>
<p>按照年分分类，然后在每个年份下循序显示所有的姓名，这个报表如何实现呢？</p>
<p>实现思路：先用group（）函数对年份进行分组。然后将每个年份下的数据取出来用valueat（）函数进行匹配。下面是报表的设计：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2010/04/2-0036.png" alt="2.png" width="302" height="152" /></p>
<p>C2中 =ds1.Group(PYEAR)，按照年份分组。</p>
<p>C3中 =ds1.count()，主要目的是计算出每个年份下有多少条记录。</p>
<p>B3中 =max(C3{})，取到所有年份下，记录条数最多一个年份的记录数。</p>
<p>B4中 =1 to B3，扩展出需要的行数，以便所有的记录都能显示出来，而且为数据的扩展提供其中一个参数。</p>
<p>C4中 =valueat(ds1.select(Pname),B4-1)，使用ds1.select(Pname)函数取得当年的所有记录，然后再用valueat（）函数配合B4提供的参数取得数据集内相应的数据。</p>
<p>在web中展示如下：</p>
<p><img src="http://www.runqian.com.cn/know-how/wp-content/uploads/2010/04/3-0031.png" alt="3.png" width="422" height="135" /></p>
<p>这样<a href="http://www.quiee.com.cn/archives/291" target="_blank">报表</a>就设计完了，客户可以根据自己的需求隐藏掉相关行，也可以根据需要在数据的左侧匹配上相关的数据，满足客户的各种需求。</div>
]]></content:encoded>
			<wfw:commentRss>http://ibaobiao.com/archives/1093/feed</wfw:commentRss>
		</item>
		<item>
		<title>博计报表读入导出rat文件</title>
		<link>http://ibaobiao.com/archives/1091</link>
		<comments>http://ibaobiao.com/archives/1091#comments</comments>
		<pubDate>Wed, 04 Aug 2010 06:09:11 +0000</pubDate>
		<dc:creator>zangmingkun</dc:creator>
		
		<category><![CDATA[报表应用]]></category>

		<category><![CDATA[bonzer]]></category>

		<category><![CDATA[rat文件]]></category>

		<category><![CDATA[保存]]></category>

		<category><![CDATA[导出]]></category>

		<category><![CDATA[读取]]></category>

		<guid isPermaLink="false">http://ibaobiao.com/?p=1091</guid>
		<description><![CDATA[
在使用博计报表的 过程中，在设计器中点击预览按钮，或者点击F9按钮，就可以浏览已经设计出来的报表了。既可以检查设计的样式，为进一步修改报表做准备，也可以对查询出来 的数据进行... ]]></description>
			<content:encoded><![CDATA[<div class="entry">
<p>在使用<a class="alinks_links" title="博计报表" onclick="return alinks_click(this);" rel="external" href="http://www.bonzerreport.com/">博计报表</a>的 过程中，在设计器中点击预览按钮，或者点击F9按钮，就可以浏览已经设计出来的<a href="http://www.runqian.com.cn/rqrptcenter/12_rqrptct_2.htm"  class="alinks_links" onclick="return alinks_click(this);" title="&#28070;&#20094;&#25253;&#34920;"  rel="external">报表</a>了。既可以检查设计的样式，为进一步修改报表做准备，也可以对查询出来 的数据进行检查，看看是否出现错误。在这时点击保存，会发现保存为一个与raq文件同名的.rat文件。如果浏览的这张报表上没有错误信息，我们也可以把 它当做预览结果，浏览数据。由于导出功能可以保存当时的数据信息，就可以对数据实时的情况进行保存，以便日后查看。这种保存方法既提高了效率，又减少了对内存的占用，所以有些客户会选择这种方式来对数据进行浏览和实时情况的保存。</p>
<p>下面就介绍一下用代码实现保存和读取rat文件的方法。</p>
<p>首先需要引入相关的文件：</p>
<p>&lt;%@ page import=”java.io.*”%&gt;<br />
&lt;%@ page import=”com.runqian.report4.usermodel.*”%&gt;<br />
&lt;%@ page import=”com.runqian.report4.model.*”%&gt;<br />
&lt;%@ page import=”com.runqian.report4.util.*”%&gt;<br />
&lt;%@ page import=”com.runqian.report4.usermodel.graph.*”%&gt;<br />
第一步，读取报表模版<br />
FileInputStream in = new FileInputStream(”C:\\test.raq”); //根据文件名新建文件输入流<br />
ObjectInputStream ois = new ObjectInputStream(in); //新建对象输入流<br />
第二步，计算<a href="http://www.bonzerreport.com/tech" target="_blank">报表 </a><br />
ReportDefine rd = new ReportDefine2(1, 1);<br />
Context cxt = new Context();<br />
Engine engine = new Engine(rd, cxt); //构造报表引擎<br />
IReport iReport = engine.calc();<br />
第三步，将计算好的ireport对象导入到rat文件，<br />
OutputStream out1 = new FileOutputStream( “C:\\test.rat” );<br />
ReportUtils.write(out1,iReport);<br />
out1.close();</p>
<p>这样就会发现在c盘根目录下有test.rat这个文件。</p>
<p>下面说一下读入的方法：</p>
<p>FileInputStream in = new FileInputStream(”C:\\test.rat”); //根据文件名新建文件输入流<br />
ObjectInputStream ois = new ObjectInputStream(in); //新建对象输入流<br />
IReport r = (IReport) ois.readObject(); //强制转换为IReport实体对象<br />
in.close(); //关闭文件输入流<br />
将读入的文件输出为 html，<br />
String htmlText = ReportUtils.toHTMLString(r,”report2″,request); //把当前页对象输出html语法<br />
out.println(htmlText);<br />
这样就能在页面上浏览效果了。</p>
<p>通过以上方法可以完成导出为rat文件，客户可以根据自己的需求，设置定时器，定时将报表预览的结果导出，既可以作为备份，又可以作为结果浏览。</p></div>
]]></content:encoded>
			<wfw:commentRss>http://ibaobiao.com/archives/1091/feed</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.860 seconds -->
<!-- Cached page served by WP-Super-Cache -->
