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:单个单元格

相关推荐
摇滚侠13 分钟前
Windows 版 Nginx 关闭
运维·windows·nginx
电商API&Tina20 分钟前
比价 / 选品专用:京东 + 淘宝 核心接口实战(可直接复制运行)
大数据·数据库·人工智能·python·json·音视频
木子欢儿26 分钟前
使用 Docker 快速搭建 MinIO 文件存储服务
运维·docker·容器
love530love32 分钟前
Windows 开源项目部署评估与决策清单(完整版)
人工智能·windows·python·开源·github
AI生成网页工具33 分钟前
2026最新电脑预装软件卸载工具哪个好?无捆绑软件卸载工具推荐与对比
数据挖掘
今夕资源网35 分钟前
零基础 Python 环境搭建工具 一键安装 Python 环境自动配置 升级 pip、setuptools、wheel
开发语言·python·pip·环境变量·python环境变量·python自动安装
BieberChen41 分钟前
ubuntu定时执行脚本---crontab详细使用指南
linux·运维·ubuntu
Derrick__11 小时前
Scrapling 爬取豆瓣电影Top250
开发语言·python·网络爬虫·豆瓣·scrapling
2401_835792541 小时前
Java复习上
java·开发语言·python
kida_yuan1 小时前
【以太来袭】5. Besu 组件组成与协同
运维·区块链