如何实现Excel数据自动导入Google Spreadsheet,有免费定时方案吗?
Excel数据自动同步至Google Spreadsheet免费实现方案
完全可以实现免费的自动化同步,且支持每日定时执行,不需要使用Sheetgo这类付费插件,用Google官方免费的Apps Script工具即可实现,操作门槛很低。
具体操作步骤
- 提前将需要同步的Excel文件上传到Google Drive的固定路径,如果是本地Excel,安装Google Drive桌面端,将文件放在本地同步文件夹内即可保证Drive内的文件随本地更新自动同步
- 打开接收数据的目标Google Spreadsheet,点击顶部菜单栏「扩展程序」-「Apps Script」进入脚本编辑器
- 删除编辑器内默认的空代码,粘贴如下示例代码,按照注释修改对应参数:
function importExcelFromDrive() { // 替换为你要同步的Excel文件在Google Drive中的文件ID const excelFileId = "替换为你的Excel文件ID"; // 替换为你要写入数据的Google Sheet工作表名称,比如Sheet1 const targetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("替换为你的工作表名"); // 读取Excel文件并临时转换为Google Sheet格式读取数据 const excelFile = DriveApp.getFileById(excelFileId); const convertedSheet = Drive.Files.insert( {mimeType: MimeType.GOOGLE_SHEETS}, excelFile.getBlob(), {convert: true} ); const sourceData = SpreadsheetApp.openById(convertedSheet.id).getSheets()[0].getDataRange().getValues(); // 清空目标表原有内容后写入新数据 targetSheet.clearContents(); targetSheet.getRange(1, 1, sourceData.length, sourceData[0].length).setValues(sourceData); // 删除临时生成的转换文件,避免占用Drive存储空间 DriveApp.getFileById(convertedSheet.id).setTrashed(true); }
- 首次运行需要完成权限授权:点击编辑器顶部的运行按钮,遇到未验证应用提示时,点击「高级」-「继续访问(你的脚本名称)」即可完成授权,属于私有脚本正常授权流程,无安全风险
- 如果运行时提示Drive未定义,在编辑器左侧点击「服务」,找到「Drive API」添加后重新运行即可
- 设置每日定时触发:在Apps Script编辑器左侧点击「触发器」按钮,选择「添加触发器」,选择刚才编写的
importExcelFromDrive函数,事件源选择「时间驱动」,触发器类型选择「日计时器」,设置你需要的每日执行时间,保存后即可实现每日自动同步
扩展适配说明
如果不需要同步全表数据、只需要同步指定列、或者需要过滤特定内容,直接修改上述代码中的数据读取、写入逻辑即可,灵活性很高,全程不需要额外付费。
内容的提问来源于stack exchange,提问作者Vignesh Satheesh
相关产品推荐
相关产品推荐

