2015-04-07 2 views
0

У меня есть сценарий Google Apps, который я пишу, который объединяет несколько отчетов в сводный формат с разделителями табуляции (TSV). Тем не менее, я замечаю, что всякий раз, когда я пишу в файл, вкладки в моих строках преобразуются в пробелы. Есть ли другой строковый литерал, который я должен использовать?Табличные символы, преобразованные в пробелы в скрипте Google Apps

var content = 
     data.parameters.time[0] + "\t" + 
     data.parameters.url[0] + "\t" + 
     data.parameters.code_name[0] + "\t" + 
     data.parameters.app_name[0] + "\t" + 
     data.parameters.version[0] + "\t" + 
     data.parameters.cookies[0] + "\t" + 
     data.parameters.lang[0] + "\t" + 
     data.parameters.platform[0] + "\t" + 
     data.parameters.user_agent[0] + "\t" + 
     data.parameters.ex[0]; 
    fld.createFile(makeid() + ".tab", content, ContentService.MimeType.CSV); 

ответ

2

Нет ничего плохого с использованием \t строкового литерала - а вы используете неправильный MimeType перечисление, из ContentService. Методы DriveApp ожидают MimeTypeas a string. Попробуйте:

fld.createFile(makeid() + ".tab", content, MimeType.CSV); 

Вот отрывок, который показывает символы табуляции выжить файл записи, когда MimeType правильно установлен:

function myFunction() { 
    var content = 
     'time' + "\t" + 
     'url' + "\t" + 
     'code_name' + "\t" + 
     'etcetera'; 
    Logger.log("Initial TSV: " + JSON.stringify(content.split("\t"))); 

    var newFile = DriveApp.createFile("Delete-me" + ".tab", content, MimeType.CSV); 

    // Check our result, by reading back the file 
    var blob = newFile.getBlob(); 
    var docContent = blob.getDataAsString() 
    Logger.log("Result TSV: " + JSON.stringify(docContent.split("\t"))); 
} 

Журналы:

[15-04-07 14:53:08:767 EDT] Initial TSV: ["time","url","code_name","etcetera"] 
[15-04-07 14:53:09:542 EDT] Result TSV: ["time","url","code_name","etcetera"] 
+1

О, LOL! Я использовал неправильный MimeType. Благодаря! –

Смежные вопросы