查找网上关于C++读取Excel表格资料后的心得

使用微软提供的自带COM组件来读Excel

一、读取Excel文件COM类的相关环境的搭建:

1、首先新建一个MFC对话框工程,可命名为ReadWriteExcel

2、在添加类选项中,

选择MFC From Typelib,如下图:

3、再找到对应Office版本下的Excel.exe所在文件目录,并打开Excel.exe,

C:\Program Files\Microsoft Office\Office15\EXCEL.EXE

4、将6个Interfaces中的接口添加到右边的生成类Generated classes中去,

5、完成后finish。在需要添加读取Excel文件的代码顶端包含图中相关头文件。

将这6个文件的内容:#import "C:\\Program Files\\Microsoft Office\\Office15\\EXCEL.EXE" no_namespace 都注释掉。留下Applicaiton中的这段内容即可。

二、使用已有的类及函数来读取Excel文件

1、定义以下6个类。

CApplication ExcelApp;          

CWorkbooks books;            
CWorkbook book;             
CWorksheets sheets;
CWorksheet sheet;
CRange range;

2、创建Excel服务器,

ExcelApp.CreateDispatch(_T("Excel.Application")

通过 ExcelApp.get_Version() 函数来判断本机安装的office版本

3、得到工作簿容器 books.AttachDispatch(ExcelApp.get_Workbooks()),之后通过books.Open(...)函数来打开所选文件,其中需要CString bookpath这样的文件路径。

 

4、再通过range.get_Value2()函数,将读取的Excel文件转为VARIANT类型,最后通过设置循环将数据读出。

 

 

PS:本文仅个人通过学习他人博客随笔写的一些内容,其中有许多代码是使用他人的成果。本文仅供个人留作日后参考使用。

附件中会有源代码,内有更详细的思路解释。还有Excel文件写入的代码。欢迎各路大神批评指正。

 链接: https://pan.baidu.com/s/1pLDdKxl 密码: 8chv

posted @ 2017-06-10 21:24  GalaxyCC  阅读(10098)  评论(1编辑  收藏  举报