(넥사크로 14)그리드 엑셀 출력
/*****************************************************************************************
* 함 수 명 : 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);