2014-06-25 4 views
0

여기 표시 이름, 나이와 같은 수동 값 대신 테이블에서 값을 가져와야합니다. 그리고 위치에 CSV 파일을 생성 할 필요가 없습니다. 대신, 그것은 나에게 CSV 파일을 다운로드 할 수있는 팝업을 보여 주어야합니다. 이것을 달성하는 방법?java를 사용하여 테이블 내용을 csv로 내보내는 방법은 무엇입니까?

지금까지 내가 java를 사용하여 CSV로 데이터를 내보내려고했습니다. 표시 이름, 나이와 같은 몇 가지 수동 값을 사용했습니다. 하지만 테이블에서 값을 얻어야합니다.

<table> 
<td> 
--datas-- 
</td> 
</table> 

자바 코드 예를 들면 : 당신이 동적으로 테이블을 생성하고의 HttpSession를 사용하고 있으리라 믿고있어

import java.io.FileWriter; 
import java.io.IOException; 

public class test 
{ 
    public static void main(String [] args) 
    { 
     generateCsvFile("D:/test.csv"); 
    } 

    private static void generateCsvFile(String sFileName) 
    { 
    try 
    { 
     FileWriter writer = new FileWriter(sFileName); 

     writer.append("DisplayName"); 
     writer.append(','); 
     writer.append("Age"); 
     writer.append('\n'); 

     writer.append("Dinesh"); 
     writer.append(','); 
     writer.append("23"); 
     writer.append('\n'); 

     writer.append("Kumar"); 
     writer.append(','); 
     writer.append("29"); 
     writer.append('\n'); 

     //generate whatever data you want 

     writer.flush(); 
     writer.close(); 
    } 
    catch(IOException e) 
    { 
     e.printStackTrace(); 
    } 
    } 
} 
+0

아직 자신이 어떤 일을 했를 제거하려면? 정확히 작동하지 않는 것은 무엇입니까? – CDahn

답변

0

테이블이있는 JSP 페이지가 있다고 가정하십시오. jsp 페이지를 제출하는 동안 테이블을 읽음으로써 자바 스크립트에서 쉼표로 구분 된 테이블 값 문자열을 형성 할 수 있습니다.

예를 들어

//gets table 
var table= document.getElementById('table1'); 

//gets rows of table 
var rowLen = table.rows.length; 

//loops through rows  
for (i = 0; i < rowLen; i++){ 
    var oCells = table.rows.item(i).cells; 
    var cellLen = oCells.length; 
    for(var j = 0; j < cellLen; j++){ 
     /* get your cell info here */ 
     /* var cellVal = oCells.item(j).innerHTML; */ 
    } 
} 

하고 쉼표로 구분 된 값의 문자열을 한 후에는 제출 된 요청을 처리하는 조치에 전달할 수 있습니다.

+0

고맙습니다 :) 제 질문에 사과하십시오. 그것은 -1입니다. 나는 왜 .. 모른다. –

0

, 당신은 너무 같은 세션에서 테이블을 설정할 수 있습니다

HttpSession.setAttribute("Data", ArrayList<Object> data); 

그런 다음 생성시 테이블을 가져옵니다.

ArrayList<Object> data = this.context.getSession().getAttribute("Data"); 
0

간단한 해결책 :

  1. 사용 정규식합니다 ( <table></table> 태그 사이) 테이블의 안쪽 부분을 추출하는

  2. 사용 정규식이 <tr></tr> 그 태그 사이의 모든 줄 바꿈을 제거하는 그 자체 (행)

  3. ""와""

  4. 사용 정규식은 나머지 태그

관련 문제