Chinaunix首页 | 论坛 | 博客
  • 博客访问: 631499
  • 博文数量: 76
  • 博客积分: 3091
  • 博客等级: 中校
  • 技术积分: 996
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-11 15:40
个人简介

IT老兵,爱好胡思乱想、读书和交流,2015年底重新回到IT战场,期待再一次“贯穿”。

文章存档

2020年(11)

2018年(1)

2017年(1)

2016年(1)

2015年(1)

2014年(2)

2011年(5)

2010年(2)

2009年(4)

2008年(28)

2007年(20)

我的朋友

分类:

2009-04-02 17:58:55

    Excel是很强大的软件工具, 而且在数据处理分析与展示上面被广泛应用, 项目中如果充分利用Excel功能, 一来是可以降低一些不必要的功能重复开发, 二来用户也可以用更熟悉的模式操控数据。但是,如何集成Excel,有很多的选择,本文主要站在B/S结构应用的角度,试图整理各种可能的方案,并分析其特点,便于今后在项目和产品中选择。

一、需要集成的Excel功能
   一般而言,下面几个功能是在开发中最需要集成:
  1. 报表:Excel报表当然是最基础的
  2. 图表:Excel的图表功能还是用的很多,是展现数据的强大方法,比大多图表工具都好用,另文已有说明
  3. 计算与分析引擎:Excel的计算能力不错,可以用VBA等来进行开发应用充分发挥其内部计算引擎的能力(很多老外的专业解决方案都是基于Excel开发的),如果再集成到自己的B/S应用中,往往是“四两拨千金”,另外,Excel的数据挖掘功能也是让人垂涎欲滴。
  4. 数据处理引擎:这个往往容易被户列,Excel之所以这么流行,一个关键就是基础数据处理的强大(Google也是这样),如数据导入导出 数据变换(灵活的矩阵,比SQL方便) 排序...
  5. 数据交换机制:Excel这么流行,而且现在支持Open XML描述等,很容易作为一个标准的数据交换格式在各个系统中使用。
二、集成Excel的接口技术
 
   最容易接口的软件就是那种可以自动给它输入数据,然后自动处理,然后输出数据,本质上可以当作黑盒子的。Excel提供了多种接口选择,一般都很高级都是COM组件,不过最习惯还是Unix风格的命令行和管道之类的自由方式,要是Excel后面支持PowerShell就好了。B/S架构下,Excel粗略可以分成这几种接口类型:
[1] 直接读取二进制的Excel文件(或者.csv/excel-xml文件):Office2007中的Excel,Word,PowedPoint使用了OpenXml文件格式,文件是一个标准的zip压缩包,只需要简单的将文件的扩展名更改为.zip,就能看到其内部的具体内容,大部分是标准的xml文件,因此可以使用第三方或者开源的库直接处理excel文件如ExcelPackage等。
[2] OLEDB/ADO接口:把Excel当作是数据库,通过OLEDB/ADO接口存取,连接字符串如下: "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = c:test.xls;Extended Properties=Excel 8.0;”
[3] 客户端的ActiveX控件--尤其是交互数据透视表视图
[4] Excel Application Automation组件:完整的Excel对象模型
[5] OWC 组件(Office Web Component):可以看做是Excel对象模型的Web 简化版,包含了一些比较适合Web化的常用Excel功能如图表、数据透视图等
[6] Excel Services
[7] XML SOAP
[8] office中间件
阅读(2509) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~