【Ruby】rubyXLでエクセルファイル(xlsx)に上書きで書き込みするやり方を解説します

こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。

この記事では、 RubyのrubyXLのgemを使ってエクセルファイル(xlsx)に上書きで書き込みするやり方について、

  1. エクセルファイル(xlsx)を書き込みするサンプルプログラム
  2. 実行結果
  3. 解説

という順番で解説していきます。

rubyXLをインストールするやり方はこちらの記事をご参考ください。

前提条件:実行環境について

実行環境は以下の通りです。

OS Windows10
Rubyのバージョン 2.6.6
rubyXLのバージョン 3.4.25

この記事ではRubyプログラムは

C:\rubystudy

に作成しています。

エクセルファイル(xlsx)を書き込みするサンプルプログラム

このサンプルプログラムは、

C:\rubystudy\sample\aaa

配下にある「sample.xlsx」というエクセルファイルに書き込みします。

実行結果

実行前に

C:\rubystudy\sample\aaa

の「sample.xlsx」の中を確認します。

RubyでrubyXLでエクセルファイル(xlsx)に書き込みするやり方を解説
中身が空であることを確認しました。

では、エクセルファイルがに書き込みできるかを確認します。
Rubyプログラムを実行するやり方は、以下の記事をご参考ください。

RubyでrubyXLでエクセルファイル(xlsx)に書き込みするやり方を解説

C:\rubystudy\sample\aaa

の「sample.xlsx」の中を確認します。
RubyでrubyXLでエクセルファイル(xlsx)に書き込みするやり方を解説
シートに書き込みができていることが確認できました。

解説

サンプルプログラムから大切な点である

  1. requireについて
  2. エクセルファイル(xlsx)書き込みについて

の2点を解説していきます。

requireについて

rubyXLを使う場合

必須の宣言です。
忘れないようご注意ください。

require関数については、こちらの記事をご参考ください。

エクセルファイル(xlsx)書き込みについて

エクセルファイル(xlsx)を扱うためのWorkbookを新規作成するやり方はこちらの記事をご参考ください。

エクセルファイルのシートに書き込みをしている箇所は

の部分です。

では作成したWorkbookの最初のシートを取得しています。

取得したシートに対して、add_cellメソッドで書き込みをしています。

add_cellメソッドに指定している各引数は、以下の意味を持っています。

第一引数 書き込む行数を指定
第二引数 書き込む列数を指定
第三引数 セルに書き込む値を指定

行と列はどちらも「0」始まりです。
たとえば


RubyでrubyXLでエクセルファイル(xlsx)に書き込みするやり方を解説
という意味になり、0行目の1列目であるB1セルに「bbb」という値が書き込みされます。

まとめ:rubyXLでエクセルファイル(xlsx)を書き込みしてみよう

以上がRubyでrubyXLを使ってエクセルファイル(xlsx)を書き込みするやり方の解説でした!

あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

コメント

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