現在、私は適度に巨大なExcelシート(10-15MB)を読んでから、いくつかの列を選択して、 Excelシートの行数。選択した列のみが含まれます。大きなExcelファイルをJavaで読み込むアプリケーションを設計する際の問題
例:わかりやすくするため。 私のxlシートにName、empid、email、mobileNo:と5つのカラムが含まれているとします。アドレスと合計行またはレコードが50000であるとします。それぞれName、mobileNo:およびemailIdのみを含むテキストファイルを作成します。
エクセルシートのサイズは巨大で、エクセルシートはxlsxまたはxlsでもかまいません。私はそれを読むためにapache poiを使用しています。しかし、私はこの後に続くべき最善のアプローチを決めることができません。
アプローチ1:Excelシート全体をmysqlのようなデータベースに移動する必要がありますか。だから、私は、検索されたヘッダー列に基づいてその場でテーブルを作成し、その中のすべての行をダンプする必要があります。選択クエリを使用して必要な列を取得し、テキストファイルを作成する
アプローチ2:私は、オンザフライでクラスファイルを作成できるASMライブラリについて読んでいます。私は行ごとにオブジェクトを作成し、すべてをリストに追加することを考えていました。しかし、ここで特定の列を検索するには多くの反復が必要となり、リストのサイズはExcelシートの行に比例します。
現在、私はどのようなアプローチも決めることができません。
私はまだ比較的新しいですが、あなたが問題を過度に考えているように思えます。エンドポイントが単なるファイルの場合は、データベース、リフレクション、ファンシーライブラリは必要ありません。これは、使用する列のインデックスを追跡するコレクションと、それらの列のアクティブな行から値を保持するコレクションのようなコレクションがほんの少し必要です。私は何かが欠けている場合は謝罪します。 – Elk