データベースにレコードを挿入する前にクライアント側で前処理するためにレコード数が非常に多い場合、私はVBAとのExcel/Access統合およびJavaHibernateでのいくつかの作業で多くの作業を行います。
私はこのような多くのケースで、データが数千行のコードと、クエリを実行する他の数式によって駆動されるいくつかの数式で操作されています。この問題は、ApachePOIの範囲外のように聞こえます。POIは、多かれ少なかれ静的ファイルからデータを抽出することを目的としていますが、データは私自身の多くの作業のようにはるかに動的に聞こえます。Webソリューションの再設計が必要になるのではないかと思います。これに対する単純なソリューションは考えられません。
使用しているデータを再検討し、サーバー側で処理できるデータの量を確認し、パフォーマンスを維持するために結果を日次テーブルに保存してみてください。レコードの数を減らしてレコードセットを可能な限り制限し、ユーザーがWebフォームで起動しようとするクエリを簡素化します。おそらく、Excelで必要以上の作業を行っているのでしょうか。クエリの作業負荷を減らすには、より良い方法があります。
バックエンドの前処理は、物事を迅速かつシンプルに保つのに役立ちました。すべてが自動化され、十分に文書化されていることを確認してください。管理者が来て、なぜ毎晩タスクが実行されているのか疑問に思って、それが重要ではないと考えて、フロントエンドに古い不良データを実行させてはいけません。
申し訳ありませんが、それがあなたにいくつかのアイデアを与えるのに役立つことを願っています。この場合、POIは私には良い解決策とは思えません。Excelドキュメントには、非常に複雑な方法があります。ソースでドリルダウンする方法を検討してください。データを処理するためにデータをフォーマットするだけで、半分の作業を行っている可能性があります。一部のSQLステートメントまたは保存された式は、ほんのわずかな時間でそれを解決する可能性があります。すべてのExcelの数式に批判的です!