【发布时间】:2011-02-07 10:21:02
【问题描述】:
我需要在 Linux 服务器上读写(-> 转换) Excel 文件,当然它没有安装 Excel。对于 Python,存在 http://www.python-excel.org/。 Ruby有类似的东西吗?可能不需要处理最新的 Office 格式。只需要旧的 xls 文件就足够了。
【问题讨论】:
我需要在 Linux 服务器上读写(-> 转换) Excel 文件,当然它没有安装 Excel。对于 Python,存在 http://www.python-excel.org/。 Ruby有类似的东西吗?可能不需要处理最新的 Office 格式。只需要旧的 xls 文件就足够了。
【问题讨论】:
我同意 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"
输入是一个数组,其结构与输出类似
【讨论】: