【发布时间】:2013-10-30 23:50:39
【问题描述】:
我正在尝试编写一些单元测试,其中涉及Roo 读取 Excel 2007 文件。我的单元测试文件中有 Excel 文件作为十六进制字符串,然后将其输入 StringIO 实例。我不能简单地将 StringIO 对象传递给 Roo::Spreadsheet.open,因为该函数实际上会检查传递的对象是否是 File 实例:
def open(file, options = {})
file = File === file ? file.path : file
# ...
如果不是,则继续假设它是一个字符串。手动指定扩展名没有帮助:
doc = Roo::Spreadsheet.open(file, extension: :xlsx)
有没有什么巧妙的方法让 Roo 将 StringIO 实例用作文件?
【问题讨论】:
标签: ruby import-from-excel ruby-roo