2012-08-17 82 views
3

我正在使用名爲roo的rails gem來讀取和解析上傳的Excel和CSV文件。用roo/rails讀取Excel文件

我明白在roo中,它讀取Excel文件的方式是Excel.new("myfilename")。我面臨的問題是因爲我必須閱讀使用表單助手(上傳助手),臨時文件上傳的文件。在使用roo/Excel讀取之前,我正在保存臨時文件。 雖然我uplaoding好的Excel文件,我得到

該文件不是一個Excel/XLSX

錯誤。

有沒有辦法從Uploaded IO直接讀取? 你們能告訴我我在這裏做錯了什麼嗎?

謝謝!

+0

是文件類型XSLX? – rb512 2012-08-17 15:38:23

+0

其實我有Excel和xlsx ..但是我使用Excelx類來讀取xlsx文件。問題是讀取上傳的文件。 – quixote 2012-08-17 16:38:56

+0

除此之外,我有.csv文件,我使用ruby class CSV來讀取..這工作正常像CSV.parse(Uploded_io.read)..但是當我試圖做與Excel/Excelex類相同,它不起作用。 – quixote 2012-08-17 16:40:34

回答

0

如果您在Windows設備上開發,當你打開文件,你必須添加一個「B」(二進制)的文件模式,即:

File.open("spreadsheet.xls","rb") 

爲只讀,二進制。

不知道這是你的問題,但我面臨類似的問題,那就是解決方案。

好運