Google Spreadsheet 是 Google 公司推出的在线电子表格应用程序,可以方便地创建、编辑和共享电子表格。而 google-spreadsheet 则是一个基于 Node.js 的 npm 包,它提供了一系列操作 Google Spreadsheet 的 API 接口。
本文将介绍如何使用 google-spreadsheet 包来读取和写入 Google Spreadsheet 中的数据,并通过具体示例代码进行演示。
安装 google-spreadsheet
在开始之前,我们需要先安装 google-spreadsheet 这个包。打开命令行工具,进入项目目录,执行以下命令:
npm install google-spreadsheet
认证
在使用 google-spreadsheet 包时,我们需要进行认证。具体来说,我们需要先创建一个 Service Account(服务账户),并将其授权给要操作的 Google Spreadsheet。
下面是详细步骤:
- 打开 Google Cloud Console,创建一个新项目。
- 在左侧导航栏中,找到 IAM & Admin -> Service Accounts,点击“创建服务账户”按钮。
- 输入账户名称、ID 和描述,选择“项目”角色并分配相应的权限(例如:编辑器)。
- 创建完毕后,在列表中找到该服务账户,点击“添加密钥”按钮,选择 JSON 格式,并下载密钥文件。
- 将密钥文件保存到本地,并在代码中引用该文件进行认证。
下面是示例代码:
-- -------------------- ---- ------- ----- - ----------------- - - ------------------------------ ----- ----- - ------------------------------------------- ----- --- - --- ------------------------------------------- -------------------------------- --- -- - -- ----- - ------------------- ------- - -- --------- ---
其中,<your_spreadsheet_id>
表示要操作的 Google Spreadsheet 的 ID(可以从浏览器地址栏中获取),而 google-spreadsheet-creds.json
则是你保存的密钥文件的路径。需要注意的是,useServiceAccountAuth()
方法是异步的,因此建议使用回调函数来处理结果。
读取数据
一旦认证成功,就可以开始读取 Google Spreadsheet 中的数据了。google-spreadsheet 包提供了许多 API 接口,用于获取工作表、单元格和行数据等。
获取工作表
首先,我们需要获取要操作的工作表对象。可以通过以下方法实现:
const sheet = await doc.sheetsById[0];
其中,sheetsById
是一个对象,它包含了该文档中所有工作表的 ID 和名称。如果知道工作表的 ID,可以直接使用 sheetsById
对象来获取工作表对象。
获取单元格数据
获取单元格数据很简单,只需要使用 getCell()
方法即可。例如,要获取 A1 单元格的内容,可以使用以下代码:
const cell = await sheet.getCell(1, 1); console.log(cell.value);
其中,getCell()
方法的第一个参数是行号,第二个参数是列号。行号和列号都从 1 开始计数。
获取行数据
获取行数据时,可以使用 getRow()
方法。该方法会返回一个包含所有单元格数据的对象。
例如,要获取第一行的数据,可以使用以下代码:
const row = await sheet.getRow(1); console.log(row._rawData); // 所有单元格的原始数据 console.log(row._sheetHeaderValues); // 工作表的列标题 console.log(row.id); console.log(row.name);
对于每一行数据,google-spreadsheet 包都会自动将其转换为一个对象,并添加一些自定义属性(例如 _rawData
和 _sheetHeaderValues
)。这些特殊属性可以帮助我们更方便地处理数据。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/54308