# 19.2.0 버전 릴리스 노트

## Content

## 이전 릴리스 이후 개선 사항

### 워크북

* **[Excel 호환 포커스 셀](/spreadjs/docs/features/workbook/focus-cell)**: 활성 행과 열을 강조 표시하는 Excel 호환 포커스 셀 표시기가 추가되었습니다.

#### 워크시트

* **[시트 탭에서 워크시트 이름 바꾸기](/spreadjs/docs/features/workbook/tabstrip)**: 이제 SpreadJS와 디자이너 모두에서 시트 탭 컨텍스트 메뉴를 통해 워크시트 이름을 바꿀 수 있습니다.
* **[향상된 워크시트 배경 이미지](/spreadjs/docs/features/worksheet/worksheet-background-image)**: 이제 워크시트 배경 이미지를 반복하거나 워크시트 콘텐츠 앞에 렌더링할 수 있어 워크시트, 인쇄 및 PDF 내보내기에서 워터마크 스타일로 표시할 수 있습니다.
* **[입력 확정 명령](/spreadjs/docs/features/keyboard-actions/keyboard)**: 활성 셀을 이동하지 않고 현재 편집 중인 값을 확정하고 편집 모드를 종료하는 `commitInput` 명령이 추가되었습니다.

#### 셀 서식

* **[둥근 셀 테두리](/spreadjs/docs/features/cells/borders)**: 개별 셀, 범위 및 병합 영역을 포함하여 워크시트 뷰포트와 헤더 영역 전반에 둥근 테두리 지원이 추가되었습니다. 둥근 테두리를 사용하면 그룹화된 섹션과 보고서 스타일의 양식을 보다 쉽게 만들 수 있으며 디자이너, 인쇄 및 PDF 내보내기에서도 지원됩니다.
* **[끌어서 채우기 계열의 전자 숫자](/spreadjs/docs/features/cells/AutoFillData/AutoFillStrings)**: 이제 끌어서 채우기에서 전자 십진 숫자(`０–９`)가 포함된 텍스트 계열을 해당 숫자 너비를 유지하면서 연속으로 채울 수 있습니다.

#### 수식 및 계산

* **[FILTERXML 함수](/spreadjs/docs/formulareference/FormulaFunctions/web-functions/filterxml)**: XPath 식을 사용하여 XML 콘텐츠에서 데이터를 추출하는 `FILTERXML(xml, xpath)` 함수가 추가되었습니다.
* **[동아시아 전자 수식 입력](/spreadjs/docs/features/formulas/east-asian-full-width-formula-input)**: 이제 지원되는 수식 입력 워크플로에서 동아시아 전자 수식 문자와 함수 이름을 인식하고 해당 반자 문자로 정규화합니다.

#### 가상 분석

* **[시나리오](/spreadjs/docs/features/what-if-analysis/scenario-manager)**: 워크시트 전체에서 변경 셀 값의 명명된 집합을 저장하고 적용할 수 있는 워크북 수준의 시나리오가 추가되었습니다.

#### 테이블 시트

* **[정렬 및 필터 API](/spreadjs/docs/features/tablesheet/tablesheet-operations/tablesheet-sort-filter)**: 테이블 시트 필터 및 정렬 정의를 읽고 적용하기 위한 `filter()` 및 `sort()` API와 이를 지우기 위한 `removeFilter()` 및 `removeSort()`가 추가되었습니다.

#### 차트

* **[그림 영역 사용자 지정](/spreadjs/docs/features/Charts/ConfigureChartElements/chart-area)**: 이제 `chart.plotArea()`를 통해 차트 그림 영역의 채우기, 테두리, 크기 및 레이아웃을 독립적으로 사용자 지정할 수 있습니다.
* **[축 제목 텍스트 방향](/spreadjs/docs/features/Charts/ConfigureChartElements/ConfiguringAxes)**: 이제 차트 축 제목에서 `IAxisTitle.textDirection`을 통해 가로, 세로, 회전 및 세로 쓰기 텍스트 방향을 지원하며 Excel 호환성이 향상되었습니다.
* **[데이터 레이블 글꼴 스타일](/spreadjs/docs/features/Charts/ConfigureChartElements/ConfiguringDataLabel)**: 이제 차트 데이터 레이블에서 글꼴, 크기, 색, 굵게, 기울임꼴, 취소선 및 밑줄 서식을 지원합니다.

