20. Excel 自动化:Excel 对象模型

一 Excel 对象模型是什么

 Excel对象模型是Excel图形用户界面的层次结构表示,它允许开发者通过编程来操作Excel的各种组件,如工作簿、工作表、单元格等。

xlwings 是一个Python库,它允许Python脚本与Excel进行交互。与一些其他Python库(如读写包)相比,使用 app 代替 application,使用 boo k代替 workbook 等。

烤箱就是 Excel ,它的各个部分(加热元件、控制面板等)就是 Excel 的各种组件(工作簿、工作表等)。烤箱的对象模型就是 Excel 的对象模型,它描述了烤箱各个部分之间的关系和功能。遥控器就是 xlwings ,它允许你通过编程来控制烤箱(Excel)。遥控器上的按钮和命名(如“开始”按钮)与烤箱控制面板上的按钮和命名(如“启动”按钮)之间的细微差异,就类似于 xlwings 在命名上与Excel对象模型之间的细微差异(如使用 app 代替 application)。

Excel 应用程序(或“Excel助手”)是一个可以打开并处理多个Excel文件的工具。

Excel 实例是你运行的一个Excel应用程序的副本,它可以独立地打开并处理多个工作簿。

工作表对象是你可以访问并编辑 Excel 文件里所有内容的窗口。

在 Excel 的对象模型中,从最高层的对象开始,逐步深入到更低层次的对象,最终到达range对象, range对象代表Excel工作表中的一个单元格或多个单元格的区域。

想象一下你正在使用一个叫做“Excel助手”的超级工具来帮助你管理数据。这个“Excel助手”其实是一个应用程序,它可以打开并处理多个Excel文件(工作簿)。假设你有一个叫做“数据大师”的文件夹,这个文件夹就是你的“集合”(在图中用虚线框表示)。在这个文件夹里,你可以放很多不同类型的文件,比如文档、图片等,这些文件就相当于“对象”。在Excel的世界里,这些对象可以是工作簿、图表、图片等。你打开了一个Excel助手,就是一个Excel实例。你可以在这个实例里打开并处理多个工作簿,就像你在“Excel助手”里可以同时处理多个文件一样。

但是,有时候你可能需要同时处理两个相同的Excel文件,并且希望它们之间互不干扰。这就像你同时打开了两个相同的文档编辑软件(比如两个Word),每个软件都在处理一个相同的文档,但它们的操作是独立的。在Excel中,你可以通过一些特殊的方法(比如在Windows上按住Alt键打开新的Excel实例),来同时运行两个Excel实例,每个实例都打开同一个工作簿,但它们是独立的,不能互相通信。

现在,假设你正在处理一个包含三个工作表(我们称之为3sheet)的Excel文件。这个工作表对象可以让你访问文件里的各种内容,比如图表、图片和自定义名称等。这就像你在一个文档里可以看到并编辑它的所有内容一样。

Excel 实例是什么?

Excel实例是指Excel应用程序的一个运行副本。比如,当你双击Excel图标打开程序时,就启动了一个实例。然后,用户可能同时打开多个工作簿,但这些工作簿都属于同一个实例。

比如浏览器标签页和浏览器实例的关系。你打开 Chrome 浏览器(一个实例),可以在其中打开多个标签页(工作簿)。即使关闭所有标签页,浏览器实例仍在后台运行,直到你手动关闭它。


二 如何使用 Excel 对象模型

使用 Excel 对象模型通常需要掌握一种编程语言,如 VBA、Python 或 C# 等。

Excel 对象模型是树形结构,主要对象包括:

Application:代表整个 Excel 应用程序

Workbook:单个工作簿文件(.xlsx)

Worksheet:工作簿中的工作表

Range:单元格或单元格区域

Cell:单个单元格

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

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

相关文章

大模型GGUF和LLaMA的区别

