【在线Excel的原理实现与使用】Excel原理

  摘 要: 目前,在计算机数据处理方面,Excel是使用最广泛,操作最方便的数据处理工具,但对数据的交流传递和统计汇总很不方便;再加上网络办公平台的广泛使用,开发设计一套在线Excel很有必要,通过论述dsoframer控件的使用,对如何实现在线Excel的使用进行简单的论述,灵活地解决Excel在线处理,比较容易的实现数据在网络上的统计汇总自动处理。如果进一步对该程序进行完善,将能更具有广泛的使用性和推广性,进一步推动网络自动化办公。
  关键词: 在线Excel;Excel模版;Dsoframer控件
  中图分类号:TQ015.9 文献标识码:A 文章编号:1671-7597(2012)0210125-02
  
  目前,在计算机数据处理方面,Excel应该是使用最广泛,操作最方便的数据处理工具,它对数据的编辑、格式化、设计报表和打印等功能都提供了很完美的解决方案。但在规模较大的企事业单位,一方面Excel只能通过邮件或纸质报表的方式来交流传递,对于文件管理和汇总很不方便;另一方面为经常变更的统计数据去设计一套MIS(管理信息系统)系统,显然是非常麻烦,且非常的不经济。基于上述两点,再加上网络办公平台的广泛使用,开发设计一套在线Excel,把Excel搬到网络上运行,是很有必要且能够适用各种统计要求。
  1 Dsoframer控件的使用
  Dsoframer控件是微软提供的开源控件,用于在线编辑、调用Word、Excel、PowerPoint等ActiveX控件。在使用Dsoframer控件前,先用regsvr32进行注册,注册后的Active控件才能使用。设计在线Excel时,在javascript代码段里,通过如下代码完成对Dsoframer控件的引用对象:
  Dsoframer控件常用方法如下:
  1.1 在线新建Excel文档
  document.all.MyExcel.CreateNew("Excel.Sheet");
  1.2 打开数据库中的Excel文档
  document.all.MyExcel.Open( "http://localhost/onlineExcel/open
  Excel.aspx?id=1",true, "Excel.Sheet", "MyUserAccount", "MyPassword");其中openExcel负责提供所需要的Excel文档。
  1.3 保存Excel文件到数据库中
  document.all.MyExcel.HttpInit();//初始化Http引擎
  Document.all.FramerControl1.HttpPost("http://localhost/onlineExcel/saveExcel.aspx");其中saveExcel.aspx动态页面负责解析数据存于数据库中。
  2 在线Excel处理模式
  在线Excel的处理方式如下图:
  
  
  整个实现可以分为两大部分,第一部分是模版的制作及维护,通过Excel软件制作Excel模版,模版制作完成后,保存在数据库中。第二部分是用户借助Excel的模版,从基础数据表中取得对应的基础数据填充到Excel模版里,生成一个标准纸质类型的报表页,网络用户根据报表要求填写数据后,由程序把Excel的单元格数据分解出来,按照规则填充到数据库的业务数据表中,完成业务数据的录入,达到了外观表现为Excel数据,内部存储为二维数据表,便于后面对数据的统计汇总分析。
  3 关键技术处理
  3.1 模版的制作与保存
  在网页xls_add.aspx上通过object标签引用dsoframer控件,网页中即可呈现出Excel操作界面,然后在body标签的加载事件中执行create_xls函数,实现新建Excel文档的目的。Excel文档在线处理后,点击页面上“保存Excel模版到服务器数据库”按钮,执行保存按钮的单击事件savexls_onclick,该事件通过调用dsoframer的HttpPost方法,把数据提交给xls_save.aspx网页,由xls_save.aspx负责把Excel文档内容保存在后台的数据库中,以供网
  用户在线处理完数据后,需要把Excel的数据分解成XML的数据格式,然后通过ajax技术把XML的数据发送至保存页面,再由保存页面解析成二维数据表数据,最后保存在数据库中。主要过程如下:
  1)Excel模版所在的页面javascript代码中,循环获取Excel单元格数据,然后组装成XML数据。获取单元格的数据通过下面代码实现:
  obj = new Object(MyExcel.ActiveDocument);//获得当前控件的文档对象
  xls = obj.Application;
  strCell=xls.Cells(x,y);//x为单元格所在的行,y为单元格所在的列。
  2)保存页面收到传递过来的XML数据后,重新解析成二维数据,然后通过SQL语句保存到数据库中。
  处理过程遵循的思想是从Excel数据到XML数据,XML数据传到服务端,服务端接收XML数据,然后把XML数据解析成二维数据,最后保存到数据库中,完成了Excel文档数据保存到二维关系数据库的目的。
  4 结束语
  本文对如何实现在线Excel的使用进行了简单的论述,并对相关技术关键难点进行了说明,通过dsoframer控件的使用,灵活地解决了Excel在线处理,比较容易的实现了数据在网络上的统计汇总自动处理。如果进一步对该程序进行完善,将能更具有广泛的使用性和推广性,适应更多的企事业单位利用在线Excel统计汇总分析数据,进一步推动网络自动化办公。
  
  
  参考文献:
  [1]杜茂康、王永、李昌兵译,《Excel专业开发》[M].电子工业出版社,2007(4).
  [2]罗刚君,《Excel VBA程序开发自学宝典》,电子工业出版社,2009(10).
  [3]陈黎夫,《ajax程序设计》,人民邮电出版社,2007(10).
  [4]拉芙,《ASP.NET 3.5网站开发全程解析(第3版)》[M],清华大学出版社,2010(7).
  [5]邓春红译,《ASP.NET服务器控件与组件开发》[M].机械工业出版社,2003.
  [6]扎卡斯,《JavaScript高级程序设计》[M].曹力(译),人民邮电出版社,2006(11).
  [7]弗拉纳根,《JavaScript权威指南》[M].机械工业出版社,2007(8).
  
  作者简介:
  张静(1972-),女,计算机科学与技术硕士,山东滕州市枣庄科技职业学院讲师。

推荐访问:在线 原理 excel