ruby-on-rails - Rails 中的 Spreadsheet.open 给出此错误 "unknown encoding name - MACINTOSH"

标签 ruby-on-rails parsing spreadsheet xls

我正在使用电子表格来解析 xls 文件。它工作得很好。但今天我的一位用户上传了一个文件,但出现错误“未知编码名称 - MACINTOSH”

我的代码是: book = Spreadsheet.open 文件路径 sheet1 = book.worksheet 0

这是出现错误的 excel 文件: https://www.dropbox.com/s/jv37pk5rpiy9259/testlisttextnonames2.xls

你们能帮我解决这个问题吗

最佳答案

遇到同样的问题。这是我能推断出的最好结果:

"Macintosh"不是 Ruby 1.9+ 中的已知编码。尝试打开控制台并运行“Encoding.find('Macintosh')”。你会得到同样的错误。

那么有什么可用的呢?在控制台中:“Encoding.list”。其中一个选项是 MacRoman。我猜这是紧随其后的。

因此,如果我们将 lib/spreadsheet/excel/internals.rb 中的映射更改为 10000 和 32768 以映射到“MACROMAN”,它应该可以工作。

本地测试确实如此。

我打开了一个拉取请求:https://github.com/zdavatz/spreadsheet/pull/51

一些引用链接: * https://en.wikipedia.org/wiki/Mac_OS_Roman * http://bugs.python.org/issue843590

关于ruby-on-rails - Rails 中的 Spreadsheet.open 给出此错误 "unknown encoding name - MACINTOSH",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15740654/

相关文章:

ruby-on-rails - Rails 上的自定义 ImageMagick 脚本(回形针?)

javascript - 如何让 jquery 堆栈/协同工作

ruby-on-rails - Ruby on Rails send_file 在我刷新页面之前不起作用?

python - 解析俄语站点编码错误

parsing - YAML 有 ANTLR4 语法吗?

c# - 在编译代码中实现电子表格功能(自动更新变量)

java - 如何使用谷歌脚本按索引位置打开特定的谷歌工作表

ruby-on-rails - rails 生成迁移命令将数据插入到表中

Ruby JSON.parse 返回一个数组

excel - 如何在 vlookup 函数中使搜索范围动态化