使用脚本将 Google 电子表格导出到文本文件

Posted

技术标签:

【中文标题】使用脚本将 Google 电子表格导出到文本文件【英文标题】:Export Google spreadsheet to text file using script 【发布时间】:2016-04-20 22:03:20 【问题描述】:

我有一个 Google 电子表格文件,其中只包含一张一列的表格。每次更改时,都应将其保存为我的 Google 驱动器上的简单文本 (*.txt) 文件。所以我会使用“on edit”触发器来运行脚本。

我发现了一些据说曾经完全符合我需要的脚本,但它们似乎使用了过时的引用,例如两年前发布的 this one。 所以我的问题是,2016 年现在如何将工作表导出到文本文件?

【问题讨论】:

【参考方案1】:

这是一个对我有用的简单导出功能:它将当前工作表导出为制表符分隔的文本文件,其名称包括创建日期。

您可以使用脚本编辑器中的资源 > 当前项目的触发器将其设置为在编辑时触发。

function export() 
  var sheet = SpreadsheetApp.getActiveSheet();
  var values = sheet.getDataRange().getValues();
  var text = values.map(function (a) return a.join('\t');).join('\n');
  DriveApp.createFile('Data as of ' + new Date(), text);

根据您的编辑器/操作系统,您可能需要join('\r\n') 而不是这里的join('\n')

【讨论】:

谢谢,这让我走上了正轨。我添加了一个 delete-old-file-line (只想要一个文件)和一个 \r 到分隔符(所以在一个文本文件中,一切都不仅仅是一个长行),它对我来说非常适合:function export( ) DriveApp.getFilesByName('testfile.txt').next().setTrashed(true); var sheet = SpreadsheetApp.getActiveSheet(); var 值 = sheet.getDataRange().getValues(); var text = values.map(function (a) return a.join('\t');).join('\r\n'); DriveApp.createFile('testfile.txt', text, MimeType.PLAIN_TEXT);

以上是关于使用脚本将 Google 电子表格导出到文本文件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用管道分隔符导出到 .csv

从 Google 电子表格中的一个单元格导出 DB2 DDL

Google Apps脚本 - 复制到现有电子表格

Google Apps 脚本 - 将一行数据从一个电子表格移动到另一个电子表格

尝试使用Google表格脚本将表格图表插入到电子邮件草稿中

将 Google Ads 数据导出到特定单元格范围