返信する前に私の問題を理解しているように見えるほど簡単ではありません。 Google検索を行い、結果へのリンクを投稿しないでください。私はすでに見た。Apache POI to excel - 0日付
私はJavaアプリケーションで置き換えているVB.Netアプリケーションを持っています。このアプリケーションの目的は、Excelシート(.xls)を作成することです。その後、ファイルは第三者に送信され、そのファイル内のデータが処理されます。私はファイルを書き込むためにAPACHE POIを使用しています。
2つのタイムフィールドが「無効」であるため、最終製品が第2者によって拒否されています。しばらく私の頭を傷つけた後、私はJavaがファイルを生成し、VB.Netが生成したファイルが日付の値を別々に扱っていることに気付きました。軍事時間に午後3時30分になったとすると、データは両方のファイルに15:30と表示されます。問題は、フィールドの日付部分です:
VB.Netは、生成された:1/0/1900 15:30
Javaは、生成された:1970年1月1日午前15時30
私は見つけることができないよう方法を模倣するPOIを持っている方法は0の日付を処理する優れています。以下は私が試したことのいくつかです。
Javaアプリケーションで日付/時刻変数を1/0/1900 15:30と設定しました。これにより、アプリケーションにエラーが発生します。
変数を文字列として設定し、ワークシートに渡してから、セルの書式を設定します。エラーは出ませんが、セルをダブルクリックしてEnterキーを押すまで、データは「一般」のままです。このプロセスは自動化されるため、これはオプションではありません。
セルの式を= TIMEVALUE( "15:30")に設定しましたが、これは第2者によって受け入れられませんでした。
他に誰かがこの問題に遭遇しましたか?誰もこれを回避する方法を考えることができますか?第2の当事者がファイルを読む方法を変更することはオプションではありません。