大概有3种方式:
一个是CSpreadSheet类,它是通过 odbc 连接MS Excel 服务,进行操作;
一个是 basicexcel 类,它是通过 直接分析excel的格式并进行解析,然后进行操作。
这2个类呢,我自我认为basicexcel 类更方便使用。
第三种方式就是所谓的 Automation 方式。这种方式,我没有具体尝试过,如果下一次有机会应该用第三种,这一种方式的最大好处就是,就是直接使用EXCEL程序界面进行操作,相当于跨程序使用EXCEL程序。因此它需要直接导入MS EXCEL 程序的_Application、Worksheets、_Worksheet、Workbooks、_Workbook、Range 等类。具体操作过程和效果见:http://blog.163.com/chen_xinghuan/blog/static/1722015822011228113655747/
还有第四种,就是把excel 表中的数据导入 到 sqlite3 中。sqlite3 是一个关系数据库,而且是单机的,但是提供对各种SQL 语言的支持,换句话讲,它可以高效的完成数据查询等功能,而又需要安装复杂的数据库。参考:
http://blog.csdn.net/happy_bug/article/details/6387069
http://baike.baidu.com/view/19310.htm?fr=aladdin
sqlite 一个文件数据库,所有数据和定义都保存在一个文件上。这也方便了程序发布。在发布时,编译要使用到sqllite 的源码,联合起来编译。
还有第五种,就是所谓的内存数据库,如Redis,这种数据库最大的好处在把数据库保存在内存中(这是我最初的想法),但是这种数据库不是单机的,具有主从结构,主机负责各个从机的数据一致性。另外,当我们需要的时候,可以通过持久化命令,把它存储到硬盘文件中。(这不就是那个什么上下文这样的需求最需要的末,很想共享内存)
http://itoedr.blog.163.com/blog/static/1202842972013620101220713/