如何使用vs2022通过excel.exe生成VC、C++能够使用的头文件

我们在开发MFC、VC、C++项目时,有时候需要操作excel文件的读写,我们一般常用方式是调用微软的excel驱动方式调用,但调用驱动前,我们需要生成我们C++能够调用到的头文件,一般常用文件有:

#include "CApplication.h"
#include "CWorkbook.h"
#include "CWorkbooks.h"
#include "CWorksheet.h"
#include "CWorksheets.h"
#include "CRange.h"
#include "CFont0.h"

Excel作为OLE/COM库插件,定义好了各类交互的接口,这些接口是跨语言的接口。VC可以通过导入这些接口,通过接口来对Excel的操作,导入OLE/COM库插件方式根据vs不同版本参考如下:
如何在vs2017及以前版本(vs2010、vs2015)上添加 添加类型库中的MFC类
如何在vs2019及以后版本(如vs2022)上添加 添加ActiveX控件中的MFC类)
由于本文只关心对Excel表格中的数据的读取,主要关注7个接口类_Application、Workbooks、_Workbook、Worksheets、_Worksheet、Range、Font0。
那我们如何导入Excel插件呢,我们使用vs2022来举例。

1、右键项目—添加—选择“新建项”
在这里插入图片描述
2、选择Visual C++—MFC—TypeLib中的MFC类—添加
在这里插入图片描述
3、在实现接口的位置的下拉列表中,选择“文件”
在这里插入图片描述
4、选择excel.exe所在路径
注:我是提前通过everything工具搜索到文件后,直接拷贝到项目根目录。
在这里插入图片描述
5、分别在“可用接口”一栏,将_Application、Workbooks、_Workbook、Worksheets、_Worksheet、Range、Font0类选择到“实现接口”一栏。
在这里插入图片描述
6、点击确定按钮后,即可生成我们需要的类。
在这里插入图片描述
7、在头文件生成后,需要把这几个头文件里的导入代码屏蔽,因为后续不需要再重新导入。
在这里插入图片描述
8、由于CFont类和C++默认CFont类重定义,所以直接修改CFont类为CFont0,并修改文件名为CFont.h
在这里插入图片描述
9、由于CRange.h中DialogBox函数编译报错
如果有错误error C2059双击error C2059,将VARIANT DialogBox()改成VARIANT _DialogBox()。

1>C:\Users\ExcelDemo\ExcelDemo\CRange.h(335,10): warning C4003: 类函数宏的调用“DialogBoxW”参数不足
1>(编译源文件“/ExcelDemoDlg.cpp”)
1>C:\Users\ExcelDemo\ExcelDemo\CRange.h(335,10): error C2059: 语法错误:“,”

在这里插入图片描述
再次编译,通过。

