2007年3月28日

     摘要: 分析报表工具的制表能力  阅读全文
posted @ 2007-03-28 12:47 e表 阅读(883) | 评论 (0)编辑

2007年3月22日

     摘要: sql语句生成器的实现方法总结.  阅读全文
posted @ 2007-03-22 12:19 e表 阅读(332) | 评论 (1)编辑

2007年3月19日

     摘要: 报表,.net,web报表,c#,水晶报表,报表设计器,.net报表,web打印,excel  阅读全文
posted @ 2007-03-19 12:00 e表 阅读(3215) | 评论 (6)编辑

2007年3月13日

 http://***/webreport  
posted @ 2007-03-13 09:44 e表 阅读(578) | 评论 (0)编辑

2007年3月12日

 

        因为Excel的易用,使得用户能够自己做表,几乎所有用户的报表都有Excel文件。用户希望能将Excel的文件读入报表工具,这样就可以省去画表的工作了;同时,生成的报表,要能导出成Excel文件,这样用户就可以在其上再加工处理。因而对于一个报表工具来说,有没有完善的导入/导出Excel文件的功能是至关重要的。

       .net开发环境下,实现导出Excel文件有如下三类方式:1 只导出数据,不导出格式。生成csv的文件。2 利用Excel软件本身带的com控件来实现。这种方式的弱点是需要安装Excel软件,且可能有Excel软件的各个版本之间的兼容性问题。还有就是Excel软件中的com控件的庞大的接口需要学习。3 自己写代码实现标准Excel格式文件的二进制层面的读写。

       e表就是采用第3种方式。e表系统中有一个用c#写的ebexcel.dll来实现标准Excel格式文件的二进制层面的读写。这样做的好处是在客户端和服务器端都不用装excel软件的情况下实现Excel文件的不失真读写。
详见: http://www.fcsoft.com.cn

posted @ 2007-03-12 14:27 e表 阅读(458) | 评论 (0)编辑

2007年3月8日

 

       自从开发web程序以来,web打印就一直是困饶大家的大问题。基于web的打印,难度在于要将浏览器中呈现的html,精确地打印到票据中,而且能够实现对分页位置的控制。下面就IE浏览器所能采用的打印解决方案,来个汇总分析。

一、 浏览器的打印功能菜单
这种方案的优势是不需要对浏览器作任何扩充,是最简单的办法,但问题也最多,如:

1 不能精确分页。
浏览器一般是根据用户设置的页面大小,web页面的内容多少,来自行决定分页位置,程序员很难控制。会有页脚页眉干扰。

2 不能准确地控制边距及打印文字。

3 不能解决连续打印。
比如,不是仅打印一张票据,而是连续一次打印若干个票据。

二、 使用webbrowser控件+ javascript
这实际上,是浏览器打印功能菜单的一种程序调用,与打印功能菜单没什么两样。分页的问题仍然存在,只不过,可以让用户不用去点菜单,直接在网页中的一个按钮,或一个链接里面调用罢了。

三、 使用print css
这是一种最理想的实现web套打的方法。这种方法通过在html文档中,嵌入打印相关的css样式,来实现对html文档输出打印的控制,比如设置纸张大小,纸张纵横方向,打印边距,分页等。显而易见,这种方式成本小,不需要下载任何插件,而且跨平台性非常好。print css推出已经有些时日,但遗憾的是,至今没有一个厂商的浏览器很好地实现了这些标准,这使得程序员目前还不能利用print css进行实际的开发。关于打印css,参见:
http://css-discuss.incutio.com/?page=PrintStylesheets

四、 使用pdf文件
用这种方式,就是从服务器端下载一个pdf文件流,在IE中用adobe插件打开,然后用adobe的打印菜单进行打印,虽然这种方案,也能实现精确套打,但需要下载adobe插件。这是国外报表工具经常推荐的一种打印方法,但在pdf不那么普及的中国,这种方案不是最好选择。

五、 采用纯ActiveX
这种方案就是下载一个控件,票据的数据不再以html方式呈现,而是呈现在ActiveX中。这种方案的优点是打印的精确度高,分页的可控性好,但缺点也是很明显的,嵌入ActiveX控件破坏了web应用的整体html风格,且这样的控件比较大(一般超过1M,下载颇费时间)。

六、 采用Applet方式
采用Applet方式,分页或精确打印,都可以做到完美,但缺点也很明显,表现在:

1安装Applet成本巨大。需要下载十几M的文件。
Applet
本身可能并不大,但运行Applet所需的jre一般至少10Mjre1.4.2 15.45M)。用户需要极大的耐心,来进行打印。

