Excel报表的预览方法、工具、计算机设备及可读存储介质与流程

文档序号:16328623发布日期:2018-12-19 06:04阅读:197来源:国知局
本发明涉及计算机领域。更具体地,涉及一种excel报表的预览方法、工具、计算机设备及可读存储介质。
背景技术
:在各企业的信息化系统的开发过程中,各企业的信息化系统的功能都会或多或少的涉及各种不同类型的报表功能,因此报表功能的开发是今后企业信息化系统开发的一项重要工作。目前,各种报表业务纷繁复杂,内容参差不齐,报表展现形式灵活多变,给企业信息化系统开发造成了很大的困难,尤其是excel报表的预览功能一直是这类项目的一个难点。报表功能开发项目中,常见需求有excel报表预览、excel报表下载和excel报表在线打印。其中,excel报表下载是一项较易实现的开发内容,所占的开发比例不高,且难度可控。开发难度较高的是excel报表预览和在线打印。对于excel报表预览,根据以往的项目开发经验,excel报表预览根据不同的报表页面复杂度,大致占到报表功能整体开发时间的40%-80%,甚至有些极端的业务场景开发报表预览功能难度极大,占据的开发时间比例更高。现有excel报表预览功能开发方式是页面层直接根据excel报表生成预览,这样需要编写并测试大量的源代码,且针对不同格式的excel报表及不同的预览需求还需要频繁的修改并测试源代码,开发难度大。还有一种方式是由于excel报表预览涉及的数据内容极为广泛,开发难度大,有些报表功能开发中excel报表的预览功能依赖市面上价格高昂的报表工具实现,但是有些excel报表的预览功能即使使用报表工具也很难完全满足客户的需求。对于excel报表在线打印,由于需适配纸张的大小,需要频繁迭代开发,从而产生较高的开发成本。因此,需要提供一种简单快捷的excel报表的预览方法、工具、计算机设备及可读存储介质。技术实现要素:本发明的目的在于提供一种简单快捷的excel报表的预览方法、工具、计算机设备及可读存储介质。为达到上述目的,本发明采用下述技术方案:本发明第一方面提供了一种excel报表的预览方法,包括:将excel报表转译为java对象;将所述java对象翻译为html代码;根据html代码,在页面层呈现对应所述excel报表的内容及样式的报表预览。优选地,所述将excel报表转译为java对象包括:获取excel报表的内容及样式;将excel报表的内容及样式解析为excel报表的表单信息java对象、行信息java对象和单元格信息java对象。优选地,所述获取excel报表的内容及样式包括:利用poi工具获取excel报表的内容及样式。优选地,该方法还包括:根据页面层呈现区域的尺寸,调整呈现出的报表预览的宽度、高度及字体大小。本发明第二方面提供了一种excel报表的预览工具,包括:转译模块,将excel报表转译为java对象;翻译模块,将所述java对象翻译为html代码;预览模块,根据html代码,在页面层呈现对应所述excel报表的内容及样式的报表预览。优选地,所述转译模块,获取excel报表的内容及样式;将excel报表的内容及样式解析为excel报表的表单信息java对象、行信息java对象和单元格信息java对象。优选地,所述转译模块,利用poi工具获取excel报表的内容及样式。优选地,所述预览模块,还根据页面层呈现区域的尺寸,调整呈现出的报表预览的宽度、高度及字体大小。本发明第三方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明第一方面提供的方法。本发明第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明第一方面提供的方法。本发明的有益效果如下:本发明所述技术方案简单快捷,降低了excel报表预览的开发难度。进一步,可基于报表预览轻松实现excel报表的在线打印。附图说明下面结合附图对本发明的具体实施方式作进一步详细的说明;图1示出本发明实施例提供的excel报表的预览方法的流程图。图2示出示例1中excel报表和其报表预览的示意图,其中,2-a示出示例1中excel报表的示意图,2-b示出示例1中excel报表的报表预览的示意图。图3示出示例2中excel报表和其报表预览的示意图,其中,3-a示出示例2中excel报表的示意图,3-b示出示例2中excel报表的报表预览的示意图。图4示出示例3中excel报表和其报表预览的示意图,其中,4-a示出示例3中excel报表的示意图,4-b示出示例3中excel报表的报表预览的示意图。图5示出调整宽度、高度及字体大小前后的报表预览的对比图。图6示出本发明实施例提供的excel报表的预览工具的示意图。图7示出实现本发明实施例提供的excel报表的预览工具的计算机系统的结构示意图。具体实施方式为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。如图1所示,本发明的一个实施例提供了一种excel报表的预览方法,包括:将excel报表转译为java对象;将java对象翻译为html代码;根据html代码,在页面层呈现对应excel报表的内容及样式的报表预览。本实施例提供的excel报表的预览方法,可最大限度的将excel报表转换为页面层可直接应用的html代码,降低excel报表预览的开发难度,加快excel报表预览的开发速度和开发效率,将开发工程师的主要精力集中在业务部分而不是数据展现部分,从而极大的降低了报表功能开发项目的开发成本。进一步,可基于报表预览轻松实现excel报表的在线打印。另外,该方法可针对任何形式的excel报表及不同的预览需求,具有较高的适应性、应用性和可操作性,并可以根据具体的业务场景进行自定义的扩展。在本实施例的一些可选的实现方式中,将excel报表转译为java对象包括:获取excel报表的内容及样式;将excel报表的内容及样式解析为excel报表的表单信息java对象、行信息java对象和单元格信息java对象。这种实现方式,将excel文件的数据结构构建为包括表单(sheet)、行(row)和单元格(cell)三种层级的结构。通过单元格的跨行、跨列可以绘制出形式各样的报表。将java对象翻译为html代码后,html代码中的报表绘制方式可为:通过<table></table>标签定义出一个表单的绘制区域,在table中通过<tr></tr>来定义该表单的每一行,在tr中通过<td></td>来定义行中的每一列,设置每个td的跨行、跨列属性可以绘制出复杂的报表。其中,excel报表中的sheet对应html代码中的<table>标签,excel报表中的row对应html代码中的<tr>标签,excel报表中的cell对应html代码中的<td>标签,只要完全解析出excel报表中的三种元素(表单、行和单元格)的组合关系,便可以根据对应关系绘制出html代码表示的报表。以煤矿企业的报表功能开发中的三个示例说明本实施例呈现出的报表预览的效果。如图2所示,2-a示出示例1中excel报表的示意图,2-b示出示例1中excel报表的报表预览的示意图。如图3所示,3-a示出示例2中excel报表的示意图,3-b示出示例2中excel报表的报表预览的示意图。如图4所示,4-a示出示例3中excel报表的示意图,4-b示出示例3中excel报表的报表预览的示意图。可见,本实施例呈现出的报表预览可准确地呈现excel报表的内容及样式。进一步,表单信息java对象包括表单的宽度、高度及包含的行数量的java对象,行信息java对象包括行的高度及包含的单元格数量的java对象,单元格信息java对象包括单元格的样式及单元格中的数据值的java对象。在本实施例的一些可选的实现方式中,获取excel报表的内容及样式包括:利用poi工具获取excel报表的内容及样式。poi工具是一个开源的工具,由于其代码和程序架构的开放性,具有较强的扩展性和适应性。在本实施例的一些可选的实现方式中,本实施例提供的excel报表的预览方法还包括:根据页面层呈现区域的尺寸,调整呈现出的报表预览的宽度、高度及字体大小。这样,预览功能更具灵活性,可以根据调用方式的参数来自主调整整体报表预览的高度、宽度及字体大小,从而适配具体的页面层呈现区域。调整宽度、高度及字体大小前后的报表预览的效果如图5所示。如图6所示,本发明的另一个实施例提供了一种excel报表的预览工具,包括:转译模块,将excel报表转译为java对象;翻译模块,将java对象翻译为html代码;预览模块,根据html代码,在页面层呈现对应excel报表的内容及样式的报表预览。本实施例提供的excel报表的预览工具,可最大限度的将excel报表转换为页面层可直接应用的html代码,降低excel报表预览的开发难度,加快excel报表预览的开发速度和开发效率,将开发工程师的主要精力集中在业务部分而不是数据展现部分,从而极大的降低了报表功能开发项目的开发成本。进一步,可基于报表预览轻松实现excel报表的在线打印。另外,该工具可针对任何形式的excel报表及不同的预览需求,具有较高的适应性、应用性和可操作性,并可以根据具体的业务场景进行自定义的扩展。而且,excel报表转换为html代码的转换形式和转换内容可以灵活的自主开发定制,无需对源代码进行修改。在应用本实施例提供的excel报表的预览工具时,开发工程师可以直接将excel报表的文件输入工具,工具返回html代码并自动呈现到具体的页面层的空白元素上,从而简单快捷地实现excel报表的预览功能。在本实施例的一些可选的实现方式中,转译模块,获取excel报表的内容及样式;将excel报表的内容及样式解析为excel报表的表单信息java对象、行信息java对象和单元格信息java对象。在本实施例的一些可选的实现方式中,转译模块,利用poi工具获取excel报表的内容及样式。在本实施例的一些可选的实现方式中,预览模块,还根据页面层呈现区域的尺寸,调整呈现出的报表预览的宽度、高度及字体大小。需要说明的是,本实施例提供的excel报表的预览工具的原理及工作流程与上述excel报表的预览方法相似,可以参照上述说明,在此不再赘述。如图7所示,适于用来实现本实施例提供的excel报表的预览工具的计算机系统,包括中央处理单元(cpu),其可以根据存储在只读存储器(rom)中的程序或者从存储部分加载到随机访问存储器(ram)中的程序而执行各种适当的动作和处理。在ram中,还存储有计算机系统操作所需的各种程序和数据。cpu、rom以及ram通过总线被此相连。输入/输入(i/o)接口也连接至总线。以下部件连接至i/o接口:包括键盘、鼠标等的输入部分;包括诸如液晶显示器(lcd)等以及扬声器等的输出部分;包括硬盘等的存储部分;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分。通信部分经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至i/o接口。可拆卸介质,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器上,以便于从其上读出的计算机程序根据需要被安装入存储部分。特别地,根据本实施例,上文流程图描述的过程可以被实现为计算机软件程序。例如,本实施例包括一种计算机程序产品,其包括有形地包含在计算机可读介质上的计算机程序,上述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。附图中的流程图和示意图,图示了本实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或示意图中的每个方框可以代表一个模块、程序段或代码的一部分,上述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,示意图和/或流程图中的每个方框、以及示意和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。描述于本实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包转译模块、翻译模块和预览模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定。例如,翻译模块还可以被描述为“映射模块”。作为另一方面,本实施例还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中上述装置中所包含的非易失性计算机存储介质,也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当上述一个或者多个程序被一个设备执行时,使得上述设备:将excel报表转译为java对象;将java对象翻译为html代码;根据html代码,在页面层呈现对应excel报表的内容及样式的报表预览。在本发明的描述中,需要说明的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。还需要说明的是,在本发明的描述中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于本领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1