Google Таблицы – это мощный инструмент для управления и анализа данных, а Google Apps Script позволяет расширить его функциональность за счет автоматизации задач. Одной из распространенных задач является сохранение диапазона данных из таблицы Google в файл CSV. В этой статье мы рассмотрим различные методы с примерами кода для выполнения этой задачи.
Метод 1: использование встроенной функции экспорта.
Google Таблицы предоставляют встроенную функцию экспорта, которая позволяет сохранить лист или диапазон в виде файла CSV. Вот как его можно использовать в скрипте:
function saveRangeToCSV() {
// Get the active sheet
var sheet = SpreadsheetApp.getActiveSpreadsheet();
// Get the range you want to save
var range = sheet.getRange("A1:C10");
// Export the range as a CSV file
var csvFile = sheet.getName() + ".csv";
var csvContent = range.getValues().map(row => row.join(",")).join("\n");
DriveApp.createFile(csvFile, csvContent, "text/csv");
}
Метод 2. Использование класса Utilities
Класс Utilities в Google Apps Script предоставляет метод под названием newBlob()
, который позволяет создавать файл CSV. Вот пример:
function saveRangeToCSV() {
// Get the active sheet
var sheet = SpreadsheetApp.getActiveSpreadsheet();
// Get the range you want to save
var range = sheet.getRange("A1:C10");
// Convert the range to CSV content
var csvContent = range.getValues().map(row => row.join(",")).join("\n");
// Create a CSV file
var blob = Utilities.newBlob(csvContent, "text/csv", "data.csv");
var file = DriveApp.createFile(blob);
}
Метод 3. Использование Drive API
Вы также можете использовать Drive API, чтобы сохранить диапазон в виде CSV-файла. Этот метод требует включения Drive API в вашем проекте Google Apps Script. Вот пример:
function saveRangeToCSV() {
// Get the active sheet
var sheet = SpreadsheetApp.getActiveSpreadsheet();
// Get the range you want to save
var range = sheet.getRange("A1:C10");
// Convert the range to CSV content
var csvContent = range.getValues().map(row => row.join(",")).join("\n");
// Create a CSV file using the Drive API
var file = Drive.Files.insert(
{
title: "data.csv",
mimeType: "text/csv"
},
Utilities.newBlob(csvContent)
);
}
В этой статье мы рассмотрели различные способы сохранения диапазона в Google Таблицах в файл CSV с помощью скрипта Google Apps. Независимо от того, предпочитаете ли вы использовать встроенную опцию экспорта, класс «Утилиты» или Drive API, есть решение, которое соответствует вашим потребностям. Автоматизация этого процесса может значительно улучшить рабочий процесс при работе с большими наборами данных в Google Таблицах.