Google Drive の Excel ファイルを読み取る方法:CData Excel Driver

f:id:sugimomoto:20210226142143p:plain

こんにちは。CData Software Japanリードエンジニアの杉本です。

以前、クラウドストレージサービス BoxにアップされているExcel ファイルを CData Excel Driverで読み取る方法を紹介したことがありました。

www.cdatablog.jp

最近「Google Driveでも同じことはできないの?」というご相談を頂きましたので、Google Drive版を紹介したいと思います。

www.cdata.com

なお、前回はODBC Driverを使用して、Power BI から接続しましたが、今回はJDBC Driverを使ってDbVisualizer から接続します。でも、基本的な動作はJDBC・ODBC・ADO.NET等すべてのテクノロジーで共通です。

必要なもの

対象のファイル

今回の対象のファイルは以下のExcelファイル「test.xlsx」です。

f:id:sugimomoto:20210226141649p:plain

Google Driverのマイドライブ直下に「ExcelTest」というフォルダを作って、配置しました。

f:id:sugimomoto:20210226141654p:plain

なお、Google Driveであれば、Spreadsheetを使うシチュエーションも多いと思います。もし Spreadsheetを読み取りたい場合は、以下のGoogle Sheets Driverを使ってみてください。

https://www.cdata.com/jp/drivers/gsheets/

f:id:sugimomoto:20210226141700p:plain

CData Excel JDBC Driverのインストール

次に今回必要となる CData Excel JDBC Driverをインストール します。

以下のURLから評価版をダウンロードしてください。

https://www.cdata.com/jp/drivers/excel/jdbc/

ダウンロード後「setup.jar」ファイルを実行して、マシンへのインストールを進めます。

f:id:sugimomoto:20210226141706p:plain

インストール後、接続設定を行います。

CData JDBC Driverでは、実行用のファイルである「cdata.jdbc.execel.jar」ファイルを使うことで、接続テストを実施できます。

以下のフォルダに移動して、コマンドプロンプトを立ち上げて

cd C:\Program Files\CData\CData JDBC Driver for Excel 2020J\lib

f:id:sugimomoto:20210226141712p:plain

javaで対象ファイルを立ち上げます。

java -jar cdata.jdbc.excel.jar

すると、以下のような接続テストツールが立ち上がりますので、ここで接続確認を行います。

f:id:sugimomoto:20210226141718p:plain

必要な接続文字列は以下のようになります。

jdbc:excel:AuthScheme="OAuth";URI="gdrive://Excel/text.xlsx";InitiateOAuth="GETANDREFRESH";

プロパティ名 備考
AuthScheme OAuth Google DriverではOAuthによる接続を利用するので、OAuthを指定します。
URI gdrive://Excel/text.xlsx 対象のExcelファイルのパスを指定します。Google Drive用のパスである「gdrive://」に続いて、ファイルパスを入力してください。
InitiateOAuth GETANDREFRESH OAuth接続時にCData Driver本体がAccessToken取得処理を実施するようにGETANDREFRESHを指定します。

f:id:sugimomoto:20210226141725p:plain

必要な接続文字列を入力した状態で「接続テスト」をクリックすることで、ブラウザが立ち上がり、認証プロセスが開始されます。

まず任意のアカウントでログインを行います。

f:id:sugimomoto:20210226141732p:plain

使用中のビルドによっては、以下のようなメッセージが表示される場合があります。その場合は以下のリンクをクリックしてください。

f:id:sugimomoto:20210226141737p:plain

あとは、アクセス許可を確認して、「許可」をクリックします。

f:id:sugimomoto:20210226141744p:plain

「接続テストに成功しました」というメッセージが表示されればOKです。

f:id:sugimomoto:20210226141750p:plain

接続文字列は後で利用するので、控えておきましょう。

f:id:sugimomoto:20210226141756p:plain

DbVizualizerから接続してみる

それでは、DbVisualizerから対象のExcelファイルに接続してみましょう。

まずDbVisualizerを立ち上げて、CData Excel JDBC Driverに接続できるように、jarファイルを登録します。

「Tools」→「Driver Mamanger」に移動し

f:id:sugimomoto:20210226141800p:plain

新しくDriver Settingsを作成して、任意の名称を指定の上、Driver Jar ファイル「C:\Program Files\CData\CData JDBC Driver for Excel 2020J\lib\cdata.jdbc.excel.jar(バージョンによってフォルダパスが異なるので注意)」を登録します。

f:id:sugimomoto:20210226141805p:plain

あとは、新しくDatabase Connectionを作成し、先程接続テストを行った接続文字列をDataBase URLに貼り付ければ準備は完了です。

f:id:sugimomoto:20210226141810p:plain

Table一覧にシート名が表示され、無事Google Drive上のExcelファイルのデータを読み取ることができました。

f:id:sugimomoto:20210226141815p:plain

おわりに

今回の記事ではGoogle DriveのExcelファイルに接続する方法を紹介しましたが、Excel Driverは他のクラウドストレージサービスやHTTP・FTP上のファイルも読み取ることが可能です。

cdn.cdata.com

  • HTTP またはHTTPS
  • Amazon S3
  • Azure Blob Storage
  • Azure Data Lake Store Gen1
  • Azure Data Lake Store Gen2
  • Azure Data Lake Store Gen2 with SSL
  • Google Drive
  • OneDrive
  • Box
  • Dropbox
  • SharePoint Online SOAP
  • SharePoint Online REST
  • FTP またはFTPS
  • SFTP
  • Wasabi
  • Google Cloud Storage
  • Oracle Cloud Storage

もし接続でわからない点があれば、お気軽にテクニカルサポートまで問い合わせしてみてください。

https://www.cdata.com/jp/support/submit.aspx

トライアル・お問い合わせ

関連コンテンツ