??xml version="1.0" encoding="utf-8" standalone="yes"?>内射少妇36P亚洲区,亚洲高清视频一视频二视频三,精品亚洲成AV人在线观看http://m.tkk7.com/report9d/zh-cnSun, 11 May 2025 04:57:04 GMTSun, 11 May 2025 04:57:04 GMT60特大喜讯Q??JOR)Q国内唯一开源的java报表工具隆重启航! http://m.tkk7.com/report9d/archive/2009/10/15/298407.htmlreport9dreport9dThu, 15 Oct 2009 08:09:00 GMThttp://m.tkk7.com/report9d/archive/2009/10/15/298407.htmlhttp://m.tkk7.com/report9d/comments/298407.htmlhttp://m.tkk7.com/report9d/archive/2009/10/15/298407.html#Feedback0http://m.tkk7.com/report9d/comments/commentRss/298407.htmlhttp://m.tkk7.com/report9d/services/trackbacks/298407.html?JOR)Q是一Ƒּ源的报表工具Q完全java实现Q核心代码来自于国内一U报表工具品牌杰?2008 ?br />
提v开源的报表工具Q不能不说说jaspereportQjasperreport作ؓ著名的开源报表工P在javaE序员中一直n有盛名。但׃其设计主要是针对西式的简单报表,设计起复杂的中式报表来,有点力不从心Q所以,在国内的目中能成功应用的例子ƈ不多。JORQ作做复杂报表的开源报表工P可以弥补jasperreport的不?br />
下蝲地址:

http://www.jatools.com/jor



report9d 2009-10-15 16:09 发表评论
]]>
原创olap引擎,Ujava实现?http://m.tkk7.com/report9d/archive/2009/09/25/296461.htmlreport9dreport9dFri, 25 Sep 2009 10:47:00 GMThttp://m.tkk7.com/report9d/archive/2009/09/25/296461.htmlhttp://m.tkk7.com/report9d/comments/296461.htmlhttp://m.tkk7.com/report9d/archive/2009/09/25/296461.html#Feedback0http://m.tkk7.com/report9d/comments/commentRss/296461.htmlhttp://m.tkk7.com/report9d/services/trackbacks/296461.htmljava实现的olap服务器,完全自主产权Q纯java实现. cube架构,性能?占用I间?


 
分析模型设计?br />
 




report9d 2009-09-25 18:47 发表评论
]]>
换个角度来晒晒杰?2008http://m.tkk7.com/report9d/archive/2009/09/02/293580.htmlreport9dreport9dWed, 02 Sep 2009 05:02:00 GMThttp://m.tkk7.com/report9d/archive/2009/09/02/293580.htmlhttp://m.tkk7.com/report9d/comments/293580.htmlhttp://m.tkk7.com/report9d/archive/2009/09/02/293580.html#Feedback0http://m.tkk7.com/report9d/comments/commentRss/293580.htmlhttp://m.tkk7.com/report9d/services/trackbacks/293580.html闲话说Q晒几个杰表.2008的ppt截图Q希望有助于大家Ҏ表工L选择.













 



report9d 2009-09-02 13:02 发表评论
]]>
jni 学习W记一(原创)http://m.tkk7.com/report9d/archive/2009/06/22/283515.htmlreport9dreport9dMon, 22 Jun 2009 02:12:00 GMThttp://m.tkk7.com/report9d/archive/2009/06/22/283515.htmlhttp://m.tkk7.com/report9d/comments/283515.htmlhttp://m.tkk7.com/report9d/archive/2009/06/22/283515.html#Feedback1http://m.tkk7.com/report9d/comments/commentRss/283515.htmlhttp://m.tkk7.com/report9d/services/trackbacks/283515.htmljni cd

单类?primitive type

jni?大基本类型, jboolean,jbyte,jchar,jshort,jint,jfloat,jlong,,jdouble
8位,16位,32位,64位,各两?在win32q_中,其他q_不一?

javacd与c++数据cd的映关pL如下:
jboolean <--> unsigned char
jchar   <--> unsigned short
jshort  <--> short
jfloat  <-->  float
jdouble <--> double

