我在谷歌Apps腳本創建的文件如下如何使用Google Apps腳本下載創建的csv文件?
DocsList.createFile(
"test.csv",
"Row1Col1,Row1Col2 \r\n Row2Col1,RowCol2 \r\n Row3Col1,Row3Col2");
如何以編程方式下載(例如經由彈出下載對話框)?
我在谷歌Apps腳本創建的文件如下如何使用Google Apps腳本下載創建的csv文件?
DocsList.createFile(
"test.csv",
"Row1Col1,Row1Col2 \r\n Row2Col1,RowCol2 \r\n Row3Col1,Row3Col2");
如何以編程方式下載(例如經由彈出下載對話框)?
嘗試使用ContentService,可以觸發下載,甚至通過TextOutput.downloadAsFile method設置文件名。您也可以設置返回數據的內容MIME類型,但僅限於predefined enum constant。見their examples。
如果你想顯示在客戶端的下載對話框,然後下面的代碼工作。這是一個CSV文件的例子。
return ContentService.createTextOutput("bbb,aaa,ccc").downloadAsFile("MyData.csv")
.setMimeType(ContentService.MimeType.CSV);
無法在Chrome 55.0.2883.95(64位)爲我工作。我創建了一個附加到包含上述功能的電子表格的Apps腳本。當我嘗試運行該功能時,我看到「準備執行」,然後是「運行功能...」。沒有SaveAs對話框出現並且沒有文件被寫入。還有什麼需要使其工作? –
同樣在這裏,沒有任何反應...... –
下載與應用程序腳本,你需要可以發佈應用程序文件,並使用doGet()方法(否則「downloadFileAs」將無法正常工作)
OR ...
在Drive中創建文件,並在對話框中提供一個鏈接。 這裏是連接兩個選項,一個用戶需要在其他中記錄不taken from here
var dat=getFileDataFromAnotherFunction();
var file = DriveApp.createFile('name.csv',dat);
var t = HtmlService.createTemplateFromFile('DownloadDialog');
t.url1 = getDlUrl(file);
t.url2 = file.getDownloadUrl().replace('&gd=true','')
rt = t.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME);
uia.showModalDialog(rt,'Download the csv')
其中「DownloadDialog.html」
是以下文件(另在腳本編輯器)
<div>
<a target="_blank" href="<?= url1 ?>"> l1 </a>
<br>
<hr>
<a target="_blank" href="<?= url2 ?>"> link 2 </a>
</div>
'.setSandboxMode()'不再需要了(我想它甚至會在拋出錯誤時調用) –
謝謝,但每當我嘗試在JsonP示例中提供的代碼,我得到以下錯誤:「未捕獲的SyntaxError:意外的令牌<」,任何想法如何測試它? –
我爲最後一條評論中存在的問題添加了一個新線程,如果您也可以在這個問題上伸出援助之手,那將非常棒!您可以通過以下鏈接找到它:http://stackoverflow.com/questions/14041124/jsonp-with-google-apps-script,謝謝:) –