2012-08-17 83 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") 

为只读,二进制。

不知道这是你的问题,但我面临类似的问题,那就是解决方案。

好运