Created
December 17, 2019 03:40
-
-
Save plonk/be9be5f11c2d0a61220a48018fc9e8bb to your computer and use it in GitHub Desktop.
一年分の猫貯金チェックリストを印刷するためのエクセルファイルを生成するスクリプト
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'spreadsheet' | |
year, filename = ARGV | |
if year | |
year = year.to_i | |
else | |
year = Time.now.year | |
end | |
unless filename | |
filename = "out.xls" | |
end | |
STDERR.puts "Creating workbook for year #{year}" | |
book = Spreadsheet::Workbook.new | |
title_format = Spreadsheet::Format.new :color => :blue, | |
:weight => :bold, | |
:size => 26 | |
date_format = Spreadsheet::Format.new :number_format => 'M月D日' | |
date_format.bottom = :thin | |
date_format.top = :thin | |
date_format.left = :thin | |
date_format.right = :thin | |
(1..12).each do |m| | |
sheet = book.create_worksheet :name => "#{m}月" | |
sheet.row(0).height = 32 | |
sheet.row(0).default_format = title_format | |
sheet.row(0).concat ["猫貯金チェックリスト#{year}年#{m}月"] | |
d = Date.new(year, m, 1) | |
while true | |
if d.mon != m | |
break | |
end | |
sheet.row(d.mday).concat [d] | |
sheet.row(d.mday).set_format(0, date_format) | |
sheet.row(d.mday).set_format(1, date_format) | |
d += 1 | |
end | |
end | |
STDERR.puts "Workbook saved as #{filename}" | |
book.write filename |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment