こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。
この記事では、 Rubyでgemの1つのrubyXLの使い方のまとめです。
詳しい解説記事のリンクも載せていますので、ご参考ください。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
Rubyのバージョン | 2.6.6 |
rubyXLのバージョン | 3.4.25 |
rubyXLとは
rubyXLとは、エクセルファイル(xlsx)を扱うことができるGemです。
rubyXLでサポートされているファイルは
- xlsx
- xlsm
- xltx
- xltm
の4種類です。
インストールするには
1 |
gem install rubyXL |
をたたきます。
rubyXLを使う場合
1 |
require 'rubyXL' |
罫線やフォントなどを指定できるメソッドを使いたい場合は
1 |
require 'rubyXL/convenience_methods' |
という宣言が必須です。
エクセルファイル(xlsx)について
エクセルファイル(xlsx)新規作成するには
1 |
sample_xlsx = RubyXL::Workbook.new |
で、新しいWorkbookを作成し
1 |
sample_xlsx.write('【絶対パスor相対パス】') |
で、新しく作成したWorkbookをwriteメソッドの引数に指定されたパスと名前で出力し保存します。
シートについて
シートに対して操作を行う場合、Workbookから操作したいシートを取得して操作します。
行番号と列番号を指定するときは、はどちらも「0」始まりで指定します。
この章では
- Workbookの最初のシートを取得するやり方
- シート名を変更するやり方
- 行の高さを変更するやり方
- 列の幅を変更するやり方
のやり方をまとめています。
Workbookの最初のシートを取得するやり方
Workbookの最初のシートを取得するには
1 |
sample_worksheet = sample_xlsx[0] |
で指定したWorkbookオブジェクトの最初のシートを取得することができます。
シート名を変更するやり方
シート名をを変更するにはsheet_nameメソッド使います。
1 |
sample_worksheet.sheet_name = 'シート名テスト' |
sheet_nameメソッドを使うときの注意点として、Excelの仕様で31文字までしか指定できません。
行の高さを変更するやり方
行の高さを変更するにはchange_row_heightメソッド使います。
1 |
sample_worksheet.change_row_height(0, 20) |
は呼び出しているワークシートの0行目、つまり1行目の高さを20に変更しています。
指定している各引数は、以下の意味を持っています。
第一引数 | 高さを変更する行を指定 |
---|---|
第二引数 | 行の高さを指定 |
列の幅を変更するやり方
列の幅を変更するにはchange_column_widthメソッド使います。
1 |
sample_worksheet.change_column_width(0, 10) |
は呼び出しているワークシートの0列目、つまりA列の幅を10に変更しています。
指定している各引数は、以下の意味を持っています。
第一引数 | 幅を変更する列を指定 |
---|---|
第二引数 | 列の幅を指定 |
セルについて
セルに対して操作を行う場合、取得したシートに対してメソッドをつなげたり、セルを指定して操作します。
行番号と列番号を指定するときは、はどちらも「0」始まりで指定します。
この章では
- セルに書き込みするやり方
- セルを太字にするやり方
- セルの文字色を指定するやり方
- セルの背景色を指定するやり方
- セルに罫線を引くやり方
のやり方をまとめています。
セルに書き込みするやり方
セルに書き込みするにはadd_cellメソッド使います。
1 |
sample_worksheet.add_cell(0, 1, 'bbb') |
上記の指定だと、0行目の1列目であるB1セルに「bbb」という値が書き込みされます。
セルを太字にするやり方
セルの太字を指定するにはchange_font_boldメソッド使います。
引数に「true」を指定すれば指定したセルを太字にすることができます。
1 |
sample_worksheet[0][1].change_font_bold(true) |
上記の指定だと、0行目の1列目であるB1セルに太字が指定されます。
セルの文字色を指定するやり方
セルの文字色を指定するにはchange_font_colorメソッド使います。
呼び出しているセルの文字色を引数のcssのカラーコード値に指定できるメソッドです。
1 |
sample_worksheet[0][1].change_font_color('0000FF') |
上記の指定だと、0行目の1列目であるB1セルの文字色を青に指定しています。
セルの背景色を指定するやり方
セルの背景色を指定するにはchange_fillメソッド使います。
呼び出しているセルの背景色を引数のcssのカラーコード値に指定できるメソッドです。
1 |
sample_worksheet[0][1].change_fill('0000FF') |
上記の指定だと、0行目の1列目であるB1セルの背景色を青に指定しています。
セルに罫線を引くやり方
セルに罫線を引くにはchange_borderメソッドメソッド使います。
呼び出しているセルにどんな線を引くかを指定できるメソッドです。
1 |
sample_worksheet[1][5].change_border(:left, 'medium') |
は、1行目の5列目のセル、つまりF2セルで呼び出してセルの左に「medium」の太さで罫線を引いてます。
指定する引数の意味は
- 第一引数:罫線を引く場所
- 第二引数:引く罫線の太さ
です。
第一引数に指定することができる値と意味は以下です。
値 | 意味 |
---|---|
top | セルの上側 |
bottom | セルの下側 |
left | セルの左側 |
right | セルの右側 |
第二引数に設定できる値は罫線の太さの昇順で
- hairline
- thin
- medium
- thick
があります。
コメント