让我们解释一下我的请求背景:我试图在.txt列表文件中输出谷歌电子表格的内容,以UTF-16编码,因为我在这个.txt文件的后续任务中需要这个charset。
实际上,我在右侧文件夹中输出了正确的输出,并且名称是我想要的...但是字符集是UTF-8(我已经用基本文本编辑器检查)。
问题是我无法通过google脚本找到有关charset操作的任何文档。我现在唯一的解决方案是在sublim文本中进行基本的手动charset操作......
这是我的代码(翻译自法语)。
感谢您的回复!
马克西姆
function export() {
//sheet manipulation part
//Get the sheet and set data range i need
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getDataRange();
var values = sheet.getRange(2, 1, sheet.getLastRow()-1, sheet.getLastColumn()).getValues();
var text = values.map(function (a) {return a.join('\t');}).join('\n');
//Path setting and export part
// Get sheet info, define path and create file
var id = SpreadsheetApp.getActiveSpreadsheet().getId();
var idString = id.toString();
var thisFile = DriveApp.getFileById(idString);
var parentFold = thisFile.getParents();
var folder = parentFold.next();
var theId = folder.getId();
var targetFolder = DriveApp.getFolderById(theId);
targetFolder.createFile('liste du ' + new Date() + '.txt', text, MimeType.PLAIN_TEXT);
}
答案 0 :(得分:0)
这已经在SO post:
中得到了解答Utilities.newBlob("").setDataFromString("foo", "UTF-8").getDataAsString("UTF-16")
答案 1 :(得分:0)
这对我有帮助:
var string = 'your text here';
var blob = Utilities.newBlob('').setDataFromString(string, "UTF-16");
blob.setName('your_file_name.txt');
var file = DriveApp.createFile(blob);
结果createFile方法将使用UTF-16。