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



我使用电子表格来解析xls文件。效果很好。但是今天我的一个用户上传了一个文件,它得到一个错误"未知编码名称- MACINTOSH"

我的代码是:书=电子表格。打开file_pathSheet1 = book。工作表0

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

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

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

"Macintosh"在Ruby 1.9+中不是一个已知的编码。尝试打开控制台并运行"Encoding.find('Macintosh')"。您将得到相同的错误。

那么有什么可用的呢?在控制台中:"Encoding.list"。其中一个选择是MacRoman。我猜这是第二名。

所以如果我们改变lib/spreadsheet/excel/internals中的映射。将10000和32768映射到"MACROMAN",它应该可以工作。

已经在本地测试过了。

我打开了一个pull request: https://github.com/zdavatz/spreadsheet/pull/51

参考链接:* https://en.wikipedia.org/wiki/Mac_OS_Roman* http://bugs.python.org/issue843590

最新更新