#### 스파크라인

* **[진행 스파크라인](/spreadjs/docs/features/sparkmain/progress-sparkline)**: 구성 가능한 표시 모드, 색 및 백분율 표시를 사용하여 셀 내에서 진행률을 직접 표시하는 수식 기반 `PROGRESSSPARKLINE` 함수가 추가되었습니다.

#### 인쇄

* **[사용자 지정 인쇄선](/spreadjs/docs/features/printing/customize-print-line-styles)**: 이제 인쇄 영역 및 페이지 나누기 미리 보기 선의 색과 너비를 CSS로 사용자 지정할 수 있습니다.
* **[문화권별 용지 크기 및 페이지 설정 단위](/spreadjs/docs/features/printing/configure-default-paper-size-and-page-setup-units)**: 이제 새 인쇄 설정에서 문화권을 기반으로 용지 크기와 디자이너 페이지 설정 표시 단위의 기본값을 사용할 수 있습니다.

#### 터치 지원

* **[터치 선택 표시기 사용자 지정](/spreadjs/docs/touchsupport/touchselect)**: 이제 터치 선택 표시기의 크기를 사용자 지정할 수 있습니다.

#### 디자이너 리본 컴포넌트

* **[리본 키 설명](/spreadjs/docs/spreadjs-designer-component/designer-toolbar-ribbon/ribbon-keytips)**: 이제 디자이너에서 키보드로 명령에 액세스할 수 있는 Excel과 유사한 리본 키 설명을 제공합니다. 키 설명은 `Alt` 또는 `F10`으로 활성화할 수 있으며 디자이너 키보드 설정을 통해 구성할 수 있습니다.
* **[시나리오 매니저](/spreadjs/docs/features/what-if-analysis/scenario-manager)**: 이제 디자이너에서 시나리오를 관리 및 병합하고 시나리오 요약 및 피벗 테이블 요약 워크시트를 생성하는 도구를 제공합니다.
* **[CJK 사용자 지정 숫자 형식 이스케이프](/spreadjs/docs/spreadjs-designer-component/customizations/designer-customize-culture)**: 이제 디자이너에서 중국어, 일본어 및 한국어 환경의 사용자 지정 숫자 형식에서 `!`를 지역화된 이스케이프 문자로 인식합니다.
* **[필터 다시 적용](/spreadjs/docs/spreadjs-designer-component/spdesignerwork/sort-and-filter)**: 이제 기본 데이터가 변경된 후 디자이너에서 워크시트 및 표준 테이블 필터를 다시 적용할 수 있습니다.
* **[첫 번째 행을 필터 헤더로 사용](/spreadjs/docs/spreadjs-designer-component/spdesignerwork/sort-and-filter)**: 선택 영역의 첫 번째 행을 필터 헤더로 처리하고 그 아래 행만 필터링하는 `firstRowAsFilterHeader` 옵션이 추가되었습니다.

#### 피벗 테이블

* **[데이터 매니저 테이블 및 뷰 데이터 원본](/spreadjs/docs/features/pivot-table/create-pivot-table)**: 이제 피벗 테이블에서 데이터 매니저 테이블 및 뷰를 데이터 원본으로 직접 사용할 수 있으며 관계 기반 뷰 결과와 구성 가능한 소스 새로 고침 동작도 지원합니다.
* **[차원 부분합](/spreadjs/docs/features/pivot-table/dimension-subtotals)**: 이제 피벗 테이블의 행 및 열 필드에서 Excel 사용자 지정 부분합에 해당하는 차원 부분합을 지원합니다. `pivotTable.dimensionSubtotals()`를 통해 설정을 관리할 수 있으며 지원되는 SpreadJS 및 Excel 파일 워크플로에서 설정이 유지됩니다.

