前言:
C++操作Excel的方法其实有很多,本文通过微软提供的组件操作Excel,过程看起来比较麻烦,但操作之后才发现挺简单的.......
学习C++本来就应该不怕麻烦,你说是吧!
环境:
C++ ,VS2015 , Office2013
操作步骤:
1.VS2015 新建MFC项目
2.配置平台为x64,项目右键->“添加”->“类”->“MFC”->“TypeLib中的MFC类”,点击“添加”,从以下来源添加类:选择“文件”,点击“浏览”,找到EXCEL.EXE路径,点击“打开”,此时会有很多类供选择,如_Application,_Workbook,_Worksheet等,根据自己需要添加相关类,点击“完成”。
3.将第2步手动添加的头文件中的#import "C:\\Program Files\\Microsoft Office\\Office15\\EXCEL.EXE" no_namespace注释 , 在MFC项目的主cpp文件上(项目名.cpp)添加下面红色部分。编译报错:CRange有一个函数名字DialogBox出错,这是因为Windows已经有这个函数,所以冲突了,把函数名修改为RangleDialogBox()即可,也可以改成ExcelDialogBox(),只要不重复就好,再次编译,成功!
4.将第2步手动添加的头文件和stdafx.h摘取出来,并将stdafx.h中的#include”targetver.h”注释(targetver.h用不到),至此操作Excel的源码文件已经获得。
5.接下来就是如何使用这些源码。这里封装了一个ExcelOperation类,支持Excel读写,插入图片,单元格区域合并删减,字体大小颜色更改,多个Excel文件内容复制等。链接是一个解决方案,已经整合了上述步骤,直接下载使用即可。仅供大家学习参考,有问题请指正。谢谢!
项目链接: https://download.csdn.net/download/qq_30722721/10850667
其他:
报错:如果Excel代码编译成为静态库,被其他项目调用,VS报错如下时:
分析:
产生错误的工程同时使用了CRT库和MFC库,并且链接顺序不对,CRT 库对 new、delete 和 DllMain 函数使用弱外部链接。MFC 库也包含 new、delete 和 DllMain 函数。这些函数要求先链接 MFC 库,然后再链接 CRT 库,参考链接:https://www.cnblogs.com/qrlozte/p/6649448.html
修改方法: