Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function onOpen() {
- var ss = SpreadsheetApp.getActiveSpreadsheet();
- var csvMenuEntries = [{
- name: "export as csv files",
- functionName: "saveAsCSV"
- }];
- ss.addMenu("csv", csvMenuEntries);
- };
- function saveAsCSV() {
- // gets the destination folder by their ID.
- var folder = DriveApp.getFolderById("1kWASyT9zzN_HtqMDdKr8M64SWDvP0oQR");
- // Get sheet's name
- var sheet = SpreadsheetApp.getActiveSpreadsheet();
- // append ".csv" extension to the sheet name
- var filename = sheet.getName() + ".csv";
- // remove files inside the folder
- var folderId = "1kWASyT9zzN_HtqMDdKr8M64SWDvP0oQR";
- var getfolder = DriveApp.getFolderById(folderId);
- var files = getfolder.getFilesByName(filename);
- if (files.hasNext()) {
- files.next().setTrashed(true);
- }
- // convert all available sheet data to csv format
- var csvFile = convertRangeToCsvFile_(filename, sheet);
- // create a file in the Docs List with the given name and the csv data
- folder.createFile(filename, csvFile);
- };
- function convertRangeToCsvFile_(csvFileName, sheet) {
- // get available data range in the spreadsheet
- var activeRange = sheet.getDataRange();
- try {
- var data = activeRange.getValues();
- var csvFile = undefined;
- // loop through the data in the range and build a string with the csv data
- if (data.length > 1) {
- var csv = "";
- for (var row = 0; row < data.length; row++) {
- for (var col = 0; col < data[row].length; col++) {
- if (data[row][col].toString().indexOf(",") != -1) {
- data[row][col] = "\"" + data[row][col] + "\"";
- }
- }
- // join each row's columns
- // add a carriage return to end of each row, except for the last one
- if (row < data.length - 1) {
- csv += data[row].join(",") + "\r\n";
- } else {
- csv += data[row];
- }
- }
- csvFile = csv;
- }
- return csvFile;
- } catch (err) {
- Logger.log(err);
- Browser.msgBox(err);
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement