서버에서 데이터를 구성한 후 엑셀을 다운로드 합니다.
헤더타이틀이나 각 컬럼의 서식(포맷)정보만 서버로 전달하고, 데이터 부분은 별도의 페이지(혹은 서블릿)를 통해 데이터를 java.util.List(java.util.Map) 구조로 생성하여 "SHEETDATA"라는 이름으로 request객체에 담아DirectDown2Excel.jsp
파일에 전달하면 헤더 정보와 데이터를 조합하여 엑셀 파일을 다운 받습니다.
ObjId.DirectDown2Excel([parameters]);
Parameter | Type | Required | Description |
---|---|---|---|
AllTypeToText | Boolean |
선택 | 날짜 데이터를 날짜 서식으로 다운로드 받을지 여부 (Default: 0) |
AppendPrevSheet | Boolean |
선택 | Buffer 모드 사용시 이전 워크시트에 Append 적용 여부 (Default: 0) |
AutoSizeColumn | Boolean |
선택 | 컬럼 넓이 자동 조절 여부 (Default: 0(컬럼 넓이 자동 조절 안함)) |
ComboValidation | Boolean |
선택 | 콤보의 드롭다운 형식 다운로드 여부 (Defualt: 0) |
DownCols | String |
선택 | 다운로드 받을 열들을 | 로 연결 (Default: "")(사용안함) |
DownCombo | String |
선택 | 콤보의 TEXT/CODE 형태의 다운로드 여부 (Default: "TEXT") |
DownHeader | Boolean |
선택 | 헤더의 다운로드 여부 (Default: 1) |
ExcelFontSize | Number |
선택 | 폰트 크기 설정 (Default: 0) |
ExcelHeaderRowHeight | String |
선택 | 헤더 높이 설정 (Default: "")(사용안함) |
ExcelRowHeight | String |
선택 | 엑셀의 행높이 설정 (Default: "")(사용안함) |
ExtendParam | String |
선택 | 서버로 전달할 추가 파라미터 Get방식의 QueryString으로 연결하여 설정 (Default: "")(사용안함) |
ExtendParamMethod | String |
선택 | ExtendParam인자의 전송 방식 (Default: GET) |
FileName | String |
선택 | 저장할 파일 명 (Default: "Excel.xls") |
HiddenColumn | Boolean |
선택 | 열숨김 반영 여부 (Default: 0) |
KeyFieldMark | Boolean |
선택 | KeyField 마크(*)를 다운 여부 (Default: 1(다운 받음)) |
Mode | Number |
선택 | 다운로드 모드 - -1 : Status, Delcheck, Result 타입 및 Hidden 칼럼을 제외하고 다운로드- 0 : 모든 컬럼을 다운로드- 1 : Status, DelCheck 타입을 제외하고 다운로드- 2 : Hidden컬럼을 제외하고 다운로드 |
Merge | Number |
선택 | 헤더의 머지의 다운로드 적용 방식 설정 (0: post / 1: multipart (Default)) |
Multipart | Boolean |
선택 | 다운로드 받을 데이터 전달 방식 (Default: 1) |
NumberFormatMode | Number |
선택 | 실수 형태의 데이터 타입에 대한 셀서식 설정 방식 설정 - 0 : 컬럼 단위 Format 기준 셀서식 설정 (Default)- 1 : 셀의 값 기준에 따라 정수 또는 실수 포맷형태의 셀서식 설정- 2 : 일반 서식으로 설정 (별도의 셀 서식포맷을 설정하지 않음) |
NumberTypeToText | Boolean |
선택 | 숫자타입 셀 데이터를 문자 타입으로 다운로드 받을지 여부 숫자타입 컬럼의 일부 셀에 포맷을 변경하여 문자열을 삽입하는 경우 사용 (Default: 0) |
ReportXMLURL | String |
선택 | 엑셀파일에 타이틀이나 패턴등을 별도의 xml파일을 통해 설정 |
SheetDesign | Number |
선택 | 디자인 다운로드 적용 여부 - 0 : 셀 외곽선을 제외한 모든 디자인 적용 안함 (Default)- 1 : 모든 셀 스타일을 적용- 2 : 셀 외곽선을 제외한 셀 스타일을 적용- 3 : 셀 외곽선 및 스타일을 모두 적용 안함 |
SheetName | String |
선택 | 엑셀WorkSheet이름 (Default: "Sheet") |
TextToGeneral | Boolean |
선택 | Type:”Text”의 엑셀 서식 형식 (Default: 1(일반)) |
TitleAlign | String |
선택 | 타이틀 정렬 설정 (Default: "center"(중앙정렬)) |
TitleText | String |
선택 | IBSheet 위쪽에 제목이나 기타 자료들의 문자열 설정 컬럼 구분자 | 로 연결, 행 구분자 \r\n 로 연결, 해당 셀안에서 줄바꿈처리를 하려면 \r 또는 \n 을 설정 (Default: "")(사용안함)![]() |
URL | String |
선택 | 엑셀 데이터를 생성할 페이지 (Default: "")(사용안함) |
UserMerge | String |
선택 | 해당 영역에 대한 머지처리 (Default: "")(사용안함)![]() |
WordWrap | Boolean |
선택 | 줄바꿈 처리 여부(Default: 1)(줄바꿈 허용) |
ReqHeader | Boolean |
선택 | Request Header에 사용자가 지정한 헤더 정보를 설정합니다. 이 인자를 설정하면 UseXhr을 true로 설정한 것과 동일하게 동작합니다. |
UseXhr | Boolean |
선택 | iframe를 통한 form submit 방식으로 통신하는 기존 방식과 다르게 엑셀 다운로드시 통신 방식을 xhr로 설정합니다. 프레임웍의 각종 보안처리로 인하여 iframe를 사용할 수 없다거나 Cookie(파일 다운로드 완료 후 화면의 대기이미지 닫을 때 필요)를 읽고 쓸수 없을 때 이 속성을 true로 설정해주세요. |
none
// DirectDown2Excel 순서
// 1. DirectDown2Excel 메소드 호출 -> 2. DB 조회 -> 3. "SHEETDATA를 담아 DirectDown2Excel.jsp페이지로 전달" -> 4. DirectDown2Excel.jsp에서 엑셀 다운
// 시트 화면 페이지
// 1. DirectDown2Excel 메소드 호출
var param = {
URL:"/bussinessList.jsp",
ExtendParam:"sa_nm=양진열&sa_no=980123",
FileName:"PersonList.xls"
};
mySheet.DirectDown2Excel(param);
// bussinessList.jsp 페이지
// 2. 엑셀로 내려질 데이터를 DB에서 조회
String sa_name = request.getParameter("sa_nm");
String sa_no = request.getParameter("sa_no");
String query = "SELECT POSTNO, SIDO, SIGUNGU, LEE, ADDRESS FROM POSTNO";
Class.forName(driver);
conn = DriverManager.getConnection(url,id,pwd);
pstmt = conn.prepareStatement(query);
rs = pstmt.executeQuery();
// 3. 데이터를 List(Map)형태로 전환.
// map 데이터 생성시 이름은 반드시 시트의 SaveName과 동일 해야 함.
Java.util.List li = new java.util.List();
java.util.Map mp = null;
while(rs.next()){
mp = new Java.util.Map();
mp.put("POSTNO",rs.getString("POSTNO"));
mp.put("SIDO",rs.getString("SIDO"));
..
..
li.add(mp);
}
// 데이터를 반드시 SHEETDATA라는 이름으로 담는다.
request.setAttribute("SHEETDATA", li);
// 4. DirectDown2Excel.jsp 페이지로 forwarding
String forwardPath = "./DirectDown2Excel.jsp";
if(!"".equals(forwardPath)){
RequestDispatcher rd = request.getRequestDispatcher(forwardPath);
rd.forward(request,response);
}
version | desc |
---|---|
7.0.0.0 | |
7.0.2.0 | AllTypeToText 속성 추가 |
7.0.13.26 | NumberFormatMode 속성 추가 |
7.0.13.89 | Mode 속성 추가 |
7.0.13.230 | ReqHeader, UseXhr 속성 추가 |