rubyXLを使用しRubyでエクセルファイル(.xlsx)を生成する

rubyXLを使用しRubyでエクセルファイル(.xlsx)を生成してみます。

■Ruby

今回のRubyのバージョンは、「2.7.2p137 (2020-10-01 revision 5445e04352) [x64-mingw32]」を使用しています。(Windows10)

RubyGems

RubyGemsのバージョンは「3.1.4」を使用しています。

■rubyXLパッケージをインストールする

rubyXLパッケージをインストールする際は、Windowsのコマンドプロンプトを起動します。

gem install rubyXL

起動後、上記のコマンドを入力し、Enterキーを押します。

Fetching nokogiri-1.10.10-x64-mingw32.gem
Fetching rubyzip-2.3.0.gem
Fetching rubyXL-3.4.16.gem
Fetching mini_portile2-2.4.0.gem
Successfully installed mini_portile2-2.4.0
Nokogiri is built with the packaged libraries: libxml2-2.9.10, libxslt-1.1.34, zlib-1.2.11, libiconv-1.15.
Successfully installed nokogiri-1.10.10-x64-mingw32
Successfully installed rubyzip-2.3.0
Successfully installed rubyXL-3.4.16
Parsing documentation for mini_portile2-2.4.0
Installing ri documentation for mini_portile2-2.4.0
Parsing documentation for nokogiri-1.10.10-x64-mingw32
Installing ri documentation for nokogiri-1.10.10-x64-mingw32
Parsing documentation for rubyzip-2.3.0
Installing ri documentation for rubyzip-2.3.0
Parsing documentation for rubyXL-3.4.16
Installing ri documentation for rubyXL-3.4.16
Done installing documentation for mini_portile2, nokogiri, rubyzip, rubyXL after 16 seconds
4 gems installed

Enterキーを押すとインストールが開始され、「Done installing..」、「gems installed」と表示されます。これが表示されるとrubyXLパッケージは正常にインストールが完了となります。

■rubyXLを使用しエクセルファイル(.xlsx)を生成する

インストールが完了しましたので、rubyXLを使用しエクセルファイル(.xlsx)を生成していきます。

■コード

require 'rubyXL'

workbook = RubyXL::Workbook.new

worksheet = workbook[0]

worksheet.sheet_name = 'test'

worksheet.add_cell(0,0,'A1')

workbook.write('test.xlsx')

requireメソッドでrubyXLパッケージを呼び出します。「workbook = RubyXL::Workbook.new」で、新しいワークブックの作成します。

作成した後に、workbook[0]でワークブックの最初のワークシートにアクセスします。

アクセス後、worksheet.sheet_nameでシートの名前を変更します。今回はtestというシート名にしています。

シート名を変更した後に、worksheet.add_cell()でワークシートにセルの追加を行います。今回は、セルA1を「A1」という文字列に設定します。

セルを追加した後にworkbook.write()で、エクセルファイル(.xlsx)に書き込みを行い、ファイルを生成します。

■実行

今回のスクリプトを「Create_Excel.rb」という名前で、Rubyのカレントディレクトリ(作業ディレクトリ)内に保存し、コマンドプロンプトから実行してみます。

実行してみると、文字列の出力はスクリプトに書いていないので何も表示されません。

何も表示されませんが、Rubyのカレントディレクトリ(作業ディレクトリ)を確認すると、エクセルファイル(.xlsx)が生成されていることが確認できました。ファイルの中身を確認すると、指定したセルA1に「A1」という文字列が追加されていることが確認できました。

コメント

タイトルとURLをコピーしました