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

그리드 붙여넣기시 문제에 대해 > Q&A | 토론

본문 바로가기

VueJS 그리드 붙여넣기시 문제에 대해

페이지 정보

작성자 마라떡볶이 작성일 2023-10-24 17:19 조회 341회 댓글 2건
제품 버전 : 5.20231.888
컨트롤 이름 : wjflexgrid

본문

안녕하세요. 엑셀에서 flexgrid로 붙여넣기를 할 때 아래 글을 참고해서 행이 자동으로 추가되도록 구현을 했습니다.


https://dev.grapecity.co.kr/bbs/board.php?bo_table=wijmo_qna&wr_id=2171&sfl=wr_subject&stx=%EB%B6%99%EC%97%AC%EB%84%A3&sst=wr_datetimedesc&sop=and


그런데 코드를 보시면 

let copied_count = e.data.split("\n").length - 1; // 클립보드에 복사된 행의 개수

라고 나와있는데, 

만약에 엑셀의 셀 속 데이터에 엔터(alt + enter) 또는 \n이 있을 경우에는 행의 개수가 원래보다 많게 계산이 됩니다.


예시

 column1

column2

column3 

column4 

data1 

data2

 data2

 data3

 data4\n


이런 경우에도 행의 개수를 제대로 반영할 방법이 있을까요?

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

댓글목록

나무하늘님의 댓글

나무하늘 작성일

제가 테스트할 때는 엑셀에서 개행된 행은 복사 시 한 줄로 표시되고 엑셀의 행으로 카운트 되네요.

GCK루시님의 댓글

GCK루시 작성일

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

현재 문의가 급증하여 순차적으로 답변 중에 있습니다. 관련하여 업데이트가 되는대로 안내드리도록 하겠습니다.

감사합니다.
그레이프시티 드림

1 답변

VueJS Re: 그리드 붙여넣기시 문제에 대해

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

페이지 정보

작성자 GCK루시 작성일 2023-10-30 08:47 댓글 0건

본문

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


문의하신 기능의 경우, 아래 코드와 같 정규표현식을 사용하여 복사된 데이터를 분할히고 정확한 줄바꿈 수를 계산할 수 있습니다


  grid.pasting.addHandler(function (s, e) {
        // // 큰따옴표로 묶은 문자열 외부의 줄바꿈과 일치하는 정규 표현식
        let pattern = /((?=(?=(?:([^"]*"){2})*[^"]*$)(?![^"]*"[^"]*\n))\n)/g;
        let copied_count = e.data.split(pattern).length - 1; //클립보드에서 복사한 행 수
        let cellrng = e.range,
          top = cellrng.topRow,
          bottom = cellrng.bottomRow,
          row_count = bottom - top + 1,
          addrow = copied_count - row_count; // 그리드에 추가할 행 수
        console.log(e.data);
        if (addrow != 0) {
          // 복사된 데이터를 그리드에 추가하기 위한 행 추가
          for (var i = 0; i < addrow; i++) {
            view.addNew();
          }
          view.commitNew();
        }
      });


다른 궁금한 점이 생기면 문의주시기 바랍니다.


감사합니다.

그레이프시티 드림

댓글목록

등록된 댓글이 없습니다.

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