q是?jni.h里定义的Qؓ啥缺了jbyte,jint,jlong的映呢?
{案是:sun在实现java虚拟机时Q考虑到虚拟机可能q行在不同的操作pȝ和不同的gq_上,比如Q硬件^台有8位,16位,32位,64位的区别Qؓ了更好地与硬件^台匹配,发挥最好的性能Q将一些类型抽取出来,允许在不同的q_上有不同的表C(位数Q,我们姑且UC为硬件相关类型,jbyte,jint,jlong属于硬件相关类型?br />
丑ֈ来说Q如果你?2位机上,jint表示的是32bit的,而在64位机上,一般是64位即8个字节表C,也就是说Qjbyte,jint,jlong在sun的虚拟机上,位数是不定的?br />
那位C一定,怎么~译?   sun的方法是增加一个机器相关的jni_md.h文gQ这里的md是machine dependent(机器相关)的意思。在win32q_中,q三个类型的定义如下:

typedef long jint;
typedef __int64 jlong;
typedef signed char jbyte;

由此可见Q在win32q_中,jint?2位的,jlong?4位,jbyte?位的.

指针cd  reference type
reference 准确的译法,应该是引用,但引用实际上是指针的一U伪装,只不q更接近人的思维|了。如果说Q?爸爸的爸?是一U指针概念,?L"是一U引用概c?br />
jni把类型分Z大类Q一个是单类型,一个是引用cd,下面是引用类?br />


从上图似乎可以看出,所有引用类型,都从jobject l承Qjarray又被几个单类型的数组l承.
但实际上q个对象层次Q是一U假象,跟我们c++与java中看到的对象层次是有区别的,jobject与LPSTR(字符串指?Q本质上没有区别Q?br /> 1.  jobject, jclass,jstring,...{,所有对象,是指?不是对象本nQ而指针是不存在承关pȝQ?#8220;狗”的指针,?#8220;动物”的指针承,q种说法不成立?br /> 2. jobject,jclass,jstring 是一U指针,不存在Q何操作方法,好比你不?LPCSTR->strlen()Q在jni中,也没有提供Q?nbsp; jobject->something() q种调用?br /> 3. 对这些对象的操作必须依赖?env对象的操作方?

看一下,jni.h中对 q些引用对象的定?br />
class _jobject {};
class _jclass : public _jobject {};
class _jstring : public _jobject {};
...
typedef _jobject *jobject;     //_jobject才是cd义,jobject 是否_jobject的指?br /> typedef _jclass *jclass;
typedef _jstring *jstring;
...

在这些下划线对象中,有什么成员变量,成员函数? {案是你什么也不能得到Q比如,你想知道Q_jstring对象的字W串长度Q你不能 _jstring.length()Q得刎ͼ而必env->GetStringLength(jstring) 来得?

只给你一个对象的指针Q不告诉你里面有什么,q样做的好处是实C接口分离?br />
jvalue q个cdQ是一个union Q感觉很想com里的variant对象Q不q没有指明类型的field
 typedef union jvalue {
    jboolean z;
    jbyte    b;
    jchar    c;
    jshort   s;
    jint     i;
    jlong    j;
    jfloat   f;
    jdouble  d;
    jobject  l;
} jvalue;
我现在还不知道,q个数据cdQ什么时候用.

jfieldID是一个javacL员变量的idQ这个id在c++中,实际是一个指向结构的一个指? jmethodID  是成员方法的id,  不管是成员变量还是方法的id,在javac被加蝲q虚拟机后,是保持不变的。所以从考虑性能计,可以使用静态缓存的ҎQ先取出来,后面会讲?br />
字符串类?br /> q里说的字符串类型,是jni中char * 的格式,不是?jstring/_jstringQjni也?char * 字符串指针,
好下所C:
    jmethodID GetMethodID (JNIEnv *env, jclass clazz, const char *name, const char *sig);

但需要注意的是,q里的nameQ必LUTF-8的编?utf-8对于ascii字符Q只占一个字?最多不过3个字?

report9d 2009-06-22 10:12 发表评论
]]>
java报表图例大全http://m.tkk7.com/report9d/archive/2009/03/04/257848.htmlreport9dreport9dWed, 04 Mar 2009 09:58:00 GMThttp://m.tkk7.com/report9d/archive/2009/03/04/257848.htmlhttp://m.tkk7.com/report9d/comments/257848.htmlhttp://m.tkk7.com/report9d/archive/2009/03/04/257848.html#Feedback5http://m.tkk7.com/report9d/comments/commentRss/257848.htmlhttp://m.tkk7.com/report9d/services/trackbacks/257848.html通过囄介绍java报表开发过E中,l常遇到的一些报表类?l计?及可视化的设计等.下面?杰表.2008 Z介绍?

 

一、支持报表类?/h1>

M报表

套打报表

标签报表

分栏报表

计算比去q增长数

计算比去q同期增长数

补I的表格报?/h2>

多表合ƈ.不同的数据集,做成一个相q的报表.

公式分组报表.按字D?q行分类,分

排行?Top N)报表

按汇d大排序的分组

多分组

计算占比

昄排名

交叉表折处?/h2>



层次不等的交叉表

行列q行分组的交叉表

多数据集的交叉表

静态表g的公式计?/h2>

 

二、javabean数据?/h1>

使用java数组

假设目l其他成员已l编写了一个Studentc,如下图(aQ,该类定义四个ҎQ分别获取其姓名Q年龄,性别Q分数。由脚本构造一个包含三个Student对象的数l,如图QbQ,要求你做成下图(cQ所C报表?

嵌套的java对象数据?/h2>

假设你有下图QaQ所C的两个cStudent和PersonQ你可以使用Student的getMembers()ҎQ取得该学生的家庭成员列表,每个家庭成员用一个Person对象表示Q该对象包含与该学生的关pR姓名、性别{信息?

ResultSet数据?/h2>

指定sql查询一个报?/h2>


三、统计图与条?

插入l计囑֯?/h2>

讄l计图背景及立体效果

讄l计图输出格式ؓFlash

从统计图d另一个明l报?/h2>

你可以在l计囄某一个数据区攄一个超链接Q用户双击该区Ӟ跌{到另一个子报表或网,如,有一个柱形图Q显C各产品的库存量Q点L个品的柱面Q就可以打开该品相关的销售记录?br />

饼图

以时间ؓ横u的统计图

混合cdl计?/h2>

双ul计?/h2>

创徏甘特?

Ҏl计?/h2>








创徏条Ş码对?/h2>

日常生活中条形码随处可见Q条形码用几何图形表C数据,q可以被专门讑֤识别。杰表可支持?3U条形码Q分别是codabar、code39、code128?of5、postnet、ean-128、ean-13、ean-8、upc-a、upc-e、royal-mail-cbc、pdf417、datamatrixQ其中最后两U是二维条Ş码?

一l码   二维?nbsp; 

讄囄背景

昄数据库字D上的图?/h2>


三、特D的报表效果

ȝH口效果

点击表头排序

使用链接子报表

当你览报表Ӟ可能需要了解更详细的信息,比如Q我们在览一个订单列表时Q希望了解该订单中各货物的销售数量。这Ӟ你可以在订单列表中,加一个超链接Q用户在点击该链接后,可以跌{到显C订单明细的一个报表?br /> 你可以在主表中,点击订单IDQ即可浏览该订单出售的所有货物明l,如下图所C:

热点提示

复杂汇?/h2>

颜色警告

斑马?/h2>

创徏小计、页累计报表

 

四、可视化设计?

设计参数表单

杰表.2008配备了一个可视化参数表单设计器,使用q个设计器,你可以不d报表设计器环境,L制作查询表单。表单设计器有丰富的web控gQ检验,事g侦听Qcss样式机制Q你也可以用javascript脚本扩展表单功能Q同Ӟ也实C常用的多个下拉框联动功能?br />

可视化的报表设计?

报表预览面板

 



report9d 2009-03-04 17:58 发表评论
]]>
Java报表工具打印Ҏ集锦http://m.tkk7.com/report9d/archive/2008/08/08/220934.htmlreport9dreport9dFri, 08 Aug 2008 07:52:00 GMThttp://m.tkk7.com/report9d/archive/2008/08/08/220934.htmlhttp://m.tkk7.com/report9d/comments/220934.htmlhttp://m.tkk7.com/report9d/archive/2008/08/08/220934.html#Feedback0http://m.tkk7.com/report9d/comments/commentRss/220934.htmlhttp://m.tkk7.com/report9d/services/trackbacks/220934.html本文试图对市面上行的纯java实现的web报表工具Qjasperreport ?stylereport 、杰表、润乾报表、快逸、finererportZQ分析各报表工具采用的web打印技术的异同、优劣、及对用户需求的适应性,供大家参考?/span>

打印是报表工L基本功能之一Q有些报表工具就是从一个专门的打印E序中发展而来Q如用友华表。因为想当然地简单,所以,在报表工具选型时用户常常忽略这个问题,特别是有些报表工具厂商,明知自己的打印方案在满某些需求时Q存在缺P但没有尽明确告知义务Q而故意事先做好花里胡哨的有关打印斚w的文,ƺ骗客户。我曾不至一ơ地听说Q有些开发商选用的报表工P其打印功能不能满需求,不得不另外找打印工具的事情,实在是吃苦头?/span>

报表打印?/span>c/s时代Q确实非常简单,vb,vc,Delphi,pb,都有很好用的打印apiQ有的甚至用报表控g方式Q搞定打印更是分分秒的事情,但今天是b/s的天下,报表都是在网|览器中显C,但当今的览器打印功能一般非常弱(谁让你叫?#8220;览”器呢Q?#8220;览”是让你用眼睛看Q?#8220;打印”属于D)Q要做到_分页打印Q几乎不可能Q所以当前的报表工具Q一般不会让你用浏览器的打印菜单来打印报表Q都有自q解决ҎQ这下可好,各报表工具厂商由是乎Q八仙过P各显通,各家都说自己的好Q对?/span>web打印了解不深的客PLN看花的感觉?/span>

归纳来说Q当?/span>java报表工具采用的打印技术不外乎三类Q?/span>Applet打印、导出成pdf/excel打印、控件打印。用户选用的重ҎQ尽量选择插g的打印软gQ因为文件小意味着安装q速,启动速度快。插件大除了插件本w的大小外,q需要考虑支持软g的大,如有些插件很,支持软g却很大?/span>

Applet打印

本文开始处提及的报表工P?/span>finereport外都支持Applet打印。之所以多数厂商支?/span>Applet方式打印Q因?/span>Applet?/span>java实现Q与java后台?/span>java报表设计器的兼容性较好,代码Ҏl护Q实C方便。然而,厂商省事Q用户就得多事?/span>Applet方式打印Q用h多的抱怨是需要安?/span>jreQ而当前的操作pȝQ一般不是默认安装的Q,虽然_多数厂商已经做到可以自动安装jreQ但对于10?/span>M(JRE1.4?/span>15MQ?/span>JRE1.5?/span>16M))的安装,q意味着用户需要较长时间的{待?/span>

另一个问题是Applet配置复杂Q用不E_?/span>1995q_正是因ؓlh们无IL视觉和脑力震荡的Applet QZ认识?/span>javaQ认识了Games Gosling。所以在b/s早期Qh们ؓ了展?/span>html的富客户效果Q?/span>Applet是唯一之选。但现如今,Applet已经是昨日黄花,早已?/span>ajax?/span>flex取代Q是什么原因?战略层面的东西,我也不太说得清楚Q但作ؓE序员,l过几番折腾后,也不会愿意再?/span>Applet了。如l常莫名其妙地出?#8220;应用程序,… notinited”的错误,q得清理ie~存Q对?/span>Applet打印Q还需要设|?/span>jre的安全策略等{。不是靠l端用户能完成的Q这必额外地增加开发商的服务成本?/span>

Applet打印Q启动速度慢?/span>Applet打印原理是,当你点击打印按钮Ӟ览器启?/span>AppletQ?/span>AppletҎ参数讉K后台面信息Q后台返回页面,Applet加蝲面后,调用jre的打印服务进行打印。这意味着Q每ơ打印都需要调用后台服务程序,必然媄响打印的响应速度?/span>

Applet打印很安全,a下之意是ActiveX打印不安全,q是采用Applet打印的厂商|z乐道的Q实际上Q这是一个伪命题?/span>Applet?/span>ActiveX都是览器的插gQ我们当然不希望下蝲插g后,该插件可以ؓ所ƲؓQ比如,删除你磁盘里的文Ӟ或启动一个木马,从这Ҏ_Applet实?/span>ActiveX安全Q因?/span>Applet是在一个受限的环境里运行,?/span>ActiveX是不受限的。所以,当你讉K一个陌生的|站ӞZ安全考虑Q你可能会允怸载运?/span>AppletQ而阻?/span>ActiveX。但当用戯问自q|站pȝ,Ӟq种担心没必要Q这好比Q当你与陌生人打交道Ӟ很自然地会问自己Q这人可信嘛Q但如果你与安人打交道Q这个问题就不成其ؓ问题了?/span>

Applet打印Q除了可以设|打印机Q设|纸张页面大等常规打印功能外,往往也集成与打印不相关的功能Q比如,打印前修改(有h_是ؓ了做假帐方便Q中国特Ԍ国报表工具一般都具备,jasperreport,stylereport不支持)Q按行分,自由定位Q这些本来由设计器完成的功能Q挪到打印功能上来,来掩盖上面指出的Applet的种U不뀂实际上Q?/span>Applet功能强弱完全取决?/span>Applet的大,有些报表厂商甚至?/span>Applet?/span>web start 的方式,提供所谓的Zweb的报表设计,前提是下?/span> 40?/span>M?/span>jar包,实际上,q种Ҏq非一般意义上的纯web 的报表设计,完全是؜淆概c作为用h希望常规的,他们熟悉的打印功能,不需要不相关的,理解困难的打印功能?/span>

PDF/EXCEL打印

Pdf打印方式Q就是用LL印后Q浏览器会自动弹?/span>adobe readerQ再利用adobe的打印按钮进行打华ͼ׃国外adobe reader安装非常普及Q国外的java报表工具多提供这U打印方案,比如 stylereportQ?/span>jasperreportQ国内报表工?/span>finereport也采用这U方?/span>(让h不解)Q?/span>pdf方式打印的好处是能做到精打华ͼ而且报表预览与打C气呵成。但不是需要在客户的机子里Q事先安装有adobe readerQ作为程序员Q一般不太会有问题,因ؓE序员可能经常要览一?/span>pdf文Q多数已l装?/span>adobe readerQ但国内的终端用P大多不知pdf是何物,更谈不上安装?/span>

Pdf打印的另一个问题是必须弹出adobe readerQ不能做到无预览打印Q这可能׃pdf~少相应api的缘故吧?/span>

轻量U的ActiveX打印

q里之所以强?#8220;轻量U?#8221;Q目的是与传l意义上?/span>ActiveX报表相区别?/span>ActiveX技术可以说是报表工具家族里的没落贵族,c/s时代Q报表工具一般都被做成控件Ş式,水晶报表是如此Q在b/s时代Q报表工具里仍然能看?/span>ActiveX的n影,但风光大不如从前Q如数巨Q明宇,用友华表Q?/span>inforeport。用ActiveX实现报表的不I在网上你能轻易找刎ͼ在此不再详述?/span>ActiveX 报表虽深受诟责,但从打印功能来说Q却都是q乎完美Q处理得却非常好Q非常稳定?/span>

既然Q?/span>ActiveX打印是长处,能不能扬镉K短地使用ActiveX技术?有h提出q样的问题。于是,有些厂商Q比如杰表,采用了浏览时?/span>htmlQ打印时用插件的方式。这U方案的需要解决的问题是,ActiveX打印控gQ不能太大,否则报表工具成了ActiveX报表了?/span>

?/span>Applet相比Q轻量ActiveX打印h以下优势Q?/span>

1.       下蝲旉短,Q大是Applet?/span>1/250Q;

2.       本地打印Q打印时Q不需要访问后台服务程序,不占用服务器资源Q?/span>

3.       启动速度快,׃控g,且本地打华ͼ所以打印速度是优于以上两中打印方案,打印速度与你点击览器打印菜单相差无几?/span>

采用轻量U的ActiveX打印的不xQ只?/span>ie 5.5 及以上版本支持,其他版本的浏览器不支持。好?/span>ie5.5览器已非常普及Q在用户那里应该不是大问题?/span>

杰表采用的打印方案,用一个jatoolsPrinter的控Ӟ大小?0kQ是l过数字{֐的。这个打印控仉用ieҎ的打印技术(templateprinterQ实现打印功能,支持打印Q预览,边距讄Q重复打华ͼ扚w打印功能?/span>

目前QjatoolsPrinter已经从杰表中独立出来QQ何报表工hW三方Y仉利用该控Ӟ实现web打印Q推今,免费加收费用户上万?/span>

下表ȝ三种方式的采用者及优劣ҎQ对于ie5.5客户来说,我们推荐使用ActiveX打印Ҏ.

报表厂商列表

jasperreport 
 

Stylereport 

杰表 

润乾 

快?/a> 

finererport 



report9d 2008-08-08 15:52 发表评论
]]>
java报表工具?如何可视化地设计报表参数表单http://m.tkk7.com/report9d/archive/2008/07/29/218332.htmlreport9dreport9dTue, 29 Jul 2008 04:09:00 GMThttp://m.tkk7.com/report9d/archive/2008/07/29/218332.htmlhttp://m.tkk7.com/report9d/comments/218332.htmlhttp://m.tkk7.com/report9d/archive/2008/07/29/218332.html#Feedback0http://m.tkk7.com/report9d/comments/commentRss/218332.htmlhttp://m.tkk7.com/report9d/services/trackbacks/218332.html当我们用报表工P设计完一张报表时Q我们同时必Mؓ该报表设计一个查询条件表单,使得用户在浏览报表时Q可以在|页中选取查询条g。在q去Q设计表单是件o人沮丧的事情Q这不仅要求你在报表设计器与开发环境之间来回切换,而且在设计表单时Q还需要考虑pȝ的其他布局元素的关p,苦燥Q繁琐,没有挑战性。更q一步,如果目要求最l用戯够自p计报表,天呐Q他们可能喜Ƣ用报表设计工具来设计报表,但绝对不愿意用网设计工h设计表单?br />
当然,也有一些报表工P实现了参数表单的自动化,比如Q按一定规则顺序排列参数项Q但q种自动化,用户很难按其需求进行排版布局Q所以不能彻底解决用L问题?br />
现在Q杰?2008配备了一个可视化参数表单设计器,使用q个设计器,你可以不d报表设计器环境,L制作查询表单。表单设计器有丰富的web控gQ检验,事g侦听Qcss样式机制Q你也可以用javascript脚本扩展表单功能Q同Ӟ也实C常用的多个下拉框联动功能?br />
杰表.2008表单设计器不仅是表单设计工具的替代品Q更重要的是表单设计器解决了报表设计ҎQ部|难的问题。我们希望,利用集成的表单设计器Q你只要在设计器中设计好参数表单Qƈ报表模板文件和表单模板文g|于某个位置Q你的用户就可以在浏览器中,按条件浏览这张报表了Q这中间不需要你再做M其他事情?br />
有关表单设计的更多内?点击q里





report9d 2008-07-29 12:09 发表评论
]]>
java复杂报表模型与实现方?/title><link>http://m.tkk7.com/report9d/archive/2008/06/10/206936.html</link><dc:creator>report9d</dc:creator><author>report9d</author><pubDate>Tue, 10 Jun 2008 08:15:00 GMT</pubDate><guid>http://m.tkk7.com/report9d/archive/2008/06/10/206936.html</guid><wfw:comment>http://m.tkk7.com/report9d/comments/206936.html</wfw:comment><comments>http://m.tkk7.com/report9d/archive/2008/06/10/206936.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/report9d/comments/commentRss/206936.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/report9d/services/trackbacks/206936.html</trackback:ping><description><![CDATA[作ؓjavaE序员,大家可能都听说过Q或用过birtQ?据说Q现在birt的东家actualQ正式入M国市场,联想到前些天杰表.2008的推出,今年Q注定是国内的报表Y件市Zq静的一q?br /> <br /> birt的最大好处是开源,不是水土不服,做v复杂报表来不方便Q复杂报表主要说的是行上Q列上有多个q列分组的交叉报表,国报表工具大都x复杂报表需求,而洋品牌的报表Y件工P如jasperreport,crystalreport,q方面关注不够,所以做起复杂报表来很吃力?br /> <br /> 做什么事情必d有观念,然后Q付诸实玎ͼ做Y件则更进一步,必须这些观늻构化Q即模型化。对复杂报表需求的处理Q国内报表Y件厂商时下,用得最多的是类excel报表模型Q即以单元格Z心报表模型,最早品化的,是用友华表,当然它不属于java阵营的,java阵营的现在有润乾QfinereportQ杰?.0Q类excel报表模型大家都觉得,功能很强Q但最大问题是Q学习v来不方便Q不知道你在大学里,微积分考多,如果?0分以下,那你最好别那东西?br /> <br /> 杰表.2008采用的复杂报表模型,相对来说Q比excel模型Ҏ得多Q比如下图是一个典型的复杂报表Q该报表用于按不同分cL?nobr><strong class="kgb" onmouseover='isShowAds = false;isShowAds2 = false;isShowGg = true;InTextAds_GgLayer="_u7EDF_u8BA1";KeyGate_ads.ShowGgAds(this,"_u7EDF_u8BA1",event)' style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; font-weight: normal; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 0px; cursor: hand; color: #0000ff; padding-top: 0px; border-right-width: 0px; text-decoration: underline" onclick='javascript:window.open("http://pagead2.googlesyndication.com/pagead/iclk?sa=l&ai=BfZck5hpOSL_9EIbc6wPonfXODoq8lUCas7HABMCNtwHAqQcQAhgCIM-BhwooFDgAUO3T75_5_____wFgnenVgbgFsgEUd3d3LmVjbGlwc2V3b3JsZC5vcmfIAQHaATdodHRwOi8vd3d3LmVjbGlwc2V3b3JsZC5vcmcvYmJzL3JlYWQtY2VjLXRpZC0xNjY4NS5odG1sgAIBqQLjfeSIDmODPsgCyp3SBKgDAegDtwKIBAGQBAGYBAA&num=2&adurl=http://www.egridsoft.com&client=ca-pub-3578421812762734");GgKwClickStat("l计","www.egridsoft.com","afc","2000084874");' onmouseout='isShowGg = false;InTextAds_GgLayer="_u7EDF_u8BA1"'>l计</strong></nobr><nobr><strong class="kgb" onmouseover='isShowAds = false;isShowAds2 = false;isShowGg = true;InTextAds_GgLayer="_u57F9_u8BAD";KeyGate_ads.ShowGgAds(this,"_u57F9_u8BAD",event)' style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; font-weight: normal; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 0px; cursor: hand; color: #0000ff; padding-top: 0px; border-right-width: 0px; text-decoration: underline" onclick='javascript:window.open("http://pagead2.googlesyndication.com/pagead/iclk?sa=l&ai=BeIET5hpOSL_9EIbc6wPonfXODtCwxkes4OjwBMCNtwHQ6AwQERgRIM-BhwooFDgAUO-X1t7-_____wFgnenVgbgFsgEUd3d3LmVjbGlwc2V3b3JsZC5vcmfIAQHaATdodHRwOi8vd3d3LmVjbGlwc2V3b3JsZC5vcmcvYmJzL3JlYWQtY2VjLXRpZC0xNjY4NS5odG1sgAIBqQLjfeSIDmODPsgCvO60BKgDAegDtwKIBAGQBAGYBAA&num=17&adurl=http://www.zhikao365.net&client=ca-pub-3578421812762734");GgKwClickStat("培训","www.zhikao365.net","afc","2000084874");' onmouseout='isShowGg = false;InTextAds_GgLayer="_u57F9_u8BAD"'>培训</strong></nobr>学员人数Q该表列上存在多个分l(培训cd、篏计培训时间、参加培训Mh数、培训内宏V渠道类型)Q分l之间不存在嵌套关系的,卛_l是q列的。行上存在一个按学员<nobr><strong class="kgb" onmouseover='isShowAds = false;isShowAds2 = false;isShowGg = true;InTextAds_GgLayer="_u884C_u653F";KeyGate_ads.ShowGgAds(this,"_u884C_u653F",event)' style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; font-weight: normal; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 0px; cursor: hand; color: #0000ff; padding-top: 0px; border-right-width: 0px; text-decoration: underline" onclick='javascript:window.open("http://pagead2.googlesyndication.com/pagead/iclk?sa=l&ai=BfZck5hpOSL_9EIbc6wPonfXODoq8lUCas7HABMCNtwHAqQcQAhgCIM-BhwooFDgAUO3T75_5_____wFgnenVgbgFsgEUd3d3LmVjbGlwc2V3b3JsZC5vcmfIAQHaATdodHRwOi8vd3d3LmVjbGlwc2V3b3JsZC5vcmcvYmJzL3JlYWQtY2VjLXRpZC0xNjY4NS5odG1sgAIBqQLjfeSIDmODPsgCyp3SBKgDAegDtwKIBAGQBAGYBAA&num=2&adurl=http://www.egridsoft.com&client=ca-pub-3578421812762734");GgKwClickStat("行政","www.egridsoft.com","afc","2000084874");' onmouseout='isShowGg = false;InTextAds_GgLayer="_u884C_u653F"'>行政</strong></nobr>U别Z据的分组?br /> <img alt="" src="http://www.jatools.com/image/tech/tech05.gif" border="0" /><br /> <br /> 复杂报表的复杂性在于结构复杂,比如上图报表列上存在多个q列分组Q不仅如此,行上也可能存在多个ƈ行分l;不仅有多个ƈ列分l,也可能各q列分组的嵌套数不一P不仅各个分组来源于同一?nobr><strong class="kgb" onmouseover='isShowAds = false;isShowAds2 = false;isShowGg = true;InTextAds_GgLayer="_u6570_u636E";KeyGate_ads.ShowGgAds(this,"_u6570_u636E",event)' style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; font-weight: normal; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 0px; cursor: hand; color: #0000ff; padding-top: 0px; border-right-width: 0px; text-decoration: underline" onclick='javascript:window.open("http://pagead2.googlesyndication.com/pagead/iclk?sa=l&ai=BfZck5hpOSL_9EIbc6wPonfXODoq8lUCas7HABMCNtwHAqQcQAhgCIM-BhwooFDgAUO3T75_5_____wFgnenVgbgFsgEUd3d3LmVjbGlwc2V3b3JsZC5vcmfIAQHaATdodHRwOi8vd3d3LmVjbGlwc2V3b3JsZC5vcmcvYmJzL3JlYWQtY2VjLXRpZC0xNjY4NS5odG1sgAIBqQLjfeSIDmODPsgCyp3SBKgDAegDtwKIBAGQBAGYBAA&num=2&adurl=http://www.egridsoft.com&client=ca-pub-3578421812762734");GgKwClickStat("数据","www.egridsoft.com","afc","2000084874");' onmouseout='isShowGg = false;InTextAds_GgLayer="_u6570_u636E"'>数据</strong></nobr>集,也可能来自多个不同的数据集?br /> <br /> 管如此Q我们仍然可以把复杂的交叉报表,看作下图所C的l构Q表格包括AQBQCQD四部分,其中BQC是两个表|军_了交叉表的结构。B表格非常ҎQ第一Q该表格向右生长的,而一般我们常见向下生长,如C 表格。第二,该表格有多个q列分组Q而一般报表工具中Q表格对象最外围只能有一个分l,管其嵌套数是可以多重的?br /> <img height="182" alt="" src="http://www.jatools.com/image/tech/tech06.gif" width="505" border="0" /><br /> <br /> 杰表.2008以上q结构分析ؓ基础Q引入了表格对象Q该对象是通过嵌入两个扩展方向不同的子表格Q行头表和列头表Q来完成交叉报表的结构性问题。两表均可以有Q意多的ƈ列分l,每个分组可以?nobr><strong class="kgb" onmouseover='isShowAds = false;isShowAds2 = false;isShowGg = true;InTextAds_GgLayer="_u5C42_u6B21";KeyGate_ads.ShowGgAds(this,"_u5C42_u6B21",event)' style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; font-weight: normal; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 0px; cursor: hand; color: #0000ff; padding-top: 0px; border-right-width: 0px; text-decoration: underline" onclick='javascript:window.open("http://pagead2.googlesyndication.com/pagead/iclk?sa=l&ai=BKp1q5hpOSL_9EIbc6wPonfXODrGa2lKR3IqWBMCNtwGA8QQQARgBIM-BhwooFDgAUMKdsxVgnenVgbgFoAGH58n8A7IBFHd3dy5lY2xpcHNld29ybGQub3JnyAEB2gE3aHR0cDovL3d3dy5lY2xpcHNld29ybGQub3JnL2Jicy9yZWFkLWNlYy10aWQtMTY2ODUuaHRtbKkC433kiA5jgz7IAv2SngGoAwHoA7cCiAQBkAQBmAQA&num=1&adurl=http://28.com/%3Fcomeid%3D20286&client=ca-pub-3578421812762734");GgKwClickStat("层次","28.com","afc","2000084874");' onmouseout='isShowGg = false;InTextAds_GgLayer="_u5C42_u6B21"'>层次</strong></nobr>不同的嵌套。下图(aQ是<nobr><strong class="kgb" onmouseover='isShowAds = false;isShowAds2 = false;isShowGg = true;InTextAds_GgLayer="_u8BBE_u8BA1";KeyGate_ads.ShowGgAds(this,"_u8BBE_u8BA1",event)' style="border-top-width: 0px; padding-right: 0px; padding-left: 0px; font-weight: normal; border-left-width: 0px; border-bottom-width: 0px; padding-bottom: 0px; margin: 0px; cursor: hand; color: #0000ff; padding-top: 0px; border-right-width: 0px; text-decoration: underline" onclick='javascript:window.open("http://pagead2.googlesyndication.com/pagead/iclk?sa=l&ai=BsAKx5hpOSL_9EIbc6wPonfXODsyV4kKQ2O-QB8CNtwGAtRgQCRgJIM-BhwooFDgAUL3G-8P5_____wFgnenVgbgFsgEUd3d3LmVjbGlwc2V3b3JsZC5vcmfIAQHaATdodHRwOi8vd3d3LmVjbGlwc2V3b3JsZC5vcmcvYmJzL3JlYWQtY2VjLXRpZC0xNjY4NS5odG1sgAIBqQLjfeSIDmODPsgCxvLQA6gDAegDtwKIBAGQBAGYBAA&num=9&adurl=http://www.joton.cn/xincpzx.htm&client=ca-pub-3578421812762734");GgKwClickStat("设计","www.Joton.cn","afc","2000084874");' onmouseout='isShowGg = false;InTextAds_GgLayer="_u8BBE_u8BA1"'>设计</strong></nobr>面板中的表格对象Q下图(bQ是该对象子部g的层ơ关p,其中对象3是行头表,对象4是列头表?br /> <img height="173" alt="" src="http://www.jatools.com/image/tech/tech07.gif" width="475" border="0" /><br /> <br /> 杰表的超U表格对象结合杰表的DOM报表数据模型Q可以演化出L复杂的多源,多组交叉表,下面试D几例说明之?点击q入查看)<br /> <br /> <a target="_blank">列上q行分组交叉?<br />   层次不等的交叉表 <br />   行列q行分组的交叉表 <br />   多数据集的交叉表 <br />   计算比去q增长数 <br />   计算比去q同期增长数 <br />   计算占比 <br />   昄排名 <br />   按照汇d排序的交叉报表 <br />   交叉表折处?<br />   交叉表居?/a> <img src ="http://m.tkk7.com/report9d/aggbug/206936.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/report9d/" target="_blank">report9d</a> 2008-06-10 16:15 <a href="http://m.tkk7.com/report9d/archive/2008/06/10/206936.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用java对象作报表数据源http://m.tkk7.com/report9d/archive/2008/05/29/203727.htmlreport9dreport9dThu, 29 May 2008 02:07:00 GMThttp://m.tkk7.com/report9d/archive/2008/05/29/203727.htmlhttp://m.tkk7.com/report9d/comments/203727.htmlhttp://m.tkk7.com/report9d/archive/2008/05/29/203727.html#Feedback0http://m.tkk7.com/report9d/comments/commentRss/203727.htmlhttp://m.tkk7.com/report9d/services/trackbacks/203727.html一般java报表工具Q允许用户用javacL作动态数据来源,但这个类必须W合工具要求的接口,如JasperReport的JRDataSource接口Q杰表的BeanDataset接口。这U方式确实ؓ用户提供了一U在报表工具中用java对象的途径Q但同时Q因为需要实现特定接口,额外地增加了~码工作?br />
有没有一U不需要实现接口直接用java对象的办法呢Q杰?2008提供了这LҎ?br />
假设你有下图QaQ所C的两个cStudent和PersonQ你可以使用Student的getMembers()ҎQ取得该学生的家庭成员列表,每个家庭成员用一个Person对象表示Q该对象包含与该学生的关p,姓名Q性别{信息。注?q两个类没有实现M额外的接口?br />

如果你有一个Student对象Q那么,在杰?2008中,你就可以做成如上图(bQ所C报表,上半部分列出该学生的本h信息Q下面显C学生的家庭成员表。更多内容请参照Q?br />
使用java对象作数据源 
使用java数组 
java数组节点讉K 
ListQiterator数据?nbsp;
嵌套的java对象数据?nbsp;
ResultSet数据?nbsp;
TableModel数据?br />
 


report9d 2008-05-29 10:07 发表评论
]]>
多动鼠标动脑,java报表工具的简U之?/title><link>http://m.tkk7.com/report9d/archive/2008/05/20/201563.html</link><dc:creator>report9d</dc:creator><author>report9d</author><pubDate>Tue, 20 May 2008 01:17:00 GMT</pubDate><guid>http://m.tkk7.com/report9d/archive/2008/05/20/201563.html</guid><wfw:comment>http://m.tkk7.com/report9d/comments/201563.html</wfw:comment><comments>http://m.tkk7.com/report9d/archive/2008/05/20/201563.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://m.tkk7.com/report9d/comments/commentRss/201563.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/report9d/services/trackbacks/201563.html</trackback:ping><description><![CDATA[<p><span style="font-family: 宋体">q年来,U?/span>java<span style="font-family: 宋体">的类</span>excel<span style="font-family: 宋体">报表工具异军HvQ在国内报表工具市场中取得了初步成功。目前市ZL的纯</span>java<span style="font-family: 宋体">c?/span>excel<span style="font-family: 宋体">的报表工h润乾、杰?/span>4.0<span style="font-family: 宋体">?/span>finereport<span style="font-family: 宋体">{?/span></p> <p><span style="font-family: 宋体"><br /> c?/span>excel<span style="font-family: 宋体">报表工具之所以受国hq捧Q一斚w是契合了国内用户喜欢用格子做报表的习惯,另一斚wQ由于扩展的c?/span>excel<span style="font-family: 宋体">报表模型的推出,比如润乾的非U性多源分片模型,杰表</span>4.0<span style="font-family: 宋体">的超U?/span>cell<span style="font-family: 宋体">模型Q满了用户~制复杂报表的需求?/span></p> <p><span style="font-family: 宋体"><br /> 然而,通过q几q的应用Q类</span>excel<span style="font-family: 宋体">报表工具的问题也大量暴露出来Q主要集中在易用性和性能两方面,Ҏ原因在于c?/span>excel<span style="font-family: 宋体">报表工具模型本n的不合理。用c?/span>excel<span style="font-family: 宋体">报表模型去解军_杂报表需求,像用十字锣丝刀d启一字锣丝一P虽然勉强能用Q但l归不是问题的正解?/span></p> <p><span style="font-family: 宋体"><br /> 现在Q因为复杂报表需求概念被炒得火热Q几乎每一个报表工具厂商都声称自己能做中国式的复杂报表Q但你若q问一句,你们的报表工具好使嘛Q需要多长时间能掌握Q我估计癑ֈ之百哑口?/span></p> <p><span style="font-family: 宋体"><br /> 选用报表工具的目的是Z提高开发报表模块的效率Q如果报表工具学习v来困难,不易掌握Q那么,虽然报表工具l你带来了设计报表的便利Q但也同时给你制造了不必要的学习障碍。在</span>it<span style="font-family: 宋体">企业人才动频繁的背景下Q降低报表工L学习隑ֺQ就{于降低目的h工成本和风险Q所以报表工h用性是考量报表工具的一个重要指标。往极端了说Q如果一个报表工P需要有一个爱因斯坦的大脑才能使用Q这L报表工具不用也Ş?/span></p> <p><span style="font-family: 宋体"><br /> 用户是上帝,当用h很多报表工具产品可供选择之时Q用户对我们报表厂商提出了更高的要求Q他们不会再满于问你能不能做,q会问你上手够不够快。面对如此新的市求,有些报表工具厂商没有引v_重视Q仍然gl着营销亢奋Q研发萎靡的做法Q一个概念卖CQ不能不令h忧虑。杰表团队坚信,一个好的品只有持l地們֐市场的声韻Iq体现在我们提供的品与服务上,才能取得持箋的成功?/span></p> <p><br /> 2003<span style="font-family: 宋体">q_融合c?/span>excel<span style="font-family: 宋体">模型的杰表推出市场,?/span>2006<span style="font-family: 宋体">q春Q决定全面重写杰表框Ӟ停止一切主动的市场营销zd。ؓ什么要重写框架呢?我们需要找CU更易用的报表模型。因为经q多q的市场验,我们意识到类</span>excel<span style="font-family: 宋体">报表报表模型Q不是杰表</span>4.0<span style="font-family: 宋体">的超U?/span>cell<span style="font-family: 宋体">模型q是润乾的多源分片模型,都不能很好解军_杂报表问题?/span></p> <p><span style="font-family: 宋体"><br /> c?/span>excel<span style="font-family: 宋体">模型不易学习的根本原因是Q没有一个可视化的数据模型。所以你需要在非线性、多源分片、uq些豪华概念的面前,费尽脑力。另外,采用单元格即数据的做法,完全q反?/span>MVC<span style="font-family: 宋体">的Y件哲学,使之报表工具的灵zL大受限制。MQ非U性多源分片技术确实很数学Q但很不哲学?/span></p> <p><br /> 2008<span style="font-family: 宋体">q?/span>5<span style="font-family: 宋体">月,l过持箋两年的潜心研发,杰表</span>.2008<span style="font-family: 宋体">正式面市。杰?/span>.2008<span style="font-family: 宋体">采用可视化的</span>dom<span style="font-family: 宋体">驱动报表模型Q采?/span>MVC<span style="font-family: 宋体">架构Q从Ҏ上解军_杂报表工具学习难的问题。下图是杰表</span>.2008<span style="font-family: 宋体">设计器中展现的可视化报表模型。更多内容参?/span> <a class="l2" target="_blank">www.jatools.com</a><br /> <br /> <img alt="" src="http://www.jatools.com/tech/visual.gif" /> <br /> </p> <img src ="http://m.tkk7.com/report9d/aggbug/201563.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/report9d/" target="_blank">report9d</a> 2008-05-20 09:17 <a href="http://m.tkk7.com/report9d/archive/2008/05/20/201563.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://m.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> վ֩ģ壺 <a href="http://fantoment.com" target="_blank">þþƷձҰ</a>| <a href="http://haichuanwangluo.com" target="_blank">Ƶ߹ۿ</a>| <a href="http://www988555.com" target="_blank">޾ƷþþþþV</a>| <a href="http://zhaosaohuo.com" target="_blank">91Ʒѹ</a>| <a href="http://dxjz120.com" target="_blank">޾Ʒһ</a>| <a href="http://wlzp88.com" target="_blank">þþƷ˽ӰԺѿ</a>| <a href="http://yangguang882.com" target="_blank">޹Ʒ۲ӰԺ߹ۿ</a>| <a href="http://sdsupuchem.com" target="_blank">aaŮ˴ƬˮƵ</a>| <a href="http://trio2003.com" target="_blank">þþþޱٸ</a>| <a href="http://blzcn.com" target="_blank">ƷһѲ</a>| <a href="http://kyqp0033.com" target="_blank">޳?vƬ</a>| <a href="http://b7277.com" target="_blank">ŮaëƬѹۿ</a>| <a href="http://slmlxg.com" target="_blank">޾Ʒ㶮վ</a>| <a href="http://meijibear.com" target="_blank">Ѳһ</a>| <a href="http://yw762.com" target="_blank">ɫþþ99Ʒ</a>| <a href="http://116com.com" target="_blank">99ȲƷ99</a>| <a href="http://51caox.com" target="_blank">޳һ</a>| <a href="http://caita88.com" target="_blank">ձһ</a>| <a href="http://www73234.com" target="_blank">޳վ</a>| <a href="http://800141.com" target="_blank">ȫƵѸ</a>| <a href="http://7s8s.com" target="_blank">AVƷһ</a>| <a href="http://www-5453.com" target="_blank">Ļa</a>| <a href="http://jiujiujingpin.com" target="_blank">һƵ</a>| <a href="http://cn-zggx.com" target="_blank">ղ2021</a>| <a href="http://bixnu.com" target="_blank">ձ˻ʿxxxxƵ</a>| <a href="http://sewo66.com" target="_blank">ŮվƵ</a>| <a href="http://szzdjl.com" target="_blank">ɫר߹ۿ</a>| <a href="http://fzgjw.com" target="_blank">Ƶ߹ۿ </a>| <a href="http://ttvv77.com" target="_blank">ȫ߲ëƬ</a>| <a href="http://www-840012.com" target="_blank">С˵ͼƬ</a>| <a href="http://schygfz.com" target="_blank">99Ʒѹۿ</a>| <a href="http://sk7758.com" target="_blank">Ļ</a>| <a href="http://a666999.com" target="_blank">ӰԺ</a>| <a href="http://www621f.com" target="_blank">8x8xƵ</a>| <a href="http://ztxfkj.com" target="_blank">þAVӰ </a>| <a href="http://wwwfafa98.com" target="_blank">ձ߿Ƭ</a>| <a href="http://83k5.com" target="_blank">ëƬ߹ۿվ</a>| <a href="http://by6216.com" target="_blank">ձĻѿ</a>| <a href="http://roocos.com" target="_blank">þþƷav</a>| <a href="http://51huanxin.com" target="_blank">ƬAëƬ鴤ɫ</a>| <a href="http://wwwbi757.com" target="_blank">ؼëƬȫѲ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>