2016-06-07 3 views
0

결과 집합을 개체로 변환했습니다. 이제 finalResult를 반복하고 싶습니다. 사실이 finalResult 배열을 Excel에 작성하고 싶습니다. 누구든지 그 방법을 제안 할 수 있습니까?결과 집합을 개체 배열로 변환했습니다.

public Object[][] executeQuery(String query) throws SQLException{ 
    ResultSet rs = getResultSet(query); 
    ResultSetMetaData rsMetaData = rs.getMetaData(); 
    int columnCount = rsMetaData.getColumnCount(); 
    ArrayList<Object[]> result = new ArrayList<Object[]>(); 
    Object[] header = new Object[columnCount]; 
    for (int i=1; i <= columnCount; ++i){ 
     Object label = rsMetaData.getColumnLabel(i); 
     header[i-1] = label; 
    } 
    while (rs.next()){ 
     Object[] str = new Object[columnCount]; 
     for (int i=1; i <= columnCount; ++i){ 
      Object obj = rs.getObject(i); 
      str[i-1] = obj; 
     } 
     result.add(str); 
    } 
    int resultLength = result.size(); 
    Object[][] finalResult = new Object[resultLength][columnCount]; 
    finalResult[0] = header; 
    for(int i=1;i<resultLength;++i){ 
     Object[] row = result.get(i); 
     finalResult[i] = row; 
    } 
    return finalResult; 
} 
+0

결과 집합의 첫 번째 항목이 누락되었습니다. resultLength + 1 행의 객체가 필요하며 (header를 포함하기 위해) result.get (i)를 사용할 때 0부터 시작합니다. –

답변

-1

Excel 파일로 작성하려면 Apache POI를 참조하십시오. 바쁜 프로그래머 가이드 (우수!)에 대한 링크는 다음과 같습니다. https://poi.apache.org/spreadsheet/quick-guide.html

통합 문서를 만들고 시트를 만들고 셀을 만드는 방법에 대한 항목을 살펴보십시오.

-1

데이터를 Excel로 가져 오는 가장 쉽고 빠른 방법은 결과를 쉼표로 구분 된 값 파일 또는 CSV로 작성하는 것입니다. Excel에서 기본적으로이 형식을로드 할 수 있습니다. 각 텍스트 행에는 일련의 필드가 쉼표로 구분되어 있습니다. 이 파일에는 수식이나 서식이 포함되지 않지만 데이터는 제공됩니다. 헤더 필드를 선택할 수 있습니다.

header1,header2 
value1,value2 

이 파일은 일반 텍스트 파일이므로 라이브러리가 필요하지 않습니다.

관련 문제