2011-02-07 39 views
6

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

+0

可能重复[红宝石:解析的Excel 95-2003文件(HTTP://计算器。 com/questions/1579635/ruby​​-parse-excel-95-2003-files) – mikej 2011-02-07 10:55:51

回答

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" 

其中输入结构就像输出阵列的

+0

Gonzih?他说什么??? – 2014-07-02 12:09:44

相关问题