如何使用Google Apps Script提取Google Drive中JSON数据导入Google Sheets表格
实现代码与操作说明
你已经完成了JSON文件读取的核心逻辑,只需要补充表格写入逻辑即可,以下是可直接复用的完整代码:
function jsonToGoogleSheet() { // 1. 读取Drive中的Reminders.json文件 const fileName = "Reminders.json"; const files = DriveApp.getFilesByName(fileName); if (!files.hasNext()) { throw new Error("未找到指定的Reminders.json文件,请检查文件名与存储位置"); } const file = files.next(); const content = file.getBlob().getDataAsString(); const json = JSON.parse(content); const reminderList = json.reminders; // 2. 构造写入表格的二维数组,第一行为表头 const outputData = [ ["所属列表", "任务内容", "截止日期"] ]; // 遍历所有提醒项,逐行插入数据 reminderList.forEach(reminder => { outputData.push([ reminder.list, reminder.task, reminder.date ]); }); // 3. 写入目标Google Sheets // 替换下方的表格ID与工作表名称 const targetSpreadsheet = SpreadsheetApp.openById("替换为你的Google Sheets文档ID"); const targetSheet = targetSpreadsheet.getSheetByName("替换为目标工作表名称,例如Sheet1"); // 清空工作表原有内容,不需要可删除此行 targetSheet.clearContents(); // 批量写入数据,批量操作比逐行写入效率更高 targetSheet.getRange(1, 1, outputData.length, outputData[0].length).setValues(outputData); }
注意事项
- 第一次运行脚本时会触发权限校验,按照弹窗提示完成授权即可,授权范围仅包含你自己的Google Drive与表格资源
- 若不需要覆盖原有表格内容,仅追加新的提醒数据,可以删除
clearContents行,同时将写入起始行修改为targetSheet.getLastRow() + 1,对应写入代码调整为:targetSheet.getRange(targetSheet.getLastRow() + 1, 1, outputData.length - 1, outputData[0].length).setValues(outputData.slice(1)); - 后续你可以基于已写入的表格数据添加条件格式、数据看板,完成提醒事项的直观展示需求
内容的提问来源于stack exchange,提问作者user16834223
相关产品推荐
相关产品推荐

