2017-02-18 5 views
-1

私はスプレッドシート(​​xls、csv)で与えられたデータを処理しなければならないという独特の問題です。私は自分のJavaプログラムでそのデータを使用しています。Excelは読み込み中に複数の列値を読み取り - Java、論理

スプレッドシートのデータは他の場所で生成されており、私はそのデータを制御できません。その中にはシステム固有の書式設定を持ついくつかの列があり、私は必要な形式にそれぞれを変換する方法について"プログラムで"を選択するオプションが必要です。私のプロジェクトで

シンプルなアプローチは、この時点で

a) read the spreadsheet and apply transformations in place while reading. 
b) read each row as a java object and iterate over this list and do the modifications 
c) use some in-memory DB like H2 and apply some **user-defined functions** (dont know how) either while reading into the memory or transforming it later. 

にされているだろう、私は本当にすべての3つのオプションを詳細に把握していません。ですから、あいまいさを許してください。

その他の方法はありますか?さらに重要なのは、5つ以上の列を変換する必要がある何千ものレコードがあるため、最も簡単なアプローチは何ですか?

答えて

0

まず、ファイルがExcelまたはスプレッドシートかどうかを確認できます。 もしあなたがApache poiを使うことができれば、Excelファイルを解析するのに本当に便利です。この場合、読み込み中に変換を適用することができます。

スプレッドシートはコンマで区切られているので、split関数を使用して解析することができます。この場合、読み込み中に変換を適用することはできませんが、配列に集めて同様に行います。

パフォーマンスはコードをどのように最適化するかによって異なります。Java 8 Streamsを使用してストリームをストリーム化し、コードを効果的に使用することができます。

関連する問題