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

DataSource 관련 문제 > Q&A | 토론

본문 바로가기

Java & Kotlin API

Q&A | 토론

Java DataSource 관련 문제

페이지 정보

작성자 yhs1997 작성일 2023-03-29 13:38 조회 409회 댓글 0건
제품 버전 : gcexcel:6.0.0

본문

GcExcel 을 이용하여

```

worksheet.setDataSource(json);

```

메소드를 활용해서 바인딩을 하고 toJson()을 통해 저장을 해놓은 상태에서

다른 곳에서 이 ssJson을 호출 후 fromJson()을 실행하고

```

worksheet.getDataSource();

```

를 실행하면 아무것도 나오지 않습니다.


SpreadJs 에는 toJson 옵션에 includeBindingSource 옵션이 있는데,

GcExcel에선 지원하지 않아서 존재하지 않는 것일까요 ??


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

댓글목록

등록된 댓글이 없습니다.

2 답변

Java Re: DataSource 관련 문제

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

페이지 정보

작성자 GCK루카스 작성일 2023-03-30 10:21 댓글 1건

본문

안녕하세요 그레이프시티입니다.


GcExcel과 SpreadJS 모두 동일하게, ssjson 형태로 내보내기 이후에는 바인딩된 데이터는 더 이상 바인딩 값이 아닌 일반적인 입력 값으로 변환됩니다.

그렇기 때문에 ssjson 형태로 내보낸 후 다른 workbook 객체에서 이를 불러오더라도 해당 객체에서는 dataSource를 설정하지 않았기 때문에 getDataSource 메소드를 사용하더라도 가져올 수 없습니다.


위 내용 참고하여 주시기 바랍니다.


감사합니다.

그레이프시티 드림

댓글목록

yhs1997님의 댓글

yhs1997 작성일

그렇다면 바인딩패쓰와 그에 매핑된 값을 추출하는 방법은 없을까요 ??
전체셀을 찾아서 꺼내는 방법 말곤 없는지 궁금합니다.

Java Re: DataSource 관련 문제

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

페이지 정보

작성자 GCK루카스 작성일 2023-03-30 16:33 댓글 0건

본문

안녕하세요 그레이프시티입니다.


ssjson으로 내보내기 시에도 bindingPath는 유지됩니다.

다만 bindingPath 만으로 셀의 위치를 찾을 수는 없기 때문에 각 셀을 돌며 bindingPath를 비교하여 일치할 경우 값을 가져오는 식으로 진행하셔야 합니다.

아래에 간단한 샘플 코드를 전달 드리니 참고하여 주시기 바랍니다.


	    Workbook workbook2 = new Workbook();
	    workbook2.fromJson(ssjson);	    
	    IWorksheet sheet =  workbook2.getWorksheets().get(0);
	    
	    for(int r = 0; r<sheet.getRowCount();r++) {
	    	for(int c = 0;c<sheet.getColumnCount();c++) {
	    	    if(sheet.getRange(r,c).getBindingPath() != null && sheet.getRange(r,c).getBindingPath().equals("salesman")) {
	    		    System.out.println(sheet.getRange(r,c).getValue());
	    	    }
	    	}
	    }


감사합니다.

그레이프시티 드림

댓글목록

등록된 댓글이 없습니다.

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

카테고리

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