# 18.1.0 버전 릴리스 노트

## Content

## 이전 릴리스에서의 개선 사항

다음 기능과 개선 사항이 이번 버전에 통합되었습니다.

**성능 및 최적화**

* SpreadJS 디자이너 컴포넌트의 JS와 CSS 크기를 축소하여 더 빠른 로딩 속도 구현.
* PivotTable 성능 개선으로 데이터 작업이 더 원활하게 처리됨.

**디자이너 개선 사항**

* **SidePanel 유연성**: 디자이너 [사이드 패널](/spreadjs/docs/v19/spreadjs-designer-component/spdesignerwork/dockable-side-panel)이 이제 도킹 및 플로팅을 지원합니다.
* **명령 팔레트**: 워크플로우 간소화를 위한 [명령 팔레트](/spreadjs/docs/v19/spreadjs-designer-component/spdesignerwork/command-palette) 지원 추가.
* **리본 체크박스 스타일링**: 시각적 일관성을 위한 리본 체크박스의 외형 업데이트.
* **스크롤바 제어**: 스크롤바 동작 사용자 정의를 위한 `scrollIgnoreHidden` 옵션 추가.
* **차트 사용자 정의**:
    * 디자이너에서 차트 축의 `labelAngle` 조정 지원.
    * [버블 차트](/spreadjs/docs/v19/features/Charts/ChartTypes/CreatingScatterChart)를 위한 `BubbleScale` 옵션 추가.
    * [데이터 차트](/spreadjs/docs/v19/features/data-charts/data-chart-elements) 패널에서 범주 축 레이블 포맷터와 단위 설정 지원.

**UI 및 스타일링**

* [시트 탭 사용자 정의](/spreadjs/docs/v19/features/workbook/tabstrip): 시트 탭에 대한 맞춤형 테두리 반경 스타일 지원.
* [워크시트 배경](/spreadjs/docs/v19/features/worksheet/worksheet-background-image): 워크시트 수준에서 배경 이미지 지원.
* [테마 폰트](/spreadjs/docs/v19/features/styletheme/themes): 테마에서 동아시아 폰트 지원.

**수식 및 계산**

* **새로운 함수**: [`TRIMRANGE`](/spreadjs/docs/v19/formulareference/FormulaFunctions/lookup-reference-functions/trimrange) 함수 지원.
* [정규 표현식 호환성](/spreadjs/docs/v19/formulareference/FormulaFunctions/regex-functions): Excel의 정규 표현식 함수와 완전 호환.
* **API 개선**: [`evaluateFormula()`](/spreadjs/docs/v19/features/formulas/calculating-formulas-outside-worksheets)가 이제 완전한 결과 배열을 반환합니다.

**피벗 테이블 개선 사항**

* [서식](/spreadjs/docs/v19/features/pivot-table/context-menu): 디자이너의 숫자 형식 대화 상자를 통한 피벗 테이블 필드 서식 간소화.

**AI 기능 - 미리 보기**

* **[일반 AI 지원](/spreadjs/docs/v19/features/ai-assistant)**: SpreadJS는 이제 AI 기능을 통합합니다.
* **[수식 편집기 패널 AI](/spreadjs/docs/v19/features/ai-assistant/ai-assisted-formula-generation-and-explanation)**: 수식 편집기 패널에서 AI 기반의 제안 및 지원.
* **[피벗 테이블 패널 AI](/spreadjs/docs/v19/features/ai-assistant/pivottable-generation-and-explanation)**: 피벗 테이블 패널에서 AI 지원 기능 추가.

**프레임워크 지원**

* **Angular 19**: [Angular 19](/spreadjs/docs/v19/javascript_frameworks/angular)와의 완전 호환성 추가.

## 해결된 문제

다음 문제들이 지난 릴리스 이후 해결되었습니다:

**성능 및 가져오기/내보내기**

* 조건부 서식 가져오기 및 데이터 유효성 검사 열 팽창 문제로 인한 Excel 파일 로딩 지연 문제 해결.
* Excel 가져오기 후 멈춤 현상을 해결하기 위해 DataValidation 모듈 캐시 로직을 (사전에서 rbush로) 리팩토링.
* 피벗 테이블 필드 이름의 대소문자 구분으로 인한 XLSX 내보내기 실패 수정 (이제 Excel의 대소문자 구분 없는 동작과 일치).
* XLSX 내보내기 중 XML 노드 불일치로 인한 피벗 테이블 레이아웃 오류 수정 (예: 빈 행, 합계).
* 테이블 바인딩 시 DataManager를 통해 행 데이터를 추가할 때 성능 개선.
* 지나치게 많은 도형 개수로 인한 파일 로드 실패 해결 (21,477개 이상).
* `IncludeBindingSource=true`일 때 문자열/숫자 셀 값 충돌로 인해 내보내기 이상 현상 해결.
* 인쇄 영역을 정의할 때 `printInfo` 설정 또는 느린 인쇄로 인해 모든 수식이 전체 재계산되는 문제 수정.
* 조건부 서식 규칙에 중복 범위가 있을 때 Excel 파일 내보내기 시 느린 렌더링 문제 해결. 중복 범위는 가져오기 시 자동으로 제거됩니다.

**차트 및 데이터 시각화**

