当前位置: 首页 > news >正文

MFC中Excel的导入以及使用步骤

参考地址
右击项目出现“类向导”界面
添加类中选择“类型库中的MFC类”点击类向导,找到可用的类型库为Excel的库

在接口中选择对应类添加到右侧生成的类中后点击完成
添加完成后项目中出现以上头文件
在需要对EXCEL表进行操作的类中添加以下头文件:若出现大量错误将其放入stdafx.h中

#include "resource.h"       // 主符号
#include "CWorkbook.h"		//单个工作簿
#include "CRange.h"			//区域类,对Excel大部分操作都需要
#include "CWorkbooks.h"		//管理所有工作簿
#include "CApplication.h"	//Excel应用程序类,管理整个Excel应用

在类中添加以下变量定义:

	//定义Excel中需要的工作簿以及工作表等CApplication m_App;CWorkbooks	m_Books;CWorkbook	m_Book;CWorksheets m_Sheets;CWorksheet	m_Sheet;CRange		m_Range;

然后就可以封装对应函数,以下为打开Excel表的例子,一般包括Excel的读写:

//打开Excel表
int	CExcel_TestApp::OpenExcel(CString FileName)
{HRESULT Hr;//HRESULT函数返回值Hr = CoInitialize(NULL);//CoInitialize告诉Windows以单线程方式创建com对象if (FAILED(Hr)){AfxMessageBox(_T("调用函数失败!"));}LPDISPATCH LpDisp;COleVariant CovOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);if (!m_App.CreateDispatch(_T("Excel.Application"), NULL)){AfxMessageBox(_T("无法启动EXCEL服务器!"));return 0;}m_Books.AttachDispatch(m_App.get_Workbooks);//得到工作簿LpDisp = m_Books.Open(FileName, CovOptional, CovOptional, CovOptional, CovOptional,CovOptional, CovOptional, CovOptional, CovOptional, CovOptional,CovOptional, CovOptional, CovOptional, CovOptional);m_Book.AttachDispatch(LpDisp);//得到单个工作簿m_Sheets.AttachDispatch(m_Book.get_Worksheets);//得到工作簿对应的工作表LpDisp = m_Book.get_ActiveSheet();//得到当前活跃的工作表m_Sheet.AttachDispatch(LpDisp);//获取到表return 1;}

若运行出错,将导入的所有包含#import “C:\Program Files (x86)\Microsoft Office\Root\Office16\EXCEL.EXE” no_namespace头文件中的注释,将CRange.h中的DialogBox改为_DialogBox;

int	MFC_OpenExcel::OpenExcel(CString FileName)
{HRESULT Hr;//HRESULT函数返回值Hr = CoInitialize(NULL);//CoInitialize告诉Windows以单线程方式创建com对象if (FAILED(Hr)){AfxMessageBox(_T("调用函数失败!"));}LPDISPATCH LpDisp;COleVariant CovOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);if (!m_App.CreateDispatch(_T("Excel.Application"), NULL)){AfxMessageBox(_T("无法启动EXCEL服务器!"));return 0;}m_Books=m_App.get_Workbooks();//得到工作簿LpDisp = m_Books.Open(FileName, CovOptional, CovOptional, CovOptional, CovOptional,CovOptional, CovOptional, CovOptional, CovOptional, CovOptional,CovOptional, CovOptional, CovOptional, CovOptional, CovOptional);m_Book.AttachDispatch(LpDisp);//得到单个工作簿m_Sheets=m_Book.get_Worksheets();//得到工作簿对应的工作表LpDisp = m_Book.get_ActiveSheet();//得到当前活跃的工作表m_Sheet.AttachDispatch(LpDisp);//获取到表return 1;}

相关文章:

MFC中Excel的导入以及使用步骤

参考地址 在需要对EXCEL表进行操作的类中添加以下头文件:若出现大量错误将其放入stdafx.h中 #include "resource.h" // 主符号 #include "CWorkbook.h" //单个工作簿 #include "CRange.h" //区域类,对Excel大…...

AWS S3在客户端应用不能使用aws-sdk场景下的文件上传与下载

简介 通常情况下,应用程序上传文件到AWS S3,会使用aws-sdk,但是有些情况下,客户端应用会有安装限制,比如不能安装aws-sdk,此时我们就需要通过其他方式实现文件上传与下载。 这里我们提供一个服务端&#…...

深入解析 Transformers 框架(四):Qwen2.5/GPT 分词流程与 BPE 分词算法技术细节详解

前面我们已经通过三篇文章,详细介绍了 Qwen2.5 大语言模型在 Transformers 框架中的技术细节,包括包和对象加载、模型初始化和分词器技术细节: 深入解析 Transformers 框架(一):包和对象加载中的设计巧思与…...

【Python-AI篇】K近邻算法(KNN)

0. 前置----机器学习流程 获取数据集数据基本处理特征工程机器学习模型评估在线服务 1. KNN算法概念 如果一个样本在特征空间中的K个最相似(即特征空间中最邻近)的样本中大多数属于某一个类别,则该样本也属于这一个类别 1.1 KNN算法流程总…...

aws xray如何实现应用log和trace的关联关系

参考资料 https://community.aws/tutorials/solving-problems-you-cant-see-using-aws-x-ray-and-cloudwatch-for-user-level-observability-in-your-serverless-microservices-applicationshttps://stackoverflow.com/questions/76000811/search-cloudwatch-logs-for-aws-xra…...

centos服务器登录失败次数设定

实现的效果 一台centos服务,如果被别人暴力或者登录次数超过多少次,就拒绝或者在规定时间内拒绝ip登录。这里使用的是fail2ban 安装fail2ban sudo yum install epel-release -y # 先安装 EPEL 源 sudo yum install fail2ban -y配置fail2ban # 复制默…...

实时高效,全面测评快递100API的物流查询功能

一、引言 你是否曾经在网购后焦急地等待包裹,频繁地手动刷新订单页面以获取最新的物流信息?或者作为一名开发者,正在为如何在自己的应用程序中高效地实现物流查询功能而发愁?其实,有一个非常好用的解决方案——快递10…...

第14张 GROUP BY 分组

一、分组功能介绍 使用group by关键字通过某个字段进行分组,对分完组的数据分别 “SELECT 聚合函数”查询结果。 1.1 语法 SELECT column, group_function(column) FROM table [WHERE condition] [GROUP BY group_by_expression] [ORDER BY column]; 明确&#…...

笔记整理—linux驱动开发部分(10)input子系统与相关框架

关于输入类设备的系统有touch、按键、鼠标等,在系统中,命令行也是输入类系统。但是GUI的引入,不同输入类设备数量不断提升,带来麻烦,所以出现了struct input_event。 struct input_event {struct timeval time;//内核…...

[算法初阶]埃氏筛法与欧拉筛

素数的定义&#xff1a; 首先我们明白&#xff1a;素数的定义是只能整除1和本身&#xff08;1不是素数&#xff09;。 我们判断一个数n是不是素数时&#xff0c;可以采用试除法&#xff0c;即从i2开始&#xff0c;一直让n去%i&#xff0c;直到i*i<n c语言: #include<…...

【THM】linux取证 DisGruntled

目录 0x00 房间介绍 0x01 连接并简单排查 0x02 让我们看看做没做坏事 0x03 炸弹已埋下。但何时何地&#xff1f; 0x04 收尾 0x05 结论 0x00 房间介绍 嘿&#xff0c;孩子&#xff01;太好了&#xff0c;你来了&#xff01; 不知道您是否看过这则新闻&#xff0c;我…...

SpringBoot整合Freemarker(四)

escape, noescape 语法 <#escape identifier as expression>...<#noescape>...</#noescape>... </#escape> 用例 主要使用在相似的字符串变量输出&#xff0c;比如某一个模块的所有字符串输出都必须是html安全的&#xff0c;这个时候就可以使用&am…...

centos docker 安装 rabbitmq

安装docker 1.更新现有的软件包 首先&#xff0c;确保您的系统是最新的&#xff0c;可以通过运行以下命令来实现&#xff1a; sudo yum update -y 2.移除旧版本的Docker 如果您之前安装过Docker&#xff0c;可能需要先卸载旧版本。使用以下命令来卸载旧版本的Docker&#…...

手动实现promise的all,race,finally方法

Promise.all 是一个非常有用的工具&#xff0c;它接受一个 Promise 对象数组&#xff0c;并返回一个新的 Promise。当所有输入的 Promise 都成功解决时&#xff0c;新的 Promise 会解决为一个包含所有结果的数组&#xff1b;如果任何一个 Promise 被拒绝&#xff0c;新的 Prom…...

H5移动端预览PDF方法

新建页面 新建一个页面以便去预览对应的pdf 新建完后在 pages.json 文件内去新增对应路由 页面内容 <template><view class"page"><view class"pdf"><view id"demo"></view></view><view class"b…...

uniapp—android原生插件开发(1环境准备)

本篇文章从实战角度出发&#xff0c;将UniApp集成新大陆PDA设备RFID的全过程分为四部曲&#xff0c;涵盖环境搭建、插件开发、AAR打包、项目引入和功能调试。通过这份教程&#xff0c;轻松应对安卓原生插件开发与打包需求&#xff01; 项目背景&#xff1a; UniApp集成新大陆P…...

《潜行者2切尔诺贝利之心》游戏引擎介绍

潜行者2切尔诺贝利之心是基于虚幻5引擎&#xff0c;所以画面效果大家不必担心。游戏目前已经跳票了很久&#xff0c;预计发售时间是2024 年 11 月 21 日&#xff0c;这次应该不会再跳票。 潜行者2切尔诺贝利之心是虚幻5吗 答&#xff1a;是虚幻5。 潜行者官方推特之前回复了…...

winform 加载 office excel 插入QRCode图片如何设定位置

需求&#xff1a;winform 加载 office excel 并加载QRCode图片&#xff0c;但是每台PC打印出来QRCode位置都不太一样&#xff0c;怎么办呢&#xff1f; 我的办法&#xff1a; 1、在sheet中插入一个 textbox &#xff0c;改名 qrcode &#xff08;这个名字随便设置&#xff09…...

简易入手《SOM神经网络》的本质与原理

原创文章&#xff0c;转载请说明来自《老饼讲解神经网络》:www.bbbdata.com 关于《老饼讲解神经网络》&#xff1a; 本网结构化讲解神经网络的知识&#xff0c;原理和代码。 重现matlab神经网络工具箱的算法&#xff0c;是学习神经网络的好助手。 目录 一、入门原理解说 01.…...

21.assert断言

assert&#xff08;断言&#xff09;主要用于在程序运行过程中检查某个条件是否满足&#xff0c;如果不满足则会触发错误并终止程序执行&#xff0c;可以帮助程序员在开发阶段及时发现可能存在的逻辑错误等问题。 通过断言调试程序&#xff0c;abotr() has been called 就是断言…...

15分钟学 Go 第 46 天 : 监控与日志

第46天&#xff1a;监控与日志 学习目标 了解如何实现应用监控与日志管理&#xff0c;掌握相关工具和最佳实践。 内容结构 引言监控的概念与工具 监控的定义常见监控工具 日志管理的概念与工具 日志的重要性常见日志管理工具 实现监控与日志的最佳实践 监控指标日志格式 实战…...

BFS 算法专题(四):多源 BFS

目录 1. 01 矩阵 1.1 算法原理 1.2 算法代码 2. 飞地的数量 2.1 算法原理 2.2 算法代码 3. 地图中的最高点 3.1 算法原理 3.2 算法代码 4. 地图分析 4.1 算法原理 4.2 算法代码 1. 01 矩阵 . - 力扣&#xff08;LeetCode&#xff09; 1.1 算法原理 采用 BFS 正难…...

基于Spring Boot+Vue的养老院管理系统【原创】

一.系统开发工具与环境搭建 1.系统设计开发工具 后端使用Java编程语言的Spring boot框架 项目架构&#xff1a;B/S架构 运行环境&#xff1a;win10/win11、jdk17 前端&#xff1a; 技术&#xff1a;框架Vue.js&#xff1b;UI库&#xff1a;ElementUI&#xff1b; 开发工具&…...

Linux screen和cscope工具使用总结

1 minicom使用 1.1 minicom配置 第一次启动时&#xff1a; 如果输入sudo minicom提示错误&#xff0c;则需&#xff1a; sudo minicom -s 启动 出现配置菜单&#xff1a;选serial port setup 进入串口配置 输入A配置串口驱动为/dev/ttyUSB0 输入E配置速率为115200 8N1 输入F将 …...

深度学习面试八股汇总

按序发布&#xff1a; 深度学习——优化算法、激活函数、归一化、正则化 进入 深度学习——权重初始化、评估指标、梯度消失和梯度爆炸 进入 深度学习——前向传播与反向传播、神经网络&#xff08;前馈神经网络与反馈神经网络&#xff09;、常见算法 进入 深度学习——卷积神…...

微服务架构面试内容整理-API 网关-Gateway

Spring Cloud Gateway 是一个用于构建 API 网关的框架,它为微服务架构提供了灵活的路由和过滤功能。作为 Spring Cloud 生态的一部分,Gateway 提供了易于使用的 API 和强大的功能,适合用于现代微服务架构中的请求管理和服务交互。以下是 Spring Cloud Gateway 的主要特点、工…...

22.04Ubuntu---ROS2使用rclcpp编写节点C++

节点需要存在于功能包当中&#xff0c;功能包需要存在于工作空间当中。 所以我们要想创建节点&#xff0c;就要先创建一个工作空间&#xff0c;再创建功能包。 第一步&#xff1a;创建工作空间 mkdir -p chapt2_ws/src/ 第二步&#xff1a;创建example_cpp功能包&#xff0c…...

XML 现实案例:深入解析与应用

XML 现实案例:深入解析与应用 XML(可扩展标记语言)自1998年成为W3C推荐标准以来,一直是数据交换和存储的重要工具。它是一种用于标记电子文件的结构化语言,使得数据不仅人类可读,而且机器可处理。本文将探讨XML在现实世界中的应用案例,展示其如何在不同领域中发挥作用。…...

Spring源码(十二):Spring MVC之Spring Boot

本篇将详细讨论Spring Boot 的启动/加载、处理请求的具体流程。我们先从一个简单的Spring Boot项目日志开始分析&#xff08;这里假设读者已经仔细阅读完了前面的文章&#xff0c;且对Spring源码有一定深度的了解&#xff0c;否则会看得一脸懵逼&#xff09;。 本文为2024重置…...

Kafka 之事务消息

前言&#xff1a; 在分布式消息系统中&#xff0c;事务消息也是一个热门课题&#xff0c;在项目的实际业务场景中&#xff0c;如果用到事务消息的场景也不少见&#xff0c;那 Kafka 作为一个高性能的分布式消息中间件&#xff0c;同样也支持事务消息&#xff0c;本篇我们将对 …...

开发一套小区多少钱/seo网站关键词优化怎么做

《MATLAB与控制系统仿真自动化实验指导书》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《MATLAB与控制系统仿真自动化实验指导书(19页珍藏版)》请在人人文库网上搜索。1、MATLAB与控制系统仿真 实验指导书 吉林化工学院信息与控制工程学院自动化专业 1 目 录 实验一…...

什么是网络设计?/查询seo

1、运行svn info现连的svn信息 2、运行svn switch --relocate https://原来的地址 https://改过后的地址。 svn help switch 查看switch的用法 &#xff08;记录笔记&#xff09; 转载于:https://www.cnblogs.com/aikaiqiang/p/7474894.html...

火花机 东莞网站建设/百度网首页官网登录

本例是模仿vue.js中todoMVC的功能&#xff0c;使用jQuery进行开发&#xff0c;第一版的jQuery会显得有些混乱&#xff0c;后续将进行优化。 todoMVC具有添加、修改、删除、更改状态、分类等操作todos的功能。我的开发过程分为了以下几个步骤。 将整个应用进行功能拆分分别实…...

怎么做分享网站/重庆seo软件

前言&#xff1a; 概率论和梳理统计也算是机器学习中最常用到的数学知识&#xff0c;下面整理了一下常见的概念和公式。 1.事件的关系与运算 2.运算律 3.德摩根律 4.完全事件组 5.概率的基本概念 6.概率的基本公式 7.事件的独立性 8.独立重复实验 ​ 9.重要公式与结论…...

做网站的图片大小是多少/网球新闻最新消息

Unity3D for iOS初级教程&#xff1a;Part 1/3(上) 这篇教材是来自教程团队成员 Christine Abernathy, 他是Facebook的开发支持团队的工程师。Unity是最为流行的游戏引擎之一。这是有充分缘由的&#xff1a;Unity有一个让它非常容易上手的强大的可视化编辑器&#xff0c;功能强…...

wordpress 手动安装主题/南宁百度seo排名优化

今天是Google Developer Advocate Sandeep Dinesh关于如何充分利用Kubernetes环境的七部分视频和博客系列的第三部分。分布式系统很难管理。 一个重要原因是有许多动态部件都为系统运行起作用。 如果一个小部件损坏&#xff0c;系统必须检测它&#xff0c;绕过它并修复它。 这一…...