20
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Google Apps Scriptを使ってエクセルファイルをスプレッドシートに変換する

Last updated at Posted at 2017-04-15

概要

この記事ではGoogle Apps Script(GAS)を使ってエクセルファイルをスプレッドシートに変換する方法について紹介させていただきます。ここではエクセルファイルの場所は①Google Drive上、あるいは②どこかのサイト上(直リンク可能)にあると想定します。

エクセルファイルをスプレッドシートに変換

準備

下記のサンプルスクリプトはスクリプトエディタへ貼り付けて使用してください。スクリプトを実行する前に次の手順でAPIを使用するための下記2点の設定を行ってください。どちらから行っても問題ありません。

  • スクリプトエディタ -> リソース -> Googleの拡張サービス -> DriveAPI v2を有効にする

  • スクリプトエディタ -> リソース -> Cloud Platform プロジェクト -> APIコンソールを表示 -> 左側のライブラリを選択 -> Drive APIを検索 -> DriveAPIを有効にする

1. エクセルファイルがGoogle Drive上にある場合

このサンプルは、Google Drive上にあるエクセルファイルをスプレッドシートに変換する状況を想定しています。fileID, folderID, filenameを入力して実行してください。

var fileID = "#####";
var folderID = "#####";
var filename = "filename";

var res = Drive.Files.insert({
  "mimeType": "application/vnd.google-apps.spreadsheet",
  "parents": [{id: folderID}],
  "title": filename
}, DriveApp.getFileById(fileID).getBlob());

もしも、ファイルIDが分からない場合は、下記のようなスクリプトでファイル名に対するファイルIDを取得することができます。もしも同一ファイル名が複数ある場合は複数のIDが返されます。

var filename = "filename";

var res = Drive.Files.list({
  q:      "title=filename and trashed=false",
  fields: "items(id)"
});

2. エクセルファイルがどこかのサイト上にある場合

このサンプルは、どこかのサイト上にエクセルファイルが存在し、そこからダウンロードしてスプレッドシートに変換する状況を想定しています。fileURL, folderID, filenameを入力して実行してください。このサンプルの動作確認を行った際は、DropBoxへサンプルをアップロードし、直リンクのURLを作成して行いました。

var fileURL = "https://#####/sample.xlsx";
var folderID = "#####";
var filename = "filename";

var res = Drive.Files.insert({
  "mimeType": "application/vnd.google-apps.spreadsheet",
  "parents": [{id: folderID}],
  "title": filename
}, UrlFetchApp.fetch(fileURL).getBlob());

DriveApp.getFileById(fileID)UrlFetchApp.fetch(fileURL)に変更するだけでOKです。
mimeTypeを変更することで、ワードやパワーポイントのファイルへの対応も可能です。mimeTypeの種類はこちらをご覧ください。

20
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?