尝试:Script Lab,Excel 基础操作(1)

简介: 尝试:Script Lab,Excel 基础操作(1)

准备工作

Script Lab 在 2018 年经历了一次从头到尾的重新编写。虽然其视觉设计与 2017 版保持相似,但其技术堆栈已经过大修,为了能够利用 React 和 Fabric React 的优秀性质。改进包括了:键盘可访问性、更快的运行速度、用户可配置的设置

但是为了保持代码的简洁性,思来想去还是牺牲以上优点,当前默认环境(Production)暂时切换到 2017 版本的 Script Lab ,为此需要执行以下操作:

  1. 打开编辑器窗格,然后选择或创建一个代码段;
  2. 在编辑器的右下角,单击cog图标以打开设置;
  3. 在页脚左侧下拉列表中,选择“Script Lab 2017”。

image.png


最小代码

【对像层级】

上下文:context

工作簿:workbook

工作表:sheet

单元格:cell


【单元赋值】单元值: [["HSOffice"]]


Excel.run
    (
    async (context) => {
        //
        const workbook = context.workbook;
        const sheet = workbook.worksheets.getActiveWorksheet();
        const cell = sheet.getCell(0, 0);
        //
        cell.values =
            [
                ["HSOffice"]
            ]
    }
    );


【小技巧】代码美化:Shift-Alt-F

image.png



Excel.run


我们先从代码第一行代码看起:Excel.run。在这里 Excel 是命名空间,而 run 而是一个启动函数(我暂时先这样称呼,直到找到官方的说法),接受一个函数作为其参数,前返回一个对像(后面会提到用途)。而这个内部函数,其实是一个批处理函数,代表了真正的 Excel 操作。

批处理函数有一个代表宿主请求的上下文参数,该参数是与宿主(在这里是 Excel 本身)进行通信的途径。Excel.run 方法只是传向批处理函数传递了一个新的上下文请求,批处理函数才是整个代码的核心部分,在这里我们看到了最常见的处理方式:


const workbook = context.workbook;

其实更典型的写法,要会加上错误捕获的部分。补充一点,Excel.run 其实还会返回一个 Promise 对象(Promise在处理异步操作非常有用)。反正更为正统的写法是,在启动函数之后应该始终跟随.catch(错误捕获),示例如下:

//启动函数
Excel.run
    (
    //批处理函数
    function (context) {
        //批处理内容
        //返回代理
        return context.sync();
    }
    ).catch
    (
        //异常处理
    );


image.png

相关文章
|
前端开发 JavaScript 程序员
Script Lab 03:Script Lab,启动函数,Excel 基础操作(1)
Script Lab 03:Script Lab,启动函数,Excel 基础操作(1)
849 0
Script Lab 03:Script Lab,启动函数,Excel 基础操作(1)
|
存储 数据挖掘
业务数据分析-Excel的基础操作(一)
业务数据分析-Excel的基础操作(一)
145 0
业务数据分析-Excel的基础操作(一)
Script Lab 07:引入控件,Excel 基础操作(5)
Script Lab 07:引入控件,Excel 基础操作(5)
246 0
Script Lab 07:引入控件,Excel 基础操作(5)
|
JavaScript 前端开发 API
Script Lab 06:事件处理,Excel 基础操作(4)
Script Lab 06:事件处理,Excel 基础操作(4)
185 0
Script Lab 06:事件处理,Excel 基础操作(4)
|
算法 JavaScript C#
Script Lab 版,九九乘法表,Excel 基础操作(2)
Script Lab 版,九九乘法表,Excel 基础操作(2)
218 0
Script Lab 版,九九乘法表,Excel 基础操作(2)
|
JavaScript 前端开发 算法
Script Lab 04:Script Lab,九九乘法表,Excel 基础操作(2)
Script Lab 04:Script Lab,九九乘法表,Excel 基础操作(2)
248 0
Script Lab 04:Script Lab,九九乘法表,Excel 基础操作(2)
|
1月前
|
数据采集 存储 JavaScript
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
本文介绍了一种使用Selenium和Excel结合代理IP技术从WIPO品牌数据库(branddb.wipo.int)自动化爬取专利信息的方法。通过Selenium模拟用户操作,处理JavaScript动态加载页面,利用代理IP避免IP封禁,确保数据爬取稳定性和隐私性。爬取的数据将存储在Excel中,便于后续分析。此外,文章还详细介绍了Selenium的基本设置、代理IP配置及使用技巧,并探讨了未来可能采用的更多防反爬策略,以提升爬虫效率和稳定性。
|
3月前
|
关系型数据库 MySQL Shell
不通过navicat工具怎么把查询数据导出到excel表中
不通过navicat工具怎么把查询数据导出到excel表中
44 0
|
1月前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
49 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
1月前
|
easyexcel Java UED
SpringBoot中大量数据导出方案:使用EasyExcel并行导出多个excel文件并压缩zip后下载
在SpringBoot环境中,为了优化大量数据的Excel导出体验,可采用异步方式处理。具体做法是将数据拆分后利用`CompletableFuture`与`ThreadPoolTaskExecutor`并行导出,并使用EasyExcel生成多个Excel文件,最终将其压缩成ZIP文件供下载。此方案提升了导出效率,改善了用户体验。代码示例展示了如何实现这一过程,包括多线程处理、模板导出及资源清理等关键步骤。