代码改变世界

开源代码系列之Office文档读写(Excel/Word)

2005-02-28 00:03  灵感之源  阅读(15681)  评论(23编辑  收藏  举报
Office系列文档使用的是所谓的Compound File,也就是Structured Storage,简单地说,也就是在一个文件中有一个文件系统,结构化保存复合内容(流)。微软为了垄断,这些文件结构是不公开的,但有牛人研究出来,一个很不错的例子就是Open Office代码,里面就有大部分Office系列文档格式的java代码,包括Word、Excel、PowerPoint、Outlook等,现在市面上的商业化软件很多都在使用别人的劳动成功,明的暗的。

今天介绍的是3个开源代码,都是关于Excel的,应用.NET编写,2个是读,一个是写。

koogra:超一流的Excel文件解析类库,支持最新版本的Excel文件,包括2003版本的,在我向作者指出的错误之后,作者特别添加了对中文的支持,C#编写,(这是我介绍的所有的开源代码中第二个获得我给予的6星评价的,大家可以体验一下),用了这个类库,大家就不需要打开Excel实例来解析Excel文件了!

Smart Excel Library:这个东西是我写的,用以写BIFF2.1格式的文件,VB.NET,不支持最新版本的Excel格式,但任何版本的Excel都可以直接打开,我记得有个博客园的朋友移植到C#,大家可以搜索一下。用了这个类库,大家就可以不用Excel而直接生成标准的Excel文件,而不是那种CSV,又或者通过HTTP Header来让Excel认为是Excel的做法,因为它不支持格式。

OLE Structured Storage Classes,VB大牛Edanmo用VB.NET写的结构化文档格式读取类库,不喜欢VB.NET而喜欢C#的朋友将就一下,反正是类库,编译一下便可通用:)

事实上肯定不只这些,如果大家知道,可以和别人分享一下:)