分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
核心步骤
1、建立一个空的控制台项目
2、在项目中加入一个ExcelImport.h 文件,内容如下:
#pragma once#import "libid:2DF8D04C-5BFA-101B-BDE5-00AA0044DE52" \ rename("RGB", "MSORGB") \ rename("DocumentProperties", "MSODocumentProperties")using namespace Office;#import "libid:0002E157-0000-0000-C000-000000000046"using namespace VBIDE;#import "libid:00020813-0000-0000-C000-000000000046" \ rename("DialogBox", "ExcelDialogBox") \ rename("RGB", "ExcelRGB") \ rename("CopyFile", "ExcelCopyFile") \ rename("ReplaceText", "ExcelReplaceText") \ no_auto_exclude
3、建立一个ExcelDriver类,主要代码如下:
ExcelDriver.h的内容如下
#pragma once#include "ExcelImport.h"struct ExcelDriver{ Excel::_ApplicationPtr xl; // Pointer to Excel.public: ExcelDriver(); ~ExcelDriver(); static ExcelDriver& Instance();};
ExcelDriver.cpp的内容如下
#include "ExcelDriver.h"ExcelDriver::ExcelDriver(){CoInitialize(NULL);xl.CreateInstance(L"Excel.Application");}ExcelDriver::~ExcelDriver(){CoUninitialize();}ExcelDriver& ExcelDriver::Instance(){static ExcelDriver singleton;return singleton;}
4、main.cpp的内容为
#include <iostream>using namespace std;#include "ExcelDriver.h"int main(int argc, char* argv[]){cout << "Starting Excel\n";ExcelDriver& excel = ExcelDriver::Instance();Excel::_ApplicationPtr& xl = excel.xl;xl->PutVisible(0, VARIANT_TRUE);system("pause"); //加上这句才能正常运行,否则的话进程会自动结束,//然后会自动关闭excel!return 0;}
运行之后就可以看到excel 窗口了.
此外,不知道为啥如果不用c++包装,直接在主函数里写如下代码时,运行时会报异常:求大神解释:-(
Excel::_ApplicationPtr xl; CoInitialize(NULL); // Start excel application. xl.CreateInstance(L"Excel.Application"); xl->PutVisible(0, VARIANT_TRUE); CoUninitialize();