[]
        
(Showing Draft Content)

내보내기 시 수식 유지

내보내기 시 수식 유지 기능을 사용하면 데이터를 Excel로 내보낼 때 수식을 그대로 유지할 수 있습니다.

사용 시나리오

보고서를 내보낼 때, 개발자들은 계산된 필드나 수식이 정적인 값으로 변환되는 문제를 자주 겪습니다. 이로 인해 결과 Excel 파일에서 동적인 동작이 깨지고, 사용자가 수식을 다시 입력하거나 재구성해야 하는 번거로움이 발생합니다.

내보내기 시 수식 유지 기능을 사용하면 이러한 문제를 피할 수 있습니다.

  • 계산 유지: 데이터셋, 템플릿 또는 계산 필드에 정의된 수식이 내보낸 후에도 그대로 유지되어, Excel 사용자가 고정된 숫자가 아닌 실시간 계산을 계속 사용할 수 있습니다.

  • 편집 가능한 Excel 출력: 내보낸 워크북에서 최종 사용자는 셀 값이나 범위를 조정할 수 있으며, 종속된 수식은 원래 환경과 동일하게 자동으로 업데이트됩니다.

관련 API

이 기능은 GC.Spread.Report.TemplateSheet.setTemplateCell 메서드를 통해 설정합니다.

StaticCell에 설정할 경우 preserveFormulaInExport 속성을 사용합니다.

export type StaticCell = {
    type: 'Static',
    preserveFormulaInExport?: boolean;
    // 다른 속성은 API 참조를 확인하세요
};

참고 사항:

  • 수식 유지는 미리보기 모드에서만 사용할 수 있습니다.

  • 이 기능은 관련 옵션이 올바르게 설정된 경우에만 적용됩니다.

수식 내보내기 동작 방식

수식 유형

조건

내보내기 동작

예시

표준 Excel 함수

확장된 셀 범위가 연속적인 경우

참조가 단일 범위로 내보내집니다.

image


확장된 셀 범위가 비연속적인 경우

지원되는 함수(SUM, AVERAGE, MIN, MAX, COUNT, COUNTA, COUNTBLANK)는 여러 범위로 내보내집니다.

image

R.V 수식

미리보기 모드에서 해석 가능한 경우

실제 셀 참조로 변환됩니다.

image


해석할 수 없는 경우

빈 셀로 내보내집니다.

image


표현식 내에서 부분적으로만 해석 가능한 경우

'SJS.EMPTY_CELL'

(값 = 0)으로 대체됩니다.

image

SpreadJS 리포트시트 전용 수식

R.Index, R.Rank, R.MoM, R.YoY, R.Proportion, R.Cumulative 등의 함수

  • 내보내기 시 함수 이름과 참조가 유지됩니다.

  • Excel에서는 ‘#NAME?’(미지원)로 표시됩니다.

image

사용 예제

const templateSheet = reportSheet.getTemplate();
templateSheet.setFormula(3, 3, '=SUM(D2)');

// preserveFormulaInExport를 true로 설정
templateSheet.setTemplateCell(3, 3, {
  type: 'Static',
  preserveFormulaInExport: true,
});

디자이너 사용

SpreadJS 디자이너의 Report Cell 속성 패널에 있는 내보내기 시 수식 유지(Preserve Formula In Export) 옵션을 사용하여 템플릿 셀의 preserveFormulaInExport 속성을 설정할 수도 있습니다.

image