google-apps-script - 使用 Apps 脚本替换 Google 表格,同时保持相同的文件 ID
问题描述
我正在使用 File Stream 将两个 csv 文件从 SQL 服务器导出到 Google Drive 文件夹,然后我需要将其数据拉入 Google 表格(无需将共享设置设置为公开)。
我想到的过程是:
- 将 CSV 导出到文件流(F1.csv 和 F2.csv) -工作
- 使用应用脚本(F1.gheet 和 F2.gsheet)将 CSV 文件转换为 Google 表格-工作
- 在我的主 Google 工作表(Tool.gheet)中使用=IMPORTRANGE将F1.gsheet 和 F2.gheet导入到该工作簿中他们自己的工作表中
我遇到的问题是这两个 csv 文件将每天导出和上传。我可以很好地转换它们,但它们会获得新的文件 ID,这会破坏第 3 步。
我想要做的是用新的 F1.csv 和 F2.csv 的内容替换F1.gsheet和 F2.gsheet,以便它们的文件 ID 保持不变并且Tool.gsheet提取新数据。
我已经查看了如何将上传的 CSV 或 XLS 文件中的数据自动导入 Google 表格,但它非常慢,我只需要能够使用类似于 Google 文件修订功能的东西,但使用 Google Apps 脚本。
任何帮助将不胜感激!
解决方案
您不能将旧工作表的 ID 分配给新工作表,但可以使用索引来代替
样本:
function moveSheet() {
var ss = SpreadsheetApp.getActive();
var newSheet = SpreadsheetApp.getActive().insertSheet();
var desiredIndex = 1
ss.setActiveSheet(newSheet);
ss.moveActiveSheet(desiredIndex);
ss.getSheets()[desiredIndex].getName();
Logger.log(newSheet.getName()+ "is the same as "+ ss.getSheets()[desiredIndex].getName());
}
推荐阅读
- reactjs - 已解决-单击时努力为映射数组列表中的每个项目创建特定的模态弹出窗口-React Native
- javascript - Mongoose findById 函数返回奇怪的响应
- c - 从c中的txt文件读取
- c++ - 如何在系统进程中获取用户的当前会话?
- python - 安装本地 python 包时遇到问题
- python - 列不是熊猫数据框的列
- java - 如何在线调用 Rest Api 端点?如何将我的代码放入真实服务器
- python - 如何根据类型取消选择 pydatatable 列?
- docker - 将 Django 部署到 App Engine 柔性环境 - 超时错误响应:[4]
- python - python - 召回浏览过的文件