在没有安装Excel的服务器上使用Ruby读取和编写Excel文件

时间:2011-02-07 10:21:03

标签: ruby excel

我需要在Linux服务器上读取和写入( - >转换)Excel文件,当然这些文件没有安装Excel。对于Python,存在http://www.python-excel.org/。 Ruby有类似的东西吗?可能不需要处理最新的Office格式。只需要旧的xls文件即可。

1 个答案:

答案 0 :(得分:11)

我同意Gonzih,我经常使用roo。它允许我使用模板文件进行读,写和写。 该项目在他们的site上有相当详细的记录。

我总是使用类似的东西:

input = Excel.new(path)
output = Array.new
input.default_sheet = input.sheets[sheet]
start.upto(input.last_row) do |row|
  output << input.row(row)
end

p output
=> a nested array representing the spreadsheat.

p output[0]
=> [row1_column_a, row1_column_b...]

阅读电子表格。请注意,如果您的文件是.xlsx,则roo gem要求您使用Excelx.new而不是Excel.new

写你可以:

book = Spreadsheet::Workbook.new
write_sheet = book.create_worksheet
row_num = 0
input.each do |row|
  write_sheet.row(row_num).replace row
  row_num +=1
end
book.write "/path/to/save/to.xls"

其中input是一个像输出一样构造的数组