! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

함수가 많을때 값으로 복사 붙여넣기 속도 문제 > Q&A | 토론

본문 바로가기

Java & Kotlin API

Q&A | 토론

Java 함수가 많을때 값으로 복사 붙여넣기 속도 문제

페이지 정보

작성자 자동화 작성일 2024-05-14 18:11 조회 22회 댓글 0건
제품 버전 : 6.2.5
컨트롤 이름 : 값으로 복사해서 붙여넣기

본문

함수가 많을때 값으로 붙여넣기 시, 속도 문제 문의드립니다. 


아래 수준의 함수가 70개정도 셀에 있습니다. 

=VALUE(IFERROR(INDEX(Product!$P:$AB,MATCH(TEXT(ROW($B19)-11,0),Product!$AB:$AB,0),10),"")) 


해당 시트에 있는 데이터를 단순히 값으로 복사 붙여넣기를 하려고 합니다. 

아래와 같은 방법들로 시도해보았는데 PC성능에 따라 다르겠지만 30초 이상이 소요됩니다. 

원하는 것은 단순히 해당 특정시트(함수가 포함된)의 데이터를 눈에보이는 '값'으로 변환하는 것인데 정말 오래걸리네요. 혹시 정상 속도 수준으로 빠르게 처리 가능한 다른 방법이 있을지 문의드립니다. 



1) 

workbook.setEnableCalculation(true);

for (int row = 0; row <= lastRow; row++) {

    for (int col = 0; col <= lastColumn; col++) {

        IRange cell = replacedSheet.getCells().get(row, col);

        cell.setValue(cell.getValue());

    }

}

workbook.setEnableCalculation(false);

※ getHasFormula 같은 방법으로 함수가 있는곳만 계산을 해도 속도가 매우 느립니다. 


2) 

IRange usedRange = worksheet.getUsedRange();

usedRange.copy(usedRange, pasteOption);



  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

1 답변

Java Re: 함수가 많을때 값으로 복사 붙여넣기 속도 문제

추천0 이 글을 추천하셨습니다 비추천0

페이지 정보

작성자 MESCIUS루카스 작성일 2024-05-16 10:04 댓글 0건

본문

첨부파일

안녕하세요 메시어스입니다.


공유해주신 내용을 토대로 저희 편에서 같은 버전으로 테스트해 보았으나, 모든 테스트에서 2초 미만으로 시간이 소요되었습니다.

저희 편에서 테스트한 샘플 엑셀 파일과 소스 공유 드립니다.

    	Workbook workbook = new Workbook();
    	workbook.open("C:\\...\\DsExcelTest.xlsx");

		IWorksheet replacedSheet = workbook.getWorksheets().get(0);
    	for (int row = 0; row <= replacedSheet.getRowCount(); row++) {
    	    for (int col = 0; col <= replacedSheet.getColumnCount(); col++) {
    	        IRange cell = replacedSheet.getCells().get(row, col);
    	        cell.setValue(cell.getValue());
    	    }
    	}  	
    	
    	workbook.save("C:\\...\\DsExcelTestSave.xlsx");


30초 이상 걸린다고 말씀해주신 것과는 차이가 너무 큰 것으로 보아, 단순히 해당 부분이 문제가 되는 것이 아니라 이 외에 영향을 끼치는 부분이 있을 것으로 예상됩니다.

말씀하신 현상을 재현하기 위해 저희 편에서 추가해야 할 부분이 있는 지 확인 후 공유해주시면 다시 한 번 확인해 보도록 하겠습니다.


감사합니다.

메시어스 드림

댓글목록

등록된 댓글이 없습니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기

카테고리

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.