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

相关推荐
AAA修煤气灶刘哥几秒前
手把手教你全流程项目部署:从 Jenkins 到 Nginx 的项目实战手册
java·运维·后端
czhc114007566337 分钟前
LINUX 820 shell:shift,expect
linux·运维·excel
这里有鱼汤1 小时前
原来基金经理都偷偷用这个指标选股,难怪回撤小还赚钱
后端·python
广州智造1 小时前
EPLAN教程:流体工程
开发语言·人工智能·python·算法·软件工程·软件构建
咕噜签名分发冰淇淋1 小时前
签名应用APP分发平台的微服务化部署是什么?其有哪些优势?
java·运维·微服务
Enougme1 小时前
python-使用鼠标对图片进行涂抹&自定义绘图
python·opencv
CF14年老兵1 小时前
🐍 Python黑魔法手册:让你的代码从能跑到飞起的奇技淫巧
后端·python·trae
望获linux1 小时前
【实时Linux实战系列】基于实时Linux的物联网系统设计
linux·运维·服务器·chrome·php
天天进步20151 小时前
Python实战--基于Django的企业资源管理系统
开发语言·python·django
翻滚的小@强1 小时前
数据挖掘笔记:点到线段的距离计算
人工智能·笔记·数据挖掘