Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # coding: utf-8
- LineData = Struct.new(:todofuken, :shiten, :uriage)
- ShitenUriage = Struct.new(:shiten, :uriage)
- csvArray = []
- shitenArray = []
- def printShitenArray key, shitenArray
- shokei = 0
- for i in 0...shitenArray.size
- print '<tr>'
- if i == 0
- print "<td rowspan=#{shitenArray.size+1}>#{key}</td>"
- end
- print "<td>#{shitenArray[i].shiten}</td>"
- puts %Q!<td align="right">#{shitenArray[i].uriage}</td></tr>!
- shokei += shitenArray[i].uriage
- end
- print %Q!<tr><td align="center">[小計]</td>!
- puts %Q!<td align="right">#{shokei}</td></tr>!
- end
- key = nil
- while line = gets
- todofuken, shiten, uriage = line.split(',')
- line = LineData.new(todofuken, shiten, uriage.to_i)
- csvArray << line
- end
- if csvArray.size == 0
- # 0行の時の処理を行い、プログラムを終了する
- end
- puts '<table border="1">'
- puts '<tr><th>都道府県</th><th>支店名</th><th>売上高(千円)</th></tr>'
- goukei = 0
- for i in 0...csvArray.size
- if i == 0
- key = csvArray[i].todofuken
- else
- if key != csvArray[i].todofuken
- printShitenArray(key, shitenArray)
- shitenArray = []
- key = csvArray[i].todofuken
- end
- end
- shitenArray << ShitenUriage.new(csvArray[i].shiten, csvArray[i].uriage)
- goukei += csvArray[i].uriage
- end
- printShitenArray(key, shitenArray)
- print %Q!<tr><td colspan="2" align="center">合計</td><td align="right">!
- puts "#{goukei}</td></tr>"
- puts '</table>'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement