MiPlatform
엑셀다운로드 clipboard 사용 여부에 따른 데이터 누락 현상 분석 및 개선 요청
현상
엑셀다운로드시 clipboard를 사용하는 ~Ex함수를 사용할 경우 함수가 작업하는 동안 사용자 혹은 시스템이 Clipboard를 사용할 경우 데이터가 유실되는 현상
처리방안
Clipboard를 공유하여 사용할 경우 문제가 되는 증상을 피할 수 없음을 공유.
Clipboard를 사용하지 않는 함수 사용을 가이드
해당 기능을 지원하는 ExtCommonApi를 고객사에서 사용중인 MiPlatform320U 2008.04.21버전으로 빌드하여 제공.
엑셀다운로드시 clipboard를 사용하는 ~Ex함수를 사용할 경우 함수가 작업하는 동안 사용자 혹은 시스템이 Clipboard를 사용할 경우 데이터가 유실되는 현상 발생함.
Excel Export 시 "서버작업중" 창 관련 문의
현상
excel_proc
원인
Excel의 BusyTime 때문에 발생하는 문제입니다.
해결방안
해당 폼의 onloadComplete이벤트에서 다음과 같이 사용해 보시기 바랍니다.
BusyTimeOut시간 설정 Ex)설정시 : ext_OleServerBusyTimeOut(true,3000,false,false) ;// 폼 load시 해제시 : ext_OleServerBusyTimeOut(false); //폼 unload시
참고사항
엑셀 다운로드 후 실행할 때 빈문서만 보이는 문제
현상
엑셀 다운로드 후 실행할 때 빈문서만 보이는 문제 현상 발생하는 일부PC가 있으며 최초 한번은 정상, 이후 부터는 빈문서만 보임
분석내용
Component폴더에 엑셀등 오피스파일을 생성할 수 없어서 폴더권한을 제어하는 보안프로그램의 유무를 SDS담당자에게 문의하여 MyGuard라는 프로그램이 관련있음을 파악. 보안 프로그램 담당자와 원격으로 기능을 일시해제 후 테스트 하니 정상임. 정책새로받기 이후 정상적으로 처리됨.(정책적용 오류로 판단됨)
MyGuard라는 프로그램이 관련있음을 파악
보안프로그램의 변경이 있었지만, 다 그렇듯이 보안담당자는 영향도가 없을 것으로 보므로 기능을 일시정지 한 후 테스트해 주도록 강력히 요청합니다.
XPLATFORM
그리드에서 엑셀 다운로드 이후에도 Excel 프로세스 살아있는 현상
참고사항
export 후에 export 객체를 생성한 변수에 null 처리를 해주시기 바랍니다.
예) var objExport = new ExportObject(); ......... objExport = null;
nexacro platform 14
DRM(NASCA) 사용시 참고사항
IE 브라우저에서 nexacro HTML5 엑셀 Import 기능을 이용하여 DRM 문서를 업로드 시 같은경로 같은 이름의 파일을 중복해서 업로드할때 내용변경이 안되는 현상
(ex 엑셀 파일 수정하여 업로드 하여도 최초에 업로드한 내용이 적용됨)
원인
NASCA tmp 폴더의 캐쉬가 엑셀 Import에 영향을 미치는 것으로 판단됨. (tmp 경로 : windows/pcdrm/drmtmp)
참고사항
** NASCA 검증 내용 : 1) NASCA 관리자 페이지에서 문서관련 '개봉', '수정', '첨부' 로그를 확인할 수 있음. 2) IE에서 현상 발생할 경우 '첨부' 로그가 한번만 기록됨을 확인. 3) 엑셀 Import 시 로컬 PC의 log폴더에 로그 기록 안됨 확인. 4) 로컬 PC의 tmp폴더 파일을 삭제 후 테스트 시 정상 작동 확인
해당 내용은 DRM업체에서 대응이 필요함
발생고객사 : SPC
Nexacro Platform 엑셀 export 속도관련 문의
주요내용
Nexacro Platform Excel Export 구동 방식에 잘 못 이해하고 있음. 월 선택 캘린더 샘플 요청
처리방안
Nexacro Platform Excel Export 구동방식 설명 및 타사이트 사례 안내 > 제품 기능으로 로컬에서 Excel이 생성되는 것으로 이해하고 있어 본사 제품의 경우 그리드의 데이터를 서버에 전달하여 엑셀 파일이 생성되는 방식임을 안내함. > 데이터가 많아질수록 속도에 대한 기대치가 떨어짐을 안내 > 대용량 데이터를 Excel Export 처리하는 방식을 별도로 구현하여 사용 중 으로 해당방식으로 변경하는 방향으로 처리한다고 함. 월 선택 캘린더 샘플 작성하여 전달. > 캘린더 기능 중 월만 선택하는 부분을 확인하여 샘플 전달 하기로 함.
Nexcro Export 기능 중 addExportItem 에서 strExceptStyle 을 정의하여 Export 데이터 양을 줄여 성능향상을 확인 할 수 있음.
Excel Import시 임포트하고자 할 대상파일에 첫번째 인덱스컬럼에 값이 비어 있을경우 오류발생
현상
index out of bound exception Invalid column index value -첫번째 컬럼인덱스에 임이의 값을 채워넣으면 정상동작. -첫번째 컬럼 셀서식을 텍스트로 변경하면 정상동작.
ex) A B C D E (Excel Sheet Header) --------------------------------- 가 나 다 라 (현상발생O) a 가 나 다 라 (현상발생X)
처리내용
해당 내용은 Xeni모듈 오류로 2017.3.28일 이후 버전으로 패치가 필요합니다.
한셀 import 시 중복된 값이 두줄 있을경우 한줄이 생략 되어 import 되는 현상.
현상
한셀 import 데이타 중 중복된 Row가 있는 경우 한줄이 생략되는 현상
처리내용
해당 내용은 한컴에서 제공하는 한셀 poi모듈오류로 해당 업체에 수정요청함 2017-03-28기준 수정내용 전달받지 못함
엑셀 Export시 The maximum column width for an individual cell is 255 characters. 에러가 발생
해당 내용은 xeni모듈 패치가 필요합니다.
2017.4.10일자에 패치되었습니다.
NAS 환경 사용시 참고사항
Excel Export시 NAS환경을 사용하는 경우 경로를 설정하는 방법에 대해 기술합니다.
프리픽스를 이용해서 사용하는 방법
예) /export -> /usr/mnt/nas/export <context-param> <param-name>export-path</param-name> <param-value>file:///usr/mnt/nas/export</param-value> </context-param> <context-param> <param-name>import-path</param-name> <param-value>file:///usr/mnt/nas/export</param-value> </context-param>
해당 디렉토리에 access 권한은 당연 있어야 되겠지요.
이때 통신은 넥사크로 내부 통신으로 파일을 주고 받습니다.
기타 방법 (사이트 내부관리지침에 따라서 가능여부 확인필요)
XENI Context path 아래 /export로 file link를 거는 방법입니다. ( 권한과 함께 ) A. $XENI_Context_path/export -> /usr/mnt/nas/export
대용량 Excel Export시에 속도 개선을 위한 방법
nexacro platform에서 제공하는 Excel출력방식 즉 xeni 파일의 경우, UI에서 서버(xeni) 로 data 를 올려서 서버에서 Excel 파일을 만들고, 만든 파일을 download 하는 과정이어서 대용량 Export 시 속도 이슈가 발생합니다.
해결방안
nexacro platform에서 제공하는 xeni모듈을 이용하지 않고 DB에 있는 데이터를 직접 가져와 Export 를 하여 기존 xeni 를 사용하는 방법 보다는 속도가 빠르게 Export가 되고 있습니다.
단 DB에 있는 데이터를 직접 Export 를 하기 때문에 그리드에 적용한 style 및 그리드 셋팅에 대한 부분이 Export가 되지 않습니다.
참고사항
style를 적용하고자 한다면 아래의 사이트를 참조 하여 직접 style 을 설정이 가능합니다. http://poi.apache.org/apidocs/org/apache/poi/xssf/streaming/SXSSFWorkbook.html
관련 TIP 2210에 관련 샘플이 첨부되어 있습니다.
특정 PC에서 엑셀 업로드시 “IDispatch::Invoke(Count) failed" 에러 발생
현상
이슈 발생 해당 PC의 OS는 Windows 10, 프로그램은 EXCEL 2016임.
log
해결방안
엑셀 export 및 import를 처리하는 화면에서 첫번째 Export시 두개의 sheet가 생성이 되는데 첫번째 sheet가 활성화 되어 있는 경우 오류가 발생하며, 두번째 sheet가 활성화 되어 있는 경우에는 정상동작 함
현재 관련 PC는 특정PC에서만 발생하고 있어 소스코드 수정없이 사용자분이 sheet를 추가해 사용하기로 함
grid summary export 국가 및 언어옵션에서 포루투칼(브라질)일때 Export출력된 엑셀결과의 바디는 정상이나 써머리 표현이 정상적이지 않음
참고사항
한국어OS인 경우 intl.cpl 로 언어형식을 바꾸더라도(크롬) chrome과 firefox에서는 system.locale 값을 ko-KR 로 가지고 있으며 실체 출력 결과물에서도 수식이 한국어에 맞추어 출력됩니다. runtime 과 ie 에서도 소숫점이 잘리는 오류를 피하려면 Grid cell 의 locale 속성에 ko-KR 을 강제로 설정하면 runtime, ie, chrome, 파이어폭스 모두 해당 오류를 피할 수 있습니다.
진행건에 대한 해당 샘플링 코드 첨부드리오니 참고하시면 도움이 될것 같습니다.
(TOPS-> RC73987 , RC73930)
excelExport시 .xls 암호화 패스워드를 걸면 다운로드가 안됨
원인분석
넥사 1900 , nexacro-xeni 2017.12.15 -실사용자 PC에서 .xls 아니어도 환경에 정상적으로 암호화 다운 및 암호화만 진행되면 .xlsx 여도 무방함. -실사용자 win7 / excel 환경 2007 -DRM사용X
해결방법
xls 로 암호화 걸려면 nexacro-xeni가 사용중인 POI 버전(3.10)에서 POI 최신 버전(3.16)으로 일단 올려야 함.
참고사항
exporttype 변경
nexacro.ExportTypes.EXCEL-> nexacro.ExportTypes.EXCEL2007 정상 다운확인 암호걸린것 확인. 실고객 PC에서 해당 다운파일 전달 및 직접 다운받아 엑셀파일 더블블릭 후 아래와 같이 발생함.
이 파일을 열 수 없습니다. 사용한 암호화 종료를 사용할 수 없습니다.
파일 작성자에게 문의하십시오.
High Encryption Pack 를 사용하면 더 많은 암호화 종료를 사용할 수 있습니다.
PC - 제어판 - 프로그램 추가삭제 / 인스톨 업데이트 보기 확인 시
기본적인 Microsoft Office2007 Service Pack 이 깔려있지 않음.
서비스팩(SP3) office2007sp3-kb2526086-fullfile-ko-kr.exe 셋업파일 전달
설치한 다음 재부팅 후 엑셀클릭시 암호화팝업 뜨며 암호입력시 정상 오픈됨을 확인완료
특정화면의 Export 시 무한 Request 전송되는 현상
현상
정상작동하는 화면의 Request 데이터와 비정상작동하는 화면의 Request 데이터를 비교하니 format 데이터 및 style 관련 정보 및 데이터를 보내지 못하며 무한 Request 현상이 일어남.
참고사항
비정상작동 화면의 Dataset Data 를 삭제하며 테스트 중 특정 데이터일 경우 해당 증상이 발생함을 발견. 데이터에 엔터값이 있음을 확인하여 엔터값의 문제로 예상하여 해당데이터를 메일로 받아 샘플작성을 하니 해당증상 발생. 엔터값의 문제로 예상하여 진행하려 했으나 현재 사용하는 14.0.1.901 버전 다음버전인 14.0.1.1001 버전 패치내역에 Export 시 무한 Request 되는 증상에 대한 패치내역을 확인되어 엔터값의 문제가 아닌 Cell 의 대용량데이터에 대한 체크로직의 문제가 있어 패치됨을 확인.
해결방법
14.0.1.1001 버전에서 패치되었습니다.
엑셀 Export 시 IE에서 깨진화면으로 출력됨. 엑셀 Import 시 오류 발생
원인
1) 웹서버 MIME TYPE 오류로 발생 2) DRM 연동 클래스에서 오류 발생
해결방안
MIME TYPE = application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 지정 후 정상 작동
참고
DRM 부분 별도 확인 가이드
export 시 서버도메인으로 호출할 때 IP로 변경되어 응답이 오는 현상에 대한 대응 요청
현상
Excel Export 호출 URL : https://domain.net:8443/XExportImport Return 응답 URL : https://192.10.1.16:8443/XExportImport
해결방안
1안) 2015-9-2 버전 사용 확장 클래스를 이용해 다운로드 URL을 사용자가 지정하는 방법을 사용. http://docs.tobesoft.com/nexacro_xeni_extended_api_kr 위의 문서에서 2 항목을 참고해 확장 클래스를 작성. saveExportStream의 파라메터로 전달되는 'fileurl' 이 nexacro로 전달되는 다운로드 url로 이 url을 사용자가 편집. 2안) 2015-12-29 이후 버전 사용 web.xml에 다음과 같이 파라메터를 추가. <context-param> <param-name>export-url</param-name> <param-value>https://ifgs.dgbfnlife.com:8443/XExportImport</param-value> </context-param> nexacro로 전달되는 다운로드 url을 위의 값을 참조함.
대용량 Excel Uplaod시 NP가 죽는 현상
현상
a. Fiddler를 이용하여 패킷을 분석하여 데이터의 정상 유무 확인한 결과 XML형태의 데이터가 정상적으로 내려옴. b. 업무화면의 Data 흐름. - 약 5M 사이즈의 파일 업로드. - 서버에서 46M 사이즈의 XML형태로 내려줌. - Fiddler 패킷은 정상적으로 처리된 것으로 나오고 nexacro runtime은 비정상종료 됨. c. XML 데이터 오류 유무 체크. - Fiddler패킷을 이용하여 46M 사이즈의 error_case.xml파일을 만들고 서버에 올림. - nexacro에서 transaction으로 error_case.xml을 호출하면 정상적으로 로딩 됨. - IE브라우저에서 46M 사이즈의 error_case.xml 파일을 호출하면 IE가 다운 됨.
참고사항
- 대량의 파일로딩시 nexacro와 IE가 모두 다운되는 것으로 미루어 메모리 이슈로 비정상종료 되는 것으로 판단 됨. 서버에서 내려주는 파일사이즈를 제한해야 함. - Nexacro의 경우 데이터 포맷을 SSV형태로 전환할 경우 파일사이즈가 절반 이하로 축소시킬 수 있음.
가이드 방안 : nexacro 에 데이터를 내려줄 때 데이터 포맷을 SSV형태로 보내 줌. 파일 : FileUpload-nexacro.jsp 함수 : public HttpPlatformResponse render(HttpServletRequest httpReq, HttpServletResponse httpResp) 작업내용 : 함수 내에서 HttpPlatformResponse객체 생성시 2번째 argument로 PlatformType.CONTENT_TYPE_SSV 를 지정함. 기존 코드 예시 : 495 Line. String xmlType = "XML"; String contentType = "XML"; 변경 코드 예시 : String xmlType = "SSV"; String contentType = "XML";
SSV포맷 전송시 9901에러에 대한 가이드.
가이드 방안 : Response객체의 Header에 Contents-type을 text/xml 으로 지정
파일 : FileUpload-nexacro.jsp
함수 : public HttpPlatformResponse render(HttpServletRequest httpReq, HttpServletResponse httpResp)
작업내용 : render() 함수 내에서 HttpServletResponse객체의 header값 지정
추가 코드 예시 : httpResp.setHeader("Content-Type", "text/xml");