CN104715030A - 一种单据报表套打方法 - Google Patents
一种单据报表套打方法 Download PDFInfo
- Publication number
- CN104715030A CN104715030A CN201510107187.XA CN201510107187A CN104715030A CN 104715030 A CN104715030 A CN 104715030A CN 201510107187 A CN201510107187 A CN 201510107187A CN 104715030 A CN104715030 A CN 104715030A
- Authority
- CN
- China
- Prior art keywords
- original document
- document page
- cell
- page
- actual
- 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
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种单据报表套打方法,包括如下步骤:步骤一):将原始单据扫描为图片;步骤二)新建原始单据页面;步骤三)导入原始单据图片至原始单据页面;步骤四)设计原始单据页面;步骤五)设计实际单据页面;步骤六)保存报表模板;步骤七)浏览报表;步骤八)报表打印。本发明使报表用户可在浏览报表时选择单据报表套打还是非套打,增加了单据打印的灵活性;且单据报表非套打无需使用原始单据的扫描图作为背景图,保证了单据报表的打印质量。
Description
技术领域
本发明涉及一种单据报表套打方法。
背景技术
报表设计是企业信息化中的重要部分,据统计,企业应用开发的60%工作都是制作各类报表,而其中,单据报表即票据在其中占据重要的地位。单据报表的打印方式分为套打和非套打,套打指在印刷好的单据上,将打印内容准确无误地打印到指定的位置;而非套打指在空白的单据打印纸上打印出单据报表包括表格的全部内容。传统的报表工具,需要用尺子量出数据在套打背景上的位置,然后再屏幕上根据尺寸定位数据所在单元格的位置,相当繁琐,容易出错。当前单据报表套打主流的方案是报表设计时将原始单据的扫描图作为单据报表背景,再在其需要打印内容的位置放上相应的数据库字段,打印时仅在印刷好的单据上打印从数据库获取的数据,若希望使用非套打模式,则将原始单据的扫描图作为背景图打印在单据上。
目前国内主流的报表设计工具,其设计单据报表的过程如下:1)将原始单据扫描成图片,并保存到指定文件夹;2)在报表设计器中新建单据报表,并将单据扫描图作为纸张背景,明确单据打印时是否打印单据扫描背景图;3)设计报表;4)保存报表到模板文件;5)用户在浏览器中浏览报表并执行套打。存在如下缺陷:
1)单据报表套打还是非套打需要由报表设计人员在设计时指定,报表用户在浏览报表时无法选择;
2)单据报表非套打通过将原始单据的扫描图作为背景图打印在单据上实现,容易出现字体模糊的问题。
发明内容
为解决上述问题本发明提供了一种单据报表套打方法。
本发明提供的技术方案是:一种单据报表套打方法,包括如下步骤:
步骤一):将原始单据扫描为图片:将原始单据扫描为原始单据图片,所述原始单据图片与原始单据大小相同;
步骤二)新建原始单据页面:创建原始单据页面,所述原始单据页面为空白页面;
步骤三)导入原始单据图片至原始单据页面:将原始单据图片导入原始单据页面作为背景,调整原始单据页面的大小至与原始单据图片完全重合;
步骤四)设计原始单据页面:在原始单据页面上,设置与背景相同的表格边框及静态文字,使原始单据页面与原始单据完全一致;
步骤五)设计实际单据页面:创建空白单据页面,即实际单据页面,然后将原始单据页面中背景图外的内容全部复制到实际单据页面,将数据库字段和报表函数放置到实际单据页面的对应位置;
步骤六)保存报表模板:将原始单据页面、实际单据页面、实际单据页面与原始单据页面的差异、原始单据图片和检索数据的查询语句保存到报表模板的不同内容节点,然后保存报表模板;
步骤七)浏览报表:在报表服务器中,用报表数据查询语句检索需要的数据,将其填充到实际单据页面中;
步骤八)报表打印:选择套打模式或非套打模式,若选择非套打模式则直接打印实际单据页面;若选择套打,则将通过报表数据查询语句检索到的数据及函数表达式求值结果填充到实际单据页面与原始单据页面的差异页面中的对应位置,然后打印此差异页面。
进一步的改进,所述原始单据页面和实际单据页面均包含若干行与若干列,所述步骤四)包含如下步骤:
1)调整原始单据页面的列宽与行高,使原始单据图片中的每个单元格,正好包含原始单据页面上的一个或多个单元格;
2)合并单元格,合并原始单据页面上的单元格,使背景中的每个单元格,对应包含原始单据页面上的一个单元格,即若原始单据背景图中单据表格的某个单元格包含原始单据页面上的多个单元格,则将这多个单元格合并,使得合并后的单元格与背景图中的单元格完全重合;
3)设置表格及单元格边框:根据原始单据图片上的表格及单元格的边框,为原始单据页面上对应的单元格设置相同的边框;
4)添加静态文字:在原始单据页面上添加与原始单据图片的文字对应的位置添加相同的原始单据页面文字;所述原始单据页面文字的字体及对齐方式与原始单据图片的文字一致。
进一步的改进,所述原始单据页面和实际单据页面均包含若干行与若干列,所述步骤五)包含如下步骤:
a.创建第二工作表,即实际单据页面;
b.查找原始单据页面实际使用区域:查找原始单据页面中的最后单元格,获取其行号和列号,根据此单元格的行号和列号确定实际单据页面需要使用的区域的行数和列数;
c.调整行高和列宽:将实际单据页面中用到的区域的行的高度和列的宽度设置为与原始单据页面对应相同;
d.处理合并单元格:搜索原始单据页面中有效使用区中的每个单元格,若该单元格为合并单元格,则找出该合并单元格包含的单元格集合,并在实际单据页面中将对应的单元格集合做合并处理;
e.复制单元格边框:搜索原始单据页面有效使用区中的每个单元格,若有边框,则在实际单据页面中对应单元格设置相同的边框;
f.复制文本:搜索原始单据页面有效使用区中的每个单元格,若有文本,则在实际单据页面中对应单元格设置相同的文本;
g.设置数据库字段及报表函数:从数据源中获取数据库字段或者报表函数放置到实际单据页面的对应的位置。
进一步的改进,所述原始单据页面和实际单据页面均包含若干行与若干列,所述步骤六)中,所述报表模板保存为XML文件,原始单据页面、实际单据页面、实际单据页面与原始单据页面的差异保存为所述XML文件中的一个区域节点,每个区域节点包含若干个行节点,所述行节点对应于报表模板中的行,每个行节点包含若干单元格节点,所述单元格节点对应于报表模板中的单元格,每个单元格的属性包含宽度、边框、字体、填充色及文本等,所述单元格的属性由报表模板中相应单元格的设置决定;原始单据页面和实际单据页面的区域子节点通过搜索报表模板的每个单元格得到;实际单据页面与原始单据页面的差异以实际单据页面的区域子节点为基础,将实际单据页面的每个单元格,减去出现在原始单据对应单元格子节点中的所有属性,即得到实际单据工作表与原始单据工作表的差异的区域子节点;所述原始单据图片存在指定目录下,报表模板中保存原始单据图片文件名,所述数据查询语句也以一个节点的形式保存在报表模板中。
进一步的改进,在所述步骤八)中,在报表浏览界面上设置复选框以指明是否套打,或者在报表浏览界面上分别设置套打按钮和非套打按钮,或者分别设置套打菜单和非套打菜单。
本发明具有如下优点:
1)单据报表套打还是非套打可以由报表用户在浏览报表时选择,增加了单据打印的灵活性;
2)单据报表非套打无需使用原始单据的扫描图作为背景图,保证了单据报表的打印质量。
附图说明
当结合附图考虑时,通过参照下面的详细描述,能够更完整更好地理解本发明以及容易得知其中许多伴随的优点,但此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定,其中:
图1单据报表套打/非套打设计流程示意图;
图2EXCEL报表***中原始单据设计过程示意图;
图3实际单据设计流程示意图;
图4EXCEL报表***中设计实际单据过程示意图。
具体实施方式
本发明结合实施例详细描述如下:
本发明实施例的报表设计器采用VSTO技术基于EXCEL开发,EXCEL表格界面即为报表***的报表设计界面。
步骤一)将原始单据扫描为图片:用图像软件将扫描得到的原始单据图片大小调整为与原始单据相同。
步骤二)新建原始单据页面:用报表设计器创建一个空白工作薄,即原始单据页面。
步骤三)导入原始单据图片至原始单据页面:导入原始单据图片至原始单据页面作为原始单据页面的背景,将原始单据图片的左上角与EXCEL表格区域的左上角对齐。
步骤四)设计原始单据页面:如图2所示包含如下步骤:
1)调整原始单据页面的列宽与行高,使原始单据图片的每个单元格,正好包含原始单据工作表上的一个或多个单元格;
2)合并单元格,合并原始单据页面上的单元格,使背景中的每个单元格,对应包含原始单据页面上的一个单元格,即若原始单据背景图中单据表格的某个单元格包含原始单据工作表上的多个单元格,则将这多个单元格合并,使得合并后的单元格与背景图中的单元格完全重合;
3)设置表格及单元格边框:根据原始单据图片上的表格及单元格的边框,为原始单据页面上对应的单元格设置相同的边框;
4)添加静态文字:在原始单据页面上添加与原始单据图片的文字对应的位置添加相同的原始单据页面文字;所述原始单据页面文字的字体及对齐方式与原始单据图片的文字一致。
步骤五)设计实际单据页面:创建空白单据页面,即实际单据页面,然后将原始单据页面中背景图外的内容全部复制到实际单据页面,将数据库字段和报表函数放置到实际单据页面的对应位置,步骤如图3和图4所示:
1)创建第二工作表,实际单据页面;
2)查找实际单据页面实际使用区域:查找实际单据页面中的lastCell单元格,此单元格的行号和列号确定工作表中实际使用的区域的行数和列数,分别记为MaxRow和MaxColumn;
3)调整行高和列宽。对于实际单据页面中每个列COL,若其列号c满足c<=MaxColumn,将其宽度设置为与原始单据页面中第c列相同,对于实际单据页面中每个行ROW,若其行号r满足r<=MaxRow,将其高度设置为与原始单据页面中第r行相同;
4)处理合并单元格:搜索原始单据页面中有效使用区中的每个单元格,若该单元格为合并单元格,则找出该合并单元格包含的单元格集合,并在实际单据页面中将对应的单元格集合做合并处理;
5)复制单元格边框:搜索原始单据页面有效使用区中的每个单元格,若有边框,则在实际单据页面中对应单元格设置相同的边框;
6)复制文本:搜索原始单据页面有效使用区中的每个单元格,若有文本,则在实际单据页面中对应单元格设置相同的文本;
7)设置数据库字段及报表函数:从数据源中获取数据库字段或者报表函数放置到实际单据页面的合适位置。
步骤六)保存报表模板:保存单据报表模板时,将以下内容保存到报表模板的不同内容节点:原始单据工作表、实际单据工作表、实际单据工作表与原始单据工作表的差异、原始单据图片,检索数据的查询语句。在本实施例中,报表模板保存为XML文件,原始单据页面、实际单据页面、实际单据页面与原始单据页面的差异都保存为XML文件中的一个table节点,每个table节点包含若干个row节点,对应于单据工作表中的行,每个row节点包含若干cell节点,对应于单据工作表中的单元格,每个cell具有宽度、边框、字体、填充色及文本等属性,由单据工作表中相应单元格的设置决定。原始单据工作表和实际单据工作表的table子节点通过搜索其有效工作区的每个单元格得到。实际单据工作表与原始单据工作表的差异以实际单据的table子节点为基础,对于其中的每个cel l,减去出现在原始单据table子节点中的各种属性,即得到实际单据工作表与原始单据工作表的差异的table子节点。原始单据的图片存在指定目录下,报表模板中保存其文件名,数据查询语句也以一个节点的形式保存在报表模板中。
步骤七)浏览报表。在报表服务器的支持下,用报表数据查询语句检索要展示的数据,并将其填充到实际单据中,即用检索到的实际数据替换实际单据table子节点中的数据库字段及报表函数,然后根据此table子节点生成WEB页面展示给用户。
步骤八)报表打印。单据报表打印分为套打和非套打,为了方便用户选择打印方式,在报表浏览web页面上设置套打和非套打的按钮。当进行非套打时,直接将步骤7中展示的报表打印出来即可,当进行套打时,将实际单据与原始单据的差异table子节点中的数据库字段及报表函数用步骤7中得到的其实际值替代,并根据此table子节点生成WEB页面并在印刷有原始单据的单据纸上打印此差异单据,实现套打。
以上实例的说明只是用于帮助理解本发明的核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (5)
1.一种单据报表套打方法,其特征在于,包括如下步骤:
步骤一):将原始单据扫描为图片:将原始单据扫描为原始单据图片,所述原始单据图片与原始单据大小相同;
步骤二)新建原始单据页面:创建原始单据页面,所述原始单据页面为空白页面;
步骤三)导入原始单据图片至原始单据页面:将原始单据图片导入原始单据页面作为背景,调整原始单据页面的大小至与原始单据图片完全重合;
步骤四)设计原始单据页面:在原始单据页面上,设置与背景相同的表格边框及静态文字,使原始单据页面与原始单据完全一致;
步骤五)设计实际单据页面:创建空白单据页面,即实际单据页面,然后将原始单据页面中背景图外的内容全部复制到实际单据页面,将数据库字段和报表函数放置到实际单据页面的对应位置;
步骤六)保存报表模板:将原始单据页面、实际单据页面、实际单据页面与原始单据页面的差异页面、原始单据图片和检索数据的查询语句保存到报表模板的不同内容节点,然后保存报表模板;
步骤七)浏览报表:在报表服务器中,用报表数据查询语句检索需要的数据,将其填充到实际单据页面中;
步骤八)报表打印:选择套打模式或非套打模式,若选择非套打模式则直接打印实际单据页面;若选择套打,则将通过报表数据查询语句检索到的数据及函数表达式求值结果填充到实际单据页面与原始单据页面的差异页面中的对应位置,然后打印。
2.如权利要求1所述的单据报表套打方法,其特征在于,所述原始单据页面和实际单据页面均包含若干行与若干列,所述步骤四)包含如下步骤:
1)调整原始单据页面的列宽与行高,使原始单据图片的每个单元格,正好包含原始单据页面上的一个或多个单元格;
2)合并单元格:合并原始单据页面上的单元格,使背景图片中的每个单元格,对应包含原始单据页面上的一个单元格,即若原始单据背景图中单据表格的某个单元格包含原始单据页面上的多个单元格,则将这多个单元格合并,使得合并后的单元格与背景图中的单元格完全重合;
3)设置表格及单元格边框:根据原始单据图片上的表格及单元格的边框,为原始单据页面上对应的单元格设置相同的边框;
4)添加静态文字:在原始单据页面上添加与原始单据图片的文字对应的位置添加相同的原始单据页面文字;所述原始单据页面文字的字体及对齐方式与原始单据图片的文字一致。
3.如权利要求1所述的单据报表套打方法,其特征在于,所述原始单据页面和实际单据页面均包含若干行与若干列,所述步骤五)包含如下步骤:
a.创建第二工作表,即实际单据页面;
b.查找原始单据页面实际使用区域:查找原始单据页面中的最后单元格(LastCell),根据此单元格的行号和列号确定实际单据页面需要使用的区域的行数和列数;
c.调整行高和列宽:将实际单据页面的行的高度和列的宽度设置为与原始单据页面相应的行的高度与列的宽度相同;
d.处理合并单元格:搜索原始单据页面中有效使用区中的每个单元格,若该单元格为合并单元格,则找出该合并单元格包含的单元格集合,并在实际单据页面中将对应的单元格集合做合并处理;
e.复制单元格边框:搜索原始单据页面有效使用区中的每个单元格,若有边框,则在实际单据页面中对应单元格设置相同的边框;
f.复制文本:搜索原始单据页面有效使用区中的每个单元格,若有文本,则在实际单据页面中对应单元格设置相同的文本;
g.设置数据库字段及报表函数:从数据源中获取数据库字段或者报表函数放置到实际单据页面的对应的位置。
4.如权利要求1所述的单据报表套打方法,其特征在于,所述原始单据页面和实际单据页面均包含若干行与若干列,所述步骤六)中,所述报表模板保存为XML文件,原始单据页面、实际单据页面、实际单据页面与原始单据页面的差异页面保存为所述XML文件中的一个区域节点,每个区域节点包含若干个行节点,所述行节点对应于报表模板中的行,每个行节点包含若干单元格节点,所述单元格节点对应于报表模板中的单元格,每个单元格的属性包含宽度、边框、字体、填充色及文本等,所述单元格的属性由报表模板中相应单元格的设置决定;原始单据页面和实际单据页面的区域子节点通过搜索报表模板的每个单元格得到;实际单据页面与原始单据页面的差异以实际单据页面的区域子节点为基础,将实际单据页面的每个单元格,减去出现在原始单据对应单元格子节点中的所有属性,即得到实际单据工作表与原始单据工作表的差异的区域子节点;所述原始单据图片存在指定目录下,报表模板中保存原始单据图片文件名,所述数据查询语句也以一个节点的形式保存在报表模板中。
5.如权利要求1所述的单据报表套打方法,其特征在于,在所述步骤八)中,在报表浏览界面上设置复选框以指明是否套打,或者在报表浏览界面上分别设置套打按钮和非套打按钮,或者分别设置套打菜单和非套打菜单。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510107187.XA CN104715030B (zh) | 2015-03-12 | 2015-03-12 | 一种单据报表套打方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510107187.XA CN104715030B (zh) | 2015-03-12 | 2015-03-12 | 一种单据报表套打方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104715030A true CN104715030A (zh) | 2015-06-17 |
CN104715030B CN104715030B (zh) | 2018-02-02 |
Family
ID=53414357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510107187.XA Expired - Fee Related CN104715030B (zh) | 2015-03-12 | 2015-03-12 | 一种单据报表套打方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104715030B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105196708A (zh) * | 2015-09-22 | 2015-12-30 | 深圳前海百递网络有限公司 | 一种打印设置方法及打印装置 |
CN108805684A (zh) * | 2018-04-17 | 2018-11-13 | 海闻科技有限公司 | 一种税务管理平台应用*** |
CN111367945A (zh) * | 2020-02-28 | 2020-07-03 | 平安医疗健康管理股份有限公司 | 报表查询方法、装置、设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1227407A2 (en) * | 2001-01-24 | 2002-07-31 | Seiko Instruments Inc. | User interface for creating printing templates |
CN101577009A (zh) * | 2008-05-08 | 2009-11-11 | 北京润乾信息***技术有限公司 | 一种在现有表格上实现套打的方法 |
CN102722899A (zh) * | 2012-05-28 | 2012-10-10 | 重庆大学 | 一种报表套打*** |
CN103713901A (zh) * | 2013-12-24 | 2014-04-09 | 金蝶软件(中国)有限公司 | 单据的展示方法和*** |
-
2015
- 2015-03-12 CN CN201510107187.XA patent/CN104715030B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1227407A2 (en) * | 2001-01-24 | 2002-07-31 | Seiko Instruments Inc. | User interface for creating printing templates |
CN101577009A (zh) * | 2008-05-08 | 2009-11-11 | 北京润乾信息***技术有限公司 | 一种在现有表格上实现套打的方法 |
CN102722899A (zh) * | 2012-05-28 | 2012-10-10 | 重庆大学 | 一种报表套打*** |
CN103713901A (zh) * | 2013-12-24 | 2014-04-09 | 金蝶软件(中国)有限公司 | 单据的展示方法和*** |
Non-Patent Citations (2)
Title |
---|
HEZONGWU2009: ""EXCEL实现票据套打高效化"", 《百度文库》 * |
NHPNTYHHT,: ""如何用excel制作表格套打格式"", 《百度文库》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105196708A (zh) * | 2015-09-22 | 2015-12-30 | 深圳前海百递网络有限公司 | 一种打印设置方法及打印装置 |
CN108805684A (zh) * | 2018-04-17 | 2018-11-13 | 海闻科技有限公司 | 一种税务管理平台应用*** |
CN111367945A (zh) * | 2020-02-28 | 2020-07-03 | 平安医疗健康管理股份有限公司 | 报表查询方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104715030B (zh) | 2018-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101025738B (zh) | 一种免模板动态网站生成方法 | |
CN104281447B (zh) | 一种报表快速生成及发布的***及其方法 | |
US7363581B2 (en) | Presentation generator | |
CN110032720A (zh) | 一种基于xml的可视化报告排版及自动生成方法及*** | |
CN103365855A (zh) | 生成网页的方法及服务器 | |
CA2773152A1 (en) | A method for users to create and edit web page layouts | |
CN107491427A (zh) | 数据报表处理方法及装置 | |
CN101650711A (zh) | 一种报表的生成方法 | |
CN106021394A (zh) | 一种网站的建站方法和装置 | |
CN103258015A (zh) | 一种基于xml动态生成问卷的方法 | |
CN105094930A (zh) | 一种定位图片***及方法 | |
CN101828165A (zh) | 馈送内容的观看 | |
CN104715030B (zh) | 一种单据报表套打方法 | |
CN109213480A (zh) | 一种开发后台管理页面的方法、存储介质、设备及*** | |
US20190108236A1 (en) | Method and Apparatus for Generating Customized Digital Files with Variable Data | |
CN104424174A (zh) | 文档处理***和文档处理方法 | |
US11644949B2 (en) | Autotagging a template of a reporting workbook | |
US20070162848A1 (en) | Predictive styling | |
US8788926B1 (en) | Method of content filtering to reduce ink consumption on printed web pages | |
US8185818B2 (en) | Mixed techniques for HTML crosstab rendering | |
CN103605640B (zh) | 表单适配方法和装置 | |
CN110489735A (zh) | 一种演示文稿生成方法、装置及设备 | |
CN100367202C (zh) | 一种网页列表控件及其实现方法 | |
CN101231574A (zh) | 编辑和打印***、编辑***和方法 | |
JP2004326567A (ja) | 表コンテンツ作成支援システム、方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180202 Termination date: 20210312 |