我正在使用 Google 表格为我正在做的事情制作一堆数字数据的原型。
有没有办法将子集导出到文本文件?
实际上,我的目标是导出一个可以直接包含在另一个项目的构建中的文件。
那么有没有办法生成一个文本文件供下载?
我正在使用 Google 表格为我正在做的事情制作一堆数字数据的原型。
有没有办法将子集导出到文本文件?
实际上,我的目标是导出一个可以直接包含在另一个项目的构建中的文件。
那么有没有办法生成一个文本文件供下载?
如果您有 Google Apps 帐户,则可以使用DocsList.createFile()创建文本文件并将其保存在您的文档列表中。
本教程的第 3 节展示了如何将电子表格的选定范围另存为 CSV 格式的文档列表中的文件。它可以很容易地修改以保存为不同的格式。
我在 Google 电子表格的某些列中有我的项目文本。我从 Google 获取了这个脚本教程 并将其修改为仅选择特定范围(在下面的示例中为 D4:D)。
它会在您的云端硬盘根文件夹中生成一个 CSV 文件。它仍然没有下载文件 - 我现在正在处理这个问题。
希望能帮助到你!
/* 下面的代码是对本教程的修改:https ://developers.google.com/apps-script/articles/docslist_tutorial#section3 */
/* The code below is a modification from this tutorial: https://developers.google.com/apps-script/articles/docslist_tutorial#section3 */
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var csvMenuEntries = [{name: "Save as CSV file", functionName: "saveAsCSV"}];
ss.addMenu("CSV", csvMenuEntries);
}
function saveAsCSV() {
// Name the file
fileName = "quests.csv";
// Convert the range data to CSV format
var csvFile = convertRangeToCsvFile_(fileName);
// Create a file in the root of my Drive with the given name and the CSV data
DriveApp.createFile(fileName, csvFile);
}
function convertRangeToCsvFile_(csvFileName) {
// Get from the spreadsheet the range to be exported
var rangeToExport = SpreadsheetApp.getActiveSpreadsheet().getRange("D4:D");
try {
var dataToExport = rangeToExport.getValues();
var csvFile = undefined;
// Loop through the data in the range and build a string with the CSV data
if (dataToExport.length > 1) {
var csv = "";
for (var row = 0; row < dataToExport.length; row++) {
for (var col = 0; col < dataToExport[row].length; col++) {
if (dataToExport[row][col].toString().indexOf(",") != -1) {
//dataToExport[row][col] = "\"" + dataToExport[row][col] + "\"";
dataToExport[row][col] = dataToExport[row][col];
}
}
// Join each row's columns
// Add a carriage return to end of each row, except for the last one
if (row < dataToExport.length-1) {
csv += dataToExport[row].join(",") + "\r\n";
}
else {
csv += dataToExport[row];
}
}
csvFile = csv;
}
return csvFile;
}
catch(err) {
Logger.log(err);
Browser.msgBox(err);
}
}