背景
第1篇博客简要介绍了 PiE(PiE)的整体概念,本篇讲解 PiE 的大致工作原理——当在单元格中输入 =PY(...) 公式后,数据和代码究竟去了哪里,又如将结构回写到 Excel 单元格。
理解这个数据流,是掌握 PiE 的关键。
数据流的四个步骤
PiE 的工作流程分为四个阶段:
- 打包 —— Excel 将 Python 代码与所需数据打包
- 发送 —— 打包后的内容发送到 Azure 云端
- 执行 —— Azure 容器执行代码,返回结果
- 回填 —— 结果返回 Excel,填入对应单元格
整个过程对用户来说是透明的——只需要一个网络连接,就能使用“完整”的 Python 环境。
核心概念:隔离容器
PiE 运行的云端环境叫做隔离容器(secured container)。同一工作簿中的多个 =PY() 公式共用同一个容器,容器在工作簿打开期间保持在线。
当工作簿关闭时,容器及其中的所有数据立即销毁。这意味着:Python 代码无法持久化存储任何本地信息,也无法访问上一会话的状态。
必须有网络连接
PiE 是云端执行架构,因此必须有网络连接才能运行。断网时,单元格会显示错误。

这与 VBA 的本地执行形成鲜明对比:VBA 在断网时仍可正常运行(假设没有使用访问网络资源的VBA代码),而 PiE 则完全依赖云端。
安全限制
隔离容器的设计带来了以下限制:
- 只能使用微软预审核过的 Python 库
- 无法访问本地文件、设备、网络
- 只能通过
xl()读写 Excel 数据 - 无法操作工作簿外部的系统资源
这些限制保证了安全性:即使 Python 代码本身存在漏洞,也无法渗透到用户本地环境。
总结
PiE 的数据流可以概括为:客户端打包 → Azure 执行 → 结果回填。隔离容器的设计让云端执行成为可能,同时也带来了网络依赖和系统限制两大特性。


被折叠的 条评论
为什么被折叠?



