CN1652074A - 一种实现报表展示的方法 - Google Patents
一种实现报表展示的方法 Download PDFInfo
- Publication number
- CN1652074A CN1652074A CN 200410004123 CN200410004123A CN1652074A CN 1652074 A CN1652074 A CN 1652074A CN 200410004123 CN200410004123 CN 200410004123 CN 200410004123 A CN200410004123 A CN 200410004123A CN 1652074 A CN1652074 A CN 1652074A
- Authority
- CN
- China
- Prior art keywords
- template
- data
- department
- report
- html
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种实现报表展示的方法,该方法为:按待展示的报表格式生成该报表对应的模板,并采用超文本标记语言(HTML)在该模板中定义与待展示数据之间的联系;生成所述模板的HTML文件;当执行所述HTML文件时,根据定义的联系从存放待显示数据的文件中获取数据填入报表中并展示该报表。
Description
技术领域
本发明涉及一种实现报表展示的方法。
背景技术
随着计算机软件技术的飞速发展,计算机软件系统已经成为现代企业不可缺少的运营支撑和管理手段,大量的报表也由原来的通过纸件制表完成,改为由计算机软件进行统计后完成展示。
早期的计算机报表皆是通过字符界面的程序进行展示,例如:
工号 姓名 性别 部门 职务 电话 手机 电子邮件
------ ------- ----- ------- ------- --------- ------------ ----------------
R0001 张重名 男 人事部 经理 28787408 13509663896 zcm@163.com
R0002 李四 女 人事部 职员 28787408 li4@163.com
C0001 王五 男 财务部 经理 28789687 13823250080 wang5@163.com
C0003 丁六 女 财务部 会计师 28786144 ding6@163.com
C0004 吴七 女 财务部 出纳 28786144 wu7@163.com
W0001 朱八 男 网络部 经理 28787398 13923898722 zhu8@163.com
W0002 黄九 男 网络部 工程师 28780808 huang9@163.com
W0019 张重名 女 网络部 职员 28780808 zhangcm@163.com
W0029 周十 男 网络部 职员 28780808 zhou10@163.com
随着计算机图形界面的逐步发展,报表展示进步到了比较美观的图形界面展现方式,例图1所示。
为了更加清晰美观的展示报表数据,计算机应用领域发展出了很多的报表展示手段,如:使用Excel等电子表格、使用Word文档等复杂文档模板、使用QuickReport、ReportBuilder等专用报表工具。
报表统计数据绝大多数都是二维表格数据,因此现在业界的报表主要展示手段之一就是将报表统计数据通过一个计算机界面上的表格控件(Component)展示出来。
图2为Borland公司的Delphi开发工具中的一个表格控件——DBGird,该控件通过与返回的结果数据表建立一对一的关系来显示报表数据,例如有如下表格数据需要进行报表展示:
工号 | 姓名 | 性别 | 部门 | 职务 | 电话 | 手机 | 电子邮件 |
R0001 | 张重名 | 男 | 人事部 | 经理 | 28787408 | 13509663896 | zcm@163.com |
R0002 | 李四 | 女 | 人事部 | 职员 | 28787408 | li4@163.com | |
C0001 | 王五 | 男 | 财务部 | 经理 | 28789687 | 13823250080 | wang5@163.com |
C0003 | 丁六 | 女 | 财务部 | 会计师 | 28786144 | Ding6@163.com | |
C0004 | 吴七 | 女 | 财务部 | 出纳 | 28786144 | wu7@163.com | |
W0001 | 朱八 | 男 | 网络部 | 经理 | 28787398 | 13923898722 | zhu8@163.com |
W0002 | 黄九 | 男 | 网络部 | 工程师 | 28780808 | huang9@163.com | |
W0019 | 张重名 | 女 | 网络部 | 职员 | 28780808 | zhangcm@163.com | |
W0029 | 周十 | 男 | 网络部 | 职员 | 28780808 | zhou10@163.com |
则将该数据一一对应于表格控件中的列和行,如图1所示。
虽然上述诸多工具都能生成普通报表(即二维报表),但存在以下不足:
1、对于打印格式不容易控制,报表的图形展示和实际打印出来的纸件格式不一致,即所见非所得。
2、无法满足树型报表格式的需求,如下:
部门名称 | 职员人数 | |||
××公司 | 总经理室 | 1 | ||
人力资源部 | 考勤科 | 2 | ||
薪酬科 | 2 | |||
人事科 | 3 | |||
财务部 | 出纳科 | 3 | ||
会计科 | 4 | |||
内部银行 | 2 | |||
业务部 | 业务一部 | 市场拓展部 | 5 | |
售前服务部 | 6 | |||
售后服务部 | 5 | |||
策划部 | 8 | |||
业务二部 | 市场拓展部 | 7 | ||
售前服务部 | 5 | |||
售后服务部 | 5 |
策划部 | 6 | |||
…… | …… | …… | …… | …… |
3、无法在报表上再进行二次运算。
发明内容
本发明的目的在于提供一种报表展示的方法,以使展示的报表格式与打印格式一致,还可生成树形报表和进行二次运算。
实现本发明的技术方案:
种实现报表展示的方法,该方法为:按待展示的报表格式生成该报表对应的模板,并采用超文本标记语言(HTML)在该模板中定义与待展示数据之间的联系;生成所述模板的HTML文件;当执行所述HTML文件时,根据定义的联系从存放待显示数据的文件中获取数据填入报表中并展示该报表。
其中:
所述报表为普通型报表或树型报表。
所述的模板采用HTML定义,或者采用电子表格,或者采用Word文档。
所述模板文件中还包括用HTML语言定义的用于完成报表中的数据运算的运算符,展示报表时进行二次运算并将结果填入报表。
对普通型报表,在模板文件中为该报表定义一个特别的行,在执行模板文件时根据待展示的数据行数复制该行。
本发明具有以下有益效果:
1、使报表的显示格式与打印格式一致,即所见即所得;
2、可以生成和打印树型报表;
3、允许在报表数据上进行二次运算。
附图说明
图1为现有技术中展示的报表;
图2为现有技术中的报表控件;图3为本发明的流程图;
图4为本发明报表模板图;
图5为本发明展示的报表图;
图6A为本发明的树型报表模板图;
图6B为本发明展示的树型报表图。
具体实施方式
计算机软件系统中的报表展示究其根本就是把一些数据通过计算机的界面展示出来,并能支持打印功能。这些要展示的数据中大部分都是一个二维的数据表格(在计算机术语中常把“列”称为“字段”(“Field”),把“行”称为“记录”(“Record”),因此第2行第3列又可以称为第2条记录的第3个字段。)。
例如:
第1列 第2列 第3列 第4列 第5列 第6列 第7列 第8列
第1行第2行第3行第4行第5行第6行第7行第8行第9行
R0001 | 张重名 | 男 | 人事部 | 经理 | 28787408 | 13509663896 | zcm@163.com |
R0002 | 李四 | 女 | 人事部 | 职员 | 28787408 | li4@163.com | |
C0001 | 王五 | 男 | 财务部 | 经理 | 28789687 | 13823250080 | wang5@163.com |
C0003 | 丁六 | 女 | 财务部 | 会计师 | 28786144 | ding6@163.com | |
C0004 | 吴七 | 女 | 财务部 | 出纳 | 28786144 | wu7@163.com | |
W0001 | 朱八 | 男 | 网络部 | 经理 | 28787398 | 13923898722 | zhu8@163 com |
W0002 | 黄九 | 男 | 网络部 | 工程师 | 28780808 | huang9@163.com | |
W0019 | 张重名 | 女 | 网络部 | 职员 | 28780808 | zhangcm@163.com | |
W0029 | 周十 | 男 | 网络部 | 职员 | 28780808 | zhou10@163.com |
为了解决现有技术中存在的问题,本发明采用基于Html文件作为报表模板,通过在模板中定义和待展示的数据集之间建立关联来展现最后的数据,即首先编辑一个Html的模板,通过在模板中使用特殊的文字定义模板的显示部分和结果数据之间的关系,通过报表展示工具最后阶段合成最终需要的报表,即可以理解为:报表模板+报表数据=最终报表。
参阅图3所示,具体处理流程如下:
步骤10:按待展示报表定义、编辑报表模板,在模板中使用特殊的文字定义模板的显示部分和结果数据之间的关系。
步骤20:生成模块的HTML文件。
步骤30:执行HTML文件以展示报表。
步骤40:从存放统计数据(待显示数据)的二维表中获得数字并填入报表相应的部分。
步骤50:根据报表中的运算符完成二次运算并将结果填入报表。
步骤60:展示最终报表。包括显示和打印等输出方式。
为了更清楚地说明本发明,下面使用两个例子进一步说明:
例一:
有如下一个二维表格数据需要生成报表:
工号 | 姓名 | 性别 | 部门 | 职务 | 电话 | 手机 | 电子邮件 |
R0001 | 张重名 | 男 | 人事部 | 经理 | 28787408 | 13509663896 | zcm@163.com |
R0002 | 李四 | 女 | 人事部 | 职员 | 28787408 | li4@163.com | |
C0001 | 王五 | 男 | 财务部 | 经理 | 28789687 | 13823250080 | wang5@163.com |
C0003 | 丁六 | 女 | 财务部 | 会计师 | 28786144 | ding6@163.com | |
C0004 | 吴七 | 女 | 财务部 | 出纳 | 28786144 | wu7@163.com | |
W0001 | 朱八 | 男 | 网络部 | 经理 | 28787398 | 13923898722 | zhu8@163.com |
W0002 | 黄九 | 男 | 网络部 | 工程师 | 28780808 | huang9@163.com | |
W0019 | 张重名 | 女 | 网络部 | 职员 | 28780808 | zhangcm@163.com | |
W0029 | 周十 | 男 | 网络部 | 职员 | 28780808 | zhou10@163.com |
定义该报表模板如图4所示,模板的原始HTML文件如下:
<HTML> <HEAD> <TITLE>@Value(Title)</TITLE> <META CONTENT=″text/html;charset=gb2312″HTTP-EQUIV=″Content-Type″> <META CONTENT=″Microsoft FrontPage 5.0″NAME=″GENERATOR″> <META CONTENT=″FrontPage.Editor.Document″NAME=″ProgId″> <STYLE> BODY { FONT-FAMILY:宋体,Arial;FONT-SIZE:14px} P {FONT-FAMILY:宋体,Arial;FONT-SIZE:14px;LINE-HEIGHT:18pt} TABLE { FONT-FAMILY:宋体,Arial;FONT-SIZE:14px} </STYLE> <!-- SIPO <DP n="5"> --> <dp n="d5"/> </HEAD> <BODY> <P ALIGN=″center″><FONT SIZE=″4″COLOR=″#0000FF″><B>职员信息统计报表 </B></FONT></P> <P>统计部门:×××公司</P> <TABLE ALIGN=″center″BORDER=″1″ cellPadding=″5″cellSpacing=″0″ WIDTH=″100%″> <TR> <TD ALIGN=″middle″bgColor=″#d5d5d5″><FONT SIZE=″2″><B>工号<br/> </B></FONT></TD> <TD ALIGN=″middle″bgColor=″#d5d5d5″><FONT SIZE=″2″><B>姓名<br/> </B></FONT></TD> <TD ALIGN=″middle″bgColor=″#d5d5d5″><FONT SIZE=″2″><B>性别<br/> </B></FONT></TD> <TD ALIGN=″middle″bgColor=″#d5d5d5″><FONT SIZE=″2″><B>部门<br/> </B></FONT></TD> <TD ALIGN=″middle″bgColor=″#d5d5d5″><FONT SIZE=″2″><B>职务<br/> </B></FONT></TD> <TD ALIGN=″middle″bgColor=″#d5d5d5″><FONT SIZE=″2″><B>电话<br/> </B></FONT></TD> <TD ALIGN=″middle″bgColor=″#d5d5d5″><FONT SIZE=″2″><B>手机<br/> </B></FONT></TD> <TD ALIGN=″middle″bgColor=″#d5d5d5″><FONT SIZE=″2″><B>电子邮件<br/> </B></FONT></TD> </TR> <TR Name=″ByRecord″> <TD ALIGN=″middle″>@Field(0)</TD> <TD ALIGN=″middle″>@Field(1)</TD> <TD ALIGN=″middle″>@Field(2)</TD> <TD ALIGN=″middle″>@Field(3)</TD> <TD ALIGN=″middle″>@Field(4)</TD> <TD ALIGN=″middle″>@Field(5)</TD> <TD ALIGN=″middle″>@Field(6)</TD> <TD ALIGN=″middle″>@Field(7)</TD> </TR> </TABLE> <P>打印时间: @Value(Now)  ;  ;  ; ;  ;  ;  ;  ;  ;& nbsp; ; ;第@Value(PageIndex)页/共@Value(TotalPage)页</P> </BODY> </HTML>
在报表模板中定义了一个特别的行TR,其有个属性为Name=“ByReord”,通过该配置,报表工具就知道了要根据实际的记录数将该行复制多份;该行中的每一个单元格为一个显示项目,每个项目通过“@Field(n)”和统计报表数据中的第n个字段建立数据关联,即Field(0)就是第1个字段的值,依此类推。
通过报表工具将模板和数据进行整合以后生成最终的报表如图5所示。
例二:要生成如下树型结构的报表:
部门名称 | 职员人数 | |||
××公司 | 总经理室 | 1 | ||
人力资源部 | 考勤科 | 2 | ||
薪酬科 | 2 | |||
人事科 | 3 | |||
小计 | 7 | |||
财务部 | 出纳科 | 3 | ||
会计科 | 4 | |||
内部银行 | 2 | |||
小计 | 9 | |||
业务部 | 业务一部 | 市场拓展部 | 5 | |
售前服务部 | 6 | |||
售后服务部 | 5 | |||
策划部 | 8 | |||
小计 | 24 | |||
业务二部 | 市场拓展部 | 7 | ||
售前服务部 | 5 | |||
售后服务部 | 5 | |||
策划部 | 6 | |||
小计 | 23 | |||
合计 | 47 | |||
总计 | 63 |
实际在计算机内部保存的还是如下的一张二维数据表:
部门编码 | 部门名称 | 职员人数 |
010000 | 总经理室 | 1 |
020100 | 考勤科 | 2 |
020200 | 薪酬科 | 2 |
020300 | 人事科 | 3 |
030100 | 出纳科 | 3 |
030200 | 会计科 | 4 |
030300 | 内部银行 | 2 |
040101 | 市场拓展部 | 5 |
040102 | 售前服务部 | 6 |
040103 | 售后服务部 | 5 |
040104 | 策划部 | 8 |
040201 | 市场拓展部 | 7 |
040202 | 售前服务部 | 5 |
040203 | 售后服务部 | 5 |
040204 | 策划部 | 6 |
它的每一条记录并没有表现出任何的树型关系(父子关系),它仅仅记录了叶子节点部门的职员人数,但每个部门的部门编码是唯一不重复的,通过部门编码这个字段可以唯一的定位到上述表格中一条记录。
根据需求生成如图6A所示的报表模板:其中的每个“(@Value(KeyField,FieldIndex)”为一个报表显示项目,其意义是通过KeyField的值(这里就是部门编码)来定位到一条记录,后面的FieldIndex代表要将该条记录的第几个字段填写在该单元格(这里使用的是第2个字段—职员人数),该定义后面的等号意义为将该项目取个别名为×××(如第一个的“(@Value(010000,2)”取名为“a1”);@Sum运算符就是报表工具的二次运算功能(这里的@Sum是求和,如“@Sum(a21,a22,a23)”就是将别名为a21、a22和a23的单元格中的数值进行求和。
通过上述的数据填写和二次计算功能,生成如图6B所示的最终报表。
由上可知,本发明在报表模板基础上生成最终报表,因此报表的设计、展示和打印都是基于报表模板,使用户能够获得统一的展示效果,解决了所见非所得的问题;其次,因为报表是基于模板的,所以可以在设计时将报表直接设计成树型结构,解决了传统报表工具无法生成树型报表的问题;最后,因为是通过报表工具在模板上填写报表数据完成最终报表,所以在完成报表数据填写后,报表工具还可以根据模板中的指定运算符完成一些二次运算。
Claims (5)
1、一种实现报表展示的方法,其特征在于该方法为:
按待展示的报表格式生成该报表对应的模板,并采用超文本标记语言(HTML)在该模板中定义与待展示数据之间的联系;
生成所述模板的HTML文件;
当执行所述HTML文件时,根据定义的联系从存放待显示数据的文件中获取数据填入报表中并展示该报表。
2、如权利要求1所述的方法,其特征在于,所述报表为普通型报表或树型报表。
3、如权利要求1或2所述的方法,其特征在于,所述的模板采用HTML定义,或者采用电子表格,或者采用Word文档。
4、如权利要求1所述的方法,其特征在于,所述模板文件中还包括用HTML语言定义的用于完成报表中的数据运算的运算符,展示报表时进行二次运算并将结果填入报表。
5、如权利要求2所述的方法,其特征在于,对普通型报表,在模板文件中为该报表定义一个特别的行,在执行模板文件时根据待展示的数据行数复制该行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100041239A CN1318954C (zh) | 2004-02-07 | 2004-02-07 | 一种实现报表展示的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100041239A CN1318954C (zh) | 2004-02-07 | 2004-02-07 | 一种实现报表展示的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1652074A true CN1652074A (zh) | 2005-08-10 |
CN1318954C CN1318954C (zh) | 2007-05-30 |
Family
ID=34867630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100041239A Expired - Fee Related CN1318954C (zh) | 2004-02-07 | 2004-02-07 | 一种实现报表展示的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1318954C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102467378A (zh) * | 2010-11-11 | 2012-05-23 | 深圳市金蝶友商电子商务服务有限公司 | 基于二维矩阵的html表格处理方法及计算机 |
CN103530082A (zh) * | 2013-10-22 | 2014-01-22 | 天脉聚源(北京)传媒科技有限公司 | 一种信息展示方法和装置 |
CN103605801A (zh) * | 2013-12-05 | 2014-02-26 | 用友软件股份有限公司 | 一种管理单据数据的方法和系统 |
CN105955730A (zh) * | 2016-04-26 | 2016-09-21 | 浪潮电子信息产业股份有限公司 | 一种ssr集中管理平台报表的方法 |
CN106372148A (zh) * | 2016-08-30 | 2017-02-01 | 成都科来软件有限公司 | 一种基于统计数据对报表进行配置和展现的方法 |
CN107818501A (zh) * | 2017-03-03 | 2018-03-20 | 平安医疗健康管理股份有限公司 | 精算方法和装置 |
CN109815281A (zh) * | 2019-01-28 | 2019-05-28 | 四川爱信诺航天信息有限公司 | 一种界面展示系统及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7131063B2 (en) * | 2001-09-13 | 2006-10-31 | International Business Machines Corporation | Method and system for delivering dynamic information in a network |
CN1416078A (zh) * | 2001-10-30 | 2003-05-07 | 艾默生网络能源有限公司 | 监控系统的数据处理方法 |
-
2004
- 2004-02-07 CN CNB2004100041239A patent/CN1318954C/zh not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102467378A (zh) * | 2010-11-11 | 2012-05-23 | 深圳市金蝶友商电子商务服务有限公司 | 基于二维矩阵的html表格处理方法及计算机 |
CN103530082A (zh) * | 2013-10-22 | 2014-01-22 | 天脉聚源(北京)传媒科技有限公司 | 一种信息展示方法和装置 |
CN103605801A (zh) * | 2013-12-05 | 2014-02-26 | 用友软件股份有限公司 | 一种管理单据数据的方法和系统 |
CN103605801B (zh) * | 2013-12-05 | 2017-01-11 | 用友网络科技股份有限公司 | 一种管理单据数据的方法和系统 |
CN105955730A (zh) * | 2016-04-26 | 2016-09-21 | 浪潮电子信息产业股份有限公司 | 一种ssr集中管理平台报表的方法 |
CN106372148A (zh) * | 2016-08-30 | 2017-02-01 | 成都科来软件有限公司 | 一种基于统计数据对报表进行配置和展现的方法 |
CN107818501A (zh) * | 2017-03-03 | 2018-03-20 | 平安医疗健康管理股份有限公司 | 精算方法和装置 |
CN109815281A (zh) * | 2019-01-28 | 2019-05-28 | 四川爱信诺航天信息有限公司 | 一种界面展示系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1318954C (zh) | 2007-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1392986A (zh) | 用于产生各种呈现的结构化文档的方法和装置 | |
CN105824787B (zh) | 一种html模板动态配置的控制方法及系统 | |
US7237207B2 (en) | Mapper compiler | |
US8812950B2 (en) | Spreadsheet software services | |
CN110543303B (zh) | 一种可视化业务平台 | |
WO2013075044A1 (en) | Business content authoring and distribution | |
CN101751612A (zh) | 合约电子签核系统及方法 | |
CN112329413B (zh) | 模板搭建方法、文件生成方法、模板系统、装置及计算机设备 | |
CN101430684A (zh) | 中文办公软件文档与其他格式文档相互转换的方法及装置 | |
CN108959230B (zh) | 一种生成报表模板的方法和装置 | |
CN105630747A (zh) | 一种应用于特种设备行业的检验报告专业化系统及方法 | |
CN1652074A (zh) | 一种实现报表展示的方法 | |
WO2007081017A1 (ja) | 文書処理装置 | |
CN1542699A (zh) | 图形用户界面生成方法及系统 | |
CN113094039B (zh) | 一种基于数据库表的代码自动生成系统 | |
JP2022093293A (ja) | エクセルツールを用いたオンラインレポート作成システム | |
CN112115694A (zh) | 一种基于多元组数据结构的仿真报告生成方法及装置 | |
TWI522824B (zh) | 從資料集詮釋資料產生表單驗證程式與對應表單介面之方法 | |
CN114139521A (zh) | 基于在线可视化模板文件的生成方法 | |
CN111291541B (zh) | 基于excel实现图纸目录快速出版的方法及系统 | |
CN113946320A (zh) | 一种java代码自动生成工具及方法 | |
CN114238724A (zh) | 一种数据可视化的方法及装置 | |
US9304983B2 (en) | Method and system for Xform generation and processing application integration framework | |
CN1510637A (zh) | 一种打印绘制图形化文件的通用方法及动态链接库 | |
CN114386374A (zh) | 一种将CA签名用于数据整合生成odf文档的方法及其程序 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070530 Termination date: 20220207 |
|
CF01 | Termination of patent right due to non-payment of annual fee |