SMAEI00100.js 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. /*
  2. 인체자원은행 엑셀저장 (SMAEI00100.xrw - JScript )
  3. - Version :
  4. 1) : Ver.1.00.01
  5. */
  6. /************************************************************************************************************************/
  7. /**
  8. * @group :
  9. * @ver :
  10. * @by : 김기용
  11. * @---------------------------------------------------
  12. * @type : function
  13. * @access : public
  14. * @desc : 그리드 별 엑셀저장
  15. * @param :
  16. * @return :
  17. * @---------------------------------------------------
  18. */
  19. function saveExcelAll() {
  20. var paramLen = saveExcelAll.arguments.length;
  21. // 마지막 인자가 Boolean일 경우 처리
  22. var extendsCaptionBool;
  23. if( typeof(saveExcelAll.arguments[paramLen - 1]) == "boolean" ) {
  24. extendsCaptionBool = saveExcelAll.arguments[paramLen - 1];
  25. paramLen = paramLen - 1;
  26. }
  27. else{
  28. extendsCaptionBool = false;
  29. }
  30. var tmpParamArray = new Array();
  31. if( extendsCaptionBool ) {
  32. for( var i = 0; i < paramLen; i++ ) {
  33. tmpParamArray[i] = saveExcelAll.arguments[i];
  34. }
  35. saveExcelAllWithCaption(tmpParamArray);
  36. }
  37. else{
  38. for( var i = 0; i < paramLen; i++ ) {
  39. tmpParamArray[i] = saveExcelAll.arguments[i];
  40. }
  41. saveExcelAllWithNotCaption(tmpParamArray);
  42. }
  43. }
  44. function saveExcelAllWithCaption( sheetArray ) {
  45. // alert(gridCaptionArray);
  46. var fileName = window.fileDialog("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  47. if( fileName == "" )
  48. return;
  49. // var sheetArray = new Array("grd_bizprescondstats|업무현황", "grd_patprescondstats|환자현황", "grd_hdstatsinfo|혈액투석현황", "grd_pdstatsinfo|복막투석현황", "grd_pdbizstatsinfo|복막투석업무현황");
  50. var sheetArrayLen = sheetArray.length;
  51. var gridId;
  52. var gridObj;
  53. for( var i = 0; i < sheetArray.length; i++ ) {
  54. gridId = sheetArray[i].split("|")[0];
  55. gridObj = document.all.item(gridId);
  56. // saveText() 함수는 Caption저장이 불가능 하여 SaveExcel()을 이용한다.
  57. gridObj.saveExcel("C:\\Temp\\tmp_TFExcel_" + i +".xls");
  58. }
  59. // excel application 실행함
  60. tfexcel.launchnewinstance(0);
  61. //실행된 excel application에서 새로운 workbook을 생성
  62. tfexcel.createworkbook();
  63. tfexcel.activatesheet(1);
  64. var sheetName;
  65. var nResult;
  66. for( var i = 0; i < sheetArrayLen; i++ )
  67. {
  68. sheetName = sheetArray[i].split("|")[1];
  69. nResult = tfexcel.addsheet(i+1, sheetName);
  70. if( nResult < 0 ) {
  71. messageBox(sheetName + " 저장을", "E009");
  72. // alert(sheetName + " 오류발생");
  73. return;
  74. }
  75. tfexcel.loadCSV("C:\\Temp\\tmp_TFExcel_" + i + ".xls");
  76. }
  77. tfexcel.loadCSV("C:\\Temp\\tmp_TFExcel.xls");
  78. //workbook을 저장.
  79. tfexcel.save(fileName);
  80. //excel application을 종료. excel application 생성 후 반드시 close해야함.
  81. tfexcel.close();
  82. var fso = new ActiveXObject("Scripting.FileSystemObject");
  83. for( var i = 0; i < sheetArrayLen; i++ ) {
  84. fso.DeleteFile("C:\\Temp\\tmp_TFExcel_" + i + ".xls");
  85. }
  86. var rmsg = messageBox("저장된 Excel을", "Q004");
  87. // var rmsg = window.alert("저장된 Excel을 실행하시겠습니까?", "알림", 36);
  88. if( rmsg == 6 )
  89. window.exec("excel.exe", '\"' + fileName + '\"');
  90. }
  91. function saveExcelAllWithNotCaption( sheetArray ) {
  92. // alert(gridCaptionArray);
  93. var fileName = window.fileDialog("save", ",", false, "excel", "xls", "All Files (*.*)|*.*|Excel Files(*.xls)|*.xls");
  94. if( fileName == "" )
  95. return;
  96. // excel application 실행함
  97. tfexcel.launchnewinstance(0);
  98. // 실행된 excel application에서 새로운 workbook을 생성
  99. tfexcel.createworkbook();
  100. // var sheetArray = new Array("grd_bizprescondstats|업무현황", "grd_patprescondstats|환자현황", "grd_hdstatsinfo|혈액투석현황", "grd_pdstatsinfo|복막투석현황", "grd_pdbizstatsinfo|복막투석업무현황");
  101. var sheetArrayLen = sheetArray.length;
  102. var gridId;
  103. var gridObj;
  104. var sheetName;
  105. var nResult;
  106. for( var i = 0; i < sheetArrayLen; i++ ) {
  107. gridId = sheetArray[i].split("|")[0];
  108. gridObj = document.all.item(gridId);
  109. sheetName = sheetArray[i].split("|")[1];
  110. if( i > 1 ) {
  111. nResult = tfexcel.activatesheet(i+1);
  112. tfexcel.sheetname(i+1) = sheetName;
  113. }
  114. else {
  115. nResult = tfexcel.addsheet(i+1, sheetName);
  116. }
  117. if( nResult < 0 ) {
  118. messageBox(sheetName + " 저장을", "E009");
  119. // alert(sheetName + " 오류발생");
  120. return;
  121. }
  122. gridObj.saveText("C:\\Temp\\tmp_TFExcel.csv", "\n", ",", '\:', true);
  123. tfexcel.loadCSV("C:\\Temp\\tmp_TFExcel.csv");
  124. }
  125. //workbook을 저장.
  126. tfexcel.save(fileName);
  127. //excel application을 종료. excel application 생성 후 반드시 close해야함.
  128. tfexcel.close();
  129. // CSV File 삭제
  130. var fso = new ActiveXObject("Scripting.FileSystemObject");
  131. fso.DeleteFile("C:\\Temp\\tmp_TFExcel.csv");
  132. var rmsg = messageBox("저장된 Excel을", "Q004");
  133. // var rmsg = window.alert("저장된 Excel을 실행하시겠습니까?", "알림", 36);
  134. if( rmsg == 6 )
  135. window.exec("excel.exe", '\"' + fileName + '\"');
  136. }
  137. function createTFExcel(tfExcelID, parentObj) {
  138. if( parentObj == null )
  139. parentObj = body;
  140. var tfExcelObj = parentObj.createChild("xforms:object", "id:" + tfExcelID + "; clsid:{fe8d1001-6a9d-424d-ae2a-301493bb12da}; left:100px; top:100px; width:100px; height:100px; ");
  141. return tfExcelObj;
  142. }
  143. /************************************************************************************************************************/