#### 리포트 시트

* **[보고서 생성 이벤트](/spreadjs/docs/features/reportsheet/report-sheet-settings/render-mode)**: `ReportGenerationStageChanged` 이벤트가 추가되어 애플리케이션에서 보고서 생성 단계에 응답하고 지원되는 보고서 작업 중 진행률 피드백을 제공할 수 있습니다.

#### 간트 시트

* **[진행선](/spreadjs/docs/features/ganttsheet/progress-line)**: 이제 간트 시트에서 작업 진행률을 프로젝트 상태 날짜 또는 현재 날짜와 비교하는 진행선을 표시할 수 있습니다. 선, 진행 지점, 기준 동작 및 날짜 레이블을 사용자 지정할 수 있습니다.

#### 데이터 차트

* **[분리된 세부 정보 및 색 인코딩](/spreadjs/docs/features/data-charts/data-binding)**: 이제 세부 정보 인코딩은 데이터를 그룹으로 나누는 방식을 제어하고, 색 인코딩은 데이터 요소에 색을 독립적으로 할당합니다. 이 변경으로 차트 구성이 더 명확하고 유연해졌지만 코드로 생성된 기존 데이터 차트에 영향을 줄 수 있습니다. 자세한 내용은 이전 릴리스 이후 주요 변경 사항을 참조하세요.
* **[양수 및 음수 색](/spreadjs/docs/features/data-charts/chart-types/column-charts)**: 이제 세로 막대형, 가로 막대형 및 영역형 데이터 차트에서 축 기준선 위와 아래에 서로 다른 팔레트 색을 적용할 수 있습니다. 범위 세로 막대형, 범위 가로 막대형 및 범위 영역형 차트에서는 상한값과 하한값을 비교하여 색을 적용할 수 있습니다. `usePositiveNegativeColors`를 통해 이 동작을 활성화할 수 있습니다.
* **[방사형 차트의 베지어 곡선](/spreadjs/docs/features/data-charts/chart-types/radar-charts)**: 이제 방사형 및 채워진 방사형 데이터 차트에서 기존 기본 및 스플라인 선 모양 외에 `LineAspect.bezierCurve`를 지원합니다.
* **[날짜 축](/spreadjs/docs/features/data-charts/data-chart-elements/chart-axis)**: 이제 데이터 차트에서 축 렌더링과 독립적으로 날짜 필드를 연도, 분기, 월 또는 일별로 그룹화할 수 있으며 지원되는 경우 연속 Date 배율 또는 범주형 Ordinal 배율을 사용할 수 있습니다.
* **[격자 인코딩](/spreadjs/docs/features/data-charts/data-binding)**: 중첩된 격자 수준을 포함하여 데이터 차트를 작은 다중 차트로 표시하기 위한 행 및 열 격자 인코딩이 추가되었습니다.
* **[범례 크기 제한](/spreadjs/docs/features/data-charts/data-chart-elements/legend)**: 이제 `maxWidth` 및 `maxHeight`를 통해 데이터 차트 범례의 크기를 제한할 수 있어 범례에 항목이 많은 경우에도 사용 가능한 그림 영역을 유지할 수 있습니다.

#### 실시간 동시 작업

* **[데이터 매니저 기반 바인딩](/spreadjs/docs/spreadjs-collaboration-server/spreadjs-sheets-collaboration/collaboration-capability/data-manager-based-model/datamanager-based-binding)**: 이제 실시간 동시 작업에서 데이터 매니저 기반 시트 바인딩, 셀 바인딩, 테이블 `bindingPath` 및 직접 테이블 바인딩을 지원합니다. 로컬 데이터에서는 바인딩된 데이터를 공동 편집할 수 있으며, 원격 데이터에서는 바인딩 구성과 테이블 상태를 동기화하고 원격 데이터 일관성은 애플리케이션에서 관리합니다.

#### AI 어시스턴트

* **[SJS.AI.QUERY의 다중 인수](/spreadjs/docs/features/ai-assistant/ai-functions/sjsaiquery)**: 이제 `SJS.AI.QUERY`에서 여러 프롬프트 및 데이터 인수를 사용할 수 있으며, 이러한 인수는 순서대로 결합되어 등록된 AI 모델로 전송됩니다.