GGUF(Gigabyte-Graded Unified Format)和LLaMA(Large Language Model Meta AI)是两个不同层面的概念,分别属于大模型技术栈中的不同环节。它们的核心区别在于定位和功能: 1. LLaMA(Meta的大语言…

一周学会Flask3 Python Web开发-SQLAlchemy查询所有数据操作-班级模块

锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 我们来新建一个的蓝图模块-班级模块,后面可以和学生模块,实现一对多的数据库操作。 blueprint下新建g…

STM32学习【5】用按键控制LED亮灭(寄存器)以及对位运算的思考

目录 1. 看原理图2 使能GPIOAGPIOA时钟模块2.2 设置引脚GPIO输入2.3 读取引脚值 3. 关于寄存器操作的思考 写在前面 注意,这篇文章虽然说是用按键控制led亮灭,重点不在代码,而是关键核心的描述。 用寄存器的方式,通过key来控制led…

js,html,css,vuejs手搓级联单选

<!DOCTYPE html> <html lang"zh"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>级联选择器</title><script src"h…

【Spring】第四弹:基于XML文件注入Bean对象

一、setter 注入Bean对象 1.创建Student对象 public class Student {private Integer id;private String name;private Integer age;private String sex;public Student() {}public Integer getId() {return id;}public void setId(Integer id) {this.id id;}public String …

DeepSeek私有化部署与安装浏览器插件内网穿透远程访问实战

文章目录 前言1. 本地部署OllamaDeepSeek2. Page Assist浏览器插件安装与配置3. 简单使用演示4. 远程调用大模型5. 安装内网穿透6. 配置固定公网地址 前言 最近&#xff0c;国产AI大模型Deepseek成了网红爆款&#xff0c;大家纷纷想体验它的魅力。但随着热度的攀升&#xff0c…

单目3d detection算法记录

1、centernet object as points 这篇文章的核心单目3d检测主要是利用中心点直接回归出3d模型的所有属性&#xff0c;head共享整个backbone&#xff0c;其中3d属性包括&#xff1a;2d目标中心点、2dw和h、2d offsets、3doffsets、3d dimmession、rot还有depth。 其中对应的dep…

MySQL程序

博主主页: 码农派大星. 数据结构专栏:Java数据结构 数据库专栏:数据库 JavaEE专栏:JavaEE 软件测试专栏:软件测试 关注博主带你了解更多知识 1. mysqld (MySQL服务器) mysqld也被称为MySQL服务器&#xff0c;是⼀个多线程程序&#xff0c;对数据⽬录进⾏访问管理(包含数据库…

rust学习笔记17-异常处理

今天聊聊rust中异常错误处理 1. 基础类型&#xff1a;Result 和 Option&#xff0c;之前判断空指针就用到过 Option<T> 用途&#xff1a;表示值可能存在&#xff08;Some(T)&#xff09;或不存在&#xff08;None&#xff09;&#xff0c;适用于无需错误信息的场景。 f…

IIS 服务器日志和性能监控

Internet Information Services &#xff08;IIS&#xff09; 是 Microsoft 提供的一款功能强大、灵活且可扩展的 Web 服务器&#xff0c;用于托管网站、服务和应用程序。IIS 支持 HTTP、HTTPS、FTP、SMTP 和更多用于提供网页的协议&#xff0c;因此广泛用于企业环境。 IIS 的…

基于Netty实现高性能HTTP反向代理

以下将分步骤实现一个基于Netty的高性能HTTP反向代理&#xff0c;支持动态路由、负载均衡和基础鉴权功能。 1. 项目依赖配置&#xff08;Maven&#xff09; 2. 定义路由规则 3. 实现HTTP反向代理服务端 4. 实现反向代理处理器 5. 实现基础鉴权 6. 性能优化策略 连接池管理…

Feedback-Guided Autonomous Driving

Feedback-Guided Autonomous Driving idea 问题设定&#xff1a;基于 CARLA 的目标驱动导航任务&#xff0c;通过知识蒸馏&#xff0c;利用特权智能体的丰富监督信息训练学生传感器运动策略函数 基于 LLM 的端到端驱动模型&#xff1a;采用 LLaVA 架构并添加航点预测头&#…

OpenCV基础【图像和视频的加载与显示】

目录 一.创建一个窗口&#xff0c;显示图片 二.显示摄像头/多媒体文件 三.把摄像头录取到的视频存储在本地 四.鼠标回调事件 五.TrackBar滑动条 一.创建一个窗口&#xff0c;显示图片 import cv2img_path "src/fengjing.jpg" # 自己的图片路径 img cv2.imre…

springboot实现调用百度ocr实现身份识别

一、技术选型 OCR服务&#xff1a;推荐使用百度AI 二、实现 1.注册一个服务 百度智能云控制台https://console.bce.baidu.com/ai-engine/ocr/overview/index?_1742309417611 填写完之后可以获取到app-id、apiKey、SecretKey这三个后面文件配置会用到 2、导入依赖 <!-- …

Linux--内核进程O(1)调度队列

⼀个CPU拥有⼀个runqueue 如果有多个CPU就要考虑进程个数的负载均衡问题 优先级 普通优先级&#xff1a;100〜139&#xff08;我们都是普通的优先级&#xff0c;想想nice值的取值范围&#xff0c;可与之对应&#xff01;&#xff09;实时优先级&#xff1a;0〜99&#xff08…

1.排序算法(学习自用)

1.冒泡排序 算法步骤 相邻的元素之间对比&#xff0c;每次早出最大值或最小值放到最后或前面&#xff0c;所以形象的称为冒泡。 特点 n个数排序则进行n轮&#xff0c;每轮比较n-i次。所以时间复杂度为O(n^2)&#xff0c;空间复杂度为O(1)&#xff0c;该排序算法稳定。 代码…

DiskGenius 硬盘管理工具下载+D盘空间扩容给C盘教程

目录 D盘空间扩容给C盘教程 1、打开DiskGenius软件​编辑 2、右键D盘&#xff08;或需要压缩的磁盘&#xff09;-->调整分区大小 3、调整分区容量 4、点击是/确定后&#xff0c;等待几分钟电脑自行操作&#xff0c;重启后硬盘就重新分好了 5、展示效果 DiskGenius – …

[项目]基于FreeRTOS的STM32四轴飞行器: 六.2.4g通信

基于FreeRTOS的STM32四轴飞行器: 六.2.4g通信 一.Si24Ri原理图二.Si24R1芯片手册解读三.驱动函数讲解五.移植2.4g通讯&#xff08;飞控部分&#xff09;六.移植2.4g通讯&#xff08;遥控部分&#xff09;七.通讯模块的完成&#xff08;遥控部分&#xff09; 一.Si24Ri原理图 S…

springboot集成xxl-job

前言&#xff1a;关于xxl-job的一些简单的介绍就不做过多介绍&#xff0c;本文主要讲一下如何将xxl-job整合到springboot项目中。先贴上项目的两个地址&#xff1a; 1.github&#xff1a; https://github.com/xuxueli/xxl-job 2.码云&#xff1a;http://gitee.com/xuxueli0323/…

预处理指令中#if 和 #endif的用法

在 C 语言中&#xff0c;#if 和 #endif 是预处理指令&#xff0c;用于条件编译。它们的核心作用是&#xff1a;根据预处理器能够识别的条件&#xff08;通常是宏定义或常量表达式&#xff09;&#xff0c;决定某段代码是否参与编译。 — 基本功能 #if 用于开启一个条件编译块…