今日もプログラミングスマートフォン用の表示で見る今日もプログラミングIT技術とかプログラミングのこととか特にJavaを中心に書いていきますこの広告は、90日以上更新していないブログに表示しています。2015-02-13Excelの1900/2/29をPOIで取得してみるPOI1900年は閏年ではない。Excelのバグで1900/2/29という日付を設定できてしまう。これをJavaからPOIで取得するとどうなるか?を試してみた。ほんとうはExcelファイルを作って、POIで読み込んで...、とするべきなんだろうけど、面倒なのでPOIのDataUtil.getJavaDateに直接シリアル値を渡してみる。Excelでは、1900/2/29のシリアル値は60。その前後の値をDateで表示してみる。SimpleDateFormat("yyyy/MM/dd");System.out.println(format.format(DateUtil.getJavaDate(59)));System.out.println(format.format(DateUtil.getJavaDate(60)));System.out.println(format.format(DateUtil.getJavaDate(61)));結果は、1900/02/281900/03/011900/03/01で、1900/2/29は1900/3/1になるようだ。POIのソースを見ると、org.apache.poi.ss.usermodel.DateUtil#setCalendarに以下のようなコードがあった。60と61の間で分岐している。気になってOpenOfficeでも試してみたところ、「1900/2/29」は日付として認識されなかった。Excelとの比較は下の通り。1900/3/1互換製品を作るとき、バグもそのまま移植するかどうかは、悩むところだろうなあ。Server、MySQL)RDBMSの差異を吸収してくれるのがJDBC...、のはずが、なかなかそ...2015-03-30POIで正方形を描画するちょっと間が空いてしまったが、この前の続き。»プロフィールid:hito4_t中堅SIerでアーキテクトっぽいことやってます。IT技術とかプログラミングのこととか特にJavaを中心に書いていきます。(3)はてなブログをはじめよう!hito4_tさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。