Google App Komut Dosyası HtmlService
ve html formunu kullanarak geliştirilmiş bir web uygulaması var, SpreadsheetApp
kullanarak Google sürücüsünde excel sayfasını doldurarak. Ve bir başka bölüm, verileri excel dosyası olarak indirmek için ContentService
'u çağırıyor.Google App Komut Dosyası İçeriğiServis downloadAsFile çalışmıyor
function doGet(e) {
// Read excel sheet
//getAppFile();
// Render the application from HTML template
return HtmlService.createTemplateFromFile('index').evaluate()
.setTitle('Go Smart')
.setSandboxMode(HtmlService.SandboxMode.IFRAME);
}
function downloadDoubleQuateCsvFile() {
var sheetId = PropertiesService.getScriptProperties().getProperty('sheetId');
var ss = SpreadsheetApp.openById(sheetId).getActiveSheet();
//var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var maxColumn = ss.getLastColumn();
var maxRow = ss.getLastRow();
var data = ss.getRange(1, 1, maxRow, maxColumn).getValues();
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] + "\"";
}
}
if (row < data.length - 1) {
csv += data[row].join(",") + "\r\n";
} else {
csv += data[row];
}
}
csvFile = csv;
}
return makeCSV(csvFile);
}
function makeCSV(csvString) {
var csvFileName = 'test.csv';
var output = ContentService.createTextOutput();
output.setMimeType(ContentService.MimeType.CSV);
output.setContent(csvString);
output.downloadAsFile(csvFileName);
return output;
}
Bu komut dosyası yalnızca konsoldaki sayfa başlık ayrıntıları nesnesini veriyor ve herhangi bir dosya indirmiyor.
<button class="btn btn-success btn-sm" onclick="google.script.run.downloadDoubleQuateCsvFile()">Export</button>
İkinci işlevde dönüş ekledikten sonra, böyle bir hata alıyorum.
Error: The script completed but the returned value is not a supported return type.
Not: Ben verilerle
ile sürücüsüne excel dosyası
Bu, yalnızca yayınlanan bir URL'den istenen doGet() veya doPost() öğesinden dönen çalışır. –
@SpencerEaston doGet'den() Çoktan HtmlService oluşturup döndürüyorum. Bunu başarmanın başka bir yolu var mı? – devo
Örneğinizde doGet() öğesini göremiyorum. Ve örneğinizde btw, makeCSV (csvFile) 'i iade etmediniz. –