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

相关推荐
全栈弄潮儿5 小时前
Python实战第8期:函数
后端·python·编程语言
卷无止境7 小时前
暗流与破局:AI时代的代码安全审查工具全景指南
后端·python
卷无止境10 小时前
一人公司的全栈选型指南:让 AI Agent 写得快,也让生意跑得稳
后端·python
众壹新能源科技11 小时前
逆变器自带无功不够用,加装5MVar SVG后功率因数从0.85回到0.99
运维·人工智能·自动化
..Dauntless..11 小时前
【Linux】一切皆文件和缓冲区
linux·运维·服务器
QMCY_jason11 小时前
x86 ubuntu2204 无gui 安装 openeuler 2203 aarch64版本
linux·运维·服务器
DeeGLMath11 小时前
optimtool最新版加速训练分类任务
人工智能·分类·数据挖掘
重生之小比特11 小时前
【Linux系统】12 进程程序替换 自定义Shell 命令行解释器
linux·运维·服务器
考拉讲支付11 小时前
母婴亲子服务平台分账架构设计:多场景多方分账与合规清结算实践
大数据·运维·人工智能·微信小程序·架构·微信公众平台
滴啦嘟啦哒11 小时前
【具身笔记】【π0.5 微调与仿真】五、在MuJoCo中实现可视化仿真
笔记·python·vla·具身