자바 Excel로 데이터 집합의 대형 데이터 처리-큰 숫자

출처: 인터넷
작성자: 사용자
키워드: 자바 이름 질량 큰 데이터

자바 웹 개발, 그것은 종종 http://www.aliyun.com/zixun/aggregation/16544.html 많은 양의 데이터 내보낼 필요가 "> 엑셀, JXL 직접 Excel 생성 POI를 사용 하 여, 메모리 오버플로우를 발생 하는 것이 쉽습니다.

1, 방법, CSV 서식 파일에 데이터를 작성 하는 것입니다.

Excel과 직접 1 CSV 파일을 열 수 있습니다.

2 쓰기 CSV 파일의 효율성은 TXT 파일의 효율 높은.

3 동일한 데이터 콘텐츠, 생성 된 CSV 파일 크기는 생성 된 Excel 파일 보다 훨씬 작습니다.

위에서 CSV 파일에 의해 생성 된 메모리는 절대적으로 보다 빌드 Excel 파일을 볼 수 있습니다.

2 열 때 Excel에서 CSV 파일을 생성 하는 특정 형식에는 전체 행 및 열 형식입니다.

예: Excel에서 서식:

  

이 경우 CSV 파일에서 형식 이어야 합니다.

  

즉, 열과 열 사이 해야 쉼표의 한국어 IME 상태를 사용 하 여 "," 간격: 첫 번째 칼, 코 오 롱.

간단한 예를 들어 Excel로 데이터를 내보낼 Struts2에 3.

Csvaction, CSV 파일을 생성 하 고 다운로드 작업을 생성 된 CSV 파일의 전체 경로 전달 합니다.

자바 코드 <!-[경우! vml] →

<!-[endif] →

패키지 cn.luxh.struts2.action;

가져오기 Java.io.FileWriter;

가져오기 java.io.IOException;

가져오기 Java.text.SimpleDateFormat;

가져오기 java.util.ArrayList;

가져오기 Java.util.Date;

가져오기 java.util.List;

가져오기 Cn.luxh.struts2.entity.Novel;

가져오기 Com.opensymphony.xwork2.ActionSupport;

/**

* 데이터를 CSV 파일로 내보내려면

* @author Luxh

*/

공용 클래스 Csvaction Actionsupport 없음 확장

개인 정적 최종 긴 serialversionuid =-2862629695443964658 l;

/**

* 파일 이름 전체 경로 포함 하

* 다운로드 다운로드에 대 한 작업 전달

*/

개인 문자열 이름;

/**

데이터를 내보낼

*/

공개 문자열 Exportdata2csv () 없음

소설 목록 = Getnovels ();

파일 이름 = "D:/novels.csv";

Writedata2csv (소설, 파일 이름);

성공 반환

}

/**

일부 데이터를 생성

* 그것은 실제로 많은 양의 데이터베이스에서 데이터를 분리 가능

*/

개인 목록 Getnovels () 없음

소설 목록 = new ArrayList ();

소설 Novel1 새로운 소설 = ("첫 번째 칼", "향수", 새로운 날짜 ());

소설 Novel2 새로운 소설 = ("도 서 검 술과 증오 기록", "진 용", 새로운 날짜 ());

소설 Novel3 새로운 소설 = ("루 샤 오 펑 전설", "향수", 새로운 날짜 ());

소설 Novel4 새로운 소설 = ("사슴 딩 키", "진 용", 새로운 날짜 ());

Novels.add (NOVEL1);

Novels.add (NOVEL2);

Novels.add (NOVEL3);

Novels.add (NOVEL4);

반환 소설;

}

/**

* CSV 파일에 특정 형식에 데이터 쓰기

* @param 소설 데이터 수집

* @param 파일 CSV 파일 전체 경로

*/

public void Writedata2csv (소설 목록, 파일 이름 문자열) 없음

FileWriter FW = NULL;

시도 없음

FW = 새로운 FileWriter (파일 이름);

출력 헤더

"," 간격 열 사이 참고, 선 필요 반환 라인 "\ r \ n" 작성

제목 문자열 = "일련 번호, 새로운 이름, 저자, 출판 날짜 \ r \ n";

Fw.write (제목);

콘텐츠 문자열 = null;

SimpleDateFormat 자위대 = 새로운 SimpleDateFormat ("Yyyy-mm-dd");

대 한 (int i = 0; 난

소설 소설 (i); Novels.get =

"," 간격 열 사이 참고, 선 필요 반환 라인 "\ r \ n" 작성

콘텐츠 (i + 1) = "," +novel.getname + () + +novel.getauthor () "," + "," +sdf.format (Novel.getpublishdate ()) + "\ r \ n";

Fw.write (콘텐츠);

}

} catch (예외 e) 없음

E.printstacktrace ();

던져 새로운 RuntimeException (e);

} 마지막으로 없음

시도 없음

경우 (fw! = null) 없음

Fw.close ();

}

catch (e IOException) 없음

E.printstacktrace ();

}

}

}

}

구성 파일:

XML 코드 <!-[경우! vml] →

<!-[endif] →

다운로드

다운로드

$ {파일 이름}

4, 볼 동일한 데이터 콘텐츠, CSV 파일과 Excel 파일 크기 비교:

  

관련 문서

연락처

이 페이지의 내용은 인터넷에서 가져온 것이므로 Alibaba Cloud의 공식 의견이 아닙니다.이 페이지에서 언급 된 제품 및 서비스는 Alibaba Cloud와는 관련이 없으므로이 페이지의 내용이 골칫거리 인 경우 저희에게 알려주십시오. 우리는 5 일 근무일 이내에 이메일을 처리 할 것입니다.

커뮤니티에서 표절 사례를 발견한 경우 info-contact@alibabacloud.com 으로 관련 증거를 첨부하여 이메일을 보내주시기 바랍니다. 당사 직원이 영업일 기준 5일 내에 연락 드리도록 하겠습니다.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.