こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。
この記事では、 RubyのrubyXLのgemを使ってエクセルファイル(xlsx)の指定した行の高さを変更するやり方について、
- エクセルファイル(xlsx)の指定した指定した行の高さを変更するサンプルプログラム
 - 実行結果
 - 解説
 
という順番で解説していきます。
rubyXLをインストールするやり方はこちらの記事をご参考ください。
前提条件:実行環境について
実行環境は以下の通りです。
| OS | Windows10 | 
|---|---|
| Rubyのバージョン | 2.6.6 | 
| rubyXLのバージョン | 3.4.25 | 
この記事ではRubyプログラムは
C:\rubystudy
に作成しています。

エクセルファイル(xlsx)の指定した行の高さを変更するサンプルプログラム
このサンプルプログラムは、
C:\rubystudy\sample\aaa
配下にある「sample.xlsx」というエクセルファイルの特定の行の高さを変更します。
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15  | 
						require 'rubyXL' require 'rubyXL/convenience_methods' sample_xlsx = RubyXL::Workbook.new sample_worksheet = sample_xlsx[0] sample_worksheet.add_cell(0, 0, '20を指定') sample_worksheet.add_cell(1, 0, '100を指定') sample_worksheet.change_row_height(0, 20)  sample_worksheet.change_row_height(1, 100) sample_xlsx.write('C:/rubystudy/sample/aaa/sample.xlsx') puts "xlsx書き込み完了"  | 
					
実行結果
実行前に
C:\rubystudy\sample\aaa
の「sample.xlsx」の中を確認します。

では、エクセルファイルの指定した行の高さを変更できるかを確認します。
Rubyプログラムを実行するやり方は、以下の記事をご参考ください。

| 
					 1 2  | 
						C:\rubystudy>ruby workbook_font_bold_sample.rb xlsx書き込み完了  | 
					
C:\rubystudy\sample\aaa
の「sample.xlsx」の中を確認します。

指定した行の高さを変更できていることが確認できました。
解説
サンプルプログラムから大切な点である
- requireについて
 - 行の高さ指定について
 
の2点を解説していきます。
requireについて
rubyXLを使う場合は
| 
					 1  | 
						require 'rubyXL'  | 
					
行の高さなどを指定できるメソッドを使いたい場合は
| 
					 1  | 
						require 'rubyXL/convenience_methods'  | 
					
という宣言が必須です。
忘れないようご注意ください。
require関数については、こちらの記事をご参考ください。
行の高さ指定について
特定の行の高さを指定している箇所は
| 
					 1 2  | 
						sample_worksheet.change_row_height(0, 20)  sample_worksheet.change_row_height(1, 100)  | 
					
の部分です。
change_row_heightメソッドは、呼び出しているシートの指定した行の高さを変更できるメソッドです。
指定している各引数は、以下の意味を持っています。
| 第一引数 | 高さを変更する行を指定 | 
|---|---|
| 第二引数 | 行の高さを指定 | 
行は「0」始まりです。
たとえば
| 
					 1  | 
						sample_worksheet.change_row_height(0, 20)   | 
					
は1シート目のワークシートの0行目、つまり1行目の高さを20に変更しています。
まとめ:rubyXLでエクセルファイル(xlsx)の指定した行の高さを変更してみよう
以上がRubyでrubyXLを使ってエクセルファイル(xlsx)の指定した行の高さを変更するやり方の解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
  
  
  
  
コメント