2011-05-22 64 views
2

我有excel或谷歌文檔電子表格文件,我需要解析。這些列的排序可能與文件到文件的順序不同,但第一行總是有一個標題。解析Excel和谷歌文檔電子表格與列標題或標題

我正在尋找一種方式來使用Roo或其他類似目的的寶石閱讀文件時引用單元格中的列標題。

這裏是想我能夠做到

查看該列第四標題的Widget伯爵不管列的位置是什麼:

thisWidgetCount = cell[4,'Widget Count']; 

我知道我可以走列,並建立標題的哈希列名稱,但似乎這可能是某人已經包裝到一個庫。

回答

4

可以擴展小豆,或者只作爲輔助:

oo = Openoffice.new("simple_spreadsheet.ods") 
this_widget_count = tcell(oo, 3, 'Widget Count') 

def tcell(roo, line, column_title) 
    column = first_column.upto(last_column).map{ |column| roo.cell(1, column) }.index(column_type) + 1 
    roo.cell(line, column) 
end 

當然最好是預裝在陣列中的所有標題,因爲在我們的情況下,你的抓取每一次冠軍(和在性能上不好主意)

+0

感謝這個優雅的功能。 Perf不是最關心的問題,但這是關於預加標題的好處。 – Nick 2011-05-23 16:12:32