Skip to content

Instantly share code, notes, and snippets.

@plonk
Created December 17, 2019 03:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save plonk/be9be5f11c2d0a61220a48018fc9e8bb to your computer and use it in GitHub Desktop.
Save plonk/be9be5f11c2d0a61220a48018fc9e8bb to your computer and use it in GitHub Desktop.
一年分の猫貯金チェックリストを印刷するためのエクセルファイルを生成するスクリプト
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