2

我正在尝试使用 roo gem 在 excel 文件上运行一些操作。当我手动执行此操作时,这非常有效:

file = File.join(Rails.root, 'october_data.xlsx')
spreadsheet = Roo::Excelx.new(file)

但是,当我通过表单上传文件时,这不起作用:

file = File.read params["Team Changes"]["document"].path
spreadsheet = Roo::Excelx.new(file)

我收到以下错误:

 ArgumentError (string contains null byte)

似乎有很多关于string contains null byte但我所看到的似乎与我正在从事的工作无关的内容。我该如何解决?

4

1 回答 1

2

这发生在我身上。显然这是一个编码问题。读取文件时尝试将编码指定为“ASCII-8BIT”。

file = File.read(params["Team Changes"]["document"].path, encoding: 'ASCII-8BIT')
spreadsheet = Roo::Excelx.new(file)
于 2019-01-25T20:08:18.803 回答