报表问题的终极解决方案(没有分数) (0分)

B

blueboy

Unregistered / Unconfirmed
GUEST, unregistred user!
  对不起,这个问题没有分数。
  MIS开发中的报表查询和打印让大家头痛,MIS开发中基于B/S结构
的综合查询更让大家头痛,大家找啊找啊找,找什么样的控件能把报表画得更好
编程更容易......呵呵,为什么不找一种能够解决报表问题的终极方案呢?
  
  想作一个东东,不用编写程序就把各种报表问题给解决了,赞成的请举手!
  
  要作的东东如下:
  
  1、程序员不用编程就能制作报表,最终用户经过培训也能制作报表。
  2、报表格式的制作就象EXECL一样方便,而且能兼容EXCEL格式,即
可读EXCEL的格式文件,查出来的报表也能生成EXCEL文件。
  3、能够定义任何数量各种各样的数据源。
  4、能够定义各种查询条件(如按年、月、日、单位、名称、类别等),并
按不同的条件进行查询打印。
  5、定义的报表不仅能在C/S结构下面用,而且能在B/S结构下面查,
就是说用户可以在他的企业网站上发布各种数据库信息,并且是纯HTML的!
哈哈,酷吧?
  
  大家注意,所有这些功能都不用程序员或用户编写一句代码!
  
  有什么想法大家说说吧!
 
我以前写过一个报表平台,支持任何格式的报表。主要是利用了FASTREPORT,呵呵。你可以好好
研究这个控件。
 
估计需要用上xml吧!
 
  fastreport没有用过,以前主要是用DELPHI自身所带的F1BOOK。
用过一段时间后发现其实F1BOOK也蛮好用的,能画出任何格式的报
表,界面风格和EXCEL相似,用户很容易上手,缺点就是打印预览做
得不好,还有就是只与低版本的EXCEL兼容,不知fastrepot这方面
解决得怎么样?
其实用各种各样的控件来画报表并不难,编写程序也很简单,
就是比较烦。在大的 MIS系统里报表会有数百个,如果都写程序来
实现,费时又费工,程序员也觉得活儿水平太低,都不愿去干。还
有就是用户动不动就改报表格式,改!改!改!真是烦不胜烦!所
以想做一个报表平台,让程序员来个大解放。
我想,画报表格式比较容易解决,就是要与数据库捆绑起来不
太容易,固定格式的报表还好办,那种长度可变的报表就不好办了,
平时我们都是在程序中用很多循环和条件语句来实现,如果不用编
程,这个问题怎么解决?吴兄是前辈,想听听您的高见。
  在B/S结构下如果能用上xml处理报表当然更好,不过不用xml
也能实现,只是没了xml所带来的优越性,hnzgf 兄以为如何呢?
 
其实你的问题就是:用户改了报表格式怎么办? 这个就是我们当初为什么选用FASTREPORT组件
的原因,因为他可以不需要改程序,就可以修改报表格式。当然XML通过结合XSL格式,也是可以实现
相应的功能的。
 

  用户改的不只是格式,往往数据源也改变了,比较简单的如多打印一个字段,
这个字段原来的数据库就有,只是旧的报表没用到而已;而复杂些的可能就要增加
数据源了,比如原来的报表里只打印主表,而新的报表要在原表的后尾增加明细,
不知fastreport有否这样的功能:不用修改程序,用户在运行状态就可以调整数据
源?f1book肯定是没有这个功能的,因为它只是一个表的“架子”,所有与数据库
有关的操作都要编写程序去实现。
  
  其实想做这个东东的目的主要不是为了应付用户的改变,更重要的目的是为了
提高程序开发的效率,想想看,如果原来编写一张报表查询打印程序需要一天的时
间,现在只需花十几二十分钟来定义格式和数据源就ok是不是很爽呢?
 
关注着。
 
