一种将网页Table数据转换成Excel的方法

文档序号:6492890阅读:4133来源:国知局
一种将网页Table数据转换成Excel的方法
【专利摘要】本发明提出了一种将网页Table数据转换成Excel的方法,所述方法包括以下步骤:a.通过浏览器浏览包含有Table标签的网页;b.将Table标签中的TD及TH标签相关内容依次解析至一行列矩阵数据存储器中;c.调用Excel软件接口,将行列矩阵数据存储器中的存储单元内容依次写入Excel。本发明适于当前网页中的数据表格与Excel进行信息交换,实现过程准确、便捷,无需访问数据库;同时,本发明作为对现有技术的改进,提供了更好的用户体验。
【专利说明】—种将网页Table数据转换成Excel的方法
【技术领域】
[0001]本发明涉及计算机【技术领域】,特别是涉及一种将网页Table数据转换成Excel的方法。
【背景技术】
[0002]互联网,按照一定的通讯协议组成的国际计算机网络,是当今计算机应用最广泛、最普及的一个方面。网页基于互联网,无论网页文件存放在哪里,通过互联网在世界各地都可以访问。
[0003]Microsoft Excel是微软公司的办公软件之一,是由Microsoft为Windows和AppleMacintosh操作系统的电脑而编写和运行的一款试算表软件。Excel是微软办公套装软件的一个重要组成部分,它可以进行各种数据的处理、统计分析和辅助决策操作,广泛地应用于管理、统计财经、金融等众多领域。
[0004]用户网上浏览到可用的有价值的数据表信息,需要转为Excel自用是很常见的操作方式,一般是直接复制网页Table内容粘贴到打开的Excel中,需要在网页与Excel页面之间切换,特别是如果网页中Table较多且表与表之间有其他内容间隔,那么在选择和切换时就比较麻烦,所需时间较多,效率低,而且可能存在格式不匹配的问题,需要再次调整。
[0005]申请号为201010268261.3的发明专利于2010年8月公布了一种将网页数据导入Excel表格的方法和装置,其做法是在网页浏览器上打开包含有数据表格的网页,在网页中选择数据表格,网页浏览器对所述网页标签进行解析得到数据表格的数据,调用Excel软件生成空白的Excel工作表页面,网页浏览器将所读取的数据写入所生成的Excel工作表页面。该发明在网页上动态抓取表格数据,实现网页数据到Excel的一键式操作,提高了用户的工作效率。但是,经过研究,该发明存在一定的缺陷,如果网页中的数据表格不包含Colspan或Rowspan属性,那该发明确实能达到效果;当网页中的数据表格Table标签中包含Colspan或Rowspan属性时,直接解析Table至Excel会存在将原有表格行列内容显示在其他单元格中的问题。

【发明内容】

