0

Googleのスプレッドシートの内容を.txt表形式のファイルでUTF-16でエンコードして出力しようとしています。この文字セットがこの.txtの後のタスクで必要になるためです。ファイル。DriveApp.createFileを使用してGoogleスクリプトで出力ファイルのエンコーディングを変更しますか?

実際には、右のフォルダに正しい出力が得られていますが、名前は必要ですが、文字セットはUTF-8です(基本的なテキストエディタで確認しました)。

問題は、Googleスクリプトによる文字セット操作に関するドキュメントが見つかりません。今私の唯一の解決策は、サブリムテキストの基本的な手動文字セット操作です。

私のコードはフランス語から翻訳されています。

あなたの返信ありがとうございます!

これは、既に回答されている

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

マキシムこのSO post

Utilities.newBlob("").setDataFromString("foo", "UTF-8").getDataAsString("UTF-16") 
+0

ねえ、あなたの答えに感謝しかし、ファイル内の文字は、おそらくエンコードされているので、これは、適切なソリューションではありませんUTF-16では、** DriveApp.createFileで**エクスポートされた**ファイルはUTF-16でエンコードされていません。もう一度。 – Maxime

関連する問題