Spreadsheet :: XLSX :: Utility2007のxls2csvが小数点以下2桁に切り捨てられるのはなぜですか?
質問
Spreadsheet :: Readモジュールのss2tkサンプルスクリプトを使用してExcelワークシートを表示するPerl / Tkスクリプトを書いています。小数点以下2桁を四捨五入しませんが、 Spreadsheet :: XLSX :: Utility2007 は小数点以下2桁に丸めます。どうして?表示されているワークシートをCSVファイルに変換するために、プログラムの機能としてその2番目の機能を使用しようとしています。
解決
PerlMonksで回答を取得できました。 frieduck ( friedo ?)なので、SOの人々のためにリンクしています。
要約すると、基本的には Spreadsheet :: XLSX :: Utility2007 は、セルの値を取得するときに自動的に2桁の場所形式を適用していました。提案された2つの回避策は次のとおりです。
- モジュールがセルタイプを生成する方法を変更する(すべてをデフォルトとして扱うようにする)XLSX内部を変更します。
- スプレッドシートから読み込まれたセルをモジュールが処理する方法を変更する元のスプレッドシートの書式設定されていない値を取得します)、内部も変更します。
どちらの方法でも、モジュールを変更することによる厄介な驚きがないように、変更された動作を実行するために local
サブを定義するのがおそらく最善であることも言及されました
所属していません StackOverflow