[0006]针对以上问题,本发明提出了一种将网页Table数据转换成Excel的方法,通过浏览器浏览包含有Table标签的网页,将Table标签中的TD及TH标签相关内容解析至一行列矩阵数据存储器中,调用Excel软件接口,将行列矩阵数据存储器内容写入Excel。
[0007]为实现上述
【发明内容】
,本发明采用了一种将网页Table数据转换成Excel的方法,该方法的实现步骤如下:
[0008]a.通过浏览器浏览包含有Table标签的网页;
[0009]b.将Table标签中的TD及TH标签相关内容依次解析至一行列矩阵数据存储器中;
[0010]C.调用Excel软件接口,将行列矩阵数据存储器中的存储单元内容依次写入Excel ο
[0011]所述行列矩阵数据存储器是依据浏览器解析出Table标签的行列值动态生成的,Table的行列与行列矩阵数据存储器的行列一一对应,初始化时,其存储单元中标以普通标记,表不允许与入。
[0012]所述步骤b将Table标签中的TD及TH标签内容依次解析至行列矩阵数据存储器时,首先要判断行列矩阵数据存储器存储单元的标记,若是普通标记,则直接写入内容,写入后标记不再存在;若是特定标记,表示不允许写入,需找到当前行中列值最小的且标记为普通标记的存储单元写入,若没有找到,则接着找下一行中列值最小的且标记为普通标记的存储单元写入。
[0013]所述步骤b将Table标签中的TD及TH标签内容依次解析至行列矩阵数据存储器时,浏览器依次判断TD或TH标签的Colspan、Rowspan属性值,若Colspan和Rowspan属性值不存在或者都小于等于1,则将TD或TH标签相关内容写入行列矩阵数据存储器的存储单元中;若Rowspan属性值不存在或者小于等于I, Colspan属性值大于1,则将TD或TH标签相关内容写入行列矩阵数据存储器的存储单元中,同时在该行接下来的Colspan属性值-1个存储单元中将普通标记改为特定标记;若Colspan属性值不存在或者小于等于1,Rowspan属性值大于1,则将TD或TH标签相关内容写入行列矩阵数据存储器的存储单元中,同时在该列接下来的Rowspan属性值-1个存储单元中将普通标记改为特定标记;若Colspan和Rowspan属性值都大于1,则将TD或TH标签相关内容写入行列矩阵数据存储器的存储单元中,同时将以该存储单元为起点形成的Colspan属性值*Rowspan属性值表格中其他的存储单元的普通标记改为特定标记。
[0014]所述行列矩阵数据存储器有内容的存储单元中含有原TD或TH标签下的Colspan属性值、Rowspan属性值和数据。
[0015]所述步骤c将行列矩阵数据存储器中的存储单元内容依次写入Excel时,若存储单元Colspan和Rowspan属性值不存在或者都小于等于1,则直接将数据写入Excel ;若Rowspan属性值不存在或者小于等于I, Colspan属性值大于I,则将数据写入Excel的同时与该行接下来Colspan属性值-1个单元格合并;若Colspan属性值不存在或者小于等于I, Rowspan属性值大于I,则将数据写入Excel的同时与该列接下来Rowspan属性值_1个单元格合并;若Colspan和Rowspan属性值都大于I,同时合并以该单元格为起点形成的Colspan属性值*Rowspan属性值表格。
[0016]所述步骤c将行列矩阵数据存储器中的存储单元内容依次写入Excel时,若遇到特定标记则忽略,直至遇到含有内容的存储单元再开始写入Excel。
[0017]所述步骤c将行列矩阵数据存储器中的存储单元内容依次写入Excel时,可以按照行的顺序写入,也可以按照列的顺序写入;行列矩阵数据存储器中的存储单元与Excel特定区域单元格一一对应。
[0018]本发明适于当前网页中的数据Table与Excel进行信息交换,实现过程准确、便捷,无需访问数据库;同时,本发明作为对现有技术的改进,提供了更好的用户体验。
【专利附图】

