WEB/넥사크로

(넥사크로 14)그리드 엑셀 출력

iiaii 2018. 12. 13. 11:24
반응형

/*****************************************************************************************

* 함  수  명 : gfn_exportExcel()

* 설   명    : Grid를 Excel로 Export하는 함수

* 파라미터  :  targetGrid = 단일Export -  Grid Object, 다수Export - Array Objec[Grid Object,Grid Object]

* sFileName - Export될 파일명

*****************************************************************************************/  

gfn_exportExcel = function(obj, targetGrid, sFileName)

{

trace("[/lib_Grid.xjs][gfn_exportExcel()] ==> [엑셀 export 처리][TEST_01][obj]"+ obj +"[targetGrid]"+ targetGrid +"[sFileName]"+ sFileName );

obj.setWaitCursor(true,true);

var sExportObjName = "obj_commonExport";

var exportObj = new ExcelExportObject();

var sToday = gfn_getTodayFull().substr(0,8) +"_"+ gfn_getTodayFull().substr(8,6)  // 오늘 날짜

var sSheetName;

var sSvcUrl = application.services["svcurl"].url +"/XExportImport"; // 서버 경로

exportObj.set_name(sExportObjName);

exportObj.addEventHandler("onsuccess", obj._gfn_exportExcel_onsuccess, obj);

exportObj.addEventHandler("onerror", obj._gfn_exportExcel_onerror, obj);

exportObj.clearExportItems(nexacro.ExportTypes.EXCEL2007);

 

if(!gfn_isNull(sFileName)) // 파일명이 존재하면

{

sFileName = sToday +"_"+ sFileName; // 실제 파일명

}

else

{

sFileName = sToday; // 실제 파일명

}

 

if (targetGrid instanceof Grid) // targetGr가 drid 이면

    sSheetName = "Sheet1!A1"; // 제목

    trace("[/lib_Grid.xjs][gfn_exportExcel()] ==> [TEST_11][sSheetName]"+ sSheetName +"[targetGrid]"+ targetGrid );

    exportObj.addExportItem(nexacro.ExportItemTypes.GRID, targetGrid, sSheetName,"allband","allrecord","suppress","onlyvalue","none","color,background","both");

else

{

trace("[/lib_Grid.xjs][gfn_exportExcel()] ==> [TEST_12] [targetGrid.length]"+ targetGrid.length );

    for(var i=0; i< targetGrid.length; i++) 

    {

        sSheetName = "A"+(i+1); // 내용

        oGrid = obj[i];

        trace("[/lib_Grid.xjs][gfn_exportExcel()] ==> [TEST_41][i_번째]"+ i +"[sSheetName]"+ sSheetName +"[oGrid]"+ oGrid );

        exportObj.addExportItem(nexacro.ExportItemTypes.GRID, targetGrid, sSheetName + "!A1","allband","allrecord","suppress","none","background","font", "both");

    }

}

trace("[/lib_Grid.xjs][gfn_exportExcel()] ==> [TEST_51]" );

exportObj.set_exporttype(nexacro.ExportTypes.EXCEL2007); 

//exportObj.set_exporteventttype("itemrecord"); // export EVENT Type: item record  ==> 추가

//exportObj.set_exportuitype("exportprogress");   // export UI Type: exportprogress ==> 추가

//exportObj.set_exportmessageprocess("0 Item");   // export Message Processe: exportprogress ==> 추가

exportObj.set_exportfilename(encodeURI(sFileName)); // export 파일명(암호화)

//exportObj.set_exportfilename(sFileName);

exportObj.set_exporturl(sSvcUrl); // Export할 Server URL 지정

trace("[/lib_Grid.xjs][gfn_exportExcel()] ==> [TEST_53][sFileName]"+ sFileName +"[sSvcUrl]"+ sSvcUrl);


var result = exportObj.exportData();

trace("[/lib_Grid.xjs][gfn_exportExcel()] ==> [TEST_end]" );

}





var strFileName = "grd_listDetail"; // 파일명

gfn_exportExcel(this, this.grd_listDetail, strFileName);  








반응형