ExcelをGoogleSpreadSheetに一括変換するGAS
古の資料を発掘したものの、それはExcel・・・。
一個ずつていねいに変換する・・・って、日が暮れてまうわ!そんなていねいな暮らしはしたくない!ということで作成しました。
下準備
①フォルダをつくります。
出力元フォルダ:Excelファイルをがさっといれてあげます
出力先フォルダ:この時点ではまだ空です
②DriveAPIを有効にします。
なお、利用しているDriveAPIはv3です。
![](https://assets.st-note.com/img/1716343893588-IGrVBzrtOY.png?width=800)
③スクリプトプロパティを設定する
出力元フォルダと出力先フォルダのIDをそれぞれ設定します。
IDはURLの青い四角の部分です!
![](https://assets.st-note.com/img/1716344218336-mOmm4DL5XM.png?width=800)
![](https://assets.st-note.com/img/1716344450164-v1BTe0ucoj.png?width=800)
コード
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})
}
}
この記事が気に入ったらサポートをしてみませんか?