2010-07-02 58 views
1

我需要使用數據庫從數據庫下載csv文件。如何使用java從數據庫下載數據爲csv?

我有jdbc連接並執行查詢,從數據庫中獲取數據。這些值使用java類下載爲csv格式。

Java class: 
String filename="Cases.csv"; 
//here database connection. 


ResultSet rst= stmt.executeQuery(qry); 
    System.out.println("1"+rst); 
    if(rst.next()) 
    { 

    Content=rst.getString("USER_details"); 

    } 
    //ServletOutputStream out = null; 
    //out.println(Content); 
    System.out.println("1"+Content); 
    byte requestBytes[] = Content.getBytes(); 
    ByteArrayInputStream bis = new ByteArrayInputStream(requestBytes); 
    response.reset(); 
    response.setContentType("application/text"); 
    response.setHeader("Content-disposition","attachment; filename=" +filename); 
    byte[] buf = new byte[1024]; 
    int len; 
    while ((len = bis.read(buf)) > 0){ 
    response.getOutputStream().write(buf, 0, len); 
    } 
    bis.close(); 
    response.getOutputStream().flush(); 
    } 
    catch(Exception e){ 
    e.printStackTrace(); 
    } 

如何從數據庫獲取所有值爲csv格式?

+0

我總是會做一段時間(rst.next()),而不是如果(rst.next())的情況下,你在未來返回多行的。也把你的密切的聲明放在一個finally塊中。 – 2010-07-02 17:56:33

+0

我想獲得多個行和coloumn。如何修改代碼? – Nancy 2010-07-02 18:08:16

回答

3

OpenCSV支持導出一個ResultSet到CSV:

CSVWriter writer = ...; 
ResultSet rs = ...; 
writer.writeAll(rs, true); 
相關問題