FR没有的功能,就要你程序员去实现他啊。
FR的原理就是保存了当前的报表格式文件,在下次你使用时把他调出来。如果格式或者数据源
变了,那你就调用FR的修改界面去修改他。至于数据源如何定义,我们当时的做法就是修改了
FR报表文件的格式,自己在里面记录下了数据源的相关信息以及SQL语句。例如你要增加明细,
就把明细用的SQL和数据源源保存下来,并增加相应的FR控件和明细的每个字段对应。下次调用
的时候照显示就是。当然,你还得提供界面给用户建立SQL或者修改数据源等。这就是你程序员
要干的事了。
 
  说得在理,多谢吴兄指正。
  看来无论用哪个控件来做,该写的程序还是要写的,偷懒不得。
  在没有决定用什么控件之前,我想请教吴兄关于FR的一些问题,希望能多多指教。
  1、FR查出来的报表能比较容易地转成EXCEL文件存起来吗?因为用户往往要报送
EXCEL报表。
  2、FR查出来的报表能比较容易地转成 HTML文件存起来吗?很讨厌,用户什么都
想在WEB上发布。
  也想听听其他大侠们的高见,比如这个东东应该增加一些什么功能,要注意一些
什么问题,怎么操作才好用,等等。小生在这儿先谢过了。
 
都可以。
 
多谢。
您现在好象比较多的用JAVA作开发了吧?不知用JAVA来做纯B/S的MIS开发效率如何?
 
JSP的效率还是不错的,很多人选择它做B/S。如果结合中间件,效率更高
 
如果用CORBA呢?好不好做?
 
FAINT,GORBA和报表有什么关系?你这个问题就象在问:
我要吃饭,如果我坐汽车回来好不好? :)
不和你多说了。
 
对于java开发b/s的mis系统,我正好在做,我觉得开发效率并不是很高,
我们已经开发了一个平台封装了database和servlet的细节,仍然感觉开发
效率不能让人满意。应该说运行的效率还是基本让人满意的,当然,前提是
你的硬件设备要足够好。
另外,大家没有用BO或者水晶报表之类的工具吗?它们早就实现了blueboy想
要的功能。水晶报表我没用过,BO接触过,它通过在数据库之上定义一个语义层,
然后所有的报表都可以通过语义层来构建。确实不需要程序员做什么事情了,除了
语义层的定义,当然,对于有特殊要求的复杂报表,自己写一些sql仍然是必要的。
但是,一旦语义层定义好了之后,使用者可以根据自己的需要随心所欲的定制自己
想要的报表。
 
哈哈,吓你一掉了,不好意思。
我是说JAVA+CORBA作B/S结构的MIS开发好不好用。当然这不仅仅是报表的问题了,好象不太合适在这儿讨论吧。
还是谢谢吴兄,88。
 
小猪:
我觉得不是那么说的。和程序员编程的方法也很有关系的。我现在写的那个程序,一开始
和大部分人一样,读数据都是每次直接从数据库读出来显示,做一次任务要一分多钟。后来我
在程序里加了个BUFFER,速度立刻上升到几秒。这个事件给了我很大的启发:不能依靠语言来
提速,要依靠自己。否则,即使你写C,也可能写出个比解析程序还慢的程序出来。
 
  hello piggy! :)
  BO当然好,但她的价格也很高呀。我们曾向用户推荐过BO,但她数千M一个用户的
价格把别人都吓跑了。一个MIS项目的高级查询用户,少说也有二三十个,这样一来光
查询平台就要十几二十W,用户不舍得呢!况且BO用在数据仓库上才能“人”尽其才,
放在MIS的初期阶段是有点大才小用了,想想看,记录都没有多少条,"切片"和"挖掘"
给谁看啊?
  还真巧,后来用户自己买了水晶平台,光一个数据库平台的转换就吓死了人家(水
晶平台用的是SQL SERVER,用户用的是sybase,厂商说要先把数据库转成SQL SERVER,
用户不高兴了,她就一直躺在那儿起不来呢,不知道现在的水晶怎么样了?是不是还和
以前一样水土不服?)
 
顶部