VS2015 控制excel 2013 实例

分享一下我老师大神的人工智能教程!零基础,通俗易懂!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();



           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_43678480/article/details/84104904