ExcelをGoogleSpreadSheetに一括変換するGAS

古の資料を発掘したものの、それはExcel・・・。
一個ずつていねいに変換する・・・って、日が暮れてまうわ!そんなていねいな暮らしはしたくない!ということで作成しました。

下準備

①フォルダをつくります。
出力元フォルダ:Excelファイルをがさっといれてあげます
出力先フォルダ:この時点ではまだ空です

②DriveAPIを有効にします。
なお、利用しているDriveAPIはv3です。

③スクリプトプロパティを設定する
出力元フォルダと出力先フォルダのIDをそれぞれ設定します。
IDはURLの青い四角の部分です!

コード

const FOLDER_ID_EXCEL = PropertiesService.getScriptProperties().getProperty("FOLDER_ID_EXCEL");
const FOLDER_ID_SPREAD = PropertiesService.getScriptProperties().getProperty("FOLDER_ID_SPREAD");

/*** 
 * Excelファイルをスプシに一括変換してあげたい!
 * 下準備
 * エクセル用のフォルダ(出力元)と、スプシ用(出力先)のフォルダをマイドライブに作っておく
 * DriveAPIを有効にする
***/

function main() {
    // フォルダからExcelファイルを取得
    const excel_files = DriveApp.getFolderById(FOLDER_ID_EXCEL).getFiles();

    // 出力先を取得
    const output_folder = DriveApp.getFolderById(FOLDER_ID_SPREAD);

    // Excelファイルをスプレッドシートに変換
    while(excel_files.hasNext()) {
        let file = excel_files.next();

        options = {
            name: file.getName(),
            mimeType: MimeType.GOOGLE_SHEETS,
            parents: [output_folder.getId()]
        };

        // 出力先へfileをPOSTする
        Drive.Files.create(options, file.getBlob(),{supportsAllDrives: true})
    }
}

この記事が気に入ったらサポートをしてみませんか?