2012-04-17 7 views
0

を使用してXLSファイルを読み、私はハッシュマップを使用してOracleテーブルからデータを読みたい場合は、私はこのようにそれを読むことができます.........は、ハッシュマップ

String sql = "select * from DPY_VW_REP_DELIVERY_DTLS where weighed_date between ? and ?"; 
Object[] queryParams = new Object[] {dateFrom, dateTo}; 
List rsList = this.getJdbcTemplate().queryForList(sql, queryParams); 
Iterator it = rsList.iterator(); 
while(it.hasNext()) 
{ 
    try 
    { 
     LinkedHashMap map = (LinkedHashMap) it.next(); 
     String[] strData = new String[14]; 
     strData[0] = map.get("WEIGHED_DATE_AS_CHAR").toString(); 
     strData[1] = map.get("WEIGHED_DAY_SLNO").toString(); 
     strData[2] = map.get("PARTY_NAME").toString(); 
     strData[3] = map.get("PARTY_ADDRESS1").toString(); 
     strData[4] = map.get("PARTY_ADDRESS2").toString(); 
     strData[5] = map.get("VEHICLE_NO").toString(); 
    } 
} 

を私が読みたい場合ハッシュマップを使用して同じデータを含むxlsファイルを作成するにはどうすればよいですか。

答えて

1

ハッシュマップを使用して ''の意味が不明です。 JdbcTemplate.queryForListは、結果をHashMapのListにマップして返します。

Apache POIなどのツールを使用してExcelファイルを読むのが簡単です。また、スプレッドシートをデータベースとして使用する場合は、JDBC-ODBCブリッジを使用できます。その後、SQLクエリを実行することができます。この方法にはexampleがあります。

+0

ものがst.executeQuery( "[Sheet1の$] SELECT * FROM")=本当にすてきなこの質問のために私を満足させる例、 しかし、私は2番目の例では、クエリを拡張することができ、 'のResultSet rsはあり;' に 'のResultSet rs = st.executeQuery( "Select * from [Sheet1 $] value [rows] [0] == 'SR_NO'"); ' – abhi

+0

@abhiはファイルによって異なります。これを試してください: 'Select * from [Sheet1 $]ここでF1 = 'SR_NO''。ヘッダーが存在しない場合、Excelは列名としてF1、F2などを返します – tenorsax

関連する問題