这种方法能解析和生成
EXCEL
文档,功能强大,能够读写到任意单元格,生成单元格样式,合并单元格,支持图表等等。能够在
.NET
任何项目中使用,但会面临释放托管资源的问题。不少朋友认为这种方法必需要装
EXCEL
程序
(Office)
,其实只须要安装
PIA
就能够了。
PIA
会在彻底安装
Office
时自动安装,也能够在安装
Office
的向导中选择。但有个更好的方法是单独安装和分发
PIA
,微软想到了这一点,你能够经过下面的连接单独获取
PIA
的分发包。
Office 2003 Update: Redistributable Primary Interop Assemblies
:
http://www.microsoft.com/downloads/details.aspx?FamilyID=3c9a983a-ac14-4125-8ba0-d36d67e0f4ad&DisplayLang=en
2007 Microsoft Office System Update: Redistributable Primary Interop Assemblies
:
http://www.microsoft.com/downloads/details.aspx?familyid=59DAEBAA-BED4-4282-A28C-B864D8BFA513&displaylang=en
Office PIA
会被安装到
GAC
目录,
GAC
位于
Windows
目下的
Assembly
子目录。
若是要使用
PIA
必需要先在项目中添加引用,以下图:
Excel 2007
的
PIA
是
12.0
,如上图。
Excel 2003PIA
的是
11.0
。
方法二:经过
OLEDb
解析
Excel
报表。
OleDb
解析
Excel
报表,本质上是经过
OleDb
驱动完成的,此时能够把
Excel
当作一张数据库表来读取,
Excel 2003
用的驱动是
Microsoft.Jet.OLEDB.4.0
,
Excel 2007
用的驱动是
Microsoft.Ace.OleDb.12.0
,OleDb
在解析Excel功能上比较简单,实际项目中每每运用此方法来获取Excel数据,以下图:
方法三:经过
Access
对象模型
(COM
接口
)
生成
EXCEL
报表。
此方法同方法一技术上相似,可是此时引用的
PIA
不是
Excel
的,而是
Access
的。以下图:
Access 2007
的
PIA
是
12.0
,如上图。
Access 2003PIA
的是
11.0
。
经过
Access PIA
,能够把
Access
数据库中的表完美快速的生成到
Excel
工做薄中,能够同时生成多个工做表,速度很是之快,日期类型,货币类型,长格式数值,都会自动转成文本,不存在
’#’
或科学计数的问题。
方法四:经过开放
Open Xml
生成
Excel
报表
这种方法是基于
Office Open Xml
的,服务器和客户端都不须要安装
Excel
,能够在
.NET
任何项目中使用,开发难度高,但部署成本比较低。在格式方面,
Open Xml
对单元格样式控制能力很强,能够生成各类格式的单元,生成
Excel
的效率也很是高。
下图的中
2
个标注的地方都运用了这种技术生成
Excel
报表。
方法五:经过水晶报表和微软报表生成
Excel
报表
水晶报表功能强大,能生成复杂
Excel
报表,可是它是收费的。
而微软报表
(Microsoft RepoertViewer)
功能强大,本质上是微软借鉴水晶报表开发的,因此和水晶报表没什么两样,并且直接集成到了
Visual Studio
中。微软报表能够在
.NET
任何项目中使用,不只能够生成
EXCEL
报表,还能够生成
PDF
等。下图是微软报表的一个应用,这个报表默认是横向打印:
说到这,不得不提微软数据库系统中的
×××S
,这个报表服务引擎很是强大,不只包含建立报表的功能,还包括管理和访问报表的功能,这是一个真正的企业级报表平台。
方法六:经过构建
HTML
标签向客户端生成
Excel
报表。
这种方法,在
asp.net
项目中很常见,尤为是在生成中国式的报表项目中很是经常使用。这种方法首先是构造
HTML
标签,生成指定的格式,填充数据,最后发送客户端,保存成
Excel
报表格式。固然这种发放就更不须要安装
Excel
程序了。
方法七:经过构造
CVS
格式生成
EXCEL
报表。
这种方法只能生成无格式的
Excel
报表,不须要安装
Excel
程序。
方法八:经过开源软件解析和生成
Excel
报表(基于
BIFF
)。
开源项目中有
2
个解析和生成
Excel
文件的精品:
Koogra
和
Myxls
,他们都是基于
BINARY FILE FORMAT(BIFF)
的
Excel
文件结构形式开发的。运用这个开源项目进行解析和生成
Excel
报表都不须要安装
Office
,部署方便。
Koogra
用于解析
Excel
文件。
Myxls
用于生成
Excel
文件。
先总结这8种方法,可是实际上还有其余的方法,好比强大的Active-x报表等等。