1.首先安装OFFICE软件[Office 2021 ProPlus],此版本为OFFICE16
2.进入VS2017或以下的开发环境,使用快捷键调出CTRL+SHIFT+A调出【添加类】
要VS2017以上的版本,无法添加此库,得手动添加比较麻烦,建议用2017加载完后再用VS2017以上的开发环境。
选中Visual C++=》MFC=》Typelib中的MFC类

OFFICE的Excel地址为:C:\Program Files\Microsoft Office\root\Office16,其他OFFICE版本大同小异
3.注释头文件避免错误
把刚才导入的头文件的import操作全部注释掉避免出现错误
头文件为:
CApplication
CWorkbook
CWorksheet
CRange
CWorksheets
CWorkbooks
//#import "C:\\Program Files (x86)\\Microsoft Office\\Office12\\EXCEL.EXE" no_namespace
进入CRange.h中把第335行代码
VARIANT DialogBox()
//改为VARIANT _DialogBox()
4.封装Excel操作
添加Excel.h输入:
#pragma once
#include "CApplication.h"
#include "CRange.h"
#include "CWorkbook.h"
#include "CWorkbooks.h"
#include "CWorksheet.h"
#include "CWorksheets.h"
#include "stdafx.h"
class Excel
{
public:
Excel();
~Excel();
void show(bool bShow);
//检查一个cell是否为字符串
bool isCellString(long iRow, long iColumn);
//检查一个cell是否为数值
bool isCellInt(long iRow, long iColumn);
//得到一个cell的string
CString getCellString(long iRow, long iColumn);
//得到一个cell的总数
int getCellInt(long iRow, long iColumn);
//得到一个cell的double数据
double getCellDouble(long iRow, long iColumn);
//取得行的总数
int getRowCount();
//取得列的总数
int getColumnCount();
//使用某个shell
bool loadSheet(long tableId, bool preLoaded = false);
bool loadSheet(CString sheet, bool preLoaded = false);
//通过序号取得某个sheet的名称
CString getSheetName(long tableID);
//得到sheet的总数
int getSheetCount();
//打开excel文件
bool open(const char* fileName);
//关闭打开的excel文件
void close(bool ifSave = false);
//另存为一个excel文件
void saveAsXLSFile(const CString &xlsFile);
//取得打开文件的名称
CString getOpenFileName();
//取得打开sheel的名称
CString getOpenSheelName();
//向cell中写入一个int值
void setCellInt(long iRow, long iColumn, int newInt);
//向cell中写入一个字符串
void setCellString(long iR

本文介绍了如何在VS2017环境下使用MFC操作Excel。首先安装Office 2021 ProPlus,然后通过VS2017的【添加类】功能选择MFC类。注意,高于VS2017的版本可能需要手动添加库。接着注释头文件避免错误,并封装Excel操作。最后,展示了加载和读取Excel表的接口函数。
最低0.47元/天 解锁文章
1万+





