| xiong's profile共享空间标题PhotosBlogLists | Help |
|
December 31 Excel ASP互联组件 "一个就是我当年写的nb轰轰的ASP Excel互联组件. 牛到用ASP调用DCOM然后DCOM通过UI调用Office Automation操作Excel然后把数据送入Acess数据库然后给教授们说,看,这就是未来的办公自动化!你们保存在excel里面的学生成绩,以后就靠我这个程序放到网上和数据库里面鸟~~~"
---
下载本组件源代码 Excel 作为Microsoft Office里面的拳头产品,内建了COM支持,所以通过Automation,可以轻松实现Automation组件跟excel里面的VBA的通信.本程序就是根据这个原理完成.
组件处理流程:
运行环境:
该组件程序以学校学生成绩管理系统为例子,实现本地Excel和服务器数据库的数据交换. 通过该组件,可以在Excel中实现对网络上数据库的检索,根据不同条件返回不同数据。同时可以实现对服务器数据的更新和插入,以及不同的权限访问。具体说明如下:
打开工作表格,在顶端出现五个按钮,分别是:load,unload,select,插入新数据,updata. 如果要实现查询功能,select,出现上图表示的窗口.每一项有四个输入框,第一个保留,第二个和第三个表示该字段的最小和最大值,最后一个表示是否要该字段的返回值.其中所有的字段都是按照与运算操作,点击ok后,工作表返回查询结果.如果在查询窗口中不填入任何数据,就是返回所有数据的所有单元.
如图,从a5单元格开始,填入两个字段名和对应数值,点击update,输入用户名和密码.左边的列指定操作对象,当数据库中的数据条件和左边的配对时,才把数据更新成右边的数值. 组件程序功能分析: 优点: 1 本组件可以方便连接Excel和网络服务器的数据库,同时,数据库的操作用ASP调用SQL完成,这样可以极度减小客户端程序的工作,跟使用传统ODBC相比,维护和安装更容易,同时,系统需求也更小.由于数据库的调用全部都在服务器,组件只负责传递SQL语句,整个系统的更改,只需要集中在服务器就是了. 2 使用Excel来作为的数据库操作操作平台,更容易让普通使用者接受,而不需要用户有专门的数据库知识,整个使用就跟用Excel在本地计算机打开文件一样.同时,对数据的分析,比如排序和统计,就可以直接使用Excel的功能,还可以借用Excel的图表,格式转换等等功能. 3 由于组件用COM技术编写,所以它不仅可以用在Excel上,它可以和任何使用接口技术的程序通信.同时,新功能的添加,只需要在组件上加入新的属性和方法.所以该组件特别灵活. 如此看来,该组件可以方便地实现任意程序跟服务器数据库的连接,在不需要使用专业分布数据库的情况下,比如班主任在全校学生数据库上检索特定学生,并且在Excel上方便操作;销售人员在异地动态更新公司数据库等等领域都可以方便地使用.
缺点: 本组件程序主旨是为了演示Automation的应用,包含的具体实例(学生成绩系统)并不完善.具体表现在:数据库设计不能完全体现学校学生成绩管理机制,excel中vba代码过于冗长,组件服务依赖于windows导致的健壮性不好,没有提供对网络连接的检查,不提供明显类型检验和出错原因返回,同时在数据量特别大的时候很容易导致效率极度下降,数据的更新和插入必须按照特定格式进行等等. 导致以上结果的原因是: 但是本程序完成地提供了通过Atuomation对数据库的远程访问和与Excel的完美连接,只需要对其中的模块进行补充完善,一个方便的远程数据库就可以完成.
本程序测试环境 参考资料: 本程序本来准备参加学校科技作品比赛,顺便投到这里,希望得到大家的指教!
---------------
所以说,历史有着惊人的相似. 当年的 IE->ASP(IIS)->DCOM->EXCEL 就是现在的SharingPoint Server Excel WebService阿!
当年是用最时髦的的Web Client, 加上最先进ASP, 加上最复杂的DCOM, 通过VBA来处理EXCEL中的数据, 多么巧夺天工阿 换到今天,就是 用最时髦的WPF, 加上最先进的Powershell, 加上最复杂的WCF, 通过WebService来处理AD中的数据, 看来老板真的是没有看错人啊... 大家看看我第二副图中的那些textbox, 这证明了我对UI产品错落有致的美感, 大家看看我第三幅图中的那些名字, 这证明了我对安全产品本能般的信息把握阿~~~~
Comments (8)
TrackbacksThe trackback URL for this entry is: http://eparg.spaces.live.com/blog/cns!59BFC22C0E7E1A76!3901.trak Weblogs that reference this entry
|
|
|