生成开始于 15:35...
1>------ 已启动生成: 项目: ExcelDemo, 配置: Debug x64 ------
1>ExcelDemoDlg.cpp
1>ExcelDemo.vcxproj -> C:\Users\yangguangjin\Documents\work\TestDemo\ExcelDemo\x64\Debug\ExcelDemo.exe
========== 生成: 1 成功,0 失败,0 最新,0 已跳过 ==========
========== 生成 于 15:35 完成,耗时 02.565 秒 ==========

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/185062.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GPT-4 惨遭削弱;拼多多市值一度超阿里;雷军回应个人向武汉大学捐款 13 亿元丨 RTE 开发者日报 Vol.96

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE (Real Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有…

卷轴模式:金融领域的新趋势

卷轴模式在金融领域逐渐崭露头角,成为一种新型的投资策略。这种模式基于完成任务或达成特定目标来获取积分,利用这些积分进行投资或获取现实物品。它不同于传统的资金盘,而是以一种更稳健的方式运作,避免了资金盘的风险。 一、卷轴…

智能优化算法应用:基于帝国主义竞争算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于帝国主义竞争算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于帝国主义竞争算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.帝国主义竞争算法4.实验参数设定5.算…

供应商关系管理软件:如何使用它来改善供应商关系?

从最基本的角度来说,企业需要供应商为其生产和销售的产品或服务提供原材料,或者为其提供资源和服务来经营自己的业务。 建立稳定而健康的供应商关系的最大优势之一,就是可以为企业带来更高的价值。企业对供应商了解越多,供应商对…

富必达API:一站式无代码开发集成电商平台、CRM和营销系统

一站式无代码开发的连接解决方案 电子商务、客户服务系统以及其它商业应用,是现代企业运营的重要部分。然而,将这些系统进行有效的整合往往需要复杂的API开发,这对很多企业来说是一个巨大的挑战。富必达API以其一站式的无代码开发解决方案&a…

Java小游戏 王者荣耀(简易版)

GameFrame类 所需图片: package 王者荣耀;import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.io.File; import java.util.ArrayList…

亚信科技AntDB数据库完成中国信通院数据库迁移工具专项测试

近日,在中国信通院“可信数据库”数据库迁移工具专项测试中,湖南亚信安慧科技有限公司(简称:亚信安慧科技)数据库数据同步平台V2.1产品依据《数据库迁移工具能力要求》、结合亚信科技AntDB分布式关系型数据库产品&…

AI伪原创软件-AI伪原创工具下载

在当今数字化时代,创作者们在追求独特创意的同时,也面临着时间和灵感的双重挑战。AI伪原创技术应运而生,为创作者提供了一种快捷而便利的解决方案。本文将专心分享两款备受瞩目的AI伪原创工具,147SEO伪原创、百度文心一言伪原创&a…

赴日开发做什么?日本签证很难拿?

日本的IT行业历史比较悠久,业务以上层前端业务为主,如设计和构建软件。日本IT公司组织庞大,行业内部有着严格的分工和部署,工作会被细分化。分配给个人的工作量不会太大,难度也不会很高。 在日本IT公司就业&#xff0…

分油问题C++求解

原题 3个油桶&#xff0c;容量分别为&#xff08;大桶&#xff09;20&#xff0c;&#xff08;中桶&#xff09;9&#xff0c;&#xff08;小桶&#xff09;7&#xff0c;初始时大桶满油&#xff0c;如何操作可以分出17的油&#xff1f; 代码 #include<iostream> #inc…

使用VScode通过内网穿透在公网环境下远程连接进行开发

文章目录 前言1、安装OpenSSH2、vscode配置ssh3. 局域网测试连接远程服务器4. 公网远程连接4.1 ubuntu安装cpolar内网穿透4.2 创建隧道映射4.3 测试公网远程连接 5. 配置固定TCP端口地址5.1 保留一个固定TCP端口地址5.2 配置固定TCP端口地址5.3 测试固定公网地址远程 前言 远程…

能耗远程在线监测系统在工业节能提高效率

摘要&#xff1a;为保证企业实现节能减排目标&#xff0c;设计和使用远程在线监测系统势在必行。远程在线监测系统是基于传感器与网络技术的优势&#xff0c;在企业区域各个位置针对性安装传感器&#xff0c;对实时数据进行采集、编码传输到远程管理系统。远程管理系统对采集的…

版本控制系统Git学习笔记-Git基础操作

文章目录 概述一、获取仓库1.1 初始化仓库1.2 克隆仓库 二、文件状态及更新操作2.1 文件状态变化周期2.2 检查文件状态2.2.1 完整查看状态2.2.2 简要查看状态 2.3 跟踪新文件2.4 暂存已修改的文件2.5 忽略文件2.5.1 文件 .gitignore 的格式规范如下&#xff1a;2.5.2 glob模式格…

持续增长的背后,艾比森用泛微-千里聆RPA机器人为业务加速

&#xff08;艾比森全球总部&#xff09; 艾比森集团始创于2001年&#xff0c;是全球知名的至真LED显示应用与服务提供商。目前旗下设有深圳总部&#xff0c;艾比森东江智造中心&#xff0c;以及艾比森美国、德国、日本、迪拜、俄罗斯、墨西哥、巴西、中国香港等18家海内外公司…

Web应用渗透测试完全指南(二)

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

leetcode刷题详解十四

39. 组合总和 vector<vector<int>> res; vector<int> temp; vector<vector<int>> combinationSum(vector<int>& candidates, int target) {back_tracing(candidates, 0, 0, target);return res; }void back_tracing(vector<int>…

如何使用Windows自带的IIS服务搭建本地站点并远程访问

文章目录 1.前言2.Windows网页设置2.1 Windows IIS功能设置2.2 IIS网页访问测试 3. Cpolar内网穿透3.1 下载安装Cpolar内网穿透3.2 Cpolar云端设置3.3 Cpolar本地设置 4.公网访问测试5.结语 1.前言 在网上各种教程和介绍中&#xff0c;搭建网页都会借助各种软件的帮助&#xf…

5款最佳替代Sketch软件,第一款简直令人叹为观止!

Sketch是Mac平台上专门为用户界面设计的矢量图形绘制工具。Sketch简单的界面背后有优秀的矢量绘图能力和丰富的插件库。但遗憾的是&#xff0c;Sketch只能在Mac平台上使用和浏览&#xff0c;是本地化工具&#xff0c;云共享功能并不完善。本文盘点了5个Sketch替代软件&#xff…

MAVEN冲突解决

MAVEN冲突解决 1.安装下面这个插件 2.安装成功点击pom文件 dependency analyzer标志&#xff0c;说明maven helper插件就安装成功 3.点击dependency analyzer之后就会进入到下面的页面 4.标记红色就是版本冲突&#xff0c;右击complie&#xff0c;排除不是使用的 5.POM 文件…

基于深度学习的表情动作单元识别综述

论文标题&#xff1a;基于深度学习的表情动作单元识别综述 作者&#xff1a;邵志文1&#xff0c;2&#xff0c;周 勇1&#xff0c;2&#xff0c;谭 鑫3&#xff0c;马利庄3&#xff0c;4&#xff0c;刘 兵1&#xff0c;2&#xff0c;姚 睿1&#xff0c;2 发表日期&#xff1a…