#### 프레임워크 지원

* **[Angular 22 지원](/spreadjs/docs/javascript_frameworks/angular)**: 이제 SpreadJS에서 Angular 22 애플리케이션을 지원합니다.

## 이전 릴리스 이후 주요 변경 사항

### 데이터 차트 세부 정보 및 색 인코딩

이 변경 사항은 데이터 차트 애드온을 사용하고 코드를 통해 차트를 구성하는 애플리케이션에 영향을 줍니다.
이제 세부 정보 및 색 인코딩은 각각 별도의 역할을 가지며 명시적으로 구성됩니다.

* 색 및 색 범례는 색 인코딩이 설정된 경우에만 생성됩니다.
* 색 인코딩에 사용되는 문자열 필드는 범주 또는 세부 정보 인코딩에서 이미 사용되고 있어야 합니다. 꺾은선형 및 영역형 차트의 경우 해당 필드는 세부 정보 인코딩에서 사용되어야 합니다.
* 이제 숫자 색 필드에서는 그라데이션 색 범례를 사용합니다.
* 깔때기형 차트에서는 더 이상 세부 정보 인코딩이나 `topWidth`, `bottomWidth` 및 `neckHeight` 속성을 지원하지 않습니다.

이전 `.sjs` 및 `.ssjson` 파일을 로드하면 호환성 처리가 자동으로 적용됩니다.
코드로 생성된 구성에서 이전 추론 동작을 유지하려면 새로운 `inferMissingEncodings` 매개 변수에 `true`를 전달합니다.

```typescript
dataChart.setChartConfig(config, true);
```

이 매개 변수의 기본값은 `false`입니다.

## 해결된 문제

마지막 릴리스 이후 다음 문제가 해결되었습니다.

* **차트:**
    * Excel 워크북을 가져온 후 선버스트 차트 범례 기호가 Excel에서보다 작게 표시되는 문제를 수정했습니다.
    * 채워진 방사형 차트를 Excel 워크북에서 올바르게 가져오지 못하는 문제를 수정했습니다.
* **수식 계산:**
    * 테이블 행을 삽입한 후 수식을 다시 계산할 때 `#REF!` 오류가 발생할 수 있는 문제를 수정했습니다.
    * 시작 날짜가 2월의 마지막 날인 경우 `DAYS360` 함수가 잘못된 결과를 반환하는 문제를 수정하여 Excel의 US/NASD 30/360 계산과의 호환성을 향상했습니다.
    * `QUERY` 함수의 문서화된 구문에 선택적 `returnObject` 매개 변수가 포함되도록 수정하고 DataObject 셀 유형 및 서식 문자열과 함께 사용하는 방법을 명확히 했습니다.
* **실시간 동시 작업:**
    * 동시 작업 패키지에 영향을 미치는 심각도가 높은 보안 취약점을 해결하기 위해 `socket.io-parser` 종속성을 버전 4.2.7로 업데이트했습니다.
    * 동시 작업 모드의 제한으로 인해 워크북 콘텐츠를 가져올 수 없는 경우 제공되는 정보를 개선했습니다.
* **터치 UI:**
    * `useTouchLayout`이 활성화된 경우 필터 대화 상자의 버튼이 축소되거나 잘못 표시될 수 있는 문제를 수정했습니다.
* **셀 유형:**
    * MultiColumnList 소스 수식이 올바른 계산에 필요한 대상 셀 컨텍스트를 전달받지 못하는 문제를 수정했습니다.
* **디자이너 리본 컴포넌트:**
    * 디자이너 데모에서 회계 밑줄을 적용한 후 실행 취소 동작에 문제가 발생하는 현상을 수정했습니다.
* **프레임워크 지원:**
    * React 애플리케이션에서 잘못된 라이선스 처리 방식을 개선하여 초기화 오류로 인해 애플리케이션이 빈 페이지로 렌더링되는 문제를 방지했습니다.