JRuby からExcel Online にデータ連携

リアルタイムExcel Online に連携するシンプルなJRuby アプリケーションを作成します。

加藤龍彦
デジタルマーケティング

最終更新日:2022-10-23

この記事で実現できるExcel Online 連携のシナリオ

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

JRuby はRuby プログラミング言語の高性能で安定した、完全にスレッド化されたJava 実装です。CData JDBC Driver for ExcelOnline を使用すると、JRuby からリアルタイムExcel Online へのデータ連携を簡単に実装できます。ここでは、Excel Online に接続し、クエリを実行して結果を表示する簡単なJRuby アプリを作成する方法を説明します。

Excel Online のデータにJDBC で接続

アプリを作成する前に、JDBC Driver のJAR ファイルのインストール場所をメモします。 (通常はC:\Program Files\CDatat\CData JDBC Driver for ExcelOnline\libにあります。)

JRuby は、JDBC をネイティブにサポートしているため、簡単にExcel Online に接続してSQL クエリを実行できます。java.sql.DriverManager クラスのgetConnection 関数を使用してJDBC 接続を初期化します。

ワークブックに接続するには、Excel Online への認証を提供し、 次のプロパティを設定します。

  • Workbook: ワークブックの名前かId に設定。利用可能なワークブックに関する情報のリストを表示する場合は、認証後にWorkbooks ビューに対してクエリを実行します。

  • UseSandbox: Sandbox アカウントのワークブックに接続している場合はtrue に設定。それ以外の場合は、これを空のままにしてプロダクションアカウントに接続します。

OAuth 認証を使うこともできます。ユーザー資格情報の接続プロパティを設定せずに接続できます。接続すると、CData 製品はデフォルトブラウザでOAuth エンドポイントを開きます。ログインして、CData 製品にアクセス許可を与えます。CData 製品がOAuth プロセスを完了します。 他のOAuth 認証フローについては、ヘルプドキュメントの「OAuth 認証の使用」を参照してください。

ビルトイン接続文字列デザイナー

JDBC URL の構成については、Excel Online JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。

java -jar cdata.jdbc.excelonline.jar

接続プロパティを入力し、接続文字列をクリップボードにコピーします。

Using the built-in connection string designer to generate a JDBC URL (Salesforce is shown.)

以下はExcel Online の一般的なJDBC 接続文字列です。

jdbc:excelonline:InitiateOAuth=GETANDREFRESH

Excel Online のデータへの接続性を持つJRuby アプリを作成

新しいRuby ファイル(例: ExcelOnlineSelect.rb) を作成してテキストエディタで開き、次のコードをファイルにコピーします。

require 'java' require 'rubygems' require 'C:/Program Files/CData/CData JDBC Driver for ExcelOnline 2018/lib/cdata.jdbc.excelonline.jar' url = "jdbc:excelonline:InitiateOAuth=GETANDREFRESH" conn = java.sql.DriverManager.getConnection(url) stmt = conn.createStatement rs = stmt.executeQuery("SELECT Id, Column1 FROM Test_xlsx_Sheet1") while (rs.next) do puts rs.getString(1) + ' ' + rs.getString(2) end

ファイルが完成したら、コマンドラインからファイルを実行するだけでJRuby でExcel Online を表示できるようになります。

jruby -S ExcelOnlineSelect.rb

SQL-92 クエリをExcel Online に書き込むと、Excel Online を独自のJRuby アプリケーションに素早く簡単に組み込むことができます。今すぐ無料トライアルをダウンロードしましょう。

関連コンテンツ

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

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。