【发布时间】:2012-07-23 04:44:52
【问题描述】:
我正在使用 GridFs 存储 Excel 文件等。我想使用电子表格 gem 来解析这些。
我已经尝试过了,但它(显然!)不起作用:
1.9.3p194 :036 > db = Mongo::Connection.new.db(Mongoid.database.name)
1.9.3p194 :037 > grid = Mongo::GridFileSystem.new(db)
1.9.3p194 :038 > f = grid.open('test1.xls', 'r')
=> #<GridIO _id: 500ef7cdc5ebb515c9000005>
1.9.3p194 :039 > Spreadsheet.open(f)
NoMethodError: undefined method `flush' for #<GridIO _id: 500ef7cdc5ebb515c9000005>
您有什么好的建议可以将 GridIO 类“转换”或“包装”成类似 IO::File 的实例,以便我可以将 Excel 文件传递给电子表格的打开方法。
电子表格打开方法采用 IO 实例或指定磁盘路径的字符串(后者在使用 GridFS 时无用):
(Object) open(io_or_path, mode = "rb+", &block)
谢谢!
【问题讨论】:
标签: ruby-on-rails ruby mongodb gridfs