0


0

Spreadsheet

Readモジュールのss2tkサンプルスクリプトを使用して、Excelワークシートを表示するPerl / Tkスクリプトを書いています。 小数点以下2桁は四捨五入されませんが、 Spreadsheet::XLSX::Utility2007の関数は小数点以下2桁に丸められます。 どうして? 表示されているワークシートをCSVファイルに変換するために、私のプログラムの機能としてその2番目の機能を使用しようとしています。

1 Answer


2


frieduckの助けを借りて、PerlMonksでhttp://www.perlmonks.org/?node_id=734666 [回答を得る]ことができたようです。 https://stackoverflow.com/users/20745/friedo [friedo]?)との関連はありますので、リンクを張ってSOの人々のために役立てています。

まとめると、基本的にhttp://search.cpan.org/dist/Spreadsheet-XLSX-0.1/lib/Spreadsheet/XLSX/Utility2007.pm [Spreadsheet::XLSX::Utility2007]の内部が自動的に適用されていることがわかりました。セル値を取得するときの小数点以下2桁の形式。 提案された2つの回避策は次のとおりです。

  1. http://www.perlmonks.org/?node_id=761577 [モジュールの方法を変更する XLSX内部構造を変更することにより、セル型を生成する](それらをすべてデフォルトとして扱うようにする)。

  2. http://www.perlmonks.org/?node_id=761576 [モジュールの方法を変更する スプレッドシートから読み込まれたセルを処理する](元のスプレッドシートからの書式設定されていない値を持つものとして処理する)、内部の変更も行います。

どちらにしても、修正された振る舞いを実行するために `local`サブルーチンを定義することはおそらく最善であると述べられていました。