zoukankan      html  css  js  c++  java
  • 一个免费的RDLS实现

     

    来北京两个多月了,算是基本安定下来了。虽然工作上有诸多不顺心,但还是要珍惜“现在”。第一个珍惜的表现,就是激活我的BLOG。以前也是不能坚持,零零星星写些没价值的东西。

     

        刚进新公司的第一个任务就是看这个http://www.fyireporting.com/。头儿的想法是,因为它开源,可以在其基础上,搞个部门内部用的报表方案,统一一下各个项目处理报表的方式,节省掉做报表的重复工作。这种说法在领导那里自然是支持的,因为直接关系到节约成本。唉,我又有要开始抱怨的痕迹了,也许大家没发觉,但我还是控制一下,转到正题上吧!

     

        RdlProject项目的特点是基于RDLS(报表定义语言规范,是微软为报表服务(Report Service)提供的基础规范)。与使用微软Report Service的解决方案相比,你无需花费高昂的许可费,就可以在你的.NET应用程序里使用Report Service 报表提供的诸多便利。

        因为我既不是老板,也不是用户,所以省不省钱与己无关。我体会到的更实 际的好处是,伴随SQL SERVER 2005的大举造势,网络上有很多微软报表服务的资料,而这些资料绝大部分都适用于RdlProject。对标准(虽然是微软自己的标准)的支持以及大量的资料,都为使用RdlProject提供了坚实的基础。

     

        另外,前不久,微软发布的两款免费的工具带来了更多。

        在Microsoft SQL Server 2005 Express Edition with Advanced Services里,新提供了一个免费易用的管理工具 SQL Server 2005 Management Studio Express (SSMSE),以及全文索引功能。与本文相关的一个新功能是,可以在这个版本上,运行微软Report Service报表。不过,免费的代价是,它只能使用本地的关系数据。另外还有一些其他的功能限制。我还不大明白,这个限制的具体含义。暂时还没试用,所以不敢胡说了。

        更有趣的是,如果安装了Microsoft SQL Server 2005 Express Edition Toolkit(以下简称Toolkit),就可以在VS2005里看到BI(Business Inteligence)的项目模板。与RdlProject提供的设计器相比,出现在VS2005里的报表设计工具要完善得多,而且更易使用。(顺便提一句,RdlProject的设计器,还有不少小问题,虽然大致能用,但是要想长期使用在项目中,最好还是自己去一下BUG,并做一些扩充。不过既然有了微软提供的这么好的免费工具,我可能就不考虑直接用RdlProject的设计器了:)

     

    下面就简单介绍一下我对这种工作方式的一些粗浅经验:

        1. 先在Toolkit中设计好报表;

        2. 然后把生成的RDL文件的内容(xml)复制到RdlProject的设计器中。Toolkit与RdlDesinger生成的报表定义XML文件有一些差异。但一般只要将第二行的<xmlns .../>去掉就可以了。

        3. 在RdlProject的设计器中预览报表会发现除了有一些警告外,报表可以正常显示。警告的原因基本上是因为,有些RDLS中的元素没有被RdlEngine(RdlProject的报表引擎)解析,可能设计RdlProject的人觉得是些无关紧要的信息吧。

     

    另外,说明两点:

        i. RdlProject对报表规范做了一些扩充。我会抽空整理一下,补充在文后。

        ii. RDLS规范也有个更新,RdlProject还没更新到对新规范的支持,虽然变化很小,但可能还是会影响到您的工作,所以在您使用RdlProject之前,最好还是了解一下。

       

    RdlProject的源代码包括的主要项目:

    RdlEngine:上面提到过了,是最核心的模块。Rdl文件的解析、公式的计算、样式、输出多种格式等都是由其提供的。

    RdlDesktop:一个小巧的使用浏览器访问的桌面报表服务器。

    RdlAsp:B/S项目可以使用这个来提供报表功能。

    RdlDesigner:所见既所得的Windows报表设计器。(要是有一个Web方式的报表生成向导就更好了)

    RdlViewer:.NET控件

    RdlReader:报表阅读器

  • 相关阅读:
    iview日期控件获取的数据的转换
    使用vue+iview Form组件 按enter键阻止页面刷新
    vue组件的创建和使用(小功能)
    vue获取本地图片展示到页面上方法
    jQuery ajax
    copy网站小工具
    echarts柱状图颜色设置:echarts柱状图如何设置不同颜色?(代码)
    mysql数据库my.ini配置文件中文详解
    mysql创建流水号
    博客园加入网易云音乐
  • 原文地址:https://www.cnblogs.com/yicone/p/389789.html
Copyright © 2011-2022 走看看