一种XML文档转换为Excel文档的方法及装置制造方法及图纸

技术编号:4105658 阅读:582 留言:0更新日期:2012-04-11 18:40
本发明专利技术属于文档应用领域,公开了一种XML文档转换为Excel文档的方法及装置,所述方法包括:读取XML文件中的基本元素信息;将读取的XML文件中的基本元素信息按照Excel的排版格式进行排版,获取一排版结果;按照上述排版结果生成XML2003文档;调用电子表格工具MS-Excel的Com接口将生成的XML2003文档转换为Excel文档。本发明专利技术在生成一个Excel文档的过程中只需要一次Com调用,最大程度上规避了Com调用的低效性和不稳定性,降低了资源占有量。

【技术实现步骤摘要】

本专利技术属于文档应用领域,具体涉及一种XML文档转换为Excel文档的方法及装置。
技术介绍
随着电脑的不断普及,无纸化办公得到越来越多的应用,各种各样的文档也大量 的出现在用户的面前。Microsoft Excel是微软公司的办公软件Microsoft off ice的组件之一,是由 Microsoft为Windows和Apple Macintosh操作系统的电脑而编写和运行的一款试算表软 件。Excel是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理、 统计分析和辅助决策操作,广泛地应用于管理、统计财经、金融等众多领域。现在业界比较流行的几种XML格式文件转换为Excel格式文件的方案包括方案一、调用某些数据库软件提供的API接口生成Excel报表;方案二、通过调用MS-Excel的自动化Com接口创建Excel报表和数据的写入,生 成的次序是建立WorkBook、Worksheet和写入数据;方案三、通过调用一些较成熟的开源文档编辑软件的接口实现MS-Excel基本信 息的写入,较流行的是调用OpenOffice的应用程序编程接口(Application Programming Interface, API)接口来实现Excel文档的生成。方案一的缺点由于大部分数据库软件仅仅提供一些将已知数据转换为基本表格 的功能,当碰到单元格合并、表头设置和数据类型设置的情况会无能无力。这种表格不支持 公式运算,不符合用户直接编辑运算的需要,用户体验比较差。方案二的缺点=MS-Excel的Com接口对配置环境和输入数据的格式要求较高,在 频繁多次调用的情况下,经常会出现程序挂掉的情况。而且每输入一个单元(Cell)数据都 会涉及到一次Com调用,所以此方案的效率较低。而且占用系统资源较多,造成机器负载较重。方案三的缺点由于XlS文件的内部格式没有公开,所以当今一些主流的开源软 件对其支持的并不完美,经常会造成元素丢失和排版混乱的情况。如何在生成Excel文档时减少对Com接口的调用,提高Com调用的效率和稳定性, 降低资源占有量,是文档应用领域的方向之一。
技术实现思路
本专利技术的目的在于提供一种XML文档转换为Excel文档的方法,目的在于在生成 Excel文档时减少对Com接口的调用,提高Com调用的效率和稳定性,降低资源占有量。本专利技术实施例是这样实现的,一种XML文档转换为Excel文档的方法,所述方法包 括以下步骤4读取XML文件中的基本元素信息;将读取的XML文件中的基本元素信息按照Excel的排版格式进行排版,获取一排 版结果;按照上述排版结果生成XML2003文档;调用电子表格工具MS-Excel的Com接口将生成的XML2003文档转换为Excel文 档。本专利技术实施例的另一目的在于提供一种XML文档转换为Excel文档的装置,所述 装置包括XML信息读取模块,用于读取XML文件中的基本元素信息;排版模块,用于将所述XML信息读取模块读取的XML文件中的基本元素信息按照 Excel的排版格式进行排版,获取一排版结果;文档生成模块,用于按照上述排版结果生成XML2003文档;Excel文档转换模块,用于调用电子表格工具MS-Excel的Com接口将生成的 XML2003文档转换为Excel文档。本专利技术按照Excel文件的内容和排版生成相同的XML2003文件,完后在后台调用 MS-Excel的Com接口一次性的将XML2003文件转换为Excel文件,在生成一个Excel文档 的过程中只需要一次Com调用,最大程度上规避了 Com调用的低效性和不稳定性,降低了资源占有量。附图说明图1为本专利技术实施例提供的XML文档转换为Excel文档的方法的流程图;图2为本专利技术实施例提供的XML文档转换为Excel文档的装置的结构图。具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不 用于限定本专利技术。图1示出了本专利技术实施例提供的XML文档转换为Excel文档的方法的流程。在步骤SlOl中,读取XML文件中的基本元素信息;在步骤S102中,将读取的XML文件中的基本元素信息按照Excel的排版格式进行 排版,获取一排版结果;在步骤S103中,按照步骤S102中的排版结果生成XML2003文档;在步骤S104中,调用电子表格工具MS-Excel的Com接口将生成的XML2003文档 转换为Excel文档。其中,所述步骤SlOl具体描述如下首先读取可扩展标记语言(Extensible Markup Language, XML)文件工作簿 WorkBook的基本信息,包括作者属性和文档生成日期等,然后读取XML文件各个工作表 Worksheet的信息,最后是读取Worksheet中的文本信息和文本属性信息等。其中,所述步骤S102具体描述如下5步骤A、将文本拆分,增加其参与计算的能力;譬如一个基本文本内容为132. 22008/03/22,如果将其放置于一个Cell中,此 文本将只具有文本属性,没有了数字和日期的属性,但是如果将其拆开放置于两个单元 (Cell)中的话,那么一个Cell具有数字属性,另外一个Cell将具有日期属性。此步骤A的过程为首先判断本文本块是否被表格线分开,如果此文本块被一表 格线穿过,那么就在穿过位置将此文本块分为两块文本,其次以本文本块的大小为输入动 态确定一个阀值,如果文本块中的两文本间距大于此阀值,则将此文本块分开。步骤B、将步骤A处理后的文本进行表格识别;如果通过特征识别识别到了表格就将表格单独输出处理,如果没有识别到表格就 对本页中所有的文本元素进行整体排版。此步骤B的过程为首先区分不同表格的表格线,将不同表格的表格线置于不同 的闭包中,其次是按照表格线的位置将文本块放置在不同的表格中。步骤C、识别Cell的线条属性和背景颜色属性。步骤D、识别文本的类型信息;此处主要识别数字、百分号、日期、时间、货币、分数 和科学计数等信息。其中,所述步骤S103具体包括a、生成XML2003文档工作簿WorkBook的文件头信息,此信息主要包括了文件作 者、创建时间、版本号和是否加密等信息;b、生成XML2003文档单元格样式列表;此列表代表整个工作簿WorkBook中单元格的所有样式,在输入任何一个单元格 的时候都要遍历此样式列表,查询是否该单元格样式在此单元格中存在,如果存在则返回 该样式在列表中的索引值,如果不存在则在列表中新建该样式的索引并将新建的索引值返 回。C、生成 XML2003 文档工作表 Worksheet。每个Worksheet代表Excel中的一页,在创建一个Worksheet的时候需要创建 Column信息、Row信息禾口 Cell信息。首先创建Column列表,每个Column代表Worksheet中的一列,主要需要创建列 宽、是否固定列宽和创建列的索引等几部分;其次需要创建Row列表,每个Row代表Worksheet中的一行,主要需要创建行高、 是否固定行高和行的索引等几部分;之后是建立Cell对象,Cell对象为Worksheet中最本文档来自技高网
...

