GASで簡単に!Excelファイルをスプレッドシートに変換する方法
ExcelのファイルをGoogleスプレッドシートに変換する方法がよくわからなくて、困ってるんです…。

猫男

catman
よし、catmanがGASを使ってExcelファイルをスプレッドシートに変換する方法を教えてやろう。
GASでExcelファイルをスプレッドシートに変換する基本
GASはGoogleドライブ上のファイルを操作するのが得意だ。ドライブに保存されたXLSXファイルを読み込んでスプレッドシートに変換できるのさ。
ステップ1: ドライブ上のファイルを取得しよう
まずはGoogleドライブからXLSXファイルを取得する必要がある。
function convertExcelToSheet() {
const fileId = 'あなたのファイルID';
const file = DriveApp.getFileById(fileId);
Logger.log('ファイルを取得しました: ' + file.getName());
}
DriveApp.getFileById()で、指定したファイルIDのファイルを取得できる。
ステップ2: ドライブAPIでスプレッドシートに変換
取得したXLSXファイルをスプレッドシートに変換するには、Drive APIを使う。
function convertExcelToSheet() {
const fileId = 'あなたのファイルID';
const file = DriveApp.getFileById(fileId);
const blob = file.getBlob();
const resource = {
title: file.getName().replace('.xlsx', ''),
mimeType: MimeType.GOOGLE_SHEETS
};
Drive.Files.insert(resource, blob, { convert: true });
Logger.log('変換が完了しました: ' + resource.title);
}
Drive.Files.insert()を使って、XLSXファイルをスプレッドシートに変換し、Googleドライブに保存することができる。
やってみるとそんなに難しくないんですね!ドライブAPIの力ってすごい…!

猫男
GASでの変換を成功させるポイント
ファイルIDを間違えずに指定すること。
変換後のデータが資料として使えるように、データの内容確認を行おう。
エラー処理も忘れずに
変換に失敗することもある。そのため、エラーハンドリングを考えておくと良い。
try {
// 上記の変換処理を実行
} catch (e) {
Logger.log('変換中にエラーが発生しました: ' + e.message);
}
try-catchでエラーをキャッチしてログに出力し、トラブルを未然に防げる。
これでXLSXファイルをスプレッドシートに変換できそうです!ありがとうございます、catmanさん!

猫男

catman
その調子だ。GASを使えば、もっと効率的に仕事が進むようになる。
練習問題
Googleドライブに保存されたBook1.xlsxを、GASを使ってスプレッドシートに変換しよう。
解答・解説
function convertExcelToSheet() {
const fileId = 'Book1ファイルのID';
const file = DriveApp.getFileById(fileId);
const blob = file.getBlob();
const resource = {
title: file.getName().replace('.xlsx', ''),
mimeType: MimeType.GOOGLE_SHEETS
};
try {
Drive.Files.insert(resource, blob, { convert: true });
Logger.log('変換が完了しました: ' + resource.title);
} catch (e) {
Logger.log('変換中にエラーが発生しました: ' + e.message);
}
}
このスクリプトは、DriveApp.getFileById(fileId)を使って指定したIDのファイルを取得し、Drive.Files.insert()でXLSXファイルをスプレッドシートとして変換・保存する。この間違いの一つは、ファイルIDの指定が正確でない場合だ。正しいIDを確認してから処理を行うと良い。