【附图说明】
[0019]图1为本发明所提供的一种将网页Table数据转换成Excel的方法的实施例流程图;
[0020]图2a为本发明所提供的一种将网页Table数据转换成Excel的方法的网页中的Table显示示例;
[0021]图2b为本发明所提供的一种将网页Table数据转换成Excel的方法的浏览器将网页中Table写入到行列矩阵数据存储器存储单元的过程图;
[0022]图3为本发明所提供的一种将网页Table数据转换成Excel的方法的浏览器将行列矩阵数据存储器存储单元内容写入到Excel的过程图。
【具体实施方式】
[0023]为了使本发明所提到的一种将网页Table数据转换成Excel的方法及其优点更加清楚明确,以下参照附图对本发明进行更进一步的详细说明。
[0024]图1为本发明所提供的一种将网页Table数据转换成Excel的方法的实施例流程图。如图1所示,该方法的主要流程如下:
[0025]步骤I,浏览包含有Tab I e标签的网页。
[0026]用户通过浏览器浏览到相关的Table页面。
[0027]步骤2,将Table标签中的TD及TH标签相关内容解析至行列矩阵数据存储器。
[0028]浏览器首先解析并统计出Table的行列数,动态生成行列数与Table相同的一行列矩阵数据存储器;初始化行列矩阵数据存储器,在存储单元中用普通标记统一标记,表示允许写入;浏览器将Table标签中的TD及TH标签相关内容依次解析至行列矩阵数据存储器。
[0029]行列矩阵数据存储器用来临时存放网页中Table的TD及TH标签相关内容,当行列矩阵数据存储器存储单元的内容写入Excel后,该行列矩阵数据存储器自动释放。
[0030]步骤3,浏览器调用Excel软件接口,将行列矩阵存储器存储单元的内容写入Excel ο
[0031]对于网页中Table多于一个的情况,可以默认读入Excel工作表sheet2页面,依次类推,也可以设置其他方式供用户选择。
[0032]图2a为本发明所提供的一种将网页Table数据转换成Excel的方法的网页中的Table显示示例。列出图2a是为了更清楚的表示出Table数据如何读入行列矩阵数据存储器。
[0033]图2b为本发明所提供的一种将网页Table数据转换成Excel的方法的浏览器将网页中Table写入到行列矩阵数据存储器存储单元的过程图。本实例中该实现过程以图2a中的表为例包括以下步骤:
[0034]步骤201,浏览器首先解析并统计出图2a中Table是3行3列的表,动态生成行列数与Table相同的一行列矩阵数据存储器;初始化行列矩阵数据存储器,在存储单元中用符号Y统一标记,表不允许写入。
[0035]步骤202,浏览器可以解析到图2a中第I行第I列的数据Al且Colspan属性值或Rowspan的属性值都不大于I,接着查看行列矩阵数据存储器第I行第I列的存储单元是否允许写入,行列矩阵数据存储器第I行第I列的存储单元显示为Y,则浏览器把Al写入存储单元,接着解析第I行第2列的数据。[0036]步骤203,浏览器可以解析到图2a中第I行第2列的数据A2且Rowspan的属性值等于2,接着查看行列矩阵数据存储器第I行第2列的存储单元是否允许写入,行列矩阵数据存储器第I行第2列的存储单元显示为Y,则浏览器把A2写入存储单元。由于A2又占了第2行的一个单元格空间,则把行列矩阵数据存储器第2行第2列的存储单元的Y标记改为N,表示不再允许写入,接着解析第I行第3列的数据。
[0037]步骤204,浏览器可以解析到图2a中第I行第3列的数据A3且Colspan属性值或Rowspan的属性值都不大于I,接着查看行列矩阵数据存储器第I行第3列的存储单元是否允许写入,行列矩阵数据存储器第I行第3列的存储单元显示为Y,则浏览器把A3写入存储单元。Table第一行已无其他数据,至此第I行数据写入完毕。
[0038]步骤205,浏览器可以解析到图2a中第2行第I列的数据BI且Colspan属性值或Rowspan的属性值都不大于I,接着查看行列矩阵数据存储器第2行第I列的存储单元是否允许写入,行列矩阵数据存储器第2行第I列的存储单元显示为Y,则浏览器把BI写入存储单元,接着解析第2行第2列的数据。
[0039]步骤206,浏览器可以解析到图2a中第2行第2列的数据B3且Colspan属性值或Rowspan的属性值都不大于I,接着查看行列矩阵数据存储器第2行第2列的存储单元是否允许写入,行列矩阵数据存储器第2行第2列的存储单元显示为N,接着查看第2行第3列的存储单元显示为Y,则浏览器把B3写入存储单元。Table第二行已无其他数据,至此第2行数据写入完毕。
[0040]步骤207,浏览器可以解析到图2a中第3行第I列的数据Cl且Colspan属性值等于2,接着查看行列矩阵数据存储器第3行第I列的存储单元是否允许写入,行列矩阵数据存储器第3行第I列的存储单元显示为Y,则浏览器把Cl写入存储单元。由于Cl又占了第2列的一个单元格空间,则把行列矩阵数据存储器第3行第2列的存储单元的Y标记改为N,表示不再允许写入,接着解析第3行第2列的数据。
[0041]步骤208,浏览器可以解析到图2a中第3行第2列的数据C3且Colspan属性值或Rowspan的属性值都不大于I,接着查看行列矩阵数据存储器第3行第2列的存储单元是否允许写入,行列矩阵数据存储器第3行第2列的存储单元显示为N,接着查看第3行第3列的存储单元显示为Y,则浏览器把C3写入存储单元。Table第三行已无其他数据,至此浏览器把整个Table标签中的TD标签内容解析至行列矩阵数据存储器。
[0042]需要说明的是在Table数据写入行列矩阵数据存储器存储单元的同时,若单元格含有Colspan属性值、Rowspan的属性值,则一并写入行列矩阵数据存储器存储单元。
[0043]图3为本发明所提供的一种将网页Table数据转换成Excel的方法的浏览器将行列矩阵数据存储器存储单元内容写入到Excel的过程图。
[0044]步骤301,对应的空白Excel表格。可以是新建的Excel,也可以是用户在原有的Excel中指定某处。为了解释方便,本实例采用的新Excel表格。
[0045]步骤302,浏览器读取到行列矩阵数据存储器存储单元的第I行第I列数据为Al且Colspan属性值或Rowspan的属性值都不大于1,则将Al写入到Excel的第I行第I列的单元格。
[0046]步骤303,浏览器读取到行列矩阵数据存储器存储单元的第I行第2列的数据A2且Rowspan的属性值等于2,则将A2写入到Excel的第I行第2列单元格并将该单元格与第2行第2列的单元格合并。
[0047]步骤304,浏览器读取到行列矩阵数据存储器存储单元的第I行第3列数据为A3且Colspan属性值或Rowspan的属性值都不大于1,则将A3写入到Excel的第I行第3列的单元格。至此第I行数据写入完毕。
[0048]步骤305,浏览器读取到行列矩阵数据存储器存储单元的第2行第I列数据为BI且Colspan属性值或Rowspan的属性值都不大于1,则将BI写入到Excel的第2行第I列的单元格。
[0049]步骤306,浏览器读取到行列矩阵数据存储器存储单元的第2行第2列为标记N,则直接跳过,继续下一个单元格,浏览器读取到第2行第3列数据为B3且Colspan属性值或Rowspan的属性值都不大于1,则将B3写入到Excel的第2行第3列的单元格。至此第2行数据写入完毕。
[0050]步骤307,浏览器读取到行列矩阵数据存储器存储单元的第3行第I列数据为Cl且Colspan属性值等于2,则将Cl写入到Excel的第3行第I列的单元格并将该单元格与第3行第2列的单元格合并。
[0051]步骤308,浏览器读取到行列矩阵数据存储器存储单元的第3行第2列为标记N,则直接跳过,继续下一个单元格,浏览器读取到第3行第3列数据为B3且Colspan属性值或Rowspan的属性值都不大于1,则将C3写入到Excel的第3行第3列的单元格。至此浏览器完成把行列矩阵数据存储器存储单元的内容写入Excel,并释放行列矩阵数据存储器。
[0052]行列矩阵数据存储器的存储单元与读入的Excel单元格的行列是--对应的,浏
览器对行列矩阵数据存储器存储单元按照列的顺序读取原理是一样的,在此不再赘述。
[0053]以上所述是对本发明的较佳的【具体实施方式】,本【技术领域】人员应当理解,所述实施方式并非限定本发明的保护范围。在不脱离本发明的精神实质和原则下,在细节方面可以进行变化或者修改,均应涵盖在本发明的权利要求范围之内。
【权利要求】
1.一种将网页Table数据转换成Excel的方法,其特征在于,所述方法包括以下步骤: a.通过浏览器浏览包含有Table标签的网页; b.将Table标签中的TD及TH标签相关内容依次解析至一行列矩阵数据存储器中; c.调用Excel软件接口,将行列矩阵数据存储器中的存储单元内容依次写入Excel。
2.如权利要求1所述的一种将网页Table数据转换成Excel的方法,其特征在于,所述行列矩阵数据存储器是依据浏览器解析出Table标签的行列值动态生成的,Table的行列与行列矩阵数据存储器的行列一一对应,初始化时,其存储单元中标以普通标记,表示允许写入。
3.如权利要求1所述的一种将网页Table数据转换成Excel的方法,其特征在于,所述步骤b将Table标签中的TD及TH标签内容依次解析至行列矩阵数据存储器时,首先要判断行列矩阵数据存储器存储单元的标记,若是普通标记,则直接写入内容,写入后标记不再存在;若是特定标记,表示不允许写入,需找到当前行中列值最小的且标记为普通标记的存储单元写入,若没有找到,则接着找下一行中列值最小的且标记为普通标记的存储单元写入。
4.如权利要求1所述的一种将网页Table数据转换成Excel的方法,其特征在于,所述步骤b将Table标签中的TD及TH标签内容依次解析至行列矩阵数据存储器时,浏览器依次判断TD或TH标签的Colspan、Rowspan属性值,若Colspan和Rowspan属性值不存在或者都小于等于1,则将TD或TH标签相关内容写入行列矩阵数据存储器的存储单元中;若Rowspan属性值不存在或者小于等于1,Colspan属性值大于1,则将TD或TH标签相关内容写入行列矩阵数据存储器的存储单元中,同时在该行接下来的Colspan属性值-1个存储单元中将普通标记改为特定标记;若Colspan属性值不存在或者小于等于I, Rowspan属性值大于1,则将TD或TH标签相`关内容写入行列矩阵数据存储器的存储单元中,同时在该列接下来的Rowspan属性值-1个存储单元中将普通标记改为特定标记;若Colspan和Rowspan属性值都大于1,则将TD或TH标签相关内容写入行列矩阵数据存储器的存储单元中,同时将以该存储单元为起点形成的Colspan属性值*Rowspan属性值表格中其他存储单元的普通标记改为特定标记。
5.如权利要求1或4所述的一种将网页Table数据转换成Excel的方法,其特征在于,所述行列矩阵数据存储器有内容的存储单元中含有原TD或TH标签下的Colspan属性值、Rowspan属性值和数据。
6.如权利要求1所述的一种将网页Table数据转换成Excel的方法,其特征在于,所述步骤c将行列矩阵数据存储器中的存储单元内容依次写入Excel时,若存储单元Colspan和Rowspan属性值不存在或者都小于等于I,则直接将数据写入Excel ;若Rowspan属性值不存在或者小于等于1,Colspan属性值大于1,则将数据写入Excel的同时与该行接下来Colspan属性值-1个单元格合并;若Colspan属性值不存在或者小于等于I, Rowspan属性值大于1,则将数据写入Excel的同时与该列接下来Rowspan属性值-1个单元格合并;若Colspan和Rowspan属性值都大于1,同时合并以该单元格为起点形成的Colspan属性值*Rowspan属性值表格。
7.如权利要求1所述的一种将网页Table数据转换成Excel的方法,其特征在于,所述步骤c将行列矩阵数据存储器中的存储单元内容依次写入Excel时,若遇到特定标记则忽略,直至遇到含有内容的存储单元再开始写入Excel。
8.如权利要求1所述的一种将网页Table数据转换成Excel的方法,其特征在于,所述步骤c将行列矩阵数据存储器中的存储单元内容依次写入Excel时,可以按照行的顺序写入,也可以按照列的顺序写入;行列矩阵数据存储器中的存储单元与Excel特定区域单元格一一 对应。
【文档编号】G06F17/22GK103870441SQ201210538924
【公开日】2014年6月18日 申请日期:2012年12月14日 优先权日:2012年12月14日
【发明者】牟春林 申请人:苏州精易会信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1