2012-02-20 8 views
0

私はExcelファイルを読んで、Excelシートからデータベースにデータをアップロードする必要があります。Excelのシート列をデータベースの列にマップする方法は?

Excelシートは、私はまた、データベースに似たユーザーテーブルを持っているだろうなどfirstnameのようなユーザーの情報、姓、電子メール、年齢、日付に参加、国、

を持つことになります。

各行をExcelシートから読み込んでテーブルに挿入するだけで済みます。

しかし、これについては、Excelのどの列がdbテーブルのどの列に入るのかを知る必要があります。

これは、テーブルの列名(ユーザーJava Beanのプロパティ名)をExcelシートの対応するインデックスに静的にマッピングすることで行う予定です。

lastNameは、Excelシートのインデックス2にマッピングされます。

これが適切なアプローチですか?

これを実行する最良の方法は何ですか?

+0

DB /言語を指定する必要があります(ただし、Javaと見なすこともできます)。つまり、私はあなたがここで解決策を見つけるかもしれないと思います:http://www.vogella.de/articles/JavaExcel/article.html - これは、すべての行を読んで、このデータをデータベースに挿入してJDBC/Hibernate/whatever –

+0

また、入力の最初の行をラベルとして使用し、最初の反復でこれらのヘッダー値を列挙するようアプリケーションを取得することができます。これは、文字列/ラベルをスプレッドシートのそのインデックス/カラムに関連付けることができるので、カラムに "lastName"という名前を付けることを前提として、必ず "lastNameはインデックス2にマップされます"という慣習に固執する必要はありません。これを行うためのより洗練された方法があるかもしれませんが、それはうまくいくはずで、あなたの現在のソリューションよりも柔軟性があります。適切な回答が必要な場合は、上記の質問への回答を投稿してください。 @Aaron Newton。 –

+0

答えをありがとう。私はjavaとoracleを使用しています – ashishjmeshram

答えて

0

これは問題ありません。上の行を見出しとして(Excelシートの作成がコントロールにある場合)、フィールドを確認することもできます。

  1. Excelシートを読むにはApache POIを使用してください。
  2. JDBC batch insertを使用して追加します。
+0

Excelシートを作成するのが自分のコントロールではありません。列には任意の見出しがある可能性があります。 – ashishjmeshram

+0

ええ、索引に頼らざるを得ません。 – Nishant

0

以下の手順に従って、Excelから読み込んでデータベースに挿入してください。

http://poi.apache.org/spreadsheet/index.html

のApacheが提供するシンプルなAPIを1.its。 注意してください。ファイル名とタブ名が一意であることを確認してください。 2. csvファイルから読みやすく、データベースの通常の制御ファイルに挿入できるため、Oracleからの十分なサポートが得られます。

関連する問題