GASで簡単に!Excelファイルをスプレッドシートに変換する方法

ExcelのファイルをGoogleスプレッドシートに変換する方法がよくわからなくて、困ってるんです…。
猫男
猫男
catman
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
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を確認してから処理を行うと良い。