🍀
xlsxファイルをスプレッドシートに変換するGAS
サービスの追加でDrive APIを選択
xlsx2spreadsheet.gs
/**
* xlsxのファイルIDから指定したフォルダにスプレッドシートを出力する
* @param {string} xlsxId xlsxのファイルID
* @param {string} folderId 出力先フォルダID
* @returns {SpreadsheetApp.Spreadsheet} 変換後のスプレッドシート
*/
function createSpreadsheetFromXlsx(xlsxId, folderId) {
const file = DriveApp.getFileById(xlsxId);
const options = {
title: file.getName(),
mimeType: MimeType.GOOGLE_SHEETS,
parents: [{id: folderId}]
};
let result = null;
let counter = 1;
while (result === null && counter < 3) {
// user limit exceeded exception対策
Utilities.sleep(counter * 10);
counter += 1;
try {
result = Drive.Files.insert(options, file.getBlob());
} catch (e) {
console.error(e);
}
}
return SpreadsheetApp.openById(result.id);
}
Discussion