[Perl]spreadsheet::XLSXを使うべきではない理由とspreadsheet::Readを使う理由

システム環境

Amazon Linux Release 2 ( kernel 4.14.70-72.55.amzn2.x86_64 )
Perl v5.16.3

spreadsheet::XLSXを使うべきではない理由

EXCELのセルに日時を入力して保存した場合、そのデータはシリアル値として保存されています。
そのシリアル値を読み込むと小数点2位で丸められてしまう(切り捨て、切り上げ、四捨五入かは未検証)ため、日付は問題ありませんが、時間がずれます

spreadsheet::Readを使う理由

あくまでEXCELを生成するのではなく、読むことだけを目的とした場合とても直感的に利用できることが理由です。
また何より上のSpreadsheet::XLSXで起きる問題が解決できます。

この2つのモジュールはセルの読み出し方がspreadsheet::XLSXは[行番号][列番号]なのに対してspreadsheet::Readは[列番号][行番号]な点は注意が必要です。
ちなみに、「直感的に利用できる」と記載した理由は以下のような書き方ができるからです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です