2打印报表时,需要重新向服务器检索数据,效率低。
因为Applet方案,一般采用html方式呈现数据,打印时Applet必须向服务器检索同一张票据的数据,看上去,是打印了当前页的票据,实际上,Applet根本不会用当前html页的数据来打印,而是向服务器下载数据到Applet中来打印。也就是说,打印的话,必须两次请求,一次html呈现,一次用来打印。
 

七、 轻量级的ActiveX打印方式

轻量级的ActiveX打印方案的优点是:

1.       效率高;
可以直接打印指定的html文档,不必向后台再次提起请求。

2.       能做到精确打印,分页;

3.       功能丰富,
可以利用该控件,实现对当前票据文档的打印,预览,及多个html文档的连续打印。

4.       下载量小, ActiveX只有75K

 

e表就是采用第七种方式来实现报表的打印。e表内置了一个用c++写的轻量级的ActiveX控件来精确地控制客户端的打印机。一举解决web打印问题。

 详见: http://www.fcsoft.com.cn

 

posted @ 2007-03-08 11:37 e表 阅读(1362) | 评论 (0)编辑

2007年3月7日

 

        Excel绘表方式能解决报表样式问题,但Excel的这种基于自由单元格的模型和基于二维表的数据库物理表模型没法有机的结合起来。控件拖拽式绘表能很好地从数据库中取数,但又无法处理复杂的报表样式。因而迫切需要一种新的报表实现方式。

e表就是采用了一种新的报表实现方式。在e表中,一个报表被认为是由单元格扩展而来的。即先采用类Excel方式绘制好静态报表。当然在其中预置了一些扩展单元格的公式。而在运行报表时根据公式横向或纵向扩展单元格而得到真正的报表结果。这样就同时兼顾了报表样式和从数据库中自动取数这两个方面。

       控件拖拽式报表工具除了样式绘制麻烦之外,还有它最终是由单个数据集循环展开而得到报表的致命弱点,报表的形成是由单个数据集的循环再结合报表格式文件的定义而得到真正的报表结果,它相当于只有一个循环运算点。

e表因为可以在一个类Excel的静态网格报表上定义无限多的扩展公式,运算报表时这些扩展公式同时扩展,每个扩展公式可以基于不同的数据集。它相当于有无限多个循环运算点。因此报表的表现力大大增强,可以说是复杂统计报表的克星。

详见: http://www.fcsoft.com.cn

posted @ 2007-03-07 13:44 e表 阅读(124) | 评论 (0)编辑

2007年3月5日

    因为Excel很早就已普及了。所以提及报表工具,自然首先都会想到用类Excel方式,而为什么控件拖拽式的报表工具会这么多呢?
    这是因为Excel虽然具有强大的绘表能力,但数据处理能力非常弱,除非用“A2+B3=D4”这样的公式将单元格联系起来,否则单元格之间是相互独立的,没有任何关系的。如果要从数据库或数据文件中取数,需要程序员一个单元格一个单元格去定义,工作量相当繁重。需要靠程序员编程来实现动态行列报表的制作。
    因为报表格式只是报表工具要解决的一部分问题。我们用报表工具的目的,是要能从数据库中读出数据,从而自动产生报表,数据才是报表要解决的核心问题。报表格式用Excel可以解决得很好,但是Excel没有良好的从数据库中进行数据汇总方案,除非编程序往格子里填数据,基本上没法从数据库中读出数据自动产生报表。因此这种报表几乎都只能做静态报表。
    而拖拽式的格式虽然解决得一般,但从数据库中取数进行数据统计能力方面要比Excel强得很多,两害相权取其轻,堆框虽费劲,慢慢堆就行了,但统计汇总不行的话那就没办法了。
    报表工具软件和其它软件一样都是国外先做出来的,而国外的报表的样式非常规整,没有格线,表头非常简单,没有斜线表头、没有分层分组。一张报表提供的信息有限,如果要看所有信息,就只能几张表对照着看了。因而国外的报表工具采用控件拖拽式能弱化报表样式绘制能力弱的缺点。而国内的报表工具基本上都是学习国外的报表工具模型来设计的。而中国式报表的样式相当复杂,所以很多报表工具都被迫再辅以大量的程序代码来处理中国式报表,这也使得用户在买了报表工具后,做报表的工作量还是很大。
详见: http://www.fcsoft.com.cn
posted @ 2007-03-05 17:08 e表 阅读(87) | 评论 (0)编辑

导航

<2008年8月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

统计

与我联系

搜索

 

常用链接

留言簿(2)

我参与的团队

随笔档案

web报表

最新评论

阅读排行榜

评论排行榜