* 차트에서 잘못된 데이터 포인트 툴팁 표시 및 히트 테스트 오류 수정.
* 버블 차트 스케일링과 범례 레이아웃을 Excel의 동작에 맞게 수정.
* PDF에서 도형 렌더링 불일치 (예: 대시선) 문제 해결, 단위 변환 차이로 인한 문제 수정.

**피벗 테이블**

* 마우스가 떠날 때 필터 박스가 prematurely 닫히는 문제 수정 (이제 Excel의 동작과 일치).
* 피벗 테이블 제목 스타일 문제 해결 (글꼴 두께 우선순위가 이제 Excel 테마와 일치).
* 검증되지 않은 열 헤더 범위로 인한 데이터 원본 변경 오류 수정.
* 계산 필드를 삭제한 후 빈 시트 문제가 해결되었습니다 (PivotCache 새로 고침 로직 개선).
* 드래그 앤 드롭 기능이 잘못된 데이터를 덮어쓰는 문제 수정.
* "Show Data As" 모드에서 피벗 테이블이 "NAN"을 출력하는 문제 해결.

**수식 및 계산**

* `SUMIFS`에서 `ExternalReference`가 링크된 값을 업데이트하지 못하는 문제 수정 (예: `#VALUE` 오류).
* `XIRR` 수식이 날짜 형식이 분석되지 않아 `#NUM`을 반환하는 문제 해결 (예: "Mar 2017").
* 범위 확장 후 동적 배열 수식이 재계산되지 않는 문제 해결.
* `SORT` 함수 인수 처리를 Excel의 동작에 맞게 조정.

**UI 및 디자이너 컴포넌트**

* 디버깅을 개선하기 위해 잘린 테이블 바인딩 경로에 대한 툴팁 추가.
* "맑은 고딕" 글꼴에서 굵은 스타일을 올바르게 파싱하지 않는 문제 해결.
* 하이퍼링크 대화 상자가 편집 후 불일치 콘텐츠를 표시하는 문제 수정.
* GanttSheet 캡션 이름이 클릭 시 기본값으로 리셋되는 문제 해결.
* 제거한 후 `.sjs` 파일에서 밑줄 스타일이 다시 나타나는 문제 해결.
* `ActiveSheetChanged` 이벤트가 지연 로딩 또는 검색 탐색 중에 트리거되지 않는 문제 수정.
* SpreadJS (불리언/숫자)와 Excel (숫자만) 간의 폰트 `TextDecoration` 타입 불일치 문제 해결.
* 피벗 테이블 명령 오류로 인해 시트 탭 배경색이 적용되지 않는 문제 수정.

**데이터 유효성 검사 및 명령**

* 새 행을 삽입한 후 "붙여넣기 특별히 전치"가 실패하는 문제 해결.
* 셀 수준 캐시 업데이트 개선을 통해 유효성 검사 성능 최적화.
* 정의되지 않은 사용자 정의 이름으로 인한 `sheet.getDependents` 충돌 수정.
* 겹치는 셀에서 버튼 트리거 명령 문제 수정.
* Excel과 일치하도록 데이터 유효성 검사 콜백 버튼 동작을 조정.

**기타**

* Excel의 파서 규칙에 맞추기 위해 잘못된 시트 이름 참조 (예: `'!A1`)에 플래그 표시.
* 색상/패턴 조합 로직으로 인해 업로드 중 경계선이 손실되는 문제 수정.
* 시트 JSON 직렬화/역직렬화 후 주석이 제대로 교체되지 않는 문제 해결.
* Excel의 동작에 따라 보호된 시트에서 탭 키를 눌러 테이블 자동 확장이 되지 않도록 제한.
* Excel에서 오류 처리 케이스에 맞게 필터 규칙을 정렬.
* 사용자 정의 이름 계산을 최적화하여 수식 관리자 지연 시간을 줄였습니다.
* 사용자 정의 수식 및 레이아웃 재구성 시간에 영향을 미친 증분 로딩 모드 문제 해결.
* 지연 로딩 또는 증분 로딩이 활성화된 상태에서 시트를 전환할 때 발생한 흰 화면 문제 해결.
* `renameSheet` 명령이 예상대로 시트 이름을 업데이트하지 않는 문제 해결.
* 피벗 테이블 데이터 소스 파싱 중 잘못된 입력 오류 수정.
* 다른 화면 DPI에서 도형 경계선 복사 불일치 문제 해결.
* 파일 열기 시 일본어 문자 처리 문제로 인한 시트 이름 관련 파일 열기 실패 문제 해결.
* 테이블 수식 조정 후 수식 참조 범위 동기화 문제 해결.
* 피벗 테이블 새로 고침 시 로드되지 않은 시트에서 사용자 정의 이름 파싱 오류 수정.
* 디자이너 리치 텍스트 편집기가 굵은 서식을 잘못 파싱하는 문제 수정.
* Excel과 SJS 형식 간의 셀 경계 스타일 변환 문제 해결.
* 축소된 노드에 행을 추가할 때 텍스트 들여쓰기 상태가 동기화되지 않는 문제 해결.
* `cancelChanges`가 계층적 부모-자식 구조에서 동일 레벨의 작업 후 데이터가 원래 상태로 돌아가지 않도록 하는 문제 수정.