こんにちは。たいら(@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 |
require 'rubyXL' puts "■xlsx新規作成サンプル" sample_xlsx = RubyXL::Workbook.new sample_xlsx.write('C:/rubystudy/sample/aaa/sample.xlsx') puts "xlsx作成完了" |
実行結果
実行前に
C:\rubystudy\sample\aaa
の中を確認します。
中身が空であることを確認しました。
では、エクセルファイルが新規作成できるかを確認します。
Rubyプログラムを実行するやり方は、以下の記事をご参考ください。
1 2 |
■xlsx新規作成サンプル xlsx作成完了 |
正常に終了しました。
C:\rubystudy\sample\aaa
を確認すると
「sample.xlsx」が作成できていることが確認できました。
新規作成できたエクセルファイルを開いてみると、1シートのみのエクセルファイルでした。
解説
サンプルプログラムから大切な点である
- requireについて
- エクセルファイル(xlsx)新規作成について
の2点を解説していきます。
requireについて
rubyXLを使う場合
1 |
require 'rubyXL' |
は必須の宣言です。
忘れないようご注意ください。
require関数については、こちらの記事をご参考ください。
エクセルファイル(xlsx)新規作成について
エクセルファイル(xlsx)新規作成するために、まず
1 |
sample_xlsx = RubyXL::Workbook.new |
で、新しいWorkbookを作成します。
1 |
sample_xlsx.write('C:/rubystudy/sample/aaa/sample.xls') |
では、新しく作成したWorkbookをwriteメソッドの引数に指定されたパスと名前で出力し保存しています。
この記事ではwriteメソッドの引数には絶対パスを指定しましたが、相対パスでも指定することができます。
それぞれのパスについては、こちらの記事をご参考ください。
writeメソッドの注意点として、rubyXLでサポートされていない拡張子は指定できない、という点です。
たとえば
1 2 |
sample_xlsx = RubyXL::Workbook.new sample_xlsx.write('C:/rubystudy/sample/aaa/sample.xls') |
として実行した場合
1 2 3 |
Traceback (most recent call last): 1: from workbook_new_sample.rb:5:in `<main>' C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/rubyXL-3.4.25/lib/rubyXL/objects/workbook.rb:403:in `save': Unsupported extension: .xls (only .xlsx, .xlsm, .xltx and .xltm files are supported). (RuntimeError) |
とエラーとなります。
writeメソッドに指定するファイルの拡張子にはご注意ください。
まとめ:rubyXLでエクセルファイル(xlsx)を新規作成してみよう
以上がRubyでrubyXLを使ってエクセルファイル(xlsx)を新規作成するやり方の解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント