3

スプレッドシートを使用して xls ファイルを解析しています。それはうまくいっています。しかし、今日、私のユーザーの 1 人がファイルをアップロードすると、「不明なエンコーディング名 - MACINTOSH」というエラーが表示されます。

私のコードは次のとおりです: book = Spreadsheet.open file_path sheet1 = book.worksheet 0

これは、エラーが発生している Excel ファイルです: https://www.dropbox.com/s/jv37pk5rpiy9259/testlisttextnonames2.xls

この問題を解決するために私を助けてください。

4

1 に答える 1

0

同じ問題に直面しています。これが私が推測できる最高のものです:

「Macintosh」は、Ruby 1.9 以降では既知のエンコーディングではありません。コンソールを開いて「Encoding.find('Macintosh')」を実行してみてください。同じエラーが発生します。

では、何が利用可能ですか?コンソール:「Encoding.list」。オプションの 1 つが MacRoman です。これは2番目に近いと思います。

そのため、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

于 2013-08-01T20:03:23.437 に答える