2011-02-07 12 views
6

Bir Linux sunucusunda, Excel'in yüklü olmadığı Excel dosyalarını okuyup yazmalıyım (-> dönüştürme). Python için http://www.python-excel.org/ bulunmaktadır. Ruby için benzer bir şey var mı? En son Office formatının işlenmesi muhtemelen gerekli değildir. Sadece eski xls dosyaları yeterli olmalı.Excel dosyaları, Excel yüklü olmayan bir sunucuda Ruby kullanarak okuma ve yazma

+0

olası tekrarı olan [Yakut: Ayrıştırma Excel 95-2003 dosya] (http: // stackoverflow. com/questions/1579635/ruby-parse-excel-95-2003-files) – mikej

cevap

11

Gonzih ile aynı fikirdeyim ve roo'yu düzenli olarak kullanıyorum. Bir şablon dosyası kullanarak okuma, yazma ve yazma olanağı sağlar. Proje, site numaralı telefondan oldukça iyi belgelenmiştir. E-tablo okumak için

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...] 

:

Hep böyle bir şey kullanın. Dosyanın bir .xlsx olması durumunda, roo geminin Excel.new yerine Excelx.new kullanılmasını gerektirdiğini unutmayın.

yapabilirsiniz yazmak için: Giriş sadece çıkış gibi yapılandırılmış bir dizidir

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" 

ait

+0

Gonzih? ne dedi??? –

+0

@Some_other_guy, "roo gemini kullan" dedi –

+0

-rf: ama ama ... Excel'e yazamayacağını düşündüm! –