EXCEL工作簿、工作表、单元格、行、列
我们在使用EXCEL时,需要搞清楚EXCEL应用程序、工作簿、工作表以及单元格的关系,还有如何设置字体和背景以及边框的属性。总之,就是1个工作簿(workbook)中含有很多个工作表(worksheet),工作表(worksheet)由行(cols)和列(rows)组成,行和列又由很多个单元格(cell)组成。由于在项目中使用到了EXCEL进行数据统计,这里就把如何在MFC上添加EXCEL库和操作EXCEL的经验总结一下,EXCEL版本的不断升级换代,相对应的EXCEL库函数名也会更改,有的可能是大小写的改变,有的把前缀由set改为了put,这点要注意。
_Application:表示整个的Excel应用程序,包含一个工作簿集合。
Workbooks:工作簿集合,包含N个工作簿(Workbook)。
_Workbook:工作簿,包含一个工作表(sheets)集合。
Worksheets:工作表集合,包含N个工作表。
_Worksheet:工作表。
Range:这是单元格的集合。
Font:用于设置单元格的字体、颜色、字号、粗体设置。
Interior:设置底色。
Boards:设置区域内所有单元格的边框。
MFC中添加EXCEL库
操作系统:windows10
开发工具:VS2010
office版本:office2016
1、新建一个MFC项目,选中项目名称,右键选择类向导,进入MFC类向导界面,点击右边小三角符号,选择MFC类库中的MFC类(T)...,如下图所示:
2、进入从类型库添加类向导界面,开始导入EXCEL类型库,EXCEL.EXE的路径有可能不一样,需要自己去查找,这里仅供参考,我使用的是office16,具体步骤如下图所示:
3、添加完成之后,点击应用和确认按钮。
温馨提示:添加完之后,运行代码可能会出现很多问题
添加EXCEL库后运行代码可能存在以下问题
问题一
解决方法:注释掉每个头文件里的这一句代码
#import "C:\\Program Files (x86)\\Microsoft Office\\root\\Office16\\EXCEL.EXE" no_namespace
问题二
error C2059: 语法错误:“,”
解决方法:双击报错选项,进入报错代码段,报错代码在头文件CRange.h里面,原因可能是函数重名,将DialogBox前面添加下划线_DialogBox即可解决问题,修改后如下所示:
VARIANT _DialogBox()
{
VARIANT result;
InvokeHelper(0xf5, DISPATCH_METHOD, VT_VARIANT, (void*)&result, NULL);
return result;
}
温馨提示:以上只包括MFC添加EXCEL库常见的问题,如果遇到除此之外的问题,请自行百度寻找解决方案。
MFC操作EXCEL进行数据统计