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中