.net web 开发平台- 自定义报表设计器 (web版)

        现在有很多客户有这样的要求:需要随时都能修改报表的模板,控制打印元素的位置,字体大小,是否打印,是否套打等等。这就需要客户能控制报表设计器。目前可以使用的报表有很多,列如:水晶报表, rdlc报表,pdf报表,excel报表等还有一些国内的报表。大部分的报表设计器都不太容易把报表设计器单独提取出来供客户使用,因为很多都是供开发人员使用的,而且大部分都是c/s版本的。国外很多公司都使用pdf的报表,这样就只需要做一个设计器就行了,pdf 文件自己有打印的功能。但是这要求对pdf的格式有很深的了解,短时间内不是太好实现。因为不想受制于人,所以我做了一个简单的web版的报表设计器,分享一下设计思路,共同学习。
    思路:设计器采用html+javascript实现,保存时将设计好的界面转化为约定的xml格式,保存到数据库中,打印时将报表的xml模板和数据传递到用vb写的activeX打印组件实现打印. 因为都是自己设计的,以后需要添加新的功能或修改都很方便。
   功能:
           1. 能设计多页模板。
           2. 能打印文本,图片,线条,表格,页码。
           3. 能实现控件位置的动态打印。
          4. 能实现套打。

一. 多页模板
        如果报表模板的内容很多,一个页面容不下,就可以将模板设计成多页。

        

打印效果:

二. 文本打印
         能设定文本打印的字体,颜色,是否换行,是否带下划线,是否粗体等等。

            

效果:

三. 图片打印
         能设定图片按实际大小打印还是指定大小打印


效果:

四. 线条打印
         能打印横线,竖线,斜线,和线条的颜色

效果:


五. 表格打印
         能设定表格的表头,合并列等复杂的样式


效果:

六. 页码打印
         能设定页码


效果:

七. 重复打印
          能设定任何位置的任何控件在分页时是否重复打印


效果:

 

八. 位置的动态打印
            如果某些内容需要在列表后打印,而列表中的数据是动态的,可能很多,可能很好。所有这些内容打印的位置是跟随着列表动态变化的。

 

效果


九. 套打
          只打印报表中填入的数据

你可能感兴趣的:(.net,知识积累)