Google Spreadsheets columns export to CSV

只愿长相守 提交于 2019-12-11 19:55:47

问题


I would like to create csv file from Google spreadsheet automatically (after clicking button). But I don't want to export whole spreadsheet but just few columns. How can I do this?

eg. spreadsheets has 8 columns and I would like to export first three to csv with values like: "column1 value; column2 value; column3 value; column1 value; column2 value; ... "

Thank you


回答1:


here you go: (you need to publish that if you want it to work) it will export the selection that you are making

function onOpen() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var entries = [{
    name : "make CSV",
    functionName : "myFunction"
  }];
  spreadsheet.addMenu("Script Center Menu", entries);
};
function myFunction() {
  var a1 = SpreadsheetApp.getActiveRange().getA1Notation();
  var url = ScriptApp.getService().getUrl()+"?ref="+a1+"&sheet="+SpreadsheetApp.getActiveSheet().getName()+"&ssid="+SpreadsheetApp.getActive().getId();
  var vals = SpreadsheetApp.getActiveRange().getValues();
  var html = "here the download Link <a href='"+url+"' >"+url+"</a>";
  //SpreadsheetApp.getActive().show(HtmlService.createHtmlOutput(html)); // ol sheet style
  SpreadsheetApp.getUi().showModalDialog(HtmlService.createHtmlOutput(html), 'download box'); // new sheet style
}


function doGet(e){
  var ref = e.parameter.ref;
  var sheet = e.parameter.sheet;
  var ssid = e.parameter.ssid;
  var out = ContentService.createTextOutput(SpreadsheetApp.openById(ssid).getSheetByName(sheet).getRange(ref).getValues().join("\n")).downloadAsFile("out.csv");
  return out;
}


来源:https://stackoverflow.com/questions/27150751/google-spreadsheets-columns-export-to-csv

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!