EXCEL » Api

getexcellayoutinfo

Description

컴포넌트 정보들을 사용하여 엑셀 컬럼 너비 및 병합정보를 계산하여 반환한다.

Parameters

Parameters Type Description
arrTargetInfo Array 대상컴포넌트 및 옵션 정보 배열
bUseWidth BOOL [옵션] 너비정보배열 사용여부 (기본값:false)

Return Value

Type Description
class 컬럼 너비 및 병합정보 오브젝트(실패시 null)

Remark

대상컴포넌트 및 옵션 정보 오브젝트 구조는 아래와 같다.

** 대상컴포넌트 및 옵션 정보 오브젝트 = {
    objInst: objGrid,          // 대상 컴포넌트(그리드, 멀티라인그리드, 트리그리드, 테이블뷰)
    bIncludeLinenumber: true,  // 라인넘버 포함여부(그리드일때만 동작, 기본값:false)
    bIncludeStatColumn: true,  // 통계컬럼 포함여부(그리드일때만 동작, 기본값:false)
    arrExcludeCol: [1,5]       // 제외대상 컬럼인덱스 배열(그리드일때만 동작, 기본값:[])
};

컬럼 너비 및 병합정보 오브젝트 구조는 아래와 같다.

** 컬럼 너비 및 병합정보 오브젝트 = {
    excel_column_width_arr: "",   // 엑셀의 컬럼 너비 정보
    컴포넌트이름: [ { start:병합시작인덱스, end:병합끝인덱스 }, .... ],  // 컴포넌트에 해당하는 컬럼 병합정보 배열
         :
         :
};

** bUseWidth 파라미터

bUseWidth 파라미터에 true 지정시, arrTargetInfo 파라미터에는 컬럼별 너비정보 배열을 지정한다.
** 컬럼별 너비정보 배열 = 
[
    [1번째 컬럼너비, 2번째 컬럼너비, ...],    // 1번째 행
    [1번째 컬럼너비, 2번째 컬럼너비, ...],    // 2번째 행
	 :
	 :
];

컬럼 너비 및 병합정보 오브젝트 구조는 아래와 같다.

** 컬럼 너비 및 병합정보 오브젝트 = {
    excel_column_width_arr: "",   // 엑셀의 컬럼 너비 정보
    merge_info: // 행별 컬럼 병합정보 배열
	    [
            [ { start:병합시작인덱스, end:병합끝인덱스 }, .... ],  // 1번째 행에 해당하는 컬럼 병합정보 배열
            [ { start:병합시작인덱스, end:병합끝인덱스 }, .... ],  // 2번째 행에 해당하는 컬럼 병합정보 배열
                 :
                 :
        ]
};

Example

function btnTest_on_mouseup(objInst) { var arrTargetInfo = [ { objInst: grid01, // 대상 컴포넌트(그리드, 멀티라인그리드, 트리그리드, 테이블뷰) } ,{ objInst: grid02, // 대상 컴포넌트(그리드, 멀티라인그리드, 트리그리드, 테이블뷰) bIncludeLinenumber: true, // 라인넘버 포함여부(그리드일때만 동작, 기본값:false) bIncludeStatColumn: true, // 통계컬럼 포함여부(그리드일때만 동작, 기본값:false) arrExcludeCol: [0,2] // 제외대상 컬럼인덱스 배열(그리드일때만 동작, 기본값:[]) } ,{ objInst: tableview01, // 대상 컴포넌트(그리드, 멀티라인그리드, 트리그리드, 테이블뷰) } ,{ objInst: tableview02, // 대상 컴포넌트(그리드, 멀티라인그리드, 트리그리드, 테이블뷰) } ]; // 그리드와 테이블뷰에 대해서 엑셀의 컬럼 너비 및 병합정보 취득 var objLayoutInfo = excel01.getexcellayoutinfo(arrTargetInfo); /* objLayoutInfo : { excel_column_width_arr : 엑셀의 컬럼 너비 정보 컴포넌트1 : 컴포넌트에 해당하는 컬럼 병합정보 배열 [ { start:병합시작인덱스, end:병합끝인덱스 }, .... ] 컴포넌트2 : : } */ console.log(objLayoutInfo); /* { "excel_column_width_arr": [39, 4, 23, 14, 19, 21, 12, 28, 5, 26, 29, 53, 27, 67, 33, 24, 42], "grid01": [{"start": 0,"end": 5},{"start": 6,"end": 7},{"start": 8,"end": 11},{"start": 12,"end": 16}], "grid02": [{"start": 0,"end": 4},{"start": 5,"end": 7},{"start": 8,"end": 10},{"start": 11,"end": 13}], "tableview01": [{"start": 0,"end": 0},{"start": 1,"end": 9},{"start": 10,"end": 12},{"start": 13,"end": 14},{"start": 15,"end": 17}], "tableview02": [{"start": 0,"end": 2},{"start": 3,"end": 3},{"start": 4,"end": 5},{"start": 6,"end": 6},{"start": 7,"end": 8},{"start": 9,"end": 15}] } */ // 2. 컬럼 너비정보를 사용하여 EXCEL컴포넌트의 setcolumnwidth 로 너비 설정 // 3. 병합정보를 사용하여 EXCEL컴포넌트의 setcellmerge 로 병합 처리 } function btnTest2_on_mouseup(objInst) { // 행별 너비 정보 var arrWidthInfo = [ [40, 120, 100, 180], // 1번째 행 [80, 80, 80, 80] // 2번째 행 ]; // 그리드와 테이블뷰에 대해서 엑셀의 컬럼 너비 및 병합정보 취득 var objLayoutInfo = excel01.getexcellayoutinfo(arrWidthInfo, true); /* objLayoutInfo : { excel_column_width_arr : 엑셀의 컬럼 너비 정보 merge_info : 행별 컬럼 병합정보 배열 [ [ { start:병합시작인덱스, end:병합끝인덱스 }, .... ] [ { start:병합시작인덱스, end:병합끝인덱스 }, .... ] : : ] } */ console.log(objLayoutInfo); /* { "excel_column_width_arr": [40, 40, 80, 80, 20, 60, 120], "merge_info": [ [{"start": 0,"end": 0},{"start": 1,"end": 2},{"start": 3,"end": 4},{"start": 5,"end": 6}], [{"start": 0,"end": 1},{"start": 2,"end": 2},{"start": 3,"end": 3},{"start": 4,"end": 5}], ] } */ }

Viewer Ver.

9.1.1.1

Update Date

20250107