【技术保护点】
一种XML文档转换为Excel文档的方法,其特征在于,所述方法包括以下步骤:读取XML文件中的基本元素信息;将读取的XML文件中的基本元素信息按照Excel的排版格式进行排版,获取一排版结果;按照上述排版结果生成XML2003文档;调用电子表格工具MS-Excel的Com接口将生成的XML2003文档转换为Excel文档。

【技术特征摘要】
一种XML文档转换为Excel文档的方法,其特征在于,所述方法包括以下步骤读取XML文件中的基本元素信息;将读取的XML文件中的基本元素信息按照Excel的排版格式进行排版,获取一排版结果;按照上述排版结果生成XML2003文档;调用电子表格工具MS Excel的Com接口将生成的XML2003文档转换为Excel文档。2.如权利要求1所述的XML文档转换为Excel文档的方法,其特征在于,所述读取XML 文件中的基本元素信息步骤具体包括读取XML文件中工作簿WorkBook的基本信息;读取XML文件中各个工作表Worksheet的信息;读取XML文件中各个工作表Worksheet中的文本信息和文本属性信息。3.如权利要求1所述的XML文档转换为Excel文档的方法,其特征在于,所述将读取的 XML文件中的基本元素信息按照Excel的排版格式进行排版的步骤具体包括将XML文件中的文本拆分; 将拆分后的文本进行表格识别; 识别文本类型信息。4.如权利要求1所述的XML文档转换为Excel文档的方法,其特征在于,所述按照排版 结果生成XML2003文档的步骤具体包括生成XML2003文档的工作簿WorkBook的文件头信息; 生成XML2003文档的单元格样式列表; 生成XML2003文档的工作表Worksheet。5.如权利要求1所述的XML文档转换为Excel文档的方法,其特征在于,所述调用电 子表格工具MS-Excel的Com接口将生成的XML2003文档转换为Excel文档的步骤具体包 括初始化Com接口 ;调用Com模块中的工作簿对象WorkBookPtr将XML2003文件导入; 查询注册表得到用户安装的Excel版本信息,根据该版本信息生成对应版本的Excel 文档;删除XML2003文件。6.一种XML文档转换为Exc...

【专利技术属性】
技术研发人员:解辉
申请(专利权)人:深圳市万兴软件有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1