ruby 生成Excel电子表格
程序需要解析来自Excel电子数据表的数据,或生成新的Excel的电子数据表。
要生成Excel文件, 可使用作为第三方gem提供的spreadsheet库。使用它可以创建一张简单的恶Excel的电子数据表。
下列代码生成的Excel电子数据表。
require 'rubygems'
require 'spreadsheet/excel'
SUM_SPREADSHEET = 'sum.xls'
workbook = Spreadsheet::Excel.new(SUM_SPREADSHEET)
worksheet = workbook.add_worksheet('Random numbers and their sum.')
sum = 0
random_numbers = (0..9).collect { rand(100) }
worksheet.write_column(0, 0, random_numbers)
format = workbook.add_format(:bold => true)
worksheet.write(10, 0, "Sum:", format)
worksheet.write(10, 1, random_numbers.inject(0) { |sum, x| sum + x })
workbook.close
要解析一个Excel文件,可以使用也可以作为一个第三方下载的parseexcel库, 它能够从Excel文件格式中解析简单的数据,
require '
parseexcel/parser'
workbook = Spreadsheet::ParseExcel::Parser.new.parse(SUM_SPREADSHEET)
worksheet = workbook.worksheet(0)
sum = (0..9).inject(0) do |sum, row|
sum + worksheet.cell(row, 0).value.to_i
end
worksheet.cell(10, 0).value # => "Sum:"
worksheet.cell(10, 1).value # => 602.0
sum
与电子数据表类似,parseeexcel不认识电子数据表公式。