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

엑셀입포트 후 숫자형식 변경 > Q&A | 토론

본문 바로가기

Spread.NET

Q&A | 토론

WinForms윈폼 엑셀입포트 후 숫자형식 변경

페이지 정보

작성자 정재원 작성일 2024-01-15 09:27 조회 62회 댓글 0건
제품 버전 : 11.40.20177.0
컨트롤 이름 : spread

본문

첨부파일

test 프로젝트 압축을 풀면 안에 엑셀파일이 있습니다.

테스트 에서 버튼을 클릭해서 엑셀을 import 하면 마이너스 숫자가

괄호로 형식이 변경됩니다.

그래서 숫자타입으로 적용을 다시 하는데 적용이 안됩니다.

엑셀은 다른곳에서 다운받은것이어서 수정을 안하고 마이너스 타입으로 변경을 하는 법을 알려주세요

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

댓글목록

등록된 댓글이 없습니다.

1 답변

WinForms윈폼 Re: 엑셀입포트 후 숫자형식 변경

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

페이지 정보

작성자 MESCIUS써니 작성일 2024-01-18 10:46 댓글 0건

본문

정재원 님, 안녕하세요.

메시어스입니다.


말씀하신 현상을 재현해볼 수 있는 샘플 프로젝트와 함께 문의주심에 감사드립니다.


XLS 형식 파일을 불러오는 것은 오래된 구현 방식으로, 현재 문화권에 따른 숫자 형식 변경을 지원하지 않습니다. XLS 형식 불러오기 로직은 영어 문화권을 따르기 때문에, 영어 문화권으로 XLS 형식 Excel 파일을 열면 음수가 괄호로 표기되는 것을 확인하실 수 있습니다.


따라서 문의하신 현상은 해당 로직의 제한사항으로 확인됩니다.


파일을 가져온 후 숫자 형식을 변경하는 경우, 불러오기 로직이 이미 셀 타입을 셀 단위로 설정한 상태이며 셀 단위 설정이 열 단위 설정보다 우선순위에 있기 때문에, 열 단위 셀 타입 설정이 적용되지 않습니다.


따라서 열에 셀 타입을 설정한 후, 각 셀에 적용된 셀 타입을 지워야합니다. 


이때, 셀 타입 변경 시 처리 속도를 높이기 위해 Spread의 레이아웃 로직을 일시정지했다가 셀 타입 변경 후 로직을 재개할 수 있습니다. FpSpread.SuspendLayout() 메서드와 FpSpread.ResumeLayout() 메서드가 활용됩니다.


아래와 같이 코드를 수정하여 적용해보시기 바랍니다.

fpSrdXls.SuspendLayout();
for (int i = 0; i < iCols; i++)
{
    this.fpSrdXls.Sheets[0].Columns[i].Visible = true;

    switch (i)
    {
        case 5:
        case 6:
        case 7:
        case 8:
        case 9:
        case 10:
        case 22:
        case 23:
            fpSrdXls.Sheets[0].Columns[i].CellType = numberCellType1;
            //컬럼에 설정한 셀 타입을 적용하기 위해, 셀에 설정된 셀 타입을 지웁니다.
            fpSrdXls.Sheets[0].Cells[0, i, fpSrdXls.Sheets[0].RowCount - 1, i].CellType = null;
            break;
    }
}
fpSrdXls.ResumeLayout();


감사합니다.

메시어스 드림


댓글목록

등록된 댓글이 없습니다.

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