スプレッドシートにExcelを変換するために、DriveAppはそれを行うことはできません。そして、私は私はこのような関数を呼び出すGoogleはいくつかのドキュメントに
function downloadFile(fileURL,folder) {
var fileName = "";
var fileSize = 0;
var fileId = "";
var response = UrlFetchApp.fetch(fileURL, {muteHttpExceptions: true});
var rc = response.getResponseCode();
if (rc == 200) {
var fileBlob = response.getBlob() //.getAs(MimeType.GOOGLE_SHEETS) - get error
var folder = DriveApp.getFolderById(folder);
if (folder != null) {
var file = folder.createFile(fileBlob);//.getAs(MimeType.GOOGLE_SHEETS) - get error
fileName = file.getName();
fileSize = file.getSize();
fileId = file.getId();
}
}
//file.setMimeType("application/vnd.google-apps.spreadsheet") - not work
//makeCopy('ssssss', folder, {convert: true}) - get error
var fileInfo = [ rc, fileName, fileSize, fileId ];
return fileInfo;
}
を変更したことを、推測します。ドライブAPIを使用する必要があります。アドバンスドGoogleサービスのDrive API v2を使用できます。 「ドライブAPI v2」は、Google AppsスクリプトとGoogle APIサービスのドライブAPIを有効にすることで使用できます。
使用方法は次のとおりです。スクリプトエディタで
、リソースを選択>高度なGoogleの表示されたダイアログでサービス
を、ドライブのAPI v2のオン/オフスイッチをクリックしてください。
ダイアログの下部で、Google APIコンソールのリンクをクリックします。
コンソールで、フィルタボックスをクリックし、API「ドライブAPI」の名前の一部を入力して、名前をクリックします。
次の画面で、[Enable API]をクリックします。
Developers Consoleを閉じてスクリプトエディタに戻ります。ダイアログで[OK]をクリックします。有効にした高度なサービスがオートコンプリートで利用可能になりました。
詳細情報はhttps://developers.google.com/apps-script/guides/services/advancedです。
サンプルスクリプトでは、最初にファイルがfileURL
(Excelファイル)がblobとしてダウンロードされます。 blobデータは、ドライブAPIを使用してGoogleドライブにアップロードされます。この場合、アクセストークンは必要ありません。 downloadFile()
の場合、入力データと出力データはdownloadFile()
と同じです。ファイル名はfileURL
から取得されます。
スクリプト:
function downloadFile(fileURL, folder) {
var filename = fileURL.match(".+/(.+?)([\?#;].*)?$")[1];
var response = UrlFetchApp.fetch(fileURL);
var rc = response.getResponseCode();
var blob = response.getBlob();
var resource = {
"mimeType": "application/vnd.google-apps.spreadsheet",
"parents": [{id: folder}],
"title": filename
};
var res = Drive.Files.insert(resource, blob);
var fileInfo = [rc, res.title, blob.getBytes().length, res.id];
return fileInfo;
}
結果:
[
200,
sample.xlsx,
10000.0,
## file id ##
]
私はあなたの質問を誤解している場合、私は申し訳ありません。
はい!これは私が探していることです、ありがとう!私はちょうど気づかない、なぜGoogleはこれのための単純な機能を持っていない。 – Davagaz
ようこそ。私はあなたを助けることができてうれしいです。 – Tanaike