使用Google Sheets的IMPORTDADA导入大CSV文件遇大小超限错误求助
解决Google Sheets IMPORTDATA导入大CSV的超限错误
问题根源
Google Sheets的IMPORTDATA函数对导入的文件大小和单元格数量有内置限制,大文件会触发「Resource at url contents exceeded maximum size」错误。以下是几种可行的解决方法:
方法1:用Google Apps Script分块自动导入(推荐)
通过脚本可以绕过IMPORTDATA的限制,实现大文件的自动导入,还能设置定时任务:
- 打开目标Google Sheet,点击「扩展程序」→「Apps Script」
- 替换默认代码为以下脚本:
function importLargeCSV() { var csvUrl = "https://app.matrixify.app/files/vasasro/99320ce64bfe22f855ce03e71796e4db/MatrixifyAllExport.csv"; var targetSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); // 替换为你的工作表名称 targetSheet.clearContents(); // 清空旧数据(按需保留或删除) // 获取CSV内容并解析 var response = UrlFetchApp.fetch(csvUrl); var csvRows = Utilities.parseCsv(response.getContentText()); // 分批次写入数据,避免单次操作超限 const batchSize = 1000; // 每批次写入1000行,可根据文件大小调整 for (let i = 0; i < csvRows.length; i += batchSize) { const batch = csvRows.slice(i, i + batchSize); targetSheet.getRange(i + 1, 1, batch.length, batch[0].length).setValues(batch); } }
- 保存脚本(命名如
ImportLargeCSV),点击运行按钮,首次运行需完成权限授权 - 如需定时自动更新:点击左侧「触发器」→「添加触发器」,设置触发频率(如每天一次)
方法2:转存CSV到Google Drive后导入
如果不想写脚本,可将CSV转存到Drive后导入:
- 手动操作:下载CSV到本地,上传到Google Drive;在Sheet中点击「文件」→「导入」→选择Drive中的文件,设置导入方式
- 自动操作:结合Apps Script定时将CSV下载到Drive,再导入到Sheet(逻辑类似方法1,但多了Drive中转步骤)
方法3:拆分原始CSV文件
联系Matrixify导出时将大文件拆分为多个小CSV(比如按产品类别拆分),再用IMPORTDATA分别导入每个小文件,最后在Sheet中合并数据。
内容的提问来源于stack exchange,提问作者Armani Sadeghi
相关产品推荐
相关产品推荐

