用 GLM-5 教你写 Excel 自动化脚本,TypeScript小白也能秒懂

日常办公中面对繁琐重复的Excel操作感到抓狂的场景图

日常繁琐的数据汇总和清洗让人抓狂

在日常办公中,Excel 绝对是离不开的神器。但有时候面对重复性很高的机械劳动,比如每天都要从几张表里把数据汇总到一张总表,或者把特定格式的数据清洗一遍,真的会让人抓狂。

这时候大家都会想到“宏”或者 VBA,但对于现在的 Excel Online 或者是 Teams 里的表格来说,VBA 并不支持。微软给出的解决方案是 Office Scripts,用的语言是 TypeScript。听起来是不是有点劝退?别担心,只要有 GLM-5 在手,写代码这件事其实比想象中简单得多。

为什么要关注 Office Scripts?

Excel Online 中的 Office Scripts 代码编辑器界面截图

Office Scripts 在 Excel Online 中的代码编辑界面

很多人可能还习惯于在桌面版 Excel 里用 VBA,但随着协作办公的兴起,越来越多的数据直接在云端流转。Office Scripts 就是为了解决 Web 端自动化而生的。它不仅能运行在 Excel Online 上,还能通过 Power Automate(以前的 Flow)触发,实现真正的无人值守自动化。

但是,对于大部分没有编程基础的用户来说,直接上手 TypeScript 还是有点难度的。这时候,LLM(大语言模型)就是我们最好的“结对编程”伙伴。

GLM-5:你的专属 TypeScript 助教

市面上大大小小的 AI 模型那么多,为什么特别提 GLM-5?因为它在代码生成方面,尤其是针对中文语境下的需求理解,表现相当亮眼。比起直接让 ChatGPT 输出一大段可能还需要调试的代码,GLM-5 往往能给出更符合逻辑、甚至一步到位的解决方案。

特别是当你对 TypeScript 的语法(比如类型定义、接口、异步处理)不太熟悉时,GLM-5 可以像个耐心的老师一样,既给你代码,还告诉你为什么要这么写。

实战演练:从 0 到 1 写脚本

假设我们有一个很实用的场景:我们需要把“Sheet1”中 A 列的所有数据,复制到“Sheet2”的 C 列,并且去掉空行。

1. 描述需求

你不需要懂 TypeScript 的语法,只需要用自然语言把需求告诉 GLM-5:

“请帮我编写一个 Office Scripts 脚本,用于 Excel Online。需求是:获取名为 'Sheet1' 的工作表,读取 A 列所有单元格的值,过滤掉空值,然后将这些值写入到名为 'Sheet2' 的工作表的 C 列中。”

2. 获取代码

GLM-5 通常会直接生成一段结构完整的代码。大致会包含以下几个核心部分:

  • function main(workbook: ExcelScript.Workbook):这是脚本的入口函数。
  • 获取工作表对象:workbook.getWorksheet('Sheet1')
  • 获取区域和数值:sheet.getRange('A:A').getValues()
  • 数据处理:使用 JavaScript 的数组方法(如 filter)来清洗数据。
  • 写入目标区域:计算目标行数并赋值。

3. 调试与优化

虽然 GLM-5 很强,但 AI 写的代码也不是 100% 完美的。有时候它会忽略一些边界情况,比如目标表已经有数据了怎么办?或者数据量特别大导致性能问题怎么办?

这时候我们可以追问:

“如果目标列已经有数据了,请先清空再写入,并且为了性能考虑,请一次性写入而不是循环写入。”

GLM-5 会根据你的反馈修改代码,加入清空操作(getRange().clear())并优化数据写入逻辑。

常见问题与解决方案

在实际使用过程中,你可能会遇到一些小坑,这里整理几个最常见的供大家参考。

Q: 提示“Object is undefined”怎么办?

A: 这通常是因为工作表名称写错了,或者该工作表不存在。检查一下你传入的字符串是否和 Excel 下方的标签名完全一致,注意空格。

Q: 代码复制进去报错说“无法找到类型 'ExcelScript'”。

A: 这通常是因为在 Web 端编辑器中不需要手动 import 类型定义。如果你是在本地 VS Code 环境开发,则需要安装 @microsoft/office-scripts 类型声明包。如果是直接在网页编辑器里,确保不要删除最顶部的类型引用注释。

Q: 数据量很多,运行脚本很慢。

A: 避免在循环中频繁调用 setValue。务必先将数据处理好存入一个二维数组,最后调用一次 getRange().setValues(values)。这是 Office Scripts 性能优化的核心。

结语

办公自动化的门槛从来没有像现在这么低过。以前你需要啃厚厚的编程书,现在有了 GLM-5 这样的得力助手,你只需要学会如何提问,如何清晰地描述你的业务逻辑,剩下的脏活累活就交给 AI 吧。

从今天起,试着把你脑海里那个“如果Excel能自动帮我做这个就好了”的念头,用 GLM-5 变成现实吧!

标签: none

AI Skills Smart Station on Nick Launches

评论已关闭