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

Spread 포뮬라 관련 질문입니다. > Q&A | 토론

본문 바로가기

Spread.NET

Q&A | 토론

WinForms윈폼 Spread 포뮬라 관련 질문입니다.

페이지 정보

작성자 와이소프트 작성일 2023-09-12 09:15 조회 220회 댓글 0건
제품 버전 : Spread 16
컨트롤 이름 : Spread

본문


 

두 가지 질문이 있습니다. (빨간색 박스, 노란색 박스)


1. 빨간색 박스 질문

각각 Formula 를 설정했는데 빈값이 있을경우 오른쪽 화면과 같이 기본값이 200%로 나오나요?

A1, B1 셀에 빈값이 있을경우 빈값이나 0으로 처리하려면 어떻게 해야하나요?


2. 노란색 박스 질문

SUM 으로 Formula를 설정했는데 기본값이 0으로 나오는데 빈값으로 처리하려면 방법이 있나요?


감사합니다.

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

댓글목록

등록된 댓글이 없습니다.

2 답변

WinForms윈폼 Re: Spread 포뮬라 관련 질문입니다.

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

페이지 정보

작성자 GCK써니 작성일 2023-09-12 17:32 댓글 0건

본문

와이소프트 님, 안녕하세요.

그레이프시티입니다.


사용하신 코드와 예시 이미지를 함께 공유해주심에 감사드리며,

문의하신 내용에 대하여 다음과 같이 안내 드립니다.



  1. 빨간색 박스 질문   


 PercentCellType에서 0으로 나누는 Formula 계산 결과가 200%로 표기되는 현상은 잘못된 동작입니다. 해당 현상은 향후 출시될 Spread.NET v17에서 픽스될 예정이며, 해당 버전 출시 시 답글로 다시 안내 드리겠습니다. 사용에 불편을 드려 죄송합니다. 


 A1, B1 셀에 빈 값이 있을 때 B2 셀을 0 또는 빈 셀로 표기하고 싶으신 경우, 아래 샘플 코드와 같이 사용자 정의 PercentCellType을 구현하여 사용하실 수 있습니다. 

PercentCellType2 nctPerCent = new PercentCellType2();
nctPerCent.DecimalSeparator = ".";
nctPerCent.DecimalPlaces = 2;
nctPerCent.FixedPoint = true;
this.fpSpread1.ActiveSheet.Cells[1, 1].Formula = "A1/B1";
this.fpSpread1.ActiveSheet.Cells[1, 1].CellType = nctPerCent;

public class PercentCellType2 : FarPoint.Win.Spread.CellType.PercentCellType
{
    public override void PaintCell(Graphics g, Rectangle r, FarPoint.Win.Spread.Appearance appearance, object value, bool isSelected, bool isLocked, float zoomFactor)
    {
        if (value is GrapeCity.CalcEngine.CalcError error && error == GrapeCity.CalcEngine.CalcError.DivideByZero)
        {
            value = 0;  // 빈 셀로 표현하려면 null을 할당합니다.
        }
        base.PaintCell(g, r, appearance, value, isSelected, isLocked, zoomFactor);
    }
}



  2. 노란색 박스 질문   

  

 Formula의 계산 결과가 0일 때, 빈 값으로 처리하고 싶으신 경우, 

  1. 해당 셀의 셀 타입을 GeneralCellType 혹은 NumberCellType 등으로 지정하신 후,
  2. SheetView의 DisplayZero 속성 값을 false로 설정해주시기 바랍니다. 

 DisplayZero 속성은 0 값을 셀에 표시할지 여부를 가져오거나 설정할 때 사용하는 속성입니다.

// GeneralCellType 적용 시
FarPoint.Win.Spread.CellType.GeneralCellType generalCellType = new FarPoint.Win.Spread.CellType.GeneralCellType();
this.fpSpread1.ActiveSheet.Cells[1, 3].CellType = generalCellType;

// NumberCellType 적용 시
FarPoint.Win.Spread.CellType.NumberCellType number = new FarPoint.Win.Spread.CellType.NumberCellType();
number.AllowUserFormulas = true;
this.fpSpread1.ActiveSheet.Cells[1, 3].CellType = number;

// 수식 설정 및 DisplayZero를 false로 설정
this.fpSpread1.ActiveSheet.Cells[1, 3].Formula = "SUM(C1:D1)";
this.fpSpread1.ActiveSheet.DisplayZero = false;


감사합니다.

그레이프시티 드림

댓글목록

등록된 댓글이 없습니다.

WinForms윈폼 Re: Spread 포뮬라 관련 질문입니다.

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

페이지 정보

작성자 MESCIUS써니 작성일 2024-02-05 18:14 댓글 0건

본문

와이소프트 님, 안녕하세요.

메시어스입니다.


PercentCellType에서 0으로 나누는 Formula 계산 결과가 200%로 표기되던 현상이 픽스되어 안내드립니다. 


Spread.NET 17버전에서는 A1 셀과 B1 셀이 빈 값일 때, Formula "=A1/B1"이 설정된 PercentCellType 셀도 빈 값으로 보여집니다.


아래 링크를 통해 Spread.NET 최신버전(현재 최신버전은 V17) 설치파일을 받아 제품 설치 후 직접 테스트해보실 수 있습니다.

- Spread.NET 체험판 신청 페이지 바로가기


해당 버전 최초 설치 시, 자동으로 30일 간 사용 가능한 무상 체험판 라이선스가 활성화 됩니다. 체험 기간 동안, 개선된 Spread.NET V17 버전의 기능들을 자유롭게 테스트해보시기 바랍니다.


감사합니다.

메시어스 드림

댓글목록

등록된 댓글이 없습니다.

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