我使用Query https://www.googleapis.com/drive/v3/files/FileID/export?mimeType=text/tab-separated-values下载Google Sheets。我的工作表中有不同的选项卡。有没有一种方法可以下载工作表中的所有选项卡或带有名称的特定工作表?提前谢谢。
发布于 2017-04-11 22:31:27
基于此link,您可以使用gID下载特定的工作表。每个工作表都有一个gID,您可以在电子表格的gID中找到特定工作表的URL。您可以使用此链接下载特定的sheet https://docs.google.com/spreadsheets/d/<KEY>/export?format=xlsx&gid=<GID>。
示例:
https://docs.google.com/spreadsheets/d/1D5vzPaOJOx402RAEF41235qQTOs28_M51ee5glzPzj0/export?format=xlsx&gid=1990092150
KEY是电子表格的唯一ID。
您还可以参考此thread,了解如何使用Google Apps脚本将电子表格中的表格导出到Google Apps中的csv。
找不到任何内置的方法,所以I wrote a script可以在Google Sheets中使用
只需将其粘贴到脚本编辑器中并运行
函数onOpen() { var ss = SpreadsheetApp.getActiveSpreadsheet();var csvMenuEntries = {name:“导出为csv文件”,functionName:"saveAsCSV"};ss.addMenu("csv",csvMenuEntries);};函数saveAsCSV() { var ss = SpreadsheetApp.getActiveSpreadsheet();var sheets = ss.getSheets();//从电子表格的名称创建文件夹var folder = DocsList.createFolder(ss.getName().toLowerCase().replace(/ /g,'_') +'_csv_‘+ new Date().getTime());for (var i=0;i< sheets.length;i++) { var sheet = sheetsi;//在工作表名称fileName = sheet.getName() + ".csv“后附加”.csv“扩展名;//将所有可用的工作表数据转换为csv格式var csvFile = convertRangeToCsvFile_(fileName,sheet);//在文档列表中以给定名称和csv数据表(fileName,csvFile)创建文件;}Browser.msgBox(‘文件在名为’+folder.getName()的文件夹中等待);}函数convertRangeToCsvFile_(csvFileName,sheet) { //在电子表格var activeRange =sheet.getDataRange()中获取可用的数据范围;尝试{ var convertRangeToCsvFile_= activeRange.getValues();var csvFile =未定义;//如果(data.length > 1) { var csv = "";for (var row = 0;row < data.length;row++) { for (var csvFile= 0;col < datarow.length;col++) { if (datarow.toString().indexOf(",") != -1) {col++= "\"“+ datarow + "\"";}} //连接每行的列//在每行的末尾添加回车符,除非(row < data.length-1) { csv += datarow.join(",") + "\r\n";} else { csv += datarow;}} csvFile = csv;} return csvFile;} catch(err) { Logger.log(err);Browser.msgBox(err);} }
https://stackoverflow.com/questions/43328931
复制相似问题