HotXLS 릴리스 노트
HotXLS의 사용자 표시 기능, 수정 사항, XLS/XLSX 개선, 내보내기 업데이트, 호환성 변경 및 문서 업데이트에 대한 버전 기록입니다
최신 릴리스
- 최신 버전: 2.384.120; 출시일: 2026-10-09
버전 2.384.120
추가
- 포터블 Classic XLS 캡처는 일반 세로 막대형·가로 막대형·꺾은선형·분산형·원형·도넛형 차트와 단일 계열 영역형 차트를 지원하며, 검증된 로컬 저장 값과 핵심 모양, 호출자가 선언한 플롯·제목·범례 경계를 함께 다룹니다
- 읽기 전용 차트 모양 선언은 분리된 PDF, SVG, PNG 출력을 위해 워크시트·차트 식별자, 명시적 프레임 크기, 유효 범례 포인트 크기, 네이티브 글꼴 지오메트리를 유지합니다
- 제한된 도우미는 수식을 계산하거나 희소 셀을 확장하지 않고 단순 저장 수식 참조와 캐시된 차트 셀을 검사합니다
수정
- 클래식 차트 캡처는 소수 저장 글꼴·마커 크기와 소스 소유권, 읽기 리스를 보존하고, 출력 전에 잘못된 형식의 레코드, 미해결 모양, 소진된 리소스 예산을 거부합니다
- 차트 double 값 속성 업데이트는 비교나 변경 전에 유한하지 않은 값을 거부합니다
- 네이티브 포터블 셀 초기화를 반복하면 캡처 도중 이전 관리형 문자열을 해제합니다
버전 2.384.119
수정
- 클래식 차트 검사는 타입이 지정된 상태를 적용하기 전에 저장된 계열 텍스트, 추세선 이름, 데이터 레이블 구분 기호를 검증하고, 잘못된 형식의 텍스트가 오류를 일으키면 부분 모델을 해제합니다
- 압축 Unicode 데이터 레이블 구분 기호는 저장된 문자 전체를 그대로 유지합니다
버전 2.384.118
추가
- 클래식 차트 검사는 원래 저장 단위를 유지하면서 소수 크기를 포함해 마커 지름을 포인트 단위로 노출합니다
수정
- 지원되는 네이티브 클래식 차트 채우기 테이블은 복합 항목 뒤에 오는 속성을 디코딩하고, 잘못된 형식의 테이블은 앞의 타입이 지정된 채우기를 유지합니다
버전 2.384.117
추가
- 명시적 바이트 인코딩 도우미는 포함된 null을 보존하고 선택한 코드 페이지로 표현할 수 없는 텍스트를 거부합니다
변경
- 클래식 BIFF5 텍스트, 수식, 통합 문서 메타데이터는 Windows, Linux, macOS에서 선언된 인코딩을 사용하며, 인코딩된 바이트 길이와 완전한 문자 경계를 유지합니다
- 지원되는 레거시 차트 텍스트는 코드 페이지 편집·복사 후에도 원래 디코딩을 유지하고, 다른 인코딩으로 저장하기 전에 명시적으로 트랜스코딩됩니다
수정
- 압축 BIFF8 Unicode는 정확한 코드 단위를 보존하고, 레거시 사용자 지정 스타일, 차트 텍스트, 더블 바이트 수식 캐시 연속 레코드는 실제 레코드 레이아웃을 사용합니다
- 네이티브 Unicode 텍스트 계산, 조건, 조회 키, 로컬 수식 바인딩, 클래식 검색·바꾸기는 지원되는 대소문자 일치를 유지합니다
- 이름 있는 스타일 조회는 첫 번째 저장 항목을 존재하지 않는 이름으로 취급하지 않고 해석합니다
- ZIP 항목 반복 읽기는 동시 저장 스트림·디플레이트 스트림 동작을 유지하면서 이전 헤더 메타데이터를 해제합니다
버전 2.384.116
추가
- 로컬 SUM 계산된 피벗 필드는 표시되는 측정값에는 없는 종속성을 포함해 리프, 부분합, 총합계 컨텍스트 합에서 수식을 계산합니다
- 캐시가 소유한 계산된 항목은 지원되는 그룹화하지 않은 문자열 멤버 필드에서 네이티브 멤버 식별자, 숨겨진 종속성, 전역 풀이 순서를 유지합니다
- 지원되는 계산된 항목 표시 계산과 집계 필터는 표시되는 멤버 순서, 원래 필터 순서, 모호하지 않은 표시 측정값 식별자를 유지합니다
수정
- 네이티브 피벗 수식 날짜 투영은 캐시 가져오기, 클론, 계산 전반에서 통합 문서 날짜 체계를 유지합니다
- 누락 항목 캐시 정리는 두 통합 문서 날짜 체계와 레거시 저장 보고서에서 검증된 구체화된 보고서 소유권을 유지합니다
- 지원되지 않는 계산된 피벗 메타데이터와 편집된 네이티브 출력은 워크시트 결과를 바꾸기 전에 거부됩니다
버전 2.384.115
추가
- 네이티브 포터블 PDF, SVG, PNG 출력은 서식 있는 텍스트, 모델링된 도형, 일반 이미지, 셀 내 이미지, 부울 확인란, 지원되는 일곱 가지 캐시된 XLSX 차트 패밀리를 지원합니다
- 불변 통합 문서 인쇄 계획은 Linux와 macOS에서 완전한 인쇄 영역, 반복되는 행·열 제목, 페이지 나누기, 용지 설정, 여백, 방향, 가운데 맞춤, 배율 조정, 페이지 순서를 적용합니다
- 명시적 네이티브 글꼴 지오메트리는 통합 문서의 지오메트리 공급자를 바꾸지 않고 세대 검증 캡처를 지원합니다
수정
- 페이지에 맞춤 모드는 통합 문서 라운드트립 후에도 유지되고 무제한 맞춤 크기를 포함해 오래된 백분율 배율은 무시합니다
- 지원되는 차트 제목 글꼴, 선 모양, 마커 채우기·테두리는 검은색을 포함해 명시적으로 가져오거나 설정한 값을 유지합니다
- 서식 있는 텍스트는 명시적 false 오버라이드를 보존하고 문자열 재사용과 의미 비교 도중 유효 런 모양을 구별합니다
버전 2.384.114
추가
- 네이티브 Linux x64와 macOS ARM64 애플리케이션은 지원되는 문서 속성과 RC4 암호화를 포함해 클래식 BIFF8 통합 문서를 로드, 편집, 계산, 저장합니다
- 포터블 복합 저장소는 중첩 스코프, 대형 체인 DIFAT 컨테이너, 메타데이터, 명시적 네이티브 저장소 인터페이스 소유권을 지원합니다
수정
- 128비트 CryptoAPI 통합 문서는 호환되는 암호화 공급자를 알리고 읽을 수 있는 평문 문서 속성을 유지합니다
- 네이티브 문서 타임스탬프는 올바른 FILETIME epoch를 사용하고 플랫폼 전반에서 UTC 값을 유지합니다
- 클래식 정의된 이름은 스코프 조회, 수식, 통합 문서 다시 열기 전반에서 정규 Unicode 식별자를 공유합니다
- 이스케이프된 날짜 서식 구분 기호와 포함된 따옴표 리터럴은 선택한 전체 날짜 서식을 유지합니다
버전 2.384.113
추가
- 범위 지우기와 Unicode 텍스트 붙여넣기는 보호·구조 사전 점검을 갖춘 제한된 원자적 실행 취소와 다시 실행을 지원합니다
- 타입이 지정된 로컬 셀 내 이미지와 Checkbox 서식은 XLSX 라운드트립, 접근성 메타데이터, 소유권 인식 콘텐츠 편집을 지원합니다
- 희소 행·열 Checkbox 서식은 편집과 XLSX 라운드트립 전반에서 우선순위, 명시적 지우기, 없는 셀을 유지합니다
- 확장된 XLSB 지원에는 수식과 캐시, 이름, 병합, 하이퍼링크, 창, 테이블, 필터가 포함됩니다
- 네이티브 Linux x64와 macOS ARM64 통합 문서 API는 지원되는 XLSX, XLSB, ODS 파일을 로드, 편집, 계산, 저장합니다
- 네이티브 피벗 출력은 숫자·날짜·수동 그룹화와 열한 가지 사용자 지정 부분합 함수를 모두 지원합니다
수정
- 범위가 지정된 이름은 Windows, Linux, macOS에서 악센트나 기호를 버리지 않고 일관된 Unicode 정규화와 대소문자 일치를 사용합니다
- 모던 집계 수식은 Windows에서 Free Pascal과 일관되게 컴파일됩니다
- 다른 통합 문서를 열면 이전 파일의 스타일 정의를 남겨 두는 대신 이름 있는 스타일을 교체합니다
- 모던 이미지와 컨트롤 콘텐츠는 없는 셀을 구체화하지 않고 범위 실행 취소와 저장을 견딥니다
- 가져온 수식 캐시는 원래 값 메타데이터를 유지하고, 일반 메타데이터는 셀 내 이미지 콘텐츠와 구별됩니다
- 의미 비교는 제한된 희소 순회로 로컬 이미지 콘텐츠, 접근성 메타데이터, 유효 상속 컨트롤 서식을 구별합니다
버전 2.384.112
추가
- 정규식 테스트, 추출, 바꾸기는 Windows, Linux x64, macOS ARM64에서 UTF-16 텍스트, 캡처, 배열 브로드캐스팅, 제한된 계산을 지원합니다
- GROUPBY와 PIVOTBY는 범위가 지정된 집계 콜백, 다중 측정값, 헤더, 필터, 계층 합계, 정렬, 상대 백분율을 지원합니다
수정
- 스칼라 SUM 인수는 부울과 숫자 텍스트 강제 변환을 유지하고, 범위·배열 집계는 기존 무시 규칙을 그대로 둡니다
- 범위가 지정된 부울 리터럴과 집계 콜백 수식은 future-function 저장과 통합 문서 다시 열기를 견딥니다
버전 2.384.111
추가
- 네이티브 로컬 피벗 출력은 기준 항목과의 차이·백분율, 누계, 행·열 백분율, 인덱스, 부모 백분율, 누적 백분율, 밀집 순위를 지원합니다
수정
- 표시 계산은 비가산 평균을 포함해 네이티브 총계, 누락 값, 0 나눗셈, 정렬된 멤버 의미를 유지합니다
- 확장 표시 모드와 기준 필드 식별자는 저장, 다시 열기, 명시적 Excel 새로 고침을 견딥니다
버전 2.384.110
추가
- 네이티브 로컬 피벗 출력은 압축·테이블 형식·개요 레이아웃, 반복되는 상위 레이블, 기본 부분합 배치, 어느 데이터 축에든 둘 수 있는 다중 측정값을 지원합니다
수정
- 반복 레이블 설정은 가져온 네임스페이스 별칭과 저장·다시 열기를 견디고, 네이티브 출력은 없는 교차점을 숫자 0과 구별합니다
- 스테이징된 레이아웃 메타데이터는 Excel이 생성된 보고서를 명시적으로 새로 고칠 때 필드·데이터 캡션의 일관성을 유지합니다
버전 2.384.109
추가
- 통합 문서 비교는 타입이 지정된 값과 정확한 큰 정수를 구별하고, 유한한 숫자 허용 오차와 선택적인 저장 수식 캐시·스타일·지오메트리 비교를 지원합니다
- 제한된 의미 비교는 지원되는 이름, 규칙, 테이블, 그리기 순서, 빈 셀 스타일 영역, 유효 서식 있는 텍스트 런, 로컬 피벗 모델, 슬라이서 선택, 타임라인 상태를 다룹니다
변경
- 비교는 패킹된 셀과 없는 셀을 보존하고, 리소스 식별자를 유효 값으로 해석하며, 지원되지 않는 모델이나 리소스 소진 시에는 이전 성공 결과를 유지합니다
수정
- 타입이 지정된 데이터베이스 REAL 매개변수 정밀도 검증은 정확한 값·오버플로·null 검사를 유지하면서 Delphi XE5로 컴파일됩니다
버전 2.384.108
추가
- ODS 라운드트립은 일반 메모 텍스트·작성자, 표현 가능한 값·사용자 지정 필터, 명시적 셀 보호, 동등한 암호 없는 워크시트 보호를 유지합니다
- 변환 보고서는 지원되지 않는 필터 식과 동등하지 않은 보호를 포함해 워크시트 복사와 이후 저장을 거쳐 정확한 메타데이터 손실을 유지합니다
수정
- 취소되거나 실패한 ODS 스트림 저장은 제한된 임시 파일 스테이징을 통해 대상 바이트, 크기, 위치를 보존합니다
- 0이 아닌 스트림 위치에서 시작해 성공한 ODS 저장은 접두어를 보존하고 ZIP 항목 오프셋을 바로잡습니다
버전 2.384.107
추가
- 저장 수식 검사와 참조를 인식하는 피벗 집계 수식은 사용 가능한 배열 결과와 타입이 지정된 오류를 포함해 클래식 XLS, XLSX, 읽기 전용, 격리된 계산 컨텍스트에서 동작합니다
- 피벗 집계 쿼리는 소스 데이터를 새로 고치지 않고 제한된 분리 캐시 계산으로 모델링된 표시 멤버, 보고서 필터, 지원되는 부분합을 존중합니다
수정
- 네이티브 Excel XLS 피벗 캐시는 연이은 인라인 숫자 값과 현재 캐시 유효성 메타데이터를 유지하고, 반복 값을 잘못 합한 총계를 반환하지 않습니다
- 피벗 참조는 기본 테이블 위치 위의 모델링된 보고서 필터 영역을 포함합니다
버전 2.384.106
추가
- 자동 데이터베이스 쿼리는 위치 순서대로 타입이 지정된 리터럴·저장 셀 매개변수를 바인딩하고, 값을 SQL 텍스트에 치환하지 않으면서 Unicode, 빈 텍스트, 0, 부울, 날짜, null을 보존합니다
- 셀 매개변수는 재계산이나 구체화 없이 사용 가능한 수식 캐시와 압축 저장 값을 읽고, 제한된 메타데이터 검증과 트랜잭션 결과 적용을 갖춥니다
수정
- Jet과 ACE 날짜 매개변수는 타입이 지정된 OLE DATE 바인딩을 통해 로캘 종속 타임스탬프 투영과 무관하게 DATE, TIME, TIMESTAMP 값을 보존합니다
버전 2.384.105
추가
- 수식 메타데이터는 XLS와 XLSX 계산 컨텍스트에서 실제 참조 파일 식별자, 지원되는 기본 숫자 서식, 음수 색, 양수 괄호, 텍스트 정렬, 잠금 상태, 열 너비, 계산 모드를 읽습니다
- 분리된 기본 스타일·희소 축 점유 범위 검사는 저장·패킹된 셀, 워크시트 기본값, 테마 색, 빌려온 통합 문서 소유권을 보존합니다
변경
- 열 너비 메타데이터는 반올림된 문자 너비와 기본 너비 플래그를 두 열 배열로 반환합니다. 사용할 수 없는 Excel 애플리케이션 환경 정보와 분류할 수 없는 서식은 명시적 오류를 보고합니다
버전 2.384.104
추가
- 가져오기 검증은 엄격한 스칼라 타입, 숫자·날짜 경계, 명시적 Excel 날짜 체계, 복합 고유성, 열 간 관계를 지원합니다
- 구조화된 위반 정보는 워크시트, 셀, 규칙, 관련 열, 첫 번째 중복 행을 식별하고, 저장 값 검증은 패킹된 셀을 보존하며 암시적 재계산 없이 사용할 수 없는 수식 캐시를 보고합니다
버전 2.384.103
추가
- 자동 텍스트 쿼리는 선언된 필드 시작 위치, 지원되는 문자 인코딩, 타입이 지정된 필드 변환, 건너뛰는 필드, 헤더·첫 행 선택으로 고정 폭 파일을 새로 고칩니다
- 고정 폭 새로 고침은 리터럴 따옴표를 보존하고 필드 패딩을 잘라내며, 워크시트 변경을 적용하기 전에 잘못된 경계, 과도하게 큰 입력, 취소를 거부합니다
버전 2.384.102
변경
- 클래식 수식 기호 감사는 함수·이름 발견 항목, 대소문자를 구분하지 않는 중복 제거, 스코프, 발견 순서를 유지하면서 더 빠르게 스캔합니다
수정
- Windows 통합 문서 저장, 직접 패키지 패치, PDF 출력, 페이지 이미지 출력은 지원되는 파일 시스템에서 delete-sharing 메타데이터나 리더 핸들이 쥔 기존 파일을 원자적으로 교체할 수 있고, 지원되지 않는 파일 시스템에서는 잠금 검사, 읽기 전용 보호, 레거시 경로를 유지합니다
버전 2.384.101
추가
- INDEX 영역 선택자 배열은 계산된 배열과 지원되는 같은 시트 참조 합집합 위에서 행·열 선택자와 함께 브로드캐스트하며, 방향, 선택된 값 타입, 개별 오류를 유지합니다
- 정의된 이름과 LET 바인딩은 지원되는 다중 영역 참조 식별자를 유지하고, 스칼라 CHOOSE는 이후 계산을 위해 선택된 참조를 유지합니다
수정
- INDEX는 계산된 소스에 대해 명시적 영역 인수 1을 받아들이고, 잘못된·누락된·소수·범위 밖 영역 선택자를 구별합니다
- 시트 간 합집합과 계산된 배열 합집합은 잘못된 참조 식별자를 얻는 대신 지원되는 오류 계약대로 거부합니다
- 기존 로컬 워크시트로 한정된 잘못된 참조는 따옴표 붙은 시트 이름을 포함해 수식 문자열을 바꾸거나 알 수 없는 한정자를 로컬 시트로 해석하지 않고, 직접 수식과 정의된 이름에서 참조 오류를 유지합니다
버전 2.384.100
추가
- Linux에서 명시적 글꼴 파일, 네이티브 텍스트 셰이핑, 제한된 리소스, 단계적 배타적 파일 게시를 갖춘 포터블 헤드리스 PDF, SVG, PNG 출력
- 지원되는 클래식 XLS와 XLSX 사각 영역을 저장 수식 결과, 범위가 지정된 Table, 조건부 모양, 물리적 크기, 전체 병합을 포함해 불변·전송 가능 스냅샷으로 담아내는 읽기 전용 Windows 캡처
수정
- 포터블 모양 검증은 최적화 컴파일 빌드에서도 잘못된 enum 표현을 일관되게 거부합니다
버전 2.384.99
추가
- 사용자 지정 공급자 등록과 제한된 결과를 갖춘, 지원되는 Windows Text, ADO, ODBC, Web 연결에 대한 명시적 자동 쿼리 새로 고침
수정
- 네이티브 쿼리 결과 관계와 열 식별자는 지원되는 테이블 기반 또는 독립형 저장·다시 열기를 거쳐 유지됩니다
- 잘못된 공급자 연결 종류는 워크시트 결과를 바꾸지 않고 디스패치 전에 거부됩니다
버전 2.384.98
추가
- 로컬 피벗 타임라인 만들기, 공유 뷰 연결, 해당 날짜 전체를 포함하는 필터링, 선택 지우기·선택 유지 제거에 대한 보호 처리
- 연결된 뷰 전반에서 누적 리소스 한도, 취소, 보존된 선택·항목 식별자를 갖춘 명시적 네이티브 슬라이서 데이터 없는 항목 새로 고침
수정
- 네이티브 타임라인 관계·필터 소유권 처리는 구체화, 저장, 다시 열기를 거쳐 지원되는 가져온 선택을 유지합니다
- 피벗 슬라이서 교차 필터 설정은 네이티브 테이블 형식 표현을 통해 유지됩니다
- 타임라인 탐색은 Open XML 로딩 도중 UTF-16 통합 문서와 연결 파트 디코딩을 유지합니다
버전 2.384.97
추가
- 지원되는 숫자·개수 집계 계산에서 스칼라·계산된 배열 정의된 이름. 네이티브 강제 변환, 종속성 추적, 리소스 한도를 갖춥니다
수정
- 숫자 집계는 로컬 워크시트 참조의 타입이 지정된 오류를 전파하고, 빈 평균은 0으로 나누기 오류를 반환하며, 실패한 이름 참조는 부분 순회를 다시 시작하지 않고 오류를 유지합니다
버전 2.384.96
추가
- 텍스트 결합과 지원되는 중앙값, 순서 통계, 백분위수, 사분위수, 백분율 순위, 다중 최빈값, 모집단 공분산 계산에 대한 계산된 배열 인수
변경
- 배열·참조 수집은 네이티브 스칼라 강제 변환, 타입이 지정된 오류, 원래 공분산 쌍, 계산 리소스 한도를 유지합니다
수정
- 유한한 중앙값 중간점 계산은 같은 부호 오버플로를 피하고, 배타적 백분위수는 유효한 끝점·단일 순위를 받아들입니다
버전 2.384.95
추가
- 동기화된 워크시트 값, 레이아웃 메타데이터, 영구 셀 소유권을 갖춘 트랜잭션 방식 네이티브 압축 피벗 보고서 출력
- 다른 활성 필터 아래 연결된 뷰 전반의 읽기 전용 슬라이서 멤버 가용성
- 구성 가능한 보존 기간과 함께 연결된 선택 재매핑이 조율되는 명시적 과거 피벗 캐시 멤버 정리
변경
- 지원되는 네이티브 피벗 출력은 현재 수동 필터와 캡션을 유지하고, 변경 전에 지원되지 않는 레이아웃이나 편집된 소유 셀은 거부합니다
버전 2.384.94
추가
- 캐시를 공유하는 피벗 테이블 뷰와 명시적 워크시트 경계를 갖는 로컬 피벗 슬라이서 만들기
- 향후 멤버 정책을 포함해, 제한을 지우거나 선택을 일반 피벗 필터로 유지하는 트랜잭션 방식 슬라이서 제거
- 안정적인 멤버 식별자를 갖는 고정 숫자·날짜·이산 그룹 캐시 재구성
- 정확한 멤버·집계 식별자를 사용하는 분리형 네이티브 압축 피벗 레이아웃 메타데이터 미리 보기
수정
- 내용이 채워진 통합 문서를 다시 열면 이전 타입이 지정된 피벗 캐시를 교체하고, 직접 작성한 네이티브 슬라이서 링크는 Excel이 계속 인식합니다
- 그룹화 캐시 직렬화는 선언된 네이티브 멤버 도메인과 공식 총합계·데이터 축 특성을 유지합니다
버전 2.384.93
추가
- 타입이 지정된 셀 값, 기본 스타일, 일반 워크시트 뷰·크기를 다루는 검증된 XLSB 리더와 라이터
- 자동 바이너리 입력 감지와 변환 충실도 보고서를 갖춘, 통합 문서 파일·스트림 저장의 명시적 바이너리 출력
변경
- XLSB 변환은 완전한 패키지를 스테이징하고, 검사하지 않는 저장이나 손실 허용 저장을 포함해 출력 전에 지원되지 않는 기능·계산 설정을 거부합니다
수정
- 설정된 ZIP 압축 수준은 deflater 초기화 전에 적용됩니다
버전 2.384.92
추가
- 지원되는 로컬 정의된 이름·테이블 소스에 대한 트랜잭션 방식 피벗 캐시 새로 고침과 안전한 워크시트 구체화
- 캐시 새로 고침을 위한 워크시트 범위 정의된 이름 조회와 호출자가 해석한 소스 경계
수정
- 로컬 소스 식별자와 정의된 이름 범위는 따옴표·Unicode 이름을 포함해 워크시트 이동·이름 바꾸기를 견딥니다
- 정의된 이름 수식 XML은 메모리 내 수식 구문에만 필요한 선택적 선행 등호를 생략합니다
- 테이블 총계 멤버십은 실제 총계 행 개수를 따르며, 총계 UI 힌트만 있을 때는 모든 데이터 행을 유지합니다
버전 2.384.91
추가
- 전치, 행렬 곱, 행렬식, 역행렬에 대한 계산된 배열 입력과 타입이 지정된 결과
- 행·열 선택을 위한 순서가 있는 선택자 벡터, 중복, 음수 인덱스
- 완전한 스칼라 조회 슬라이스와 타입이 지정된 폴백 값을 포함한 계산된 조회 벡터와 배열 값 조회 요청
변경
- 행렬 작업, 조회 스캔, 선택자 순회, 복사, 패딩은 조합 전반에서 계산 단계·배열 메모리 한도를 존중합니다
수정
- 수식·배열 결과 텍스트 캐시는 재계산 전에도 Excel에서 올바르게 표시됩니다
- 모던 리치 오류 캐시는 네이티브 캐시 표시에 필요한 통합 문서 버전·계산 기능 선언을 포함합니다
- 조회·평탄화 옵션은 숫자 축소 변환 전에 범위 밖 값을 거부하고, 소수 옵션은 네이티브 잘라내기를 따릅니다
- 빈 take, drop, flatten 결과는 타입이 지정된 계산 오류를 유지합니다
버전 2.384.90
추가
- 격리된 피벗 결과 미리 보기는 활성 계산 캐시를 바꾸지 않고 공유 슬라이서 선택과 호출자 필터를 유지합니다
- 지원되는 로컬 피벗 소스의 안전한 워크시트 구체화는 결과를 스테이징하고 충돌하는 콘텐츠·구조를 거부하며, 기존 셀 개체, 서식, 메모를 보존합니다
- 정확한 타입 지정 값 소유권은 XLSX 저장·다시 열기를 견디고, 안전한 결과 크기 조정·이동, 기존 스칼라 피벗 값의 명시적 수용을 가능하게 합니다
수정
- 마지막으로 바인딩된 피벗 슬라이서 뷰 삭제는 그리기·캐시·예약된 이름·선택을 제거하기 전에 거부됩니다
- 슬라이서 뷰 지우기는 변경 전에 영향받는 모든 캐시를 검증하고, 허용된 뷰, 그리기, 바인딩되지 않은 캐시를 함께 정리합니다
버전 2.384.89
추가
- INDEX는 계산된 배열과 워크시트 범위 위에서 배열 값 행·열 선택자를 받아들이며, 짝지은 선택과 행-열 교차곱을 포함합니다
수정
- 선택자 결과는 타입이 지정된 값·오류를 유지하고, 누락된 선택자 위치는 #N/A로 채우며, 계산 메모리·계산 단계 한도를 존중합니다
- 0으로 잘리는 소수 스칼라 선택자는 완전한 행·열 스필을 만들고, 음수 선택자는 잘라내기 전에 #VALUE!를 반환합니다
- 스칼라 범위 선택은 참조 동작을 유지하고, 선택자 스필은 장애물에서 복구해 크기를 조정하며 저장·다시 열기 후 재계산됩니다
버전 2.384.88
추가
- 지원되는 가져온 비OLAP 피벗 슬라이서 캐시에 대한 타입이 지정된 멤버 검사, 공유 멤버 선택, 지우기
- 연결된 피벗 테이블 계산은 슬라이서 선택을 다른 필드의 독립 제한 및 호출자 제공 레코드 필터와 교차합니다
변경
- 선택 변경은 커밋 전에 모든 연결·멤버를 검증하고, 모호한 가져온 같은 필드 마스크는 거부하며, 지원되지 않는 캐시 표현은 유지합니다
- 슬라이서 캐시 컬렉션 변경은 연결된 피벗 테이블 계산에 영향을 줄 때 통합 문서 쓰기 보호를 존중합니다
- 바인딩된 비OLAP 피벗 슬라이서 캐시 삭제는 일관된 런타임·저장 필터 상태를 지키기 위해 원자적으로 거부됩니다
수정
- 편집된 피벗 슬라이서 선택과 연결 뷰 멤버 마스크는 가져온 네임스페이스·알 수 없는 확장을 유지하면서 함께 저장됩니다
- 지원되는 슬라이서 연결은 저장된 시트 식별자를 따르고, 확장 캐시 식별자는 일반 통합 문서 캐시 식별자와 독립적으로 해석합니다
- 가져온 피벗 테이블 정의는 워크시트가 재정렬돼도 원래 뷰와 연결된 채로 있습니다
버전 2.384.87
변경
- 로컬 사각형 피벗 캐시 새로 고침은 기존 필드·멤버 식별자를 유지하고 새 타입이 지정된 멤버를 추가하며, 소스 재정렬·제거·재추가 후에도 공유 뷰 필터·선택을 원래 멤버에 바인딩된 채로 둡니다
- 소스 헤더는 이름으로 데이터베이스 필드와 일치해 열 재정렬을 허용하고, 계산된 필드는 수식을 유지한 채 이후 계산을 위한 새 빈 레코드 자리표시자를 받습니다
- 새로 고침은 캐시를 갱신하기 전에 완전한 소스를 검증·스테이징하고, 부분 변경 없이 지원되지 않는 스키마·소스 타입·파생 그룹화·매핑되지 않은 새 이산 그룹 멤버를 거부합니다
수정
- 피벗 오류 값은 XLSX 저장·다시 열기를 거쳐 공유 항목·레코드에서 타입·코드를 유지합니다
- 새로 고친 공유 항목 도메인은 타입 플래그·표현 가능한 경계를 다시 계산하고, XLSX 캐시 메타데이터는 혼합 값, 날짜, 오류, 부울 값, 빈 값을 정확히 기술합니다
- 소스 새로 고침은 워크시트 셀을 만들지 않고 없는 셀을 읽으며, 텍스트를 축소하지 않고 Unicode 필드 헤더를 비교합니다
- 저장된 새로 고친 피벗 테이블 뷰는 기존 멤버 순서, 숨김 플래그, 가져온 레이아웃 확장을 유지하면서 부분합 항목 앞에 새 캐시 멤버를 포함합니다
- 뷰 순서가 캐시 순서와 달라도 페이지 선택은 올바른 멤버에 바인딩된 채로 있고, 계산된 필드는 더 이상 저장된 소스 레코드를 밀어내지 않으며, 새로 고침 타임스탬프는 숫자 XLSX 표현을 사용합니다
버전 2.384.86
추가
- INDEX는 범위 소스의 참조 동작을 유지하면서 스칼라 선택, 배열 전체 선택, 행·열 추출로 계산된 배열과 상수를 받아들입니다
- SORT와 UNIQUE는 계산된 배열과 상수를 받아 FILTER, SEQUENCE, LET 등 배열을 만들어 내는 식과 직접 조합할 수 있습니다
변경
- 조합된 배열 식은 자동 XLSX 스필 크기 조정, 고정 범위 배열 계산, 타입이 지정된 오류, 저장·다시 열기 후 재계산을 유지합니다
수정
- 배열 선택·정렬은 소수 숫자 옵션을 잘라내고, 잘못된 부울 옵션 텍스트는 #VALUE!를 반환하며, 계산된 배열 작업은 메모리·계산 단계 한도를 존중합니다
버전 2.384.85
추가
- XLSX 동적 배열은 이제 자동 크기 조정 스필 범위로 계산되고, #SPILL!로 사용자 장애물을 보존하며, 스필 참조와 명시적 암시적 교차를 지원하고, 다시 열기 후 캐시된 스필 소유권을 복구합니다
- 변환 사전 점검은 알려진 대상 형식 손실을 보고하고, 검사를 켜고 저장하면 기존 파일이나 스트림에 쓰기 전에 그 손실을 거부할 수 있습니다
- 명시적 매크로 사용 템플릿 출력은 XLTM 패키지에서 기존 VBA 프로젝트를 보존합니다
- 호출자가 제공한 쿼리 테이블 새로 고침은 제한된 고정 스키마 결과, 동기화된 테이블·필터 범위, 진행 상황, 취소, 트랜잭션 롤백을 지원합니다
변경
- 반복 보고서 밴드는 재매핑된 식별자로 완전한 스레드 대화를 클론하고, 대상이 실패하면 롤백을 유지합니다
- ODS 사용자 지정 부울 검증, 지원되는 수식 값 경계, 목록 소스, 한정된 참조는 기준 셀 리베이스와 함께 변환됩니다. 지원되지 않는 정의와 셀 참조는 함께 생략됩니다
수정
- 고정 범위 배열 수식은 원시 범위 산술을 요소별로 계산하고, 다중 배열 MAP은 일치하는 lambda 매개변수를 받아들이며, FILTER는 계산된 배열·마스크를 계산합니다
- 모던 #SPILL!·#CALC! 오류는 관련 없는 가져온 메타데이터·리치 값 버킷을 보존하면서 타입이 지정된 XLSX 리치 값 메타데이터를 유지합니다
- 새로 작성한 XLSX 수식은 Excel 상호 운용을 위해 정규 인수 구분 기호와 future-function 접두사로 저장됩니다. 저장은 메모리 내 식을 보존하고 다시 열면 정규 수식 구문을 돌려줍니다
- 지원되는 로컬 차트 계열은 편집·재계산 후 숫자, 텍스트, 날짜, 오류, 버블, 계층 범주 캐시를 새로 고칩니다
- 네이티브 페이지 매김은 병합 범위를 원래 앵커로 렌더링하고 페이지 조각을 클리핑하며, 내부 테두리·눈금선은 그리지 않습니다
버전 2.384.84
변경
- Delphi와 C++Builder 시작하기 예제는 이제 타입이 지정된 날짜, 가격, 할인, 계산된 합계를 갖춘 실전 판매 주문을 포함하고, 다시 연 뒤 저장된 XLS·XLSX 통합 문서를 검증합니다
- 청구서 예제는 이제 인쇄 가능한 청구서를 편집 가능한 지급 조건·수금 장부와 연결해 할인, 세금, 지급, 미수 잔액을 계산합니다
- 워크시트 레이아웃 예제는 이제 병합 제목 만들기, 열거, 제거, 다시 열기 후 보존을 보여 줍니다
- 집중형 API 예제 계열 아홉 개가 추가로 Miscellaneous로 옮겨가, 기본 카탈로그는 완전한 비즈니스 워크플로와 대화형 도구에 집중합니다
제거
- 최소 독립형 병합 셀·서식 있는 텍스트 예제는 워크시트 레이아웃·대시보드 예제로 통합되었습니다
버전 2.384.83
변경
- 데모 카탈로그는 이제 각 플랫폼의 Miscellaneous 폴더에서 완전한 경험·실질적인 워크플로를 집중형 API 레시피와 분리하고, 두 계층 모두 직접 탐색과 바로 빌드할 수 있는 프로젝트를 갖춥니다
제거
- 중복된 범위·워크시트 레이아웃 데모 세 개가 제거되었습니다. 완전한 시나리오는 RangeOps와 SheetLayout에서 계속 사용할 수 있습니다
버전 2.384.82
변경
- Delphi와 C++Builder 대시보드 갤러리는 실시간 합계, 렌더링된 차트, 편집 가능한 세부 내역, 가격 시나리오, 현재 결과 내보내기를 갖춘 채워진 통합 문서에서 바로 열립니다
- API 투어는 열두 달을 모두 다루는 재현 가능한 데이터 세트로 대시보드, 판매 데이터, 차트 미리 보기, API 레시피 탐색을 직접 제공합니다
- 예제는 필요한 시나리오 단위와 매니페스트 리소스를 로컬로 지니므로 별도 공용 디렉터리 없이 각 프로젝트를 복사할 수 있습니다
수정
- API 투어는 대시보드 수식에 들어가기 전에 판매 데이터를 만들어 라이브 쇼케이스가 성공적으로 초기화됩니다
- 라이브 쇼케이스 차트는 재계산 후 캐시된 값·레이블을 새로 고치고, C++Builder 갤러리 내보내기를 반복해도 생성된 보고서 시트가 쌓이지 않고 현재 편집이 유지됩니다
버전 2.384.81
변경
- 워크시트 복사 예제는 출력을 다시 연 뒤 독립 콘텐츠, 재매핑된 서식, 수식, 내장 개체를 검증합니다
- 날짜 체계, 검색, 그룹화, 배열 수식, 그림 예제는 각자의 고유 동작을 검증하고, 실패한 출력은 0이 아닌 종료 코드로 보고합니다
수정
- 클래식 XLS AutoFilter 범위는 활성 조건을 가진 복사된 필터를 포함해 저장·다시 열기 후에도 전체 행·열 경계를 유지합니다
- 대시보드 갤러리는 수식에 들어가기 전에 참조되는 워크시트를 만들고, 내보내기 전에 합계를 계산하며, 다른 출력이 실패해도 요청된 모든 동반 형식을 생성합니다
- C++Builder 대시보드 갤러리는 문서화된 CSV, HTML, RTF 동반 파일을 생성합니다
- 컴파일된 보고서는 기존 Win64 C++Builder 정적 빌드에서 대상을 교체할 수 없을 때 일반 실패 보고를 유지합니다
- 대화형 API 예제는 파일이 작성되었다고 주장하는 대신 PDF, HTML, CSV 내보내기 실패를 보고합니다
- 기능 쇼케이스는 지원되지 않는 모던 그리기 스냅샷을 호출하지 않고 지원되는 의미 해시 시연을 완료하며 저장된 통합 문서를 검증합니다
버전 2.384.80
변경
- 예제 카탈로그는 프로젝트를 학습 과제별로 묶고, 추천 진입점, 형식별 학습 항목, 호환 프로젝트 이름을 표시합니다
- 워크시트 레이아웃·범위 재배치 예제는 기존 프로젝트·출력 이름을 유지하면서 완전한 시나리오를 공유합니다
- 메모리, 고급 CSV, 인쇄, 문서 속성, 텍스트 상자, 워크시트 보호 예제는 저장 데이터 검증과 명시적 실패 보고를 갖춘 완전한 워크플로를 보여 줍니다
수정
- 다시 연 XLSX 텍스트 상자는 다시 저장할 때 그리기 관계를 유지해, 중복 XML 네임스페이스 선언 없이 반복되는 저장·다시 열기 주기에서도 주석을 계속 쓸 수 있습니다
- 일괄 변환 예제는 소스를 열거나 라이터를 호출하기 전에 Skip existing을 존중하고, 완료를 보고하기 전에 통합 문서 성공 코드를 검증합니다
- 청구서 예제는 인쇄 영역에 지급 조건과 전체 제목을 포함합니다
- 페이지 설정 콘솔 예제는 Windows 설치 관리자 탐지를 유발하는 대신 일반 사용자 권한으로 시작합니다
버전 2.384.79
수정
- 내보내기 옵션을 붙인 ODS 파일 저장은 직렬화가 실패하거나 저장이 취소돼도 기존 대상을 그대로 두고, 대상 교체 오류도 일관되게 보고합니다
- ODS 내보내기 옵션은 일반 저장 수명 주기를 그대로 따릅니다. 재계산 정책, 진행 상황 취소, 진단, 그리고 파일 출력과 스트림 출력 모두에 대한 워크북 쓰기 보호가 여기에 포함됩니다
- XLSX 스트림 저장은 설정된 재계산 정책을 따르므로, 수동 모드에서는 캐시된 값을 유지하고 요청하면 더티 수식을 새로 고칩니다
- 완료된 XLSX와 ODS 저장 알림은 이미 커밋된 출력을 취소 실패로 바꾸지 않습니다
- 스트리밍 워크시트 패치의 초기화와 마무리가 실패해도 소스 파일 핸들은 해제되므로, 호출자는 임시 소스를 정리하고 초기화 실패 이후에 writer를 재사용할 수 있습니다
버전 2.384.78
수정
- 범위 복사와 클론은 교차하는 가상 서식을 유지하고, 기존 오버레이 서식은 대상 내부에서만 교체합니다. 겹치는 복사와 워크북 간 서식도 마찬가지입니다
- 명시적 서식 초기화는 행이나 열 기본 서식이 있는 워크북을 저장했다가 다시 연 뒤에도 계속 유효합니다
- 워크북 기본 서식을 명시적으로 쓰는 XLSX 셀은 그 워크북의 사용자 지정 폰트, 채우기, 숫자 서식을 유지합니다
버전 2.384.77
수정
- 행 전체·열 전체 조건부 서식과 데이터 유효성 검사 대상은 소스에 완전히 들어올 때 행/열 편집과 범위 클론을 따라갑니다. 대상 지오메트리는 한도 내로 유지되고 상대 수식 앵커도 보존됩니다
- ODS에서 가져온 유한한 반복 빈 셀 스타일은 사용 범위 전체를 그대로 유지하고, 새로 만들거나 초기화한 워크북은 문서 속성에 현재 라이브러리 버전을 보고합니다
- 행 전체·열 전체·시트 전체 셀 복사는 희소 저장소를 유지하고, 교체되는 대상 콘텐츠를 빈 좌표를 늘리지 않고 지우며, 겹치는 소스 데이터와 워크북 간 서식을 보존합니다
버전 2.384.76
수정
- 조건부 서식과 데이터 유효성 검사 규칙은 이제 조회, 삭제, 조건부 계산, 유효성 검사에서 절대 참조, 뒤집힌 범위, 행 전체, 열 전체, 공백으로 구분된 대상에 일관되게 적용됩니다
- 잘못된 형식이나 그리드 밖 대상 영역은 더 이상 셀과 일치하지 않고, 같은 규칙의 유효한 영역은 계속 동작합니다. 전체 그리드를 다루는 조건부 통계는 희소 셀 저장소를 유지합니다
- ODS 유효성 검사 대상은 행 전체와 열 전체에 유효한 셀 앵커를 쓰고, 동등하게 겹치는 조건부 대상이 다시 열릴 때 중복 규칙을 만들지 않습니다
버전 2.384.75
수정
- ODS 셀 비교 및 수식 규칙은 Excel 호환 출력에서도 행 전체·열 전체·넓은 대상 범위 전체를 유지합니다. 반복 빈 셀 캐리어는 희소 범위를 압축적으로 유지하고 겹치는 규칙과 워크시트 메타데이터를 보존합니다
- ODS 반복 스타일 빈 영역을 다시 열어도 기본 서식은 압축된 상태로 유지되고, 표준 조건부 규칙은 병합 영역 안에서 겹치는 우선순위와 커버리지를 유지합니다
버전 2.384.74
수정
- ODS 조건부 서식은 저장과 다시 열기를 거쳐도 지원되는 폰트, 배경, 숫자 서식 오버라이드를 유지합니다. 명시적 초기화도 포함되며, 강조 색이나 대상 범위가 다른 규칙은 서로 분리된 채로 남습니다
- XLSX 조건부 서식은 기본 제공 및 사용자 지정 숫자 서식을 유지합니다. 조건부 규칙만 사용하는 서식도 대상이고, 저장할 때 그 사용자 지정 서식이 삭제되거나 규칙이 다른 서식을 가리키는 일이 없습니다
- ODS 백분율 스타일은 다른 스프레드시트 애플리케이션이 요구하는 백분율 기호를 포함하고, 다시 열어도 그 기호가 중복되지 않습니다
버전 2.384.73
수정
- 텍스트를 클립보드로 복사하거나 클립보드 텍스트를 읽거나 텍스트·XML Spreadsheet 데이터를 붙여 넣는 작업이 Windows 10과 11에서 무작위로 실패하지 않습니다. 클립보드가 바뀔 때마다 탐색기와 Clipboard User Service(클립보드 기록)가 몇 밀리초 동안 클립보드를 열어 읽어 가는데, 텍스트 작업은 한 번만 열기를 시도했기 때문에 그 창의 순간에 "액세스가 거부되었습니다"로 실패할 수 있었습니다
- 이제 모든 클립보드 작업이 BIFF8(Excel 형식) 복사·붙여넣기와 같은 정책을 씁니다. 약 500밀리초 동안 클립보드 열기를 계속 시도합니다. 다른 애플리케이션이 그보다 오래 클립보드를 쥐고 있으면 작업은 여전히 실패하지만 기존 클립보드 내용은 그대로입니다
버전 2.384.72
수정
- ODS 파일을 열 때 General 숫자 서식을 올바르게 읽습니다. Excel과 LibreOffice는 General을 소수 자릿수 없는 숫자 스타일로 쓰는데, 이것이 소수 둘째 자리까지 고정된 서식으로 읽혀서 1.5 같은 값이 1.50으로 보였습니다. 이런 셀은 이제 원본 애플리케이션처럼 숫자 서식을 갖지 않습니다
- General 숫자 주변의 텍스트는 유지됩니다. 예를 들어
General" kg"같은 형태입니다
버전 2.384.71
수정
- Excel이나 LibreOffice가 저장한 ODS 파일이 더 이상 시트 전체를 덮는 사용 범위를 보고하지 않습니다. 두 애플리케이션 모두 모든 행과 열에 1048576행, 16384열까지 크기를 부여하는데, 높이가 자동인 빈 행은 이제 기본 높이를 유지하고 마지막 열까지 이어지는 열 크기는 시트의 표준 열 너비가 됩니다. 10행짜리 Excel 파일을 열고 다시 저장하면 약 2.8MB에서 몇 KB로 줄어듭니다
- 손으로 지정한 행 높이와 내용이 있는 행의 자동 높이(예를 들어 줄바꿈 텍스트에 맞춰 늘어난 행)는 여전히 유지됩니다
- ODS로 저장할 때 자체 너비가 없는 열에는 시트의 표준 열 너비(
StandardWidth)를 씁니다. ODS에는 시트 전체 기본 열 너비가 없어서 예전에는 이 값이 빠졌습니다
버전 2.384.70
수정
- Excel이나 LibreOffice가 저장한 ODS 파일이 다시 몇 밀리초 만에 열립니다. 두 애플리케이션 모두 모든 행을 16384열까지 채우고 1048576행까지 패딩 블록을 추가합니다. Excel의 10행 파일은 열리는 데 5분 넘게 걸렸고, LibreOffice의 파일은 끝까지 열리지도 않았습니다
- 문서의 Default 셀 스타일과 완전히 똑같이 생긴 빈 패딩 셀은 더 이상 서식 있는 빈 셀로 바뀌지 않습니다. 10행짜리 Excel 시트는 이런 셀이 약 18만 개 늘어나곤 했습니다. 자체 채우기, 테두리, 폰트, 정렬, 숫자 서식, 보호가 있는 빈 셀은 여전히 유지됩니다
버전 2.384.69
수정
- ODS에 저장한 조건부 서식이 이제 Excel에 나타납니다. 값 규칙(같음, 사이, 보다 큼 등)과 수식 규칙은 대상 셀에 표준 ODF
style:map조건으로도 기록되는데, 이것이 Excel이 읽는 유일한 형태입니다. 예전에는 Excel이 HotXLS ODS 파일을 이런 규칙 없이 열었습니다 - LibreOffice는 이제 HotXLS가 쓴 ODS 값 규칙을 실제 연산자와 경계와 함께 가져옵니다. 예전에는 모두 "0과 같음"으로 바꿔 버렸습니다
- ODS 파일을 열면 Excel과 다른 ODF 생산자가 쓰는 것처럼
style:map조건으로 저장된 조건부 서식을 읽습니다. 같은 규칙이 LibreOffice 고유 형태로도 파일에 들어 있다면 각 규칙은 한 번만 읽습니다 - ODS 파일을 열면 LibreOffice식 값 규칙 표기(
=5,between(1,10),!="x")도 읽습니다. 이전 HotXLS 버전의 파일도 예전과 똑같이 열립니다
버전 2.384.68
수정
- 여러 셀 범위나 인라인 배열에 연산자를 적용하는 수식(
=SUM(A1:B1*{10,100}),=SUM((A1:B2>2)*1),=MAX(A1:B2-1)등)은 Excel 365가 저장하는 방식 그대로 저장됩니다. 덕분에 Excel은 HotXLS와 같은 결과를 보여 줍니다. XLSX에서는 단일 셀 동적 배열 수식으로, XLS에서는 한 셀 배열 수식으로 저장됩니다. 예전에는 Excel이 암시적 교차(=SUM(@A1:B1*@{10,100}))로 열어서 #VALUE!나 엉뚱한 값을 보여 줬습니다 - XLS 배열 수식은 Excel처럼 참조와 배열 상수를 배열 형태로 씁니다. 예전에는 Excel이 HotXLS가 쓴 배열 수식을 암시적 교차로 평가했습니다
- 동적 배열 수식이 들어 있는 XLSX 파일(
SetDynamicArrayFormula로 만든 것 포함)은 Excel에서 열립니다. 예전에는 동적 배열 메타데이터가 대소문자가 다른 확장 식별자를 썼기 때문에 Excel이 파일 전체를 거부했습니다
버전 2.384.67
수정
- 양쪽 엔진 모두에서 텍스트 비교가 Excel의 순서를 따릅니다. 대소문자를 무시하고 시스템 로캘의 단어 정렬을 쓰기 때문에, 하이픈과 아포스트로피는 나머지가 같을 때 순위를 가르는 데만 쓰이고(
"a-b">"ab"는 TRUE), 그 외 문장 부호는 숫자와 문자보다 앞에 옵니다("a~b">"ab"와"a_b">"ab"는 FALSE). 비교 연산자, COUNTIF·SUMIF·*IFS 계열·데이터베이스 함수의>text/<text조건, 배열 비교, 조회, SORT 계열 함수, 범위 정렬이 모두 해당됩니다 - VLOOKUP과 HLOOKUP은 텍스트를 대소문자 구분 없이 비교하므로
VLOOKUP("ABC",...)가 Excel처럼 "abc"를 찾습니다
버전 2.384.66
수정
- ODS에 쓰는 수식 기반 조건부 서식을 이제 LibreOffice가 인식합니다. 규칙은 기준 셀과 함께
formula-is(...)형태로 저장되는데, 이것이 LibreOffice가 직접 쓰는 형태입니다. 예전에는 LibreOffice가 이런 규칙을 전부 "셀 값이 0과 같음"이라는 단순 규칙으로 읽었습니다 - ODS에 쓰는 조건부 서식 수식은 셀 수식과 마찬가지로 인라인 배열·유니언·열 전체·행 전체 참조를 변환하고
$표식을 유지합니다(COUNTIF($A:$A,A1)>1이COUNTIF([.$A:.$A];[.A1])>1이 됩니다) - ODS 파일을 열 때 LibreOffice가 쓴 수식 기반 조건부 서식(
formula-is)도 예전 HotXLS 버전이 쓴 파일과 마찬가지로 읽어 들입니다
버전 2.384.65
수정
- ODS에 쓰는 수식에서 열 전체·행 전체 참조(
A:A,$A:$B,1:1,$1:$2)는 OpenFormula 참조 형식([.A:.A])을 씁니다. 예전에는 Excel이 이런 셀을=SUM(A:(A))으로 열면서 #NAME?을 내거나 수식을 아예 버렸습니다. HotXLS가 만드는 ODS 파일은 이제 Excel과 LibreOffice에서 같은 수식과 값을 보여 줍니다
버전 2.384.64
수정
- 데이터베이스 함수(DSUM, DCOUNT, DCOUNTA, DAVERAGE, DGET 등)는 연산자 없는 텍스트 조건을 "접두사 일치"로 취급합니다. Excel이 그렇듯이요. 조건 범위의
ab는 abc, ab, AB에 일치하고, 와일드카드도 여전히 적용됩니다(a?는 a로 시작하는 두 글자 이상 값이면 모두 일치).=ab와<>ab는 예전과 마찬가지로 값 전체를 비교합니다
버전 2.384.63
추가
- 수식에
{1,2;3,4}같은 인라인 배열 상수(열은 쉼표, 행은 세미콜론으로 구분하며, 숫자·텍스트·TRUE / FALSE·오류 값을 쓸 수 있음)와(A1:B2,D4)같은 참조 유니언을 담을 수 있습니다. XLS와 XLSX 양쪽 엔진 모두입니다. 예전에는 입력하다가 "invalid formula syntax"로 실패했습니다 - 배열 상수는 배열로 평가됩니다(
=SUM({1,2}*{3,4}),=ROWS({1,2,3;4,5,6}),=SUMPRODUCT(A1:A2,{1;10})). 유니언은 SUM, COUNT, AVERAGE, MIN, MAX, COUNTA에서 동작하고, AREAS, ISREF, 그리고 INDEX의 area_num 인수에서도 쓸 수 있습니다
수정
- XLS 파일은 배열 상수를 Excel이 읽을 수 있는 형태로 저장합니다. 예전에는 상수가 참조로 기록되어 Excel이
=#N/A로 표시했습니다. 배열 상수나 유니언이 들어간 XLS 수식도 이제 수식 텍스트를 갖고 그대로 읽혀 돌아옵니다
버전 2.384.62
수정
- 교차 연산자(두 참조 사이의 공백)는 두 참조가 함께 덮는 셀을 반환합니다. Excel이 그렇듯이요.
=SUM(A1:B2 B1:B2)는 2가 아니라 6이 되고, 공통 셀이 없는 참조는 #NULL!을 냅니다. 교차는 ROWS, COLUMNS, INDEX처럼 참조를 받는 함수에 그대로 넘길 수도 있습니다. 이는 두 엔진 모두, 계산되는 수식과 셀에 저장된 수식 모두에 적용됩니다 - XLS 파일은 교차 수식을 Excel에서 계속 쓸 수 있게 유지합니다. 참조된 범위를 이제 참조로 기록하기 때문에, Excel이
=SUM(A1:B2 B1:B2)를=SUM(@A1:B2 @B1:B2)로 읽어 #VALUE!를 표시하는 일이 없어집니다 - 공통 셀이 둘 이상일 때 단일 값으로 쓰인 교차는 다른 여러 셀 참조와 마찬가지로 수식의 행이나 열에 있는 셀을 고릅니다
버전 2.384.61
수정
- SUMPRODUCT는
(B1:B2>0)*1,--(B1:B2>0),B1:B2*C1:C2같은 배열 식과 단일 인수를 XLS와 XLSX 양쪽 엔진에서 받아들입니다. 예전에는 #N/A를 반환했습니다. 모양이 다른 인수는 #VALUE!를 반환하고, 인수 안의 오류는 그대로 반환되며, 텍스트와 부울 값은 Excel처럼 0으로 셉니다 - SUM, COUNT, AVERAGE, MIN, MAX, COUNTA 안에서 범위에 연산자를 얹은 식은 Excel 동적 배열에서처럼 요소별로 평가됩니다.
=SUM((B1:B2>0)*1)는 첫 셀만 쓰는 대신 두 행을 모두 셉니다 - TRUE는 산술에서 1로 셉니다. 예전에는
=TRUE*1이 -1을 반환했습니다 - 요소별 비교는 빈 요소를 상대에 맞추려고 0, "" 또는 FALSE로 취급하고, 부울 값은 부울 값으로 비교합니다. 배열 안에서 부울 값을
&로 이으면 TRUE / FALSE가 나옵니다
버전 2.384.60
수정
- 셀 전체 일치를 쓰는 와일드카드 찾기 및 바꾸기(
FindText,ReplaceText,FindTextIn,ReplaceTextIn, 두 엔진 모두)는 Excel이 그러하듯 셀 전체를 일치시킵니다.a*b는 이제abcb를 찾습니다. 예전에는 일치가 첫b에서 멈춰 거부됐던 값입니다 - 와일드카드 찾기 및 바꾸기에서
~는 바로 뒤 문자를 리터럴로 만들고 끝의~는 무시합니다. Excel이 그렇듯이요.a~b는ab를,a~~b는a~b를 찾습니다
버전 2.384.59
수정
- XLSX 문서 생성·수정 시각(
Created,Modified)과 날짜 값 사용자 지정 속성은 타임스탬프에 소수 초(2026-03-15T08:30:00.123Z)나 시간대 오프셋(+08:00,-05:00)이 붙어도 올바르게 읽힙니다. 시각을 그대로 현지 시간인 양 넘기는 대신 현지 시간으로 변환합니다 - 날짜만 있는 타임스탬프(
2026-07-01)는 그 날짜로 읽힙니다. 시각은 있는데 시간대가 없는 형태(W3CDTF 형식이 허용하지 않음)는 여전히 현지 시간으로 읽힙니다
버전 2.384.58
수정
TXLSAutoFit를 통한 XLSX AutoFit(FitXlsxSheet,FitXlsxSheetColumns,FitXlsxSheetRows,MarkSheet)은 각 셀을 실제 표시 글꼴로 측정합니다. 2.384.46부터는 워크북 글꼴 목록의 다음 글꼴을 골랐기 때문에, 굵은 머리글이 다른 셀의 작은 글꼴로 측정되어 지나치게 좁게 나올 수 있었습니다- AutoFit은 행이나 열 스타일에서 셀이 물려받은 글꼴도 사용합니다
버전 2.384.57
수정
- XLSX 엔진도 이제 "표시 정밀도"(
FullPrecision = False)에서 Excel과 XLS 엔진과 같은 방식으로 반올림합니다. 백분율 서식은 소수 둘 자리를 더 유지하고(0.1234를0.0%로 표시하면 0.1이 아니라 0.123을 저장), 음수와 0은 자기 서식 섹션을 쓰며, 중간값은 0에서 멀어지는 방향으로 반올림합니다(2.5를0으로 표시하면 2가 아니라 3을 저장) - 두 엔진 모두 "표시 정밀도" 조건에서 천 단위 스케일링 쉼표를 존중합니다. 12345.678을
0.0,으로 표시하면(12.3) Excel처럼 12300을 저장합니다 - 숫자 서식이 있는 셀의 부울 수식 결과를 XLS 엔진의 "표시 정밀도"가 -1로 바꾸지 않습니다
버전 2.384.56
수정
- HotXLS가 쓰는 ODS 파일은 수식 접두사의 네임스페이스를 선언해서, LibreOffice가 모든 수식 셀에 #VALUE!를 표시하는 대신 수식을 평가합니다
버전 2.384.55
수정
- ODS에 쓰이는 수식은 의미를 유지합니다. 인라인 배열은 OpenFormula의 행 구분자를 쓰고(
{1,2;3,4}가 한 행짜리가 아니라{1;2|3;4}가 됨),(A1,B2)같은 참조 유니언은 함수 인수 두 개 대신~연산자가 되며, 절대 참조는$표시를 유지합니다 - 이런 유니언을 ODS에서 다시 읽을 때 괄호를 한 쌍 더 덧씌우지 않으므로, 이 수식들은 XLSX에서 ODS로, 다시 XLSX로 가는 라운드트립을 그대로 견뎁니다
버전 2.384.54
수정
- Excel 5.0/95 형식으로 저장된 암호 보호 XLS 파일(XOR 난독화)이 이제 Excel에서 열립니다. 파일에 저장되는 키는 무작위가 아니라 암호에서 파생되고, 난독화 배열은 Excel이 기대하는 비트 회전을 사용합니다. 예전에는 Excel이 이런 파일마다 암호가 틀렸다고 보고했고, 키만 고쳤을 때는 파일을 손상됐다고 보고했습니다
- XOR 난독화 워크북도 같은 수정된 배열로 읽으므로, 키가 암호와 일치하는 파일은 Excel이 암호화하는 방식 그대로 복호화됩니다. 이전 HotXLS 버전이 쓴 XOR 파일도 계속 열립니다
버전 2.384.53
수정
- 빈 셀과 부울 값의 비교는 XLS와 XLSX 양쪽 엔진에서 빈 셀을 FALSE로 취급합니다. Excel이 그렇듯이요. A1이 비어 있을 때
=A1=FALSE와=A1<TRUE는 이제 TRUE를 반환하고=A1=TRUE는 FALSE를 반환합니다. 예전에는 빈 셀이 0으로 비교됐고, 0은 모든 부울 값 아래로 순위가 매겨졌습니다
버전 2.384.52
수정
- COUNTIF, COUNTIFS, SUMIF, SUMIFS, AVERAGEIF, AVERAGEIFS, 데이터베이스 함수는 XLS와 XLSX 양쪽 엔진에서 텍스트 조건을 Excel의 와일드카드 규칙으로 일치시킵니다.
~*와~?는 리터럴 별표·물음표에 일치하고, 대괄호는 보통 문자이며,*나?가 없는 조건은 대소문자를 구분하지 않는 단순 비교가 됩니다. 예전에는"[x]"같은 조건이 문자 집합으로 읽히고,"~*"는 별표에 일치하지 않았으며, 잘못된 패턴은 아무것도 일치시키지 못한 채 조용히 넘어갔습니다 "<>text"조건은 숫자·부울 값·빈 셀을 같지 않음으로 세고,"<>"하나만 있으면 빈 셀이 아닌 모든 셀을 셉니다. Excel과 같습니다.<>아래의 텍스트 비교는 이제 대소문자를 구분하지 않습니다- MATCH와 XLOOKUP의 와일드카드 일치는
~를 바로 뒤 문자의 이스케이프로 취급하고 끝의~는 무시합니다. Excel이 그렇듯이
버전 2.384.51
변경
- 읽기 전용 셀 스냅샷은 워크시트 이름을 공유 UnicodeString 저장소에 유지합니다. SheetName은 이전과 똑같은 보통의 읽기·대입 구문을 가진 읽기·쓰기 가능 WideString 속성이 됐지만, 필드의 원시 주소와 이전 레코드 레이아웃은 지원되지 않습니다. 호출자는 이 릴리스 기준으로 재컴파일해야 합니다
- 빈 대상 스트림으로의 보고서 출력은 불필요한 백업 스냅샷을 건너뛰되, 출력이 실패하면 대상 내용과 위치의 롤백은 그대로 유지합니다
- 깊은 수식 감사는 숫자 캐시를 더 효율적으로 처리하면서 캐시된 Variant 값, 평가 결과, 보고되는 발견 항목을 유지합니다
수정
- XLS와 XLSX 클립보드 붙여넣기는 BIFF8 데이터와 폴백 텍스트를 하나의 클립보드 잠금 아래에서 함께 잡아내므로 두 형식이 같은 클립보드 상태에서 나옵니다. 읽을 수 있는 BIFF8은 짝 텍스트를 가져올 수 없을 때도 계속 쓸 수 있고, 텍스트만 사용 불가한 경우 셀을 삽입하지 않으며, 기존의 클립보드 열기 재시도 정책은 그대로입니다
- 필수 텍스트나 BIFF8 클립보드 게시가 실패해도 정리 과정을 거쳐 원본 Win32 오류 코드가 보존되므로, 호출자는 호출 직후 장애 진단을 가져올 수 있습니다
- 단일 시도 클립보드 텍스트 리더는 재시도 동작을 바꾸지 않으면서 클립보드 정리 과정에서 네이티브 데이터 검색 실패를 보존합니다
버전 2.384.50
변경
- 수식 기호 감사는 희소한 XLS 워크북에서 더 빠르게 돌아가고, 보고되는 발견 항목과 그 순서는 그대로 유지됩니다
버전 2.384.49
수정
- WorkbookAudit 데모(Delphi와 C++Builder):
AuditReport.json을 UTF-8 BOM 없이 기록해 엄격한 JSON 파서도 받아들이고, XLS 시트는 AutoFilter 범위를 보고하며, 다른 워크북을 가리키는 XLSX 정의된 이름은 인덱스 대신 연결된 파일을 표시하고, 명령줄 실행은 저장된 설정을 더 이상 덮어쓰지 않으며, 폴더 입력란이 비어 있으면 드라이브 루트 대신 프로그램 폴더로 폴백하고, 샘플 저장이 실패하면 생성됨으로 보고하는 대신 로그에 남깁니다 - ApiTour 데모: 쇼케이스 워크북을 다시 빌드할 때 재빌드가 실패하면 이전 워크북을 유지해 내보내기 버튼이 더 이상 크래시하지 않고, 빌드가 예외를 던지면 워크북을 해제하며, HTML 내보내기는 오류를 로그에 기록하고, 로그는 실제로 생성된 다섯 가지 조건부 서식을 보고합니다
- ExcelGraphics 데모: 지원하지 않는 그림 형식은 빈 시트를 저장하는 대신 보고되고, 열기 대화상자는 지원되는 형식만 나열합니다
- OdsExport 데모는 라운드트립 검사에서 글꼴 크기까지 비교하고 검사나 저장이 실패하면 0이 아닌 종료 코드를 반환합니다. C++Builder OdsImport 데모는 저장 결과를 확인하고 보고 중에 빈 셀을 만들지 않습니다
- DataExport / ExportWithColoring 데모는 주석에 적힌 대로 첫 번째 열만 좁히고, C++Builder 내보내기 데모는 프로그램 폴더에서 저장 대화상자를 엽니다
- 데모 readme는 데모가 실제로 사용하는 API와 출력 파일을 나열합니다
버전 2.384.48
수정
- 문서 생성 시각과 마지막 저장 시각을 이제 파일 형식이 요구하는 대로 UTC로 기록하고 현지 시간으로 다시 읽습니다. 대상은 XLSX의
Created/Modified와 사용자 지정 날짜 속성, XLS의CreatedDate/LastSavedDate입니다. 예전에는 현지 시간이 UTC인 것처럼 저장되어 Excel과 Windows 탐색기가 시각을 시간대 오프셋만큼 어긋나게 표시했습니다. HotXLS 자신이 쓰고 읽는 값은 바뀌지 않았습니다
버전 2.384.47
수정
- XOR 난독화를 쓰는 XLS 파일(Excel 5.0/95 워크북의 암호 보호,
EncryptionType = xletXor): 레코드마다 사용하는 키 위치가 이제 파일 형식 사양을 따르며, 다른 스프레드시트 애플리케이션이 읽고 쓰는 방식과 같습니다. 예전에는 HotXLS가 자신이 만든 XOR 파일만 읽을 수 있었고, 길이가 16의 배수가 아닌 레코드는 그 밖의 위치에서 쓰레기 값으로 디코딩됐습니다
버전 2.384.46
수정
- XLSX AutoFit(
FitXlsxSheet,FitXlsxSheetColumns,FitXlsxSheetRows,MarkSheet)는 각 셀을 자체 글꼴, 크기, 굵게, 기울임으로 측정하고, 항상 Arial 10으로 가정하지 않습니다. 덕분에 Calibri 11 텍스트, 굵은 머리글, 큰 제목이 더 이상 지나치게 좁게 나오지 않습니다 - XLSX AutoFit은 저장된 원본 값이 아니라 숫자 형식을 거쳐 표시되는 텍스트(날짜, 통화, 백분율)를 기준으로 측정합니다
- XLSX AutoFit은 맞춘 열 너비를
MaxWidth안에 유지합니다. 예전에는 한도를 적용한 뒤에 셀 여백을 더했습니다 - XLSX AutoFit은 명시적 너비가 없는 열의 줄 바꿈 셀에 대해 행 높이를 시트 기본 너비를 기준으로 잡습니다. 예전에는 이런 셀을 한 줄짜리로 측정해 행이 너무 낮게 나왔습니다
버전 2.384.45
수정
- XLS 워크북:
'>=100'이나'=2.5'같은ApplyAutoFilter조건을 이제 숫자 조건으로 저장합니다. 예전에는 텍스트로 저장됐고 Excel도 텍스트로 비교했기 때문에 필터가 숫자 행을 모두 숨겼습니다. 비교 연산자 없는 값('North'이나'100'같은)은 여전히 텍스트로 저장되며, 이는 Excel이 필터 목록에서 고른 항목을 저장하는 방식이기도 합니다 - 이런 조건에서
Criteria1.DataType은 6(텍스트) 대신 4(숫자)를 보고합니다.Criteria1.Value는 여전히 100으로 읽힙니다
버전 2.384.44
수정
- A1 참조 텍스트를 받는
INDIRECT가 셀을 한 행 아래, 한 열 오른쪽에서 읽었습니다(XLS와 XLSX 워크북 모두에서INDIRECT("D1")가 E2를 반환). R1C1 텍스트는 이미 올바랐습니다. 마지막 행이나 열을 넘는 참조는 이제#REF!를 반환합니다
버전 2.384.43
수정
- XLSX 워크북: 수식이 이제 1,048,576 × 16,384 시트 전체를 참조할 수 있습니다. IV 열이나 65,536행을 넘는 참조(
=XFD1,=A100000,=SUM(XFC1:XFD1),Data!C1048576)는 예전에 입력 때 알 수 없는 이름으로 거부되거나 오류로 평가됐지만, 이제는 파싱되고, 계산되고, 행·열 삽입에 따라 이동하며, 입력한 그대로 저장됩니다 - XLSX 워크북: 열 전체·행 전체 참조(
A:A,1:1)가 시트 전체를 커버합니다.ROWS(A:A)는 1048576을 반환하고SUM(A:A)는 65,536행 아래 값까지 포함하며,ADDRESS는$XFD$1같은 세 글자 열을 반환합니다 - XLS 워크북: 65,536 × 256 시트의 마지막 행·열 참조(
=A65536,=IV1)가 받아들여집니다. 예전에는 알 수 없는 이름으로 거부됐습니다
버전 2.384.42
수정
- 레거시
lxRows/lxCols단위(소스 호환용으로 유지되며 워크북 클래스는 사용하지 않음): 1,048,575를 넘는 행 인덱스는 1행으로 되감기는 대신ERangeError를 발생시키고, ROW 레코드는 개요 수준이 바뀔 때마다 축소됨을 표시하지 않으며, 자체 설정이 없는 열에 COLINFO를 쓸 때는 크래시하는 대신 기본값을 사용합니다
버전 2.384.41
수정
- ANSI 문자열 모드로 컴파일한 Lazarus / Free Pascal 빌드: 경로에 시스템 코드 페이지 밖 문자가 포함된 임시 작업 파일을 이제 정리 과정에서 삭제합니다. 예전에는 이름이 손실되어 저장되고 파일이 임시 폴더에 남았습니다
버전 2.384.40
수정
TlxCellMMU(패킹된 셀 저장소)는 256행 블록 안에서 행 순서를 벗어나 셀을 쓰거나 기존 셀을 덮어 쓰면EInvalidOperation을, 음수 위치나 65,534를 넘는 열에는ERangeError를 발생시킵니다. 예전에는 이런 쓰기가 이웃 행을 조용히 손상시켰습니다. 라이브러리 자체의 대량 쓰기는 이미 행 순서를 지키므로 영향을 받지 않습니다
버전 2.384.39
변경
- XLSX 워크북:
TXLSXWorksheet.TabColor를 지정하면 이제TabColorIsAuto도 False로 설정되어, 글꼴·채우기·테두리 색 속성과 마찬가지로 두 번째 지정 없이 탭 색이 표시됩니다. 이후에TabColorIsAuto를 True로 설정하면 여전히 탭 색이 제거됩니다
버전 2.384.38
변경
- XLS 워크북:
TXLSWorksheet.AddPivotTable이DestRow와DestCol을 이제Cells[Row, Col], 문서, XLSX 엔진과 마찬가지로 1 기준으로 다룹니다.AddPivotTable('Data!A1:C9', 3, 1, ...)은 피벗 테이블을 A3에 앵커링합니다. 0 기준 위치를 넘기던 코드는 1을 더해야 하고, 앵커가 0이거나 시트 밖이면 이제nil을 반환합니다 - XLS 워크북:
TXLSPivotTable의 위치 속성(FirstRow부터FirstDataCol까지)과TXLSPivotCache의 소스 범위 속성(SourceFirstRow부터SourceLastCol까지)은 새로 만든 피벗 테이블이든 열어 온 피벗 테이블이든 이제 1 기준입니다. 같은 코드가 두 엔진에서 같은 셀을 읽고, 두 엔진 사이에서 복사된 피벗 테이블도 자리를 유지합니다
버전 2.384.37
수정
- XLSX 워크북: 65,535행 아래에 놓인 피벗 테이블, 또는 행 삽입으로 그 밑으로 밀려난 피벗 테이블이 실제 위치를 유지합니다. 예전에는 앵커가 16비트로 잘려 저장된 피벗 테이블이 엉뚱한 행에 놓였습니다
- 피벗 테이블 위치 속성(
FirstRow,FirstCol,LastRow,LastCol,FirstHeaderRow,FirstDataRow,FirstDataCol)은 이제Word대신Integer입니다 - XLSX 워크북: 앵커가 시트 밖에 있거나 복사된 블록이 마지막 행·열을 넘어갈 때
AddPivotTable과AddPivotTableCopy는 Excel이 거부하는 피벗 테이블을 기록하는 대신nil을 반환합니다
버전 2.384.36
수정
- C++Builder 데모 XlsTables, XlsCondFormat12, XlsCreateChart, InteractiveFeatures는 텍스트 열을 텍스트로 기록합니다.
const wchar_t*를OleVariant에 넘기면bool생성자가 골라져 모든 머리글과 레이블이 TRUE로 나왔습니다 - DefinedNames 데모는 인덱스 0에서 크래시하는 대신 인덱스 1부터 XLS 이름을 나열하고, WorkbookAudit은 XLS 워크북 이름 안의 외부 참조를 세며, FileMonitor는 철자가 틀려 모든 시트 이름 읽기를 실패하게 만들던
.xlsxx대신Monitored.xlsx을 기록합니다 - Pictures와 OdsExport 데모는 유효한 PNG를 포함합니다. 바이트 리터럴이 문자열 변환으로 망가졌고 Pictures 청크 길이도 틀렸습니다
- ApiTour는
DEMOADD단계를 활성 Dashboard 시트가 아니라 API Tour 시트에서 평가합니다. 활성 Dashboard 시트에서는 텍스트 인수가 시작을 중단시킬 수 있었습니다. C++Builder 클래식 투어는 이제 이 단계의 결과를 보여줍니다 - FreezePanes, QuickStart, ApiTour는 머리글 행과 열을 정확히 틀 고정합니다.
FreezePanes는 첫 스크롤 가능 셀이 아니라 개수를 받습니다 - ApiTour, CondFormatGallery, OdsExport, WorkbookAudit의 조건부 서식 색은 API가 기대하는 대로 BGR로 지정됩니다. 데이터 막대와 색상 스케일이 의도한 색을 보여줍니다. CondFormatGallery는 top-N, 중복, 평균 초과 규칙에 눈에 띄는 강조를 줍니다
- MemoryDataExport와 HtmlExport는 성공한 CSV, HTML, RTF 내보내기를 실패로 보고하지 않습니다(이 라이터들은 성공 시 0을 반환합니다). MemoryDataExport는 하나가 실패해도 세 파일을 모두 기록합니다
- 저장한 뒤 파일을 보고하거나 여는 데모(QuickStart, ExcelGraphics, HotXLSInMemory, OrderCalc, PurchaseOrder 및 여러 콘솔 데모)는 파일이 잠겼을 때 성공을 알리는 대신 저장 결과를 확인합니다
- ConversionWorkbench는 라이터 결과가 음수면 모두 실패로 취급하고 오래된 출력을 먼저 지웁니다. 남아 있던 파일이 실패한 변환을 가리는 일이 없어집니다. C++Builder 버전은 모든 시트를 HTML로 내보냅니다
- InvoiceTemplate, OrderCalc, DataExport는 Windows 숫자·날짜 형식에 더 이상 의존하지 않습니다. 쉼표 소수 구분자나 연도가 앞인 날짜 순서를 쓰는 시스템에서도 세금 수식, 가격, 날짜 임계값이 동작합니다
- 기타 수정: QuickStart 합계는 밝은 채우기 위에 어두운 텍스트를 쓰고, DateSystems는 원본 serial 값과 유효한 1904 epoch 날짜를 보여주며, CrossWorkbookCopy는 테이블 밖 병합 셀을 유지하고, CrossWorkbookCopyXls는 쉼표 구분 목록과 제대로 된 연한 파랑을 쓰며, Hyperlinks는 의도한 링크 텍스트를 보여주고, SheetProtection은 허용 동작을 올바르게 설명하고 설정하며, OdsImport는 스캔 중에 빈 셀을 만들지 않고, InteractiveFeatures는 VBA 페이로드가 없는 워크북을 .xlsx로 저장하며, WorkbookAudit은 암호화된 XLS 파일과 그 VBA 프로젝트를 보고하고, ChartTypes는 차트가 데이터와 겹치지 않게 하며, C++Builder 데이터 내보내기 데모는 IDE 출력 폴더에서 Demos.mdb를 찾고, FormulaFunctions는 다시 연 셀을 확인하고 재오픈 실패 수를 셉니다
버전 2.384.35
수정
- XLSX 글꼴, 채우기, 테두리 가장자리, 리치 텍스트 run에 색을 지정하면 이제 그 자체로 적용됩니다. 이 개체들은 자동 색으로 시작하는데, 대응하는
ColorIsAuto/ForegroundIsAuto/BackgroundIsAuto플래그를 함께 지우지 않으면 명시적인Color,ForegroundColor,BackgroundColor가 조용히 버려졌습니다 - RGB 색을 지정하면 앞선 테마 색이나 인덱스 색 소스도 함께 지워집니다. 그렇지 않으면 이 소스가 RGB 색을 이겼습니다. 테마 색이나 0 이상의 인덱스 슬롯을 지정하면 자동 플래그가 지워집니다
- 클립보드에서 XLSX 워크북으로 붙여넣은 테두리 색, XLSX로 내보낸 클래식 워크북의 테두리 색,
TXLSXComment.SetFont에 넘긴 글꼴 색이 자동 색에 잡아 먹히는 대신 이제 기록됩니다
버전 2.384.34
수정
- 피벗 필드 항목 목록의 소계, 총합, 빈 항목을 더 이상 데이터 항목으로 읽지 않습니다. 이런 피벗 테이블을 복사하면 캐시 인덱스 -1을 가리키는 항목이 기록됐습니다
- Excel 파일에서 온 피벗 필드는 기본 소계를 유지합니다. Excel은 기본 소계가 켜져 있을 때
defaultSubtotal을 생략하는데, HotXLS는 없는 속성을 꺼진 것으로 취급했습니다 - 공유 항목에
containsString이 빠진 피벗 캐시 필드는 스키마 기본값을 따라 혼합 필드가 아니라 텍스트 필드로 읽힙니다
버전 2.384.33
수정
- XLSX 엔진이 기록하는 피벗 테이블은 스키마의 축 값을 사용합니다(
axisRow,axisCol,axisPage). 이전 버전이 기록한rowAxis/colAxis/pageAxis는 유효한 OOXML이 아닙니다. HotXLS는 이전 값이 들어간 파일을 여전히 읽습니다 - 값 영역에 쓰이는 피벗 필드에는
dataField="1"플래그가 붙고, 항목이 없는 필드는 스키마가 허용하지 않는 빈<items>목록을 더 이상 받지 않습니다 - 숨겨진 피벗 항목과 축소된 피벗 항목은 피벗 테이블을 복사하거나 다시 만들어도 상태를 유지하고, 각 필드의 항목 목록은 Excel이 소계 함수에 기대하는 소계 항목으로 끝납니다
- 피벗 캐시 필드는 텍스트
General대신 숫자numFmtId를 담습니다
버전 2.384.32
수정
- ODS 가져오기가 인라인 배열 행을 올바르게 변환합니다.
{1;2|3;4}는 Excel이 파싱하지 못하는 수식 대신{1,2;3,4}가 됩니다 - ODS 가져오기가 참조 합집합 연산자를 변환합니다.
SUM([.A1:.B2]~[.C3])는SUM((A1:B2,C3))가 됩니다
버전 2.384.31
수정
- ODS 가져오기가 표시 텍스트로 폴백하는 대신
P0Y0M0DT12H30M15S처럼 날짜 부분이 섞인 기간이나P1W같은 주 단위 기간을 가진 시간 셀을 읽습니다 - ODS 기간에서
T구분자 앞의M은 분이 아니라 월입니다. 길이가 고정되지 않은 0이 아닌 연도·월은 이제P1M을 1분으로 바꾸는 대신 표시 텍스트로 폴백합니다
버전 2.384.30
수정
TGWmfEmfRead는 파일이 너무 짧거나 손상됐을 때 프로세스가 끝날 때까지 잠가 두는 대신 메타파일을 닫습니다TGWmfEmfRead는 헤더가 인치당 단위 수로 0을 주는 placeable WMF를 0으로 나누는 대신 크기 미지정으로 취급합니다TGWmfEmfRead는BSEWMF에 32비트 크기와 경계를 담아, 서술하는 그림 헤더와 일치시킵니다
버전 2.384.29
수정
- 클래식 XLS 워크북의 64 KB 이상 WMF·EMF 그림이 열기와 저장을 거쳐 살아남습니다. 저장 크기와 압축 해제 크기가 16비트로 잘려 Excel이 저장된 파일의 그림을 디코딩하지 못했습니다
- -32768..32767 범위를 벗어난 메타파일 그림 경계는 되감기지 않고 그대로 유지됩니다
버전 2.384.28
수정
TXMLWriter는 텍스트나 속성 값에 제어 문자, 짝이 없는 서러게이트, U+FFFE / U+FFFF가 들어 있어도 잘못된 XML을 만들지 않습니다. XML 1.0이 표현할 수 없는 문자는 생략됩니다TXMLWriter는 요소 텍스트 안의 캐리지 리턴을 문자 참조로 기록합니다. CR이 LF로 바뀌는 대신 텍스트가 그대로 읽힙니다TXMLWriter는 대상 스트림이 기록한 바이트보다 적게 받아들일 때(디스크가 가득 찼을 때처럼) 조용히 잘린 파일을 남기는 대신 오류를 발생시킵니다
버전 2.384.27
수정
- 복사 블록의 위나 왼쪽을 가리키는 수식이 담긴 범위를 복사하면(B5에서 복사한
=B4+1처럼), 붙여넣은 뒤에도 참조가 여전히 한 행 위를 가리킵니다. 예전에는 원본 셀에 고정된 채 남아 수식이 자기 자신을 참조하는 결과까지 나올 수 있었습니다 - HotXLS가 공개하는 Excel 클립보드 데이터는 복사된 셀을 시트상 위치 그대로 유지합니다. 이 데이터를 읽는 애플리케이션에는 원본 주소가 보입니다
버전 2.384.26
수정
- zlib 문자열 헬퍼(
ZCompressStr,ZDecompressStr및 제자리 변형)가 이제 문자열 전체를 처리합니다. 유니코드 문자열에서는 텍스트의 앞 절반만 압축되어 라운드트립에서 데이터가 사라졌습니다
버전 2.384.25
수정
- 표시 텍스트 플래그가 있어도 site 플래그가 없는 클래식 워크북의 하이퍼링크를 올바르게 읽고, 흔치 않은 대상 유형을 가진 하이퍼링크가 열기 전체를 실패시키거나 깨진 하위 주소를 반환하지 않습니다
버전 2.384.24
수정
- 파일 모니터 변경 핸들러가 던진 예외가 더 이상 모니터를 조용히 멈추게 하지 않습니다. 모니터는 감시를 계속하고 이후 변경을 보고합니다
버전 2.384.23
수정
- 잘못 만들어진 파일에서 틴트가 -1 아래인 테마 색은 내보내기나 인쇄 때 엉뚱한 색을 만드는 대신 검은색으로 제한됩니다
버전 2.384.22
수정
- API로 만든 데이터 연결은 파일 형식이 요구하는 refresh version 속성을 넣어 저장됩니다
- 이름이나 id가 없거나 중복된 연결이 워크북 열기 전체를 실패시키지 않습니다. 해당 항목은 원래 모양 그대로 유지되어 그대로 저장됩니다
버전 2.384.21
수정
- VBA 모듈의 소스 코드를 바꾸면 이제 Excel에서 반영됩니다. 프로젝트가 예전 소스의 캐시된 컴파일 코드를 실행하는 대신 Office가 새 소스를 컴파일하도록 저장됩니다
- VBA 모듈 소스가 이제 형식이 정의한 압축 형태로 저장됩니다. 예전에는 모듈의 마지막 블록이 Office가 손상으로 취급하는 방식으로 저장됐습니다
- 잘못된 VBA directory 스트림이 워크북 열기를 멈추게 하지 않고, 스트림 정보가 빠진 모듈 항목이 프로젝트에 빈 모듈을 남기지 않습니다
버전 2.384.20
수정
- 클래식 워크북에서 읽은 정의된 이름은 행이나 열을 삽입·삭제하고 워크북을 저장한 뒤에도 이동된 참조를 유지합니다. 예전에는 파일에 원본 참조가 그대로 남았습니다
버전 2.384.19
수정
- XLSX 시트의 행만 또는 열만 맞출 때, 명시적 크기가 없는 측정 대상 열의 너비나 행의 높이를 모두 0으로 만들지 않습니다
버전 2.384.18
수정
- 클래식 워크북의 AutoFilter 조건이 설정된 방식 그대로 결합됩니다. 예전에는 AND 조건이 OR로, 그 반대로 저장되어 Excel이 엉뚱한 행을 보여줬습니다
- 불리언 AutoFilter 조건이 TRUE나 FALSE로 저장됩니다. 예전에는 Excel이 오류 값으로 읽는 형태로 저장됐습니다
버전 2.384.17
수정
- 클래식 워크북의 생성 날짜와 마지막 저장 날짜가 이제 Excel과 일치합니다. 예전에는 하루 늦게 기록되고 하루 일찍 읽혔습니다
- 마지막 저장 날짜가 올바른 문서 속성에 저장됩니다. 예전에는 페이지 수 슬롯에 저장되어 Excel과 Windows가 날짜로 표시하지 않았습니다
- 총 편집 시간이 기간으로 저장됩니다. Excel과 Windows가 약 299년 대신 실제 분 수를 보여줍니다. 이전 버전이 기록한 시간도 여전히 올바르게 읽힙니다
버전 2.384.16
수정
- 가져오기 검사의 고유 값 규칙이 이제 셀 값을 비교합니다. 예전에는 열에서 첫 번째 값 다음의 모든 값이 중복으로 보고됐습니다
- 같은 열에 두 번째 규칙을 추가하면 첫 번째 규칙을 깨끗이 대체합니다. 예전에는 오래된 규칙이 해제된 뒤에도 검사에 쓰였고, 검사기를 해제할 때 잘못된 포인터 오류가 났습니다
- 시트를 검사할 때 읽어들인 빈 칸을 빈 셀로 만들지 않습니다
- 위반이 있는 행만 남길 때 위반이 사용 범위 아래에 있으면 행 테이블을 넘어 기록하지 않으며, 캡션 행은 첫 번째 위반을 덮어쓰는 대신 데이터 위에 삽입됩니다
버전 2.384.15
수정
- ZIP 엔트리를 작은 조각들로 읽을 때 압축 데이터가 반복 시퀀스 한가운데서 끝나면 엔트리의 마지막 바이트를 잃지 않습니다. 이 문제는 유효한 XLSX가 엔트리 크기 오류로 실패하게 만들 수 있었습니다
- 2 GB를 넘게 팽창하는 데이터의 압축 해제는 이제 64비트 프로세스를 크래시시키는 대신 오류를 발생시킵니다
- 압축 해제 스트림은 입력이 소진된 뒤 일찍 멈추는 대신 남은 데이터를 모두 반환합니다
버전 2.384.14
수정
- 픽셀당 1, 2, 4비트 인터레이스 PNG 이미지가 이미지 버퍼를 넘어 기록하지 않습니다. 이런 이미지가 든 워크북을 내보내거나 인쇄할 때 크래시하거나 이웃 픽셀을 손상시킬 수 있었습니다
- 인터레이스 PNG 이미지는 패스가 Average나 Paeth 필터로 시작해도 올바르게 디코딩됩니다
- 2비트 그레이스케일 PNG 이미지가 실제 회색 단계를 렌더링하고, 2비트 그레이스케일·팔레트 이미지의 단일 픽셀 읽기가 올바른 색을 반환합니다
- 압축 데이터 뒤에 여분 바이트가 있는 PNG 이미지가 디코더를 멈추게 하지 않고, 큰 이미지 데이터 청크를 가진 유효한 이미지가 CRC 오류로 거부되지 않습니다
- 잘못된 비트 깊이나 파일 끝을 넘는 청크 길이를 가진 이미지는 크래시하거나 기가바이트 단위 메모리를 할당하는 대신 깔끔하게 거부됩니다
- PNG 이미지에 저장되는 텍스트 청크가 잘리거나 망가지지 않습니다
버전 2.384.13
수정
- RC4로 암호화된 클래식 워크북이 28자 이상 암호에 올바른 암호 해시를 사용합니다. 이제 Excel에서 열립니다. 예전에는 32자 이상 암호가 HotXLS조차 열 수 없는 파일을 만들었습니다
- 열기 때 최대 255자 RC4 암호가 받아들여지고, 이전 버전이 28~31자 암호로 저장한 파일도 여전히 열립니다
- 지나치게 큰 길이를 가진 잘못된 RC4 CryptoAPI 헤더는 일반 오류를 내는 대신 손상된 파일로 보고됩니다
버전 2.384.12
수정
- SHA-256을 선언하는 Agile 암호화 워크북이 이제 올바르게 복호화됩니다. 데이터 세그먼트가 항상 SHA-512 초기화 벡터로 복호화되어 올바른 암호로도 워크북이 열리지 않았습니다
- 키 데이터와 암호 키 암호화기가 서로 다른 해시 알고리즘을 쓰는 Agile 파일이 잘못된 암호로 보고되지 않습니다
- 형식 한도인 10,000,000을 넘는 스핀 카운트는 CPU를 몇 시간 묶어 두는 대신 즉시 거부됩니다
- 잘린 암호 검증기가 버퍼를 넘어 읽지 않고,
SaveAsEncryptedAgile이 기록하는 무결성 키가 이제 형식이 요구하는 길이를 가집니다
버전 2.384.11
수정
SaveAsEncrypted로 저장한 워크북이 이제 Excel에서 열립니다. ECMA-376 Standard Encryption 키가 마지막 단계를 빼고 파생됐고 패키지 크기가 데이터와 함께 암호화되어 Excel이 암호를 거부했습니다. Excel 2007이 그런 방식으로 암호화한 워크북도 이제 열 수 있습니다- 이전 HotXLS 버전이 저장한 암호화 워크북도 올바른 암호로 여전히 열립니다
- 지나치게 큰 길이를 가진 잘못된 암호화 헤더가 열기 중 액세스 위반을 일으키지 않습니다
버전 2.384.10
수정
- 셀 사이의 수식 복사·붙여넣기와, 수식이 함께 복사되는 정렬이 절대 참조를 더 이상 이동시키지 않습니다.
$A$1은 제자리에 머물고A$1은 열만,$A1은 행만 이동합니다. Excel과 같은 동작입니다 LOG10(처럼 셀 주소처럼 보이는 함수 이름이 수식을 붙여넣을 때 참조로 이동하지 않습니다. 붙여넣은 수식이LOG11(과#NAME?으로 변하는 일이 없어집니다Sheet2!A1이나'My Sheet'!B3처럼 시트 이름이 붙은 참조도 붙여넣을 때 이름 없는 참조처럼 이동합니다=나 어포스트로피로 시작하는 텍스트를 클래식 워크북에 붙여넣으면 텍스트 그대로 유지됩니다. 예전에는 수식으로 변하거나 첫 문자가 사라졌습니다
버전 2.384.9
수정
[h],[mm],[ss].00같은 경과 시간 숫자 형식이 색 이름으로 오인되지 않고 시간 형식으로 인식됩니다. 표시 정밀도를 끄면(FullPrecision을False로 설정)[ss].00으로 서식된 기간이 평범한 소수 둘째 자리 숫자처럼 반올림되지 않습니다. 예전에는 이 때문에 몇 초짜리 값이 0이 됐습니다h:mm이나mm:ss처럼 리터럴 하나를 사이에 두고 시간·초와 분리된 분 토큰은, 숫자 형식을 분석할 때 월이 아니라 분으로 읽힙니다
버전 2.384.8
수정
- 텍스트, HTML, 스프레드시트 데이터를 Windows 클립보드로 복사할 때 애플리케이션 창이 없는 콘솔 프로그램과 워커 스레드를 포함해 유효한 임시 소유자를 사용합니다. 그 소유자가 파괴된 뒤에도 복사된 데이터는 계속 사용할 수 있습니다
- 클립보드 공개가 실패하면 Windows가 받아들이지 않은 할당된 데이터 블록을 모두 해제합니다. 스프레드시트 공개가 실패했을 때 함께 만든 텍스트·HTML 블록도 포함됩니다
버전 2.384.7
수정
- Free Pascal 지원과
DATE윤일 수정이 들어온 뒤로 RAD Studio XE5부터 RAD Studio 12 Athens까지에서 라이브러리를 소스에서 컴파일하면 실패했습니다. 이 컴파일러들은 Free Pascal 버전 검사를 건너뛰면서도 그 텍스트를 여전히 파싱하고,DATE(1900,2,29)특수 사례에 쓰인 숫자 캐스트를 거부합니다. 두 곳 모두 지원되는 모든 컴파일러가 받아들이는 형태로 바뀌어 RAD Studio 전체 범위에서 다시 빌드됩니다
버전 2.384.6
수정
- 클래식 .xls 워크북에서 메모가 달린 셀을 복사할 때(워크북 내부 복사, 다른 워크북으로의 복사, 행·열 이동에 의한 복사 모두 해당), 메모 텍스트는 남지만 서식 run은 사라져 모든 복사본이 메모 전체를 단일 글꼴로 표시했습니다. 이제 run은 텍스트와 함께 이동하고, 워크북을 넘는 복사에서는 그 글꼴들이 대상 워크북에 추가됩니다
- 클래식 .xls 워크북에서
Sheets.AddCopy로 시트 전체를 복사하면 값이나 서식이 없는 셀의 메모가 사라졌습니다. 이제 이런 메모도 함께 복사됩니다 - .xlsx 워크북의 메모는 다시 열면 서식 run의 글꼴 이름, 취소선, 색이 사라졌고, 저장된 run에는 밑줄이나 위첨자/아래첨자가 전혀 담기지 않았습니다. 이제 이 모든 것이 저장과 다시 열기를 거쳐도 유지되며,
CloneRangeTo로 다른 워크북에서 복사한 run도 마찬가지입니다
버전 2.384.5
수정
- 클래식 .xls 워크북의 메모와 텍스트 상자에 있는 서식 run은 저장 시 글꼴을 잃지 않습니다. 그런 run만 사용하는 글꼴은 저장되는 글꼴 목록에서 빠질 수 있었는데, HotXLS가 한 번 저장했던 워크북을 다시 저장할 때 가장 잦았고, 그러면 그 run은 Excel에서 기본 글꼴로 표시되거나 그 사이에 추가된 글꼴을 잘못 물려받았습니다. 이제 이런 글꼴은 유지되며, run은 글꼴 목록의 나머지와 함께 번호가 다시 매겨집니다
- 메모와 텍스트 상자의
TextRuns.FontIndex는 파일의 글꼴 번호 체계를 따르며, 인덱스 4는 절대 사용되지 않고 다섯 번째 글꼴이 인덱스 5입니다. 인덱스 글꼴 색을 위한 팔레트 예약도 이제 이 인덱스들을 같은 방식으로 읽습니다
버전 2.384.4
수정
- 2.384.1의 글꼴 번호 변경 자체가 버그였습니다. 클래식 .xls 파일은 Excel과 같은 방식으로 글꼴에 번호를 매기는데([MS-XLS] §2.5.129) 인덱스 4는 절대 사용되지 않고 다섯 번째 글꼴이 인덱스 5인데, 2.384.1은 단순한 0 기준 카운트로 전환했습니다. 그 결과 저장된 워크북은 Excel에서 모든 사용자 지정 글꼴이 한 슬롯 앞으로 당겨져 표시되고(첫 번째 것은 기본 글꼴로 폴백), Excel에서 만든 워크북은 모든 사용자 지정 글꼴이 한 슬롯 뒤로 밀린 채로 열렸습니다. 저장과 열기는 다시 Excel의 번호 체계를 따르며, Excel 자신이 쓰고 읽는 워크북과 대조해 검증했습니다
- 리치 텍스트 셀은 열기, 저장, 워크북 간 시트 복사를 거쳐도 각 서식 run의 글꼴을 유지합니다. 어떤 셀도 직접 쓰지 않는 글꼴의 run도 포함됩니다
- 2.384.1부터 2.384.3까지에서 저장된, 글꼴이 5개 이상인 워크북에는 이미 밀린 번호 체계가 들어 있습니다. Excel도 HotXLS도 이것을 유효한 데이터와 구분할 수 없습니다. 원본에서 다시 만들거나, 영향을 받은 글꼴을 다시 적용한 뒤 다시 저장하세요
버전 2.384.3
수정
- 두 워크북 엔진 모두에서 1900-01-01부터 1900-02-28까지의 날짜가 Excel보다 하루씩 어긋났습니다. Excel의 1900년 달력은 존재하지 않는 1900-02-29를 세기 때문입니다. 이제 읽고 쓸 때 문서화된 보정을 적용하고,
DATE(1900,2,29)는#VALUE!대신 1900-02-28을 반환하며, shared-string 테이블은 레코드 경계를 넘는 embedded NUL 문자와 2바이트 코드 페이지에도 동기화가 깨지지 않습니다 - 비교는 Excel이 평가하듯 왼쪽에서 오른쪽으로 연쇄되어
=1<2<3이 이제(1<2)<3로 읽혀 Excel처럼 FALSE를 반환합니다(비교에서 TRUE는 모든 숫자보다 위계가 높습니다). 예전에는1<(2<3)로 묶여 TRUE를 반환했습니다. 비교에서 빈 피연산자는 0과 빈 문자열 모두와 같게 취급되고, 와일드카드 조건은COUNTIF와SUMIF의 "같지 않음"에도 이미 "같음"에 적용되던 방식 그대로 적용됩니다.SUMIF와 형제 함수들의 합계 범위는 잘리는 대신 왼쪽 위 셀을 시작으로 조건 범위의 형태에 맞게 크기가 조정되고,INDIRECT는 두 번째 인수(절대 R1C1 텍스트)를 존중하며 참조 뒤에 붙은 무의미한 내용을 거부합니다 - basis 0의
YEARFRAC는DAYS360가 이미 구현한 NASD 2월 말 보정을 적용하여, 2월 말에 걸친 기간도 올바르게 계산합니다 - 셀 안에 "endstream"이라는 텍스트가 있어도 스트림 압축 중에 PDF 페이지가 잘리지 않습니다. 압축을 건너뛸 때는 총 페이지 수 토큰 패치가 스트림 길이의 일관성을 유지하고, 32비트를 넘는 객체 오프셋은 교차 참조 테이블을 망가뜨리는 대신 명확히 실패하며, 그레이스케일·CMYK JPEG에는
/DeviceRGB대신 실제 색 공간이 기록됩니다 - 피벗 캐시 저장소가 잘려 있거나 비어 있는 워크북은 로드 전체를 실패시키는 대신 해당 캐시를 불완전 표시한 채로 열리고, 오류를 내는 대신 레거시 인라인 레이아웃으로 그 캐시들을 다시 저장합니다
- 선언된 문자열 수가 레코드 체인이 실제 전달하는 수를 초과하는 shared-string 테이블은, 남은 셀들을 조용히 빈 문자열로 처리하는 대신 파일 열기를 실패시킵니다
버전 2.384.2
수정
- 클래식 .xls 워크북을 .xlsx로 변환할 때, 아래쪽 행에서 먼저 만들어진 병합보다 왼쪽에 있던 병합 셀이 조용히 사라졌습니다. 스캔이 병합 영역에 사용 범위 변수를 더 이상 재사용하지 않습니다
- 워크북 확장 목록 안의 XML 주석이 저장할 때마다
<!--마커가 겹쳐진 채로 다시 기록되어 Excel이 복구해야 하는 파일이 만들어졌습니다. 이제 주석 노드는 바이트 단위로 그대로 보존됩니다 - 열었던 .xls에서 포착한 인식 불가 워크시트 레코드는 리플레이용으로 보관되면서도 이후 저장마다 누락되고, 열 때마다 메모리를 누수했습니다. 이제 표준 레코드 라이터를 통해 그대로 저장되고 그대로 재생됩니다
- 255자를 넘는 정의된 이름과 65535자를 넘는 이름 주석은 저장 시 NAME 레코드 프레이밍을 망가뜨렸습니다. 둘 다 사전에 거부됩니다
- 저장 중에 암호화 불일치가 발생해 저장이 중단되면 워크북·워크시트 레코드 버퍼가 누수되었습니다. 이제 저장은 모든 종료 경로에서 버퍼를 해제합니다
- 제자리 패치 라이터는 교체 파일을 이름 바꿔 넣기 전에 원본 파일을 삭제했기 때문에, 이름 바꾸기가 실패하면 워크북이 사라졌습니다. 이제 교체는 단일 원자적 치환으로 이루어지며 실패 시 두 파일이 모두 유지됩니다
- 다이렉트 리더의 셀 참조는 넘친 좌표를 받아들이는 대신 16384열·1048576행 한도를 강제하고, 잘못된 정수 속성은 읽기 전체를 중단하는 대신 기본값으로 폴백하며, 1900-01-01~1900-02-28 날짜는 양방향 변환에서 Excel의 유령 윤일이 반영됩니다
- 탭·줄 바꿈·캐리지 리턴을 포함한 속성 값은 공백으로 뭉개지지 않고 그대로 유지되고, 요소 텍스트의 종료되지 않은 엔티티는 속성 쪽과 마찬가지로 거부됩니다
- 4 GiB 이상 ZIP 엔트리를 통째로 복사하는 것은 복사 경로로는 올바른 프레이밍이 불가능하므로, 손상된 아카이브를 만드는 대신 스트리밍 라이터와 동일하게 거부됩니다
- corpus 러너는 결과를 원자적으로 기록해 중단된 실행이 보관된 증거를 파괴할 수 없고, 크래시하는 대신 빌드 타임아웃을 기록하며, 잘못된 stage-trace 줄도 견딥니다. LibreOffice 검증기는 증거를 원자적으로 기록하고, 파일 교체 프로브는 안티바이러스 제품 목록을 다시 수집합니다
버전 2.384.1
수정
- 다섯 번째부터의 모든 글꼴이 글꼴 목록 끝에서 하나 넘은 레코드 인덱스로 기록되어 Excel이 워크북을 복구하고 사용자 지정 글꼴이 기본 글꼴로 돌아왔습니다. 저장과 열기 모두 문서화된 0 기반 인덱스를 사용하도록 바뀌어, 사용자 지정 글꼴은 라운드트립 후에도 살아남고 Excel에서 만든 파일을 HotXLS에서 열어도 글꼴이 유지됩니다
=0^-1이나 소수 지수를 가진 음수 밑을 평가하면#DIV/0!나#NUM!을 반환하는 대신 부동 소수점 예외로 재계산이 크래시했습니다- 기존 .xls에서 읽은 조건부 서식 수식 규칙은 일반 레거시 헤더 아래에 고아 CF12 레코드로 다시 저장되어 Excel이 버렸습니다. 이제 레거시 레코드 형태와 강조 서식이 유지됩니다
- 참조 교차 연산자와 크기가 조정된
OFFSET, 다중 셀INDIRECT결과의 암시적 교차는 잘못된 축을 따르거나 유효한 한 행·한 열 범위를 거부하여 잘못된 셀이나#REF!를 반환했습니다 - 스트리밍 행 리더는 클래식 .xls 파일을 읽을 때 캐시된 수식 불리언을 모두 FALSE로, 캐시된 오류를 모두
#NULL!로 보고했습니다 - 복합 파일 컨테이너가 헤더 상주 109개 FAT 섹터를 넘는 큰 .xls 파일은 DIFAT 확장 체인이 전혀 따라가지 않아 자체 복합 파일 리더로 열 수 없었습니다
- 사용자 지정 테이블 스타일은 채우기·글꼴 색을 빨강과 파랑 채널이 뒤바뀐 채 다시 읽어 저장된 스타일이 엉뚱한 색으로 돌아왔습니다
- 워크북에 포함된 손상된 PNG 이미지는 PDF 이미지 삽입 중 범위 밖 쓰기나 무제한 text-chunk 스캔을 통해 프로세스를 크래시시킬 수 있었습니다. 이제 포함된 PNG는 크기를 검사하고 잘못된 청크는 거부합니다
- 여러 사각형으로 이루어진 EMF 영역이 경계 상자로 렌더링되고, 명시적 뷰포트 크기가 없는 EMF 그림은 잘못 스케일되며, 위첨자 텍스트가 캔버스·인쇄·메타파일 출력에서 베이스라인 아래에 그려졌습니다
- 자동 우선순위의 BIFF 조건부 서식 규칙이 모두 우선순위 1을 가져 Excel이 복구 대상으로 표시했습니다. 자동 우선순위는 XLSX 쪽과 마찬가지로 시트별로 고유해졌습니다
xlSlantDashDot테두리 스타일이 클래식 .xls 테두리 출력에서xlDashDotDot으로 기록되었습니다- 잘린 암호화 워크북 헤더 레코드는 암호 오류 코드를 반환하는 대신
Open을 통해 예외를 던졌고, 손상된 이미지·워크북 파일을 파싱하는 여러 오류 경로가 메모리를 누수했습니다
버전 2.384.0
변경
- 클래식 XLS 피벗 캐시는 Excel이 저장하는 방식 그대로 저장됩니다. 각 캐시의 레코드는 자체 저장소 스트림으로 기록되고, 스트림 식별자·캐시 범위·워크시트 또는 이름 붙은 범위 소스 정의는 워크북 전역에 한 번만 기록됩니다. 구버전 HotXLS가 만든 캐시는 옵트인 프레이밍 업그레이드를 켜지 않는 한 기존 인라인 레이아웃을 유지합니다
- 암호로 보호된 워크북에서는 각 피벗 캐시 스트림이 자체 레코드 스트림으로 암호화되며, 워크북 스트림의 암호화 위치를 이어가는 대신 스트림 시작점에서 새로 시작합니다
수정
- 기존 파일에서 읽은 캐시와 코드에서 만든 캐시가 섞인 워크북을 저장한 뒤 피벗 테이블이 잘못된 캐시를 가리킬 수 있었습니다. 이제 뷰-캐시 참조는 실제 저장 순서를 따릅니다
- 모든 HotXLS 패키지가 여전히 2.379.7 버전 리소스를 가지고 있었고, C++Builder에서 패키지를 다시 빌드하면 버전 리소스가 아예 없어질 수 있었습니다. 이제 모든 패키지가 현재 버전을 가집니다
버전 2.383.4
수정
- 깊은 수식 감사에서도 변경이 보고 허용 오차 안에 머물 때 종속 수식이 변경된 결과를 볼 수 없게 되지 않고, 명시적 적용이 이런 미보고 결과를 새로 고칩니다
- 두 워크북 엔진 모두에서 배정도 캐시 결과에 상대 허용 오차가 적용되고, 변하지 않은 결과는 중복 비교를 건너뜁니다
버전 2.383.3
수정
- 파일 기반 워크북 저장은 완성된 XLSX·XLTX·ODS 출력이 대상을 대체하지 못할 때, 정리나 진행 콜백이 스레드 오류 상태를 바꾸는 경우를 포함해 Windows 네이티브 오류를 그대로 보존합니다
버전 2.383.2
수정
- 보고 밴드와 범위의 반복 복사는 이전 복사본들을 다시 훑는 대신 정의된 이름 접미사 검색을 재사용하며, 첫 사용 가능 이름·워크시트 범위·이후 편집으로 해제된 이름의 재사용을 그대로 유지합니다
버전 2.383.1
수정
- 수식 종속성 재구축은 앞선 수식 행을 반복해서 훑지 않도록 바뀌어, 배열 출력 참조·시트 간 종속성·조회 순서를 유지하면서 큰 계산 체인의 비용을 줄입니다
버전 2.383.0
추가
- 매크로 없는 Excel 템플릿을 출력 형식을 명시적으로 지정해 XLTX로 저장할 수 있습니다. 파일과 스트림, 버퍼링 출력과 스트리밍 출력을 모두 지원합니다
- 템플릿 출력은 기본 워크북 저장 동작을 그대로 둔 채 수식·정의된 이름·인쇄 영역·워크시트 메타데이터를 보존합니다. VBA가 포함된 워크북은 대상에 쓰기 전에 거부됩니다
버전 2.382.5
수정
- Phonetic 설정은 필수인 기본 글꼴 인덱스를 그대로 유지해서, 인덱스가 0일 때 저장한 통합 문서를 Excel이 거부하는 일이 없습니다
- 동적 인쇄 영역 수식과 시트 이름으로 한정한 범위 합집합은 라운드트립을 거쳐도 함수에 시트 접두사가 붙거나 식 안의 참조가 잘리지 않습니다
- 생성된 패키지 파트와 보존되는 패키지 파트가 고유한 content-type 선언을 공유하고, custom property가 불투명한 루트 relationship 식별자와 충돌하지 않습니다
버전 2.382.4
수정
- 스칼라 defined-name 참조는 현재 행이나 열과의 교집합을 사용하고 범위 인수는 전체 범위를 유지해서, 대출 템플릿에서 거짓 종속성 순환이 생기지 않습니다
- 정수와 부동 소수점이 섞인 수식 연산은 소수점 이하 네 자리로 잘려나가는 대신 부동 소수점 정밀도를 유지합니다
- 재계산은 캐시를 읽기 전에 사용 가능한 lookup 선행 참조를 먼저 처리해서, 낡은 납입 횟수 같은 lookup 결과가 더 이상 남지 않습니다
버전 2.382.3
수정
- AGGREGATE은 계산되지 않은 오류와 독립적인 선택 설정을 가진 중첩 집계를 처리하고, 배열 계산을 보존하며, 원래 오류 유형을 그대로 전파합니다
- 클래식 XLS 저장은 명시적인 재계산 전까지 기존 수식 캐시를 보존하며, 공유 수식과 배열 수식 루트도 포함됩니다. 공유 수식은 대상 셀에 맞게 상대 참조를 변환합니다
- 구조적 참조는 테이블 이름의 백슬래시와 마침표, 중첩된 현재 행 구문, 이스케이프된 열 이름을 지원하고, 수식 문자열 안의 비슷한 텍스트는 그대로 둡니다
- XLSX 조건부 서식은 RGB 색상, 명시적인 글꼴 플래그, 밑줄 스타일, 글꼴 이름, 크기, scheme을 유지합니다
- 수정되지 않은 차트는 원래 정의와 0이 아닌 앵커 오프셋을 유지해서, 계열 색상, 위치, 크기가 바뀌지 않습니다
- 페이지 여백을 설정할 때 지정되지 않은 페이지 방향을 더 이상 기록하지 않으며, 클래식 XLS는 가져온 파일에 없던 페이지 여백을 없는 그대로 유지하고, 인쇄 위치를 바꾸는 기본값을 추가하지 않습니다
버전 2.382.2
수정
- 크고 반복되는 빈 행 범위를 담고 있는 ODS 통합 문서는 이제 행 높이와 상속된 빈 셀 서식을 개별 개체로 일일이 풀어내지 않고 열고 저장합니다
- ODS 출력은 명시적인 행 높이와 컴팩트하게 반복되는 서식 행을 보존하며, 단일 행 재정의와 지워진 높이도 그대로입니다. 행 높이 범위는 워크시트 복사, 행 삽입과 삭제, 타일링, XLSX 내보내기에서도 살아남습니다
버전 2.382.1
수정
- 전각 열 설정이 있는 XLSX 통합 문서를 열고 저장할 때 더 이상 열 메타데이터를 반복해서 훑거나 점점 커지는 열 XML을 복사하지 않아, 날짜·템플릿 통합 문서에서 라운드트립이 시간 초과되던 문제가 사라지고 열 설정도 그대로 유지됩니다
- ODS 피벗 정의는 producer 확장을 포함해 상속된 XML 네임스페이스 선언을 유지하므로, 저장되는 XML이 여전히 well-formed 상태를 유지합니다
버전 2.382.0
수정
- 클래식 XLS 통합 문서를 저장할 때 이제 중첩된
SUBTOTAL셀이 바깥쪽 소계 결과에 섞여 들어가지 않고, 원래 캐시된 합계가 그대로 보존되어 그룹 행이 이중으로 계산되지 않습니다 - XLSX 차트는 이제 각 워크시트가 참조하는 drawing 관계를 통해서만 로드되므로, 연결되지 않은 일반 drawing 파트가 라운드트립 도중에 차트를 복제할 수 없습니다
- OpenDocument 데이터 파일럿 테이블 정의는 소스 범위, 필드, 대상 범위, 버튼, producer 확장 속성을 포함해 ODS 저장 후에도 그대로 살아남습니다
AGGREGATE옵션 0-7은 이제 참조 형식과 배열 형식 모두에서 문서화된 숨겨진 행, 오류, 중첩SUBTOTAL/AGGREGATE선택 규칙을 따릅니다
버전 2.381.0
추가
- 테이블 슬라이서(Excel 2013+):
Worksheet.Slicers.Add(Table, ColumnName)는 어떤 테이블 열이든 끝까지 한 번에 슬라이서 뷰를 만들어 줍니다. 뒤에서 받쳐 주는Slicer_<column>이름의 슬라이서 캐시, 예약된#N/A정의된 이름, 워크시트의slicerList확장, 그리고 구버전 Excel을 위한 폴백 안내를 얹은 markup-compatibility 드로잉 앵커가 모두 자동으로 기록되며, 뷰 자체는Caption,ColumnCount,StartItem,StyleName,RowHeight,SetBounds로 위치와 캡션, 스타일을 조절할 수 있습니다 - 슬라이서 라운드트립 모델: 슬라이서 뷰와 캐시는 열 때 다시 파싱됩니다(뷰끼리 공유 캐시를 재사용하고, 마지막 뷰를 지우면 그 캐시도 같이 사라집니다). 손대지 않은 슬라이서 파트와 앵커는 바이트 단위로 그대로 재생되고, 테이블 캐시는 저장 과정이 테이블 id를 다시 매기더라도 테이블 바인딩을 계속 유효하게 유지합니다
수정
- 이전 버전이 기록한 슬라이서 캐시는 파일을 열 당시의 테이블 id를 참조하고 있었습니다. 저장이 테이블 id를 통합 문서 전체에서 다시 매기면, 어긋난
tableId가 Excel을 파일 복구로 몰아넣을 수 있었습니다. 이제 바인딩은 이 다시 매기기를 따라가며 테이블을 추적합니다
버전 2.380.0
추가
- Waterfall 차트와 Treemap 차트: Excel 2016의 확장 차트 타입을 만들고, 저장하고, 다시 열 수 있습니다. 두 차트는 전용 확장 차트 파트로 직렬화되며, 자체 콘텐츠 타입과 워크시트 데이터 바인딩, 그리고 구버전 리더를 위한 폴백 안내를 얹은 markup-compatibility 드로잉 앵커를 함께 갖춥니다
- Treemap 차트는 계층적 범주를 지원합니다. 시리즈의 범주 수준 하나하나가 범주 차원 안에서 자기만의 수준으로 기록되고 다시 읽히며, 말단과 부모 레이블이 그대로 보존됩니다
버전 2.379.4
수정
- 손상되었거나 악의적인 클래식 XLS 컨테이너를 여는 동안 메모리가 더 이상 손상되지 않습니다. 복합 파일 판독기는 일부만 거기에 속하더라도 섹터 전체를 미니 스트림으로 복사하고, 해당 스트림의 끝 너머까지 미니 할당 테이블을 따라가며, 형식이 정의하지 않는 섹터 크기를 허용하고, 검증되지 않은 개수로 할당 테이블 크기를 정했습니다. 이제 섹터와 미니 섹터 체인에는 순환 방지 장치가 적용되고, 종결자 없이 자신의 필드를 가득 채우는 스트림 이름에는 상한이 설정됩니다
- 서식 테이블 너머의 셀 서식 인덱스를 지목하는 스타일 레코드는 더 이상 그 인덱스를 통해 쓰기를 수행하지 않습니다. 공유 서식 목록과 키 목록의 참조 카운터는 하한만 검사했기 때문에, 파일에서 온 12비트 인덱스가 배열 끝 너머에 도달할 수 있었습니다
- ZIP64 확장 정보와 함께 쓰인 로컬 파일 헤더가 더 이상 버퍼를 넘지 않습니다. 이제 선언되는 헤더 크기가 기록기가 덧붙이는 28바이트 extra 필드를 반영합니다. 항목 오프셋과 스트림 위치는 64비트 값으로 추적되고, ZIP64 항목은 센티널 값 대신 extra 필드의 길이로 읽히며, 4 GiB를 넘는 항목은 나머지 값으로 기록되는 대신 거부됩니다
- Windows 구분 기호를 포함하는 ZIP 항목 이름이 정규화됩니다. 단일 백슬래시는 포워드 슬래시로 변환되지 않은 채였기 때문에,
..\..\name은 포워드 슬래시로 분할하는 디렉터리 순회 검사를 통과했습니다 [a-처럼 상한이 없는 마스크 범위가 더 이상 마스크 끝 너머를 읽지 않고, 문자 집합으로 시작하는 마스크를 만들 때 마스크마다 집합이 새지도 않습니다. 둘 다 COUNTIF와 SUMIF 조건에서 도달할 수 있습니다- 와일드카드를 사용한 셀 전체 검색은 이제 패턴이 셀 전체와 일치할 것을 요구하며, 이는 문서화된 동작과 와일드카드 없는 셀 전체 비교 모두와 일치합니다. 이전에는 패턴
abc를 지정한FindText가abcdef를 포함하는 셀까지 일치시켰습니다 - 표시 정확도 모드는 이제 숫자 서식에 숫자 자리 표시자가 없는 셀을 반올림하지 않습니다. 이름으로
General이 지정된 셀,@를 사용한 텍스트 셀, 리터럴만 있는 서식의 셀은 정수로 반올림되었습니다 - 공유 문자열 테이블은 더 이상 쓰는 것보다 많은 고유 문자열 수를 보고하지 않고, 삭제된 문자열의 서식 있는 텍스트 런이 그 슬롯을 재사용하는 어떤 문자열에도 붙지 않으며, 서식 꼬리 때문에만 넘치는 문자열에 대해 옵션 바이트만 담은 연속 레코드를 내보내지도 않습니다
- RTF 가져오기가 비 ASCII 문자를 중복 출력하지 않습니다.
\\uN이스케이프 뒤에는\\'hh로 쓰인 폴백 문자가 따르는데, 건너뛰기 로직이 이를 인식하지 못해 각 문자가 텍스트로도 출력되었습니다. 이제 건너뛰는 그룹은\binN원시 페이로드를 존중하고, 워크시트 그리드보다 넓거나 높은 테이블은 예외를 던지는 대신 가장자리에서 멈춥니다 - XML이 정의하는 문자 범위를 벗어난 숫자 참조는 내장 NUL, 단독 서러게이트 또는 래핑된 코드 포인트를 만들어내는 대신 읽을 때 거부됩니다. 탭, 라인 피드, 캐리지 리턴은 공백으로 정규화되는 대신 문자 참조로 OPC 라운드트립을 거칩니다
- CSV 가져오기는
SkipRows값을 파싱 간에 유지합니다. 이전에는 제자리에서 감소했기 때문에 같은 로더로 읽은 두 번째 파일은 아무것도 건너뛰지 않았습니다 - 보존할 부분을 결정할 때
xl/tables/부분이 인식됩니다. 접두사 비교가 한 문자 모자랐고 한 번도 일치하지 않았습니다
버전 2.379.3
수정
- HTML 가져오기는 10진수 문자 참조를 디코딩합니다.
é와 다른 모든&#NNN;형식은 문자 자체 대신 NUL 문자를 만들어냈습니다. 변환이 결과와 오류 위치를 같은 변수에 쓰고 성공 코드가 값을 덮어썼기 때문입니다. 16진수 참조는 영향을 받지 않았습니다. 이제 두 형식 모두 표현 가능 범위를 벗어난 값을 잡동사니 문자를 출력하는 대신 거부합니다 - HTML 내보내기는 내부 하이퍼링크의 앵커 대상을 만들 때 하위 주소 전체를 유지합니다. 255자를 넘는 하위 주소는 잘렸고, 그래서 생성된 앵커가 더 이상 링크와 일치하지 않았습니다
버전 2.379.2
수정
AddPicture나Images.AddFromFile으로 삽입된 GIF는 이제 논리 화면 기술자에서 크기를 가져옵니다. 이전에는 모든 GIF가 실제 크기와 무관하게 100 × 100포인트를 보고해 그림이 늘어나거나 눌렸습니다- BMP 크기 조정은 파일이 실제로 선언하는 비트맵 헤더를 읽습니다. 16비트 크기를 지닌
BITMAPCOREHEADER는 32비트 필드로 읽히는 대신 올바르게 이해되고, 음수 높이의 탑다운 BMP가 음수 그림 높이를 만들어내지도 않습니다 - JPEG 크기 조정은 베이스라인, 확장 순차, 프로그레시브만이 아니라 모든 SOFn 프레임 마커를 받아들입니다. 이전에는 로스리스, 산술 코딩, 계층형 JPEG가 100 × 100 기본값으로 떨어졌습니다
버전 2.379.1
수정
- WMF 그림이 SVG, PDF, 페이지 매김 출력을 위한 벡터 장면으로 디코딩됩니다. 2.363.0부터 디코더는 각 레코드를 16비트 크기 뒤에 함수 코드가 따르는 것으로 읽었지만, 메타파일 레코드는 32비트 크기로 시작하므로 Windows나 Office가 쓴 모든 WMF는 첫 레코드에서 멈췄고 그림은 래스터 자리 표시자로 폴백했습니다. 이제 레코드는
[MS-WMF] §2.3에 따라 프레이밍되고, 펜, 브러시, 글꼴, 텍스트, 도형, 폴리곤 매개 변수가 지정된 오프셋에서 읽힙니다 META_STRETCHDIB는 대상 사각형보다 앞에 DIB가 있을 것으로 기대하고 40바이트 비트맵 헤더를 가정했습니다. 이제는 형식이 지정한 대로 사각형이 DIB 앞에 온다고 해석하고, 픽셀 비트를 찾을 때BITMAPV4HEADER/BITMAPV5HEADER와 색상 테이블을 존중하며, 이 레코드는XDest,YDest에DestWidth×DestHeight크기의 이미지 명령을 제공합니다META_EXTTEXTOUT은ETO_OPAQUE나ETO_CLIPPED중 하나라도 설정되면 선택적 사각형을 건너뜁니다. 불투명한 배경으로 그린 텍스트가 더 이상 잘못된 오프셋에서 읽히지 않습니다- 페이지 렌더링에 포함된 메타파일 이미지는 고정 40바이트가 아니라 비트맵 헤더가 밝히는 오프셋에서 픽셀을 읽습니다.
BITMAPV4HEADER나BITMAPV5HEADER이미지가 밀린 색 노이즈로 렌더링되는 일은 없습니다
버전 2.379.0
추가
TGridToXLS가 이제 Free Pascal 런타임 패키지의 일부이므로, LazarusTDBGrid가 VCL에서와 같은 방식으로 내보냅니다. 명시적인 열은 제목, 글꼴, 색상, 정렬, 너비, 표시 여부를 유지하고, 명시적인 열이 없는 그리드는 데이터 집합 필드마다 한 열씩 내보내며, 결과는 같은SaveAs호출로 XLS, XLSX, HTML 또는 RTF로 저장됩니다
버전 2.378.4
수정
- TEXTBEFORE과 TEXTAFTER는 한 번도 할당되지 않은 지역 변수에서 인수 개수를 읽었습니다. 남은 스택 내용에 따라 선택적 instance, match-mode, match-end, if-not-found 인수가 무시되거나 유효한 호출이 #VALUE!로 거부될 수 있었습니다. 이제 개수는 호출 자체에서 옵니다
- 높이나 너비가 1이 아닌 리사이즈된 OFFSET을 단일 셀에서 평가할 때, 아직 계산되지 않은 앵커와 수식 셀을 비교했습니다. 그래서 암시적 교차가 #REF!나 잘못된 셀을 반환할 수 있었습니다. 이제 이동된 앵커를 교차 테스트 전에 계산합니다
버전 2.378.3
수정
- Free Pascal에서는 빈 문자열을 일치시키거나 바꾸면 정규식 오류가 발생했습니다. 그래서
regexreplace(Code,"[^0-9]","")같은 보고서 식은 필드가 비어 있을 때마다REPORT_EXPRESSION_INVALID_REGEX로 실패했습니다. FPC 백엔드는 이제 Delphi의TRegEx와 같은 방식으로 답합니다.^$나.*처럼 빈 문자열을 받아들이는 패턴은 그것과 일치하고 대체 텍스트를 산출하는 반면,[0-9]+나\s+는 일치 없음을 보고합니다
버전 2.378.0
추가
- HotXLS는 이제 Free Pascal 3.2.2와 Windows, Win32, Win64의 Lazarus/LCL로 빌드됩니다. XLS와 XLSX 통합 문서 API, 수식, 스타일, 직접 판독기와 기록기, 데이터 집합 내보내기, 렌더링 도우미는 모두 Delphi 유니코드 문자열 의미 체계를 갖춘 FPC 코드에서 동작합니다. Free Pascal 및 Lazarus 지원 토픽에 애플리케이션 설정과 백엔드 차이를 정리했습니다
- 런타임 패키지
Lib/FPC/HotXLSLaz.lpk는 Lazarus에서 열거나build-FPC-Lib.cmd를 통해 명령줄에서 아키텍처별로 빌드할 수 있습니다.Tests/Lazarus아래의 Lazarus 스모크 스위트는 통합 문서 라운드트립, 압축, 암호화, COM 스트림, 그래픽, 텍스트 읽기, 정규식, 데이터 집합 내보내기, 보고서 식을 다룹니다 - FPC 빌드는 ZIP, 압축 스트림, AES에 번들된 Pascal 백엔드를 사용하므로, 암호로 보호된 것을 포함한 XLSX 파일에는 zlib DLL도 Delphi가 링크하는 사전 빌드 개체 파일도 필요하지 않습니다. PNG는 알파 채널을 유지하고, EMF 그리기와 재생은 Windows 메타파일을 거치며, 다중 페이지 TIFF 내보내기는 GDI+ 런타임을 사용합니다
버전 2.377.2
추가
- HotXLS가 쓴 클래식 XLS 피벗 캐시는 이제 형식이 캐시 헤더의 기준으로 정의하는 레코드를 운반합니다. 헤더의 스트림 ID와 원본 데이터 유형은 한 번도 쓰이지 않은 SXStreamID와 SXVS를 가리켰고, 어떤 판독기도 둘 중 하나를 검사할 수 없었습니다. 이제 두 레코드가 모두 쓰이고 두 헤더 필드가 동일한 값에서 채워지므로 구조적으로 반드시 일치합니다
- 캐시 하위 스트림은 SXDBEx도 운반합니다. 이는 Excel이 쓰는 모든 캐시에서 캐시 헤더 뒤를 따르는 레코드로, 캐시가 마지막으로 새로 고쳐진 시각을 기록합니다.
TXLSPivotCache.RefreshedDate는 XLSX에서 이미 그러했듯 이제 클래식 XLS 저장과 다시 읽기를 통해서도 유지됩니다 TXLSPivotCache.StreamId와TXLSPivotCache.SourceDataType이 이 두 값을 노출합니다. 이를 밝히는 파일에서는 다시 읽고, 레코드 쌍과 캐시 헤더에 씁니다.AddPivotTable로 만든 캐시는 스트림 0과 워크시트 범위 원본을 보고합니다
변경
- 기존 캐시 프레이밍의 옵트인 재작성(
UpgradeLegacyPivotCacheFraming)도 이제 이 세 레코드를 산출합니다. 업그레이드된 캐시는 올바르게 프레이밍될 뿐 아니라 새로 쓴 것과 같은 의미에서 완전합니다. SXStreamID, SXVS, SXDBEx를 이미 갖고 있던 캐시는 자신이 갖던 것을 유지하고, HotXLS가 쓰지 않는 수식 레코드를 SXDBEx가 주장하는 캐시는 원시 재생 상태로 남습니다 - 읽기는 영향을 받지 않습니다. 이 릴리스 이전에 쓰인 파일은 이전과 정확히 같은 방식으로 로드되고, HotXLS가 아직 모델을 갖지 못한 캐시 레코드(원본 범위를 가리키는 DConRef나 DConName 포함)는 라운드트립 동안 그대로 바이트 단위로 보존됩니다
버전 2.377.1
추가
- 통합 문서는 이제 저장 시 오래된 피벗 캐시 하위 스트림을 다시 쓰도록 요청할 수 있습니다.
TXLSWorkbook.UpgradeLegacyPivotCacheFraming은 기본적으로 꺼져 있습니다. 켜면 v2.377.0 이전에 HotXLS가 캐시를 쓴 클래식 XLS 파일이 수정된 SXDB / SXFDB / SXDBB 기록기를 통해 그 캐시를 다시 출력하여 저장됩니다. 덕분에 v2.376.1부터 v2.376.7까지의 피벗 캐시 수정 연속이 새 출력뿐 아니라 이미 존재하는 파일에도 도달합니다 - 업그레이드는 아무 비용도 들지 않음이 증명되는 곳에만 적용됩니다. 파일에서 읽은 캐시는 하위 스트림 전체가 HotXLS가 모델링하는 레코드로 이루어져 있고 그 프레이밍이 HotXLS 자신이 잘못 쓴 것일 때만 다시 출력됩니다. 그 밖의 경우, 즉 Excel이 만든 모든 캐시와 SXDBEx처럼 HotXLS가 불투명 바이트로만 보관하는 레코드를 지닌 캐시는 옵트인이 켜져 있어도 자기 바이트를 계속 재생합니다.
TXLSPivotCache.CanUpgradeFraming이 캐시 하나에 대한 판정을 보고하고,RawFramingIsLegacy/RawModelIsComplete가 그 기반이 되는 두 측면을 보고합니다 - 업그레이드된 캐시는 다른 캐시들보다 앞으로 옮겨지는 것이 아니라 그 하위 스트림이 있던 자리에 쓰입니다. 그래서 피벗 테이블 뷰는 저장 전에 지목했던 캐시를 여전히 해석합니다
수정
- 파일에서 읽은 클래식 XLS 피벗 캐시를 원시 재생 플래그를 지운 채 기록기에 넘기면 캐시 하위 스트림 두 개, 즉 모델의 것과 파일의 것이 생겨났습니다. 이제는 하나만 생성합니다
버전 2.377.0
추가
- 클래식 XLS 워크시트가 포함된 차트 개체를 받아들입니다. 워크시트의
AddChartObject는 시트 그리드에 차트 프레임을 고정하고(OBJ 유형 5 호스트 컨트롤 도형과 MSODRAWING 클라이언트 앵커), 공유 차트 빌더를 통해 차트 하위 스트림을 만들며, 시트의 레코드 목록에 실리므로 파일 레이아웃이 판독기가 열 때 다시 붙이는 내용과 일치합니다. 라운드트립을 거치면 프레임은 차트 모델(계열, 제목, 범위 참조는 그대로)과 함께 돌아옵니다
수정
- SeriesText 레코드가 문자열 페이로드를 올바른 폭으로 디코딩합니다. 판독기는 바이트 수가 기대되는 자리에 문자 수를 넘겨서 16비트 캡션과 계열 레이블이 길이의 절반으로 잘려 돌아왔습니다(다섯 글자 제목이 두 글자로 읽혔습니다)
버전 2.376.7
수정
- 클래식 XLS 파일에서 피벗 테이블 뒤에 있는 캐시 행은 [MS-XLS] 2.4.276이 기술하는 방식으로 쓰입니다. 캐시된 데이터의 행마다 레코드 하나이고, 캐시 필드마다 인덱스 하나를 담으며, 폭은 1바이트이고 255개를 넘는 고유 값을 지닌 필드는 2바이트입니다. HotXLS는 이전에 자기만의 방식을 썼습니다. 각 필드를 값 개수를 세는 데 충분한 비트만큼만 압축해 담고 여러 행을 하나의 레코드에 포장하는 방식으로, 다른 프로그램은 디코딩할 수 없었고 필드 정의가 이미 갖고 있던 255 초과 플래그와도 모순되었습니다
- Excel은 이제 통합 문서를 열 때 원본 범위에서 값을 다시 만들어야 하는 대신 HotXLS 피벗 캐시가 보유한 값을 읽을 수 있습니다. 원본 데이터가 그 사이 이동, 변경, 삭제된 통합 문서는 어쩔 수 없이 재구축에 의존하고 있었습니다
- 캐시 행도 다시 읽힙니다. 이전 HotXLS는 이 레코드를 완전히 무시했기 때문에, 파일에서 로드한 캐시는 모든 행이 모든 필드의 첫 값을 가리킨 채 돌아왔고, 그 캐시에서 계산된 것은 모두 잘못된 값을 따랐습니다. 이는 HotXLS가 쓴 통합 문서만이 아니라 Excel이 쓴 통합 문서에도 똑같이 적용됩니다
- 값을 하나도 지니지 않은 캐시 필드는 캐시 행에 아무것도 기여하지 않고, 255개를 넘는 값을 지닌 필드는 형식이 요구하는 더 넓은 크기로 저장되고 읽힙니다
- HotXLS v2.376.6 이전이 쓴 통합 문서도 캐시 행을 그대로 유지한 채 로드됩니다
버전 2.376.6
수정
- 클래식 XLS 파일의 피벗 캐시 헤더 레코드가 [MS-XLS] 2.4.275가 기술하는 대로 배치됩니다. 레코드 개수는 이 사양에서 4바이트 필드인데 HotXLS는 2바이트로 쓰고 있었으므로, 그 뒤의 모든 필드가 한 자리 앞으로 나가 레코드가 4바이트 길어졌습니다. 캐시 필드 개수는 레코드 개수 안으로 들어가고, 플래그 워드는 스트림 식별자 위에 착지하며, 필드 개수는 캐시를 마지막으로 새로 고친 이의 이름 길이 위에 착지해 레코드가 담기에 너무 짧은 이름을 약속했습니다
- 헤더의 플래그는 이제 캐시의 실제 모습을 말합니다. 레코드가 파일에 저장되어 있는지, 통합 문서를 열 때 새로 고치는지, 새로 고침이 허용되는지, 새로 고침 쿼리를 백그라운드에서 실행하는지입니다. 이 네 가지 설정은 이미 XLSX 출력에 나타나 있었지만, 이제는 캐시를 마지막으로 새로 고친 이의 이름과 함께 클래식 XLS 파일에서도 전달됩니다
- 헤더의 원본 데이터 유형은 형식이 정의하지 않는 값으로 남겨두는 대신 워크시트 범위로 쓰이고, 필드 개수와 사용된 레코드 개수는 캐시의 실제 합계를 전달합니다
- 새로 고친 이의 이름은 레코드가 허용하는 255자로 잘리고, 이름이 없는 캐시는 빈 자리 표시자 대신 이름을 아예 쓰지 않습니다
- HotXLS v2.376.5 이전이 쓴 통합 문서도 여전히 로드되고 캐시 레코드 개수도 여전히 내어줍니다. 오래된 헤더에는 그 외에 저장된 것이 없었습니다. 기록기는 레코드 개수 뒤의 모든 필드를 캐시에서 한 번도 읽은 적 없는 고정 값으로 채웠습니다. 그래서 그런 파일의 플래그와 새로 고친 이 이름은 복구된 값이 아니라 기본값으로 돌아옵니다
버전 2.376.5
수정
- 피벗 캐시 필드 이름이 클래식 XLS 파일의 저장과 다시 읽기를 통해 유지됩니다. 이름 길이가 캐시 필드 정의의 잘못된 자리(언제나 $FFFF인 인덱스)에서 읽혔기 때문에 이름은 매번 버려졌고 모든 캐시 필드는 이름 없이 돌아왔습니다
- 캐시 필드 정의 레코드는 [MS-XLS] 2.4.283이 기술하는 대로 배치됩니다. grbit, ifdbParent, ifdbBase, citmUnq, csxoper, cisxoper, catm, 그리고 필드 이름 순입니다. HotXLS는 이전에 레코드에 없는 세 필드(하위 유형 항목 인덱스, 숫자 서식, 두 번째 항목 개수)를 쓰고, 사양이 캐시의 필드 개수로 상한을 둔 인덱스에 $FFFF를 넣고 있었습니다
- 레코드의 플래그 워드는 이제 자신이 속한 필드를 기술합니다. 필드가 캐시 항목을 지니는지, 그 항목에 숫자, 날짜, 텍스트가 포함되는지, 최솟값과 최댓값을 계산할 수 있는지, 날짜가 아닌 항목이 있는지, 255개를 넘는지입니다. 레코드의 항목 개수는 이제 실제로 뒤따르는 캐시 항목 레코드 수와 일치합니다
- 레코드가 허용하는 255자를 넘는 캐시 필드 이름은 전체 길이로 쓰이는 대신 255자로 잘립니다
- HotXLS v2.376.4 이전이 쓴 통합 문서도 캐시 필드 이름을 그대로 유지한 채 로드됩니다. 이전 레이아웃에서도 이름이 같은 자리를 차지했으므로 이름을 지닌 것은 아무것도 잃지 않습니다
버전 2.376.4
수정
- 클래식 XLS 파일의 피벗 테이블 캐시는 이제 [MS-XLS]가 부여하는 레코드 번호를 사용합니다. 캐시 하위 스트림의 일곱 레코드가 다른 레코드의 번호로 나가고 있었습니다. 캐시 필드 정의가 $00C8(SXDBB), 필드 유형이 $00FB(SxFormat), 레코드별 항목 인덱스가 $00C5(SXDI), 숫자, 부울, 오류, 날짜, 빈 캐시 값이 $00CE, $00CF, $00D0, $00CC, $00CB(SXDtr, SxNil, SXTbl, SXInt, SxErr)였습니다. 이제는 SXFDB $00C7, SXFDBType $01BB, SXDBB $00C8, SXNum $00C9, SxBool $00CA, SxErr $00CB, SXDtr $00CE, SxNil $00CF로 나가므로, Excel은 HotXLS가 쓴 피벗 캐시를 읽을 수 있고 HotXLS는 Excel이 쓴 것을 읽을 수 있습니다
- 피벗 캐시 필드의 빈 값이 라운드트립을 통해 유지됩니다. 기록기는 언제나 빈 값을 출력했지만 판독기에는 이에 대한 사례가 없어서 로드 시 모든 빈 값이 버려지고 그 필드에서 뒤따르는 각 값이 한 자리씩 밀려 피벗 테이블의 항목 참조가 잘못된 값을 가리켰습니다
- HotXLS v2.376.3 이전이 쓴 통합 문서도 캐시 값을 그대로 유지하며 계속 로드됩니다. 각 피벗 캐시 하위 스트림은 자신의 필드 정의 레코드에서 판단하여 쓰였던 번호 체계로 읽히고, 기존 파일에서 읽어낸 캐시는 들어왔을 때의 번호로 다시 쓰입니다. 그래서 오래된 통합 문서를 다시 열고 저장해도 바이트가 조용히 바뀌지 않습니다
버전 2.376.3
수정
- 클래식 XLS 파일의 피벗 테이블 뷰는 SXEx 확장 레코드를 [MS-XLS]가 부여하는 번호 $00F1로 씁니다. 기록기는 그동안 $00C6을 썼는데, 이는 SXDB, 즉 피벗 캐시 헤더 레코드입니다. 뷰 확장을 찾는 Excel은 아무것도 찾지 못했고 캐시 헤더를 자칭하는 레코드가 워크시트 한가운데 앉게 되므로, v2.376.1의 필드 레이아웃 수정 후에도 SXEx가 운반하는 뷰 속성은 사라져 있었습니다
- HotXLS v2.376.2 이전이 쓴 통합 문서도 피벗 테이블 뷰를 그대로 유지한 채 열립니다. 워크시트 안에서는 낡은 $00C6가 본래의 뷰 확장으로 계속 받아들여지고, 피벗 캐시 하위 스트림 안에서는 $00C6가 캐시 헤더로 계속 읽힙니다. 그래서 예전에 로드되던 것이 로드되지 못하게 되는 일은 없습니다
버전 2.376.2
수정
- 명시적인 장면 없이 만들어진 클래식 XLS 3-D 차트 시트가 문서화된 플래그를 실제로 지니게 되었습니다. 기본 Chart3d 플래그 워드는 자동 크기 조정 비트 대신 레코드가 예약한 비트를 설정했으므로, 기본 3-D 차트는 클러스터링이 켜지고 자동 크기 조정이 꺼진 채 다시 열렸고 쓴다고 주장한 장면과 한 번도 일치하지 않았습니다. 명시적인 3-D 장면을 넘기는 차트는 영향을 받지 않았고 그 바이트도 변하지 않았습니다
버전 2.376.1
수정
- 피벗 테이블 뷰는 필드가 판독기가 기대하는 자리에 놓인 SXEx 레코드를 씁니다. 고정 24바이트 본문이 두 필드만큼 밀려 있어서, 뒤따르지 않을 서식 레코드 둘을 예고하고 모든 선택적 문자열 길이를 0으로 남겼는데, 이는 [MS-XLS] 2.4.282가 금하는 것으로 그 길이는 부재 마커이거나 1에서 255 사이의 실제 길이여야 합니다. 이제 본문은 올바른 필드에서 시작하고 모든 선택적 문자열에 부재 표식을 붙이므로, Excel은 깨진 블록 대신 뷰 속성을 읽습니다
- SXEx 레코드 길이는 하드코딩된 상수가 아니라 실제로 쓴 바이트에서 도출됩니다. 그래서 v2.376.0 이전처럼 선언 크기와 페이로드가 어긋나는 일은 이제 없습니다
버전 2.376.0
추가
- 클래식 XLS 차트 시트를 피벗 테이블 뷰에 연결할 수 있습니다. 새
AddChartSheet오버로드는 원본 피벗 뷰 이름과 필드 캡션 숨김 플래그를 받아들여, Chart Sheet Substream ABNF에 따라 Units 앞의 차트 전역에 있는 SXViewLink($0858, [MS-XLS] 2.4.316)와 PivotChartBits($0859, 2.4.196) 레코드에 씁니다. 차트 검사는 두 레코드를 모두(8비트 및 16비트 문자열 인코딩 포함) 형식화된 모델(피벗 차트 마커, 원본 뷰 이름, 캡션 플래그)과 정준 의미 체계 스냅샷으로 다시 디코딩하고, 링크 레코드가 없는 차트는 표식 없는 채로 남습니다
수정
- 피벗 테이블 뷰는 올바른 크기의 SXEx 레코드를 씁니다. 출력기는 24바이트 본문을 선언하면서 26바이트를 써서, 두 바이트의 잉여가 다음 레코드 헤더가 기대되는 자리에 착지했고 뷰 뒤의 모든 레코드(워크시트 EOF와 피벗 시트 뒤를 따르는 차트 시트 하위 스트림이 있다면 그것까지)가 잘못 해석되어, 피벗 테이블과 차트 시트를 결합한 통합 문서는 차트가 사라진 채 다시 열렸습니다
- 클래식 차트의 추세선 표시 이름이 8비트 문자열 페이로드를 올바르게 디코딩합니다. 이전의 와이드 문자 판독기는 Excel이 8비트 문자로 쓰는 레코드에 빈 이름을 돌려주었습니다
버전 2.375.0
추가
- 클래식 XLS 차트 계열이 테마 색 채우기를 받아들입니다. 계열별 스타일은 이제 테마 색 인덱스와 틴트를 지니며, [MS-XLS] 2.4.131에 따라 AreaFormat 뒤의 GelFrame 레코드에 쓰입니다. 여기에는 OfficeArt 테마 색 확장(fillType, 평탄화된 RGB를 지닌 fillColor, fillColorExt 스킴 인덱스, fillColorExtMod 틴트 페이로드)이 사용됩니다. 명시적인 채우기 색이 주어지지 않으면 평탄화된 색은 틴트를 적용하여 기본 Office 테마에서 해석되고, 차트 검사는 테마 의도를 형식화된 모델과 정준 의미 체계 스냅샷으로 다시 디코딩합니다
수정
- 전체 다중 버전 라이브러리 빌드가 지원되는 모든 컴파일러에서 다시 녹색이 되었습니다. 최신 컴파일러만 받아들이던 캐스트와 호출(Int64 값의 Extended 형식 캐스트, 정수의 하드한 Double 캐스트, 오버로드 해석에서의 nil 프로시저 인수, protected인 TPicture.LoadFromStream 접근, VCL 세대 사이에 바뀐 GdiplusStartup 토큰 유형)이 XE5부터 현재 릴리스까지 버전 안전하게 다듬어졌습니다
버전 2.374.0
추가
- 3-D 차트 장면을 구성하고 검사할 수 있습니다. 새
AddChartSheet오버로드는 회전, 앙각, 원근 거리, 높이, 깊이, 간격과 클러스터, 자동 크기 조정, 직각 크기 조정, 2차원 벽 플래그를 받아들여 [MS-XLS] 2.4.46에 따라 Chart3d 레코드에 쓰고, 차트 검사는 읽을 때 장면을 형식화된 모델(Scene3D)로 다시 디코딩합니다. 이전 오버로드를 유지하는 차트는 Excel과 일치하는 기본값을 바이트 단위로 계속 출력합니다
버전 2.373.0
추가
- 클래식 XLS 차트 계열이 계열별 스타일 재정의를 받아들입니다. 선 색과 스타일, 채우기 색, 마커 모양, 색, 크기는 자동 플래그를 지운 채 계열 서식 블록에 쓰이므로 Excel이 지정된 값을 존중하며, 차트 검사는 LineFormat, AreaFormat, MarkerFormat 레코드를 형식화된 모델과 정준 의미 체계 스냅샷으로 다시 디코딩합니다
버전 2.372.0
추가
- 클래식 XLS 차트 계열이 범주와 값에 명명된 참조와 외부 참조를 받아들입니다. 단순한 A1 범위가 아닌 텍스트는 통합 문서 수식 엔진을 통해 컴파일되고, BRAI 레코드는 컴파일된 수식을 지닌 차트 영역 항목을 운반하므로 저장 패스가 현재 정의된 이름 저장소 인덱스로 이를 다시 직렬화합니다. 차트 검사는 읽을 때 참조를 이름으로 다시 디컴파일하고, 해석할 수 없는 텍스트는 빈 자리 표시자 BRAI를 유지합니다
버전 2.371.0
추가
- 클래식 XLS 차트 계열을 보조 축 그룹에 바인딩할 수 있습니다.
AddChartSheet에서 계열에 표식을 붙이면 AXESUSED가 2로 올라가고, [MS-XLS] Chart Sheet Substream ABNF에 따라 자체 범주 축과 값 축, 자체 차트 그룹을 갖춘 두 번째 AxisParent 블록이 출력되며, 계열은 SerToCrt를 통해 두 번째 그룹으로 보내집니다. 차트 검사는 읽을 때 계열별 차트 그룹 바인딩을 디코딩합니다
버전 2.370.0
추가
- 클래식 XLS 차트 계열이 데이터 레이블을 받아들입니다.
AddChartSheet는 값 표시, 백분율 표시, 범주 이름 표시, 레이블과 백분율 표시, 버블 크기 표시, 계열 이름 표시 플래그([MS-XLS] 2.4.5 비트 레이아웃)를 담은 AttachedLabel 레코드를 출력하고, 차트 검사는 AttachedLabel과 구분 기호를 포함한 DataLabExtContents 확장 레이블 레코드를 모두 형식화된 모델과 정준 의미 체계 스냅샷으로 다시 디코딩합니다
버전 2.369.0
추가
- 클래식 XLS 차트 검사가 이제 축 그룹 구조를 디코딩합니다. AXESUSED는 선언된 축 그룹 개수를 드러내고 모든 축은 주 AxisParent 그룹과 보조 AxisParent 그룹 중 어느 쪽에 속하는지 기록하며, 그룹 인덱스는 정준 의미 체계 스냅샷으로 전달됩니다
버전 2.368.0
추가
- BIFF 차트 추세선과 오차 막대가 읽을 때 형식화된 차트 모델로 디코딩됩니다. 각 Series 블록은 회귀 종류, 차수 또는 기간, 절편(자동 포함), 수식과 R-제곱 표시 플래그, 예측 및 후방 예측 기간, 표시 이름을 지닌 Trendline 레코드와, 방향, 값 유형, 끝 단면, 크기를 지닌 SerErrBar 레코드를 드러냅니다
- 클래식 의미 체계 스냅샷은 예외를 일으키는 대신 추세선과 오차 막대를 공유 정준 컨테이너로 매핑합니다. 덕분에 고급 차트 계열을 지닌 통합 문서는 결정적으로 비교되고 추세선 변경은 정준 스트림에 반영됩니다
버전 2.367.0
추가
- RecalcAndVerifyEx는 두 통합 문서 엔진에 대해 심층 계산 감사를 수행합니다. 모든 수식은 의존성 그래프 대신 종속성 그래프를 통해 한 번 평가되어 격리된 결과 오버레이로 들어가므로, 종속 셀은 낡은 캐시가 아니라 이 패스를 읽습니다. 평가 실패는 결과 코드와 함께 형식화된 범주(지원되지 않는 인수, 순환 참조, 거부되거나 누락된 외부 참조, 건너뛴 데이터 테이블, 취소, 내부 실패)로 분류되고, 각 실패는 상한이 있는 호출 스택을 운반합니다
- 감사는 안정적인 시트, 행, 열, 범주 순서를 갖춘 문제 예산, 노드 경계에서 취소할 수 있는 진행 상황 싱크, 구성 가능한 수치 허용 오차, 그리고 변경되지 않은 통합 문서 구조 위에서 완전히 성공한 패스 후에 재계산된 값을 원자적으로 커밋하는 옵트인 ApplyResults를 존중합니다. 기본값은 엄격한 읽기 전용으로 유지됩니다
변경
- 기존 RecalcAndVerify와 CalculateAndVerify 진입점은 새 보고서 필드를 공유하면서 이전의 얕은 비교 의미 체계를 호환성 셈으로 유지합니다
버전 2.366.0
변경
- PDF 내보내기는 이제 모든 개체를 대상으로 곧장 스트리밍하는 순차 개체 기록기를 통해 문서를 조립하므로, 문서 전체의 중간 복사본이 만들어지지 않습니다. 서명되지 않은 문서는 순방향 전용 스트림으로 곧장 스트리밍되고, 서명된 문서는 단일 순방향 복사에 앞서 ByteRange와 서명 내용 패치를 받는 상한이 있는 스풀로 조립됩니다
- PDF 첨부 파일 페이로드는 공급자 스풀에서 최종 문서로 고정 크기 청크로 복사되고 스트림 크기는 간접 길이 개체를 통해 참조되므로, 수백 메가바이트 첨부 파일에서도 최대 메모리는 평평하게 유지됩니다
수정
- 서명 다이제스트는 이제 문서 전체 복사본을 거치는 대신 조립된 문서의 두 대상 바이트 범위에 걸쳐 점진적으로 계산되고, 예약된 서명 필드는 조립된 바이트를 훑는 대신 서명 개체 자체에서 찾습니다
버전 2.365.0
추가
- 보이는 PDF 서명 텍스트는 이제 포함된 유니코드 글꼴 파이프라인을 통해 왼쪽, 가운데, 오른쪽 정렬과 구성 가능한 크기, 색상, 굵게 또는 기울임 스타일로 렌더링되며, 서명자 이름, 이유, 위치의 어떤 문자 체계도 다룹니다
- PDF 서명 모양 이미지는 프레임 마커에서 도출한 크기를 지닌 JPEG 페이로드를 받아들이고, 과대하거나 손상된 이미지는 다이제스트가 계산되기 전에 결정적으로 실패합니다
- PDF 첨부 파일은 명시적인 이름 중복 정책을 노출하고, 구성 가능한 바이트 임계값을 넘는 큰 공급자 페이로드를 임시 파일로 스풀하며, 경로 구분 기호나 제어 문자를 담은 리프에 적대적인 이름은 거부합니다
변경
- PDF 첨부 파일 이름 트리는 이제 ISO 32000-1 7.9.6에 따라 인코딩된 이름 바이트로 정렬되고, 공급자가 실행되는 동안 첨부 컬렉션은 고정된 채로 있어 재진입 추가는 원자적으로 실패합니다
버전 2.364.0
추가
- 포함된 EMF 및 WMF 그림은 채우기, 스트로크, 스트로크와 채우기 결합 패스의 경로 괄호, 둥근 사각형, 정밀한 호-베지어 변환을 통한 호, 현, 파이, 각도 호, 상한이 있는 RGNDATA 사각형에서 해석되는 영역 채우기와 프레임, 기하 또는 코스메틱 확장 펜을 재생합니다. 이 모든 것은 클리핑, 이스케이프, 프라이빗 레코드에 대한 동일한 페일클로즈드 경계와 함께 불변 공유 장면으로 평탄화됩니다
버전 2.363.0
추가
- 포함된 EMF 및 WMF 그림은 이제 확장된 안전 레코드 허용 목록을 통해 재생됩니다. 저장과 복원을 갖춘 디바이스 컨텍스트 상태 스택, 월드 변환이 있는 창 및 뷰포트 매핑, 스톡 개체를 포함한 펜과 브러시 개체 테이블, 대시 스타일이 있는 사각형, 타원, 선 사슬, 폴리곤, 폴리라인, 베지어 곡선, 글꼴, 색상, 정렬을 갖춘 상한이 있는 텍스트 런, PNG로 다시 인코딩되는 제한된 stretch-DIB 이미지가 대상입니다. 알 수 없는 상태 레코드는 여전히 플랫폼 메타파일 재생을 호출하는 대신 페일클로즈드로 상한이 있는 래스터 폴백에 떨어집니다
수정
- WMF 그림은 이제 표준 2바이트 레코드 헤더 레이아웃을 해석합니다. 합성 픽스처만이 아니라 실제 placeable 및 표준 메타파일이 디코딩됩니다
버전 2.362.0
추가
- 클래식 XLS와 XLSX는 이제 테이블 수식 배열 상태, 형식화된 데이터 유효성 검사 IME 모드, 계산 스레드 힌트, 전체 강제 재계산의 존재, 전체 새로 고침 힌트, 통합 문서 코드 이름을 자체 네이티브 이진 또는 OOXML 표현을 통해 유지합니다
RecalcAndVerify는 안정적인 캐시, 구문 분석, 누락 함수, 누락 이름 범주를 갖춘 상한이 있는 구조화된 계산 감사를 반환하며 수식 캐시와 통합 문서 의미 체계는 그대로 둡니다TXLSPageImageExporter.ExportRange는 요청된 셀 사각형을 용지, 여백, 머리글, 바닥글, 인쇄 제목, 페이지 나누기 없는 하나의 컴팩트한 PNG 또는 JPEG로 렌더링하고, 페이지 이미지 전/후 이벤트는 실제 인코딩 캔버스에 그릴 수 있습니다- 전용 셀 이미지 내보내기는 클래식이든 XLSX든 어떤 셀 사각형이든 구성 가능한 해상도, 배율, 형식, JPEG 품질로 하나의 컴팩트한 이미지로 측정, 렌더링, 저장합니다. 투명하거나 색이 있는 배경, 개체, 눈금선, 셀 테두리의 독립 스위치, 픽셀 및 바이트 예산, 그리고 무엇이든 실패하면 기존 대상을 그대로 두는 원자적 같은 폴더 교체를 통한 파일 저장이 갖춰져 있습니다
- 페이지 이미지 그리기 이벤트는 이제 라이브 캔버스, 픽셀 경계, 포인트 단위 페이지 크기, 해상도, 배율, 문서 및 시트 내 페이지 번호, 총 페이지 수, 원본 워크시트를 담은 완전한 읽기 전용 컨텍스트를 받습니다. 다중 페이지 TIFF 프레임을 포함해 렌더링된 프레임마다 정확히 한 번 발생하고, 측정 중에는 조용히 있으며, 선행 이벤트가 예외를 일으키면 후행 이벤트를 절대 트리거하지 않고 부분 이미지 바이트도 쓰지 않습니다
TXLSSvgExport는 완전한 페이지별 콜백, 결정적인 문서 및 페이지 ID 네임스페이스, ScreenTips와 안전한 새 창 속성을 갖춘 옵트인 안전 하이퍼링크 오버레이를 지원합니다- 클래식과 XLSX HTML 내보내기는 의미론적인 행 및 열 머리글과 상한이 있는 순수 CSS 핫 트래킹을 갖춘 옵트인 스프레드시트 보기를 제공하고, 둘 다 링크 표시 텍스트를 유지하면서 활성 또는 로컬 URI 스킴은 거부합니다
- 보이는 PDF 서명은 contained, covered, stretched PNG 모양 이미지를 사용할 수 있고, PDF 첨부 파일은 각 저장 시 단일 호출 소스 인터페이스에서 페이로드를 지연 획득할 수 있습니다
- 상한이 있는 EMF 및 WMF 벡터 디코더는 헤더, 레코드 크기, 합계, 정확한 EOF 배치, 이스케이프 제한을 검증한 뒤 드라이버 메타파일 재생을 호출하지 않고 안전한 사각형 명령 하위 집합을 공유 Canvas 및 SVG 백엔드를 통해 재생합니다
변경
- 직접 XLSX 쓰기는 테이블 수식 배열 특성과 형식화된 데이터 유효성 검사 IME 모드를 작성할 수 있고, 배열 테이블 수식이 스칼라 행별 수식으로 조용히 확장되는 일은 더 이상 없습니다
버전 2.361.99
변경
- 자동 태그 PDF는 이제 정보를 지닌 XLSX 그림을 유니코드 대체 텍스트, 페이지별 고밀도 marked-content 식별자, 정확한 부모 트리 항목, 표시 인스턴스당 하나의 의미론적 요소를 갖춘 독립 Figure 구조 요소로 출력합니다. 동일한 이미지 페이로드는 여전히 하나의 XObject를 공유하며, 대체 텍스트가 없는 그림은 장식 아티팩트로 남습니다
버전 2.361.98
수정
- 자신의 셀을 덮는 범위를 훑는 조회 수식(VLOOKUP, HLOOKUP, LOOKUP, XLOOKUP, XMATCH, MATCH)은 재계산 중 거짓 순환 참조 오류를 더 이상 보고하지 않으며, 훑는 범위 안의 편집은 여전히 수식 재계산을 트리거합니다
- 255자를 넘는 AutoFilter 텍스트 조건은 손상된 자동 필터 조건을 쓰는 대신 필터 레코드 한도로 잘립니다
- 암시적 교차 연산자가 사용하는 연속 공백은 수식 텍스트를 다시 만들 때 하나의 공백으로 뭉개지는 대신 보존됩니다
- 인쇄 영역, 인쇄 제목, 필터 데이터베이스를 제외한 기본 제공 정의된 이름(통합 영역, 추출, 데이터베이스, 조건, 레코더, 시트 제목, Auto_Open 계열 마커)은 클래식 XLS 통합 문서를 열고 저장할 때 그대로 보존됩니다
버전 2.361.97
추가
- 클래식 XLS와 XLSX 통합 문서는 이제 손대지 않은 원본의 무손실 보존과 형식 간 매핑을 갖춘 공유 3상태 개체 표시 정책을 노출합니다. 숨겨진 개체가 페이지 매김 출력이나 HTML 출력을 불어나게 하거나 그리기 및 미디어 렌더링 경로에 들어가는 일은 없습니다
- 통합 문서 뷰어는 자리 표시자 모드 개체에 대해 가벼운 명명된 자리 표시자를 렌더링하고, PDF, SVG, 비트맵, 인쇄, HTML 내보내기는 기본적으로 완전한 개체를 유지하면서 이미지 디코딩과 차트 장면 구성을 피하는 명시적 자리 표시자 옵션을 제공합니다
버전 2.361.96
변경
- 수동 차트 레이아웃은 이제 독립적인 원본 필드와 잘못된 토큰을 보존하고, 상한이 있는 크기 보존 배치로 배율과 가장자리 좌표를 해석하며, 내부 및 외부 플롯 대상에 제목과 범례 오버레이를 더해 존중하고, 지원되는 ODF 지오메트리를 절대 차트 거리를 통해 변환하며, 페이지 매김, SVG, PDF, 이미지, 미리 보기, 인쇄, 뷰어, HTML 출력 전반에서 일관된 제목, 범례, 플롯 영역, 축 제목 배치를 렌더링합니다
버전 2.361.95
변경
- XLSX 셀 원본 차트 데이터 레이블은 이제 완전한 수식, 인덱스된 캐시, 명시적인 공유 및 지점별 표시 여부, 라이브 워크시트 새로 고침, 외부 캐시 폴백, 복사와 보고서 확장 중 수식 변환, 그리고 페이지 매김, SVG, PDF, 이미지, 미리 보기, 인쇄, 뷰어, HTML 출력 전반에서 일관된 사용자 지정 우선 레이블 구성과 함께 각 계열에 속합니다
버전 2.361.94
변경
- 다중 수준 차트 범주 축은 이제 스파스 계층 캐시와 라이브 2차원 범위를 보존하고, 부모를 인식하는 범위를 선형 시간에 만들며, 단일 수준, 반전, 오른쪽에서 왼쪽, 숨김, 빈 범주 동작을 존중하고, 페이지 매김, SVG, PDF, 이미지, 미리 보기, 인쇄, 뷰어, HTML 출력 전반에서 일관된 계층 레이블과 구분 기호를 렌더링합니다. ODS 내보내기는 리프 범주 범위를 사용합니다
버전 2.361.93
변경
- 날짜 축은 이제 표시되는 모든 계열에 걸쳐 달력 단위를 한 번 추론하고, 표시 범위, 축 너비, 측정된 레이블 글꼴, 숫자 서식, 회전에서 상한이 있는 자동 간격을 고르며, 레이블, 좌표, 눈금, 눈금선을 페이지 매김, SVG, PDF, 이미지, 미리 보기, 인쇄, 뷰어, HTML 출력 전반에서 공유되는 주 눈금과 보조 눈금 컬렉션에서 도출합니다
버전 2.361.92
변경
- XLSX 날짜 축은 이제 축 숫자 서식과 원본 링크 상태를 보존하고, 텍스트 스타일과 회전을 갖춘 서식 지정된 레이블을 렌더링하며, 페이지 매김, SVG, PDF, 이미지, 미리 보기, 인쇄, 뷰어, HTML 출력 전반에서 중복 및 스파스 날짜에 대한 연속 간격을 유지하면서 반전 방향을 존중합니다
버전 2.361.91
변경
- XLSX 날짜 축은 이제 기본, 주, 보조 달력 단위와 자동 범주 감지가 생략되었는지 명시적으로 주어졌는지를 명시적 일 단위와 false 값까지 포함해 보존합니다. 클래식 날짜 축 확장 레코드는 형식화된 필드를 노출하고 마스크된 또는 잘못된 원시 값을 유지하며, 활성 설정을 XLSX 축 모델로 매핑할 수 있습니다
버전 2.361.90
변경
- XLSX 날짜 축 차트는 이제 연속 날짜 간격을 보존하고 통합 문서의 1900 또는 1904 날짜 시스템으로 일, 월, 년 주 간격을 페이지 매김, SVG, PDF, 이미지, 미리 보기, 인쇄, 뷰어, HTML 출력 전반에서 렌더링합니다. 페이지 매김 기반 출력은 구성된 보조 눈금과 눈금선도 존중합니다
버전 2.361.89
추가
- 워크북 뷰어는 이제 채워지지 않은 셀 뒤에 유효한 워크시트 배경을 타일로 깔고, 인쇄, PDF, SVG, 비트맵, 메타파일, 클래식 및 XLSX HTML 출력은 기본값이 꺼져 있는 명시적인
ExportSheetBackgroundImages옵트인을 제공합니다
변경
- 페이지로 나뉜 배경 렌더링은 이제 페이지 사이에서 워크시트 기준 타일 위상을 유지하고, 렌더 세션당 각 배경을 한 번만 디코딩하며, PDF 이미지 XObject나 SVG 리소스 하나를 재사용하고, 손상된 페이로드는 진단 하나와 함께 건너뜁니다
버전 2.361.88
추가
- 클래식 워크시트는 이제 형식화된 배경 이미지 작성과 공유 읽기 전용 배경 리소스를 노출하고, 페이로드를 연속 분할해 BIFF8 배경 레코드를 읽고 쓰며, 비트맵 페이로드를 표준 BMP 데이터로 재구성하고, 지원되지 않는 고유 형식과 알 수 없는 형식을 진단과 함께 바이트 단위로 보존하고, 배경 소유권을 깊은 복사하며, 알려진 배경을 XLS와 XLSX 사이에서 양방향으로 변환합니다
버전 2.361.87
수정
- XLSX 워크시트 복사는 이제 같은 통합 문서 내 복사와 통합 문서 간 복사 모두에서 시트 배경 이미지 바이트와 미디어 타입을 유지하고, 같은 통합 문서 내 복사는 보존된 원본 미디어를 재사용하며, 통합 문서 간 복사는 저장 전에 미디어 소유권을 새 기준으로 재설정합니다
버전 2.361.86
추가
- 클래식 XLS와 XLSX 통합 문서는
AllowUnsafeFormulaCallbacks를 노출하고, 문맥 기반 평가는 이에 대응하는 호출별 옵션과 구조화된xlfeUnsafeFunctionDenied상태를 제공합니다
보안
- 위험한 외부 및 매크로 스타일 수식 이름은 기본적으로 통합 문서 로컬, 프로세스 전역, 리졸버, 이벤트 사용자 함수 핸들러에 더 이상 전달되지 않으며, 거부는 수식 인수가 평가되기 전에 일어납니다
버전 2.361.85
추가
- 클래식 XLS와 XLSX 통합 문서는
AuditFormulaSymbols를 노출해 수식 셀과 정의된 이름 전반에서 알 수 없는 함수, 알 수 없는 이름, 구문 진단을 구조화하여 제공하고, 연산별 고유 수식 통계와 캐시 적중 통계를 함께 냅니다
변경
- 보존된 알 수 없는 함수와 이름은 이제 직접, 종속, 문맥 기반, 직렬, 병렬 계산 경로에서 Excel
#NAME?오류로 평가됩니다 - 통합 문서 로컬 또는 프로세스 전역 사용자 함수 등록 변경과 정의된 이름 수식 변경은 이제 다음 재계산 전에 영향받는 계산 상태를 무효화합니다
수정
- 종속 캐시 셀에서 읽은 수식 오류는 이제 스칼라 변환에 들어가 Variant 변환 예외를 일으키는 대신 형식화된 오류로 남습니다
버전 2.361.84
추가
- 일반 클래식 XLS 및 XLSX 수식 할당은 이제 통합 문서 수식 입력 정책을 원자적으로 적용하므로, 엄격한 거부 시 셀 값, 수식 캐시 및 종속성이 변경되지 않고 보존 모드에서는 알 수 없는 함수와 이름을 저장합니다
변경
- 클래식 XLS는 보존된 알 수 없는 호출을 BIFF 추가 기능 사용자 함수 토큰을 통해 기록하고, 저장, 다시 열기, XLS/XLSX 변환 전반에서 보존된 알 수 없는 이름 텍스트를 유지합니다
- 수식 입력 유효성 검사는 구성된 콜백 사용자 함수,
LAMBDA및LET호출 가능 항목, 정의된 이름 lambda, 보고서 자리 표시자, 등록된 외부 링크, 유효한 구조적 참조를 처리기를 호출하지 않고 인식합니다
수정
- XLSX 유효성 검사는 이제 유효한 중첩 및 현재 행 구조적 참조를 유지하고, 확인되지 않은 테이블 참조를 검색하는 동안 더 이상 오래된 열 텍스트를 재사용하지 않습니다
버전 2.361.83
변경
- 클래식 XLS 및 XLSX 값 할당은 이제
FormulaEntryPolicy.EmptyStringMode를 일관되게 적용합니다. 기본값은 정확한 빈 문자열을 지우고, 보존 모드는 상수 빈 문자열을 저장하며,Null또는Unassigned는 항상 셀을 지웁니다 - 네이티브 XLS, XLSX, ODS 로드와 XLS 대 XLSX 및 XLSX 대 XLS 변환은 이제 신뢰할 수 있는 상수 빈 문자열을 유지하며, 존재하지 않는 셀이나
=""같은 수식과 혼동하지 않습니다 - XLSX 문자열 및 Variant 행 또는 열 작성기는 압축 저장소 빠른 경로를 유지하는 동시에 지워진 항목은 없는 상태로 두고 정확한 빈 문자열은 보존 모드에서만 저장합니다
버전 2.361.82
추가
- 클래식 XLS 및 XLSX 통합 문서는 이제 공유
FormulaEntryPolicy를 노출하고, 두 워크시트 엔진은 호출자가 셀을 변경하기 전에 구조화된 문제, 동작, 알 수 없는 기호를 반환하는 변경 없는ValidateFormulaEntry메서드를 제공합니다
변경
- 수식 입력 유효성 검사는 이제 정확한 빈 입력과 빈 문자열을 반환하는 수식을 구별하고, 알 수 없는 함수, 알 수 없는 이름, 구문 실패, 잘못된 대상, 대상 형식 제한을 분리하며, 등록된 사용자 함수를 처리기를 호출하지 않고 인식합니다
버전 2.361.81
변경
- 전체 행 및 전체 열 삽입 또는 삭제는 이제 XLS와 XLSX에서 모든 창의 순서가 지정된 선택 영역과 활성 영역을 일관되게 다시 매핑하며, 남아 있는 순서를 유지하고 모든 영역이 제거되면 경계 셀 대체를 만듭니다
- 대규모 창 선택 정규화, 구조 편집 및 쿼리는 이제 반복되는 전체 문자열 또는 배열 복사 대신 분할 상환 선형 빌더와 용량 증가를 사용합니다
수정
- 클래식 XLS는 이제 형식이 잘못되었거나 모순된
Selection레코드 본문을 바이트 단위로 유지하면서xlsDiagnosticSelectionRecordInvalid를 보고하고, 부분적으로 신뢰되는 형식화된 상태를 노출하지 않습니다
버전 2.361.80
추가
TXLSWorksheet와TXLSXWorksheet는 이제 대응하는TryGetWindowScroll및ScrollWindow메서드를 노출하여, 1부터 시작하는 좌표로 기존 논리 창의 첫 번째 표시 셀을 읽고 변경합니다
변경
- 4개 창 스크롤 상태는 이제 XLS 및 XLSX 저장, 열기, 워크시트 복사 전반에서 공유되는 위쪽, 아래쪽, 왼쪽, 오른쪽 축을 독립적으로 유지하며, 누락된 창과 잘못된 좌표는 뷰 상태를 변경하지 않고 실패합니다
버전 2.361.79
변경
- 클래식 XLS 워크시트는 각 창에 대해 독립적이고 순서가 지정된 선택 그룹을 유지하고, 연속된 BIFF
Selection레코드를 하나의 논리 시퀀스로 집계하며, 건드리지 않은 레코드 본문을 유지하고, 워크시트와 함께 전체 선택 상태를 복사합니다 - 1369개가 넘는 영역이 있는 클래식 선택은 표준을 준수하는 연속 청크로 기록되면서 모든 청크에서 하나의 집계 활성 영역 인덱스를 유지합니다
버전 2.361.78
추가
TXLSWorksheet와TXLSXWorksheet는 이제 공유TXLSPanePosition형식을 통해 대응하는 창 인식GetSelectedAreas및SelectAreas메서드를 노출합니다
변경
- 창 선택 쿼리는 활성 영역 인덱스가 있는 호출자 소유의 순서 지정된 스냅샷을 반환하고, 겹치는 영역을 유지하며, 창이 없거나 업데이트가 잘못된 경우 워크시트 상태를 변경하지 않습니다
버전 2.361.77
추가
IXLSWorkbook,TXLSWorkbook,TXLSXWorkbook는 이제 대응하는 스트리밍SaveSemanticSnapshot및 증분 SHA-256ComputeSemanticHash메서드를 Content 및 SecurityComplete 프로필과 함께, 명시적 뷰어 상태, 휘발성 메타데이터 및 수식 캐시 옵션과 함께 노출합니다
변경
- 의미 체계 스냅샷은 전체 스냅샷을 구체화하지 않고 스파스 통합 문서 모델을 순회하며, 스냅샷 및 해시 작업은 모두 읽기 임대를 보유하므로 동시 공용 변경은 통합 문서 상태를 변경하기 전에 실패합니다
버전 2.361.76
추가
- 형식화된 클래식 XLS 차트 모델은 이제 차트, 범주 축 및 값 축 제목을 노출합니다
수정
- 클래식 XLS 차트 모델 추출은 이제 정의된 BIFF 레코드에서 계열, 범례, 차트 그룹, 축, 3-D 상태, 계열 레이블 및 계열 원본 수식을 식별합니다
- 범례 위치 및 원형 대 도넛 분류는 정의된 레코드 필드에서 디코딩됩니다
버전 2.361.75
추가
- Delphi FeatureShowcase와 C++Builder XlsxFeatureGallery는 이제 동일한 컴파일된 보고서 데이터 컨텍스트, 메모리 테이블, 엄격한 데이터 액세스, 복구 가능 오류 계속 진행, 진단 워크시트, 불변 실행 결과, 원자적 파일 출력 워크플로를 시연합니다
- 컴파일된 보고 항목은 이제 대응하는 Delphi 및 C++Builder 예제를 제공하며, 인터페이스화된 보고서 테이블에 필요한 C++Builder 스마트 인터페이스 획득을 포함합니다
수정
- C++Builder XLSX 기능 갤러리는 버전이 일치하는 전체 HotXLS 정적 패키지를 연결하여, 컴파일된 보고서 구현 종속성이 취약한 단위별 링커 지시문 없이 해결되도록 합니다
버전 2.361.74
변경
RunToStream,RunToFile,RunToEncryptedFile은 이제 하나의 출력 트랜잭션을 공유하여, 보고서 생성 및 저장이 완료된 후에만 직렬화된 통합 문서를 게시합니다- 암호화되지 않은 보고서 출력은 ODS 템플릿의 ODS 출력을 포함하여 템플릿 통합 문서 형식을 유지하는 반면, 암호화된 출력은 암호화된 Office 컨테이너로 유지됩니다
수정
- 직렬화, 교체, 취소 및 치명적인 보고서 실패는 기존 대상 스트림, 파일 및 암호화된 파일을 변경되지 않은 상태로 두고, 반환하기 전에 실행별 데이터 세션과 임시 스토리지를 해제합니다
버전 2.361.73
추가
- 명명된 범위 및 Excel 테이블 보고서 밴드는 이제
ErrorMode,StrictDataAccess,RuntimeLimits및 불변LastResult스냅샷을 노출하며, 별개의CompletedWithErrors밴드 상태가 있습니다
변경
WriteAndContinue는 명시적으로 복구 가능으로 표시된 행 오류를 리터럴 진단 텍스트로 쓰고, 원본 커서 행과 실제 출력 셀을 기록한 다음, 해당 행의 이후 대상과 이후 입력 행을 계속 진행할 수 있습니다- 보고서 식은 텍스트로 대체하기 전에 형식화된 밴드 스냅샷 값을 소비하며, 식 평가 중에 숫자, 날짜, 부울 및 기타 지원되는 Variant 값을 유지합니다
수정
- 밴드 확장 중 치명적인 대상, 취소 및 런타임 한도 실패는 원본 대상과 삽입된 구조를 복원하고, 롤백된 진단 플래그를 지우며, 적용된 대상 0개를 게시합니다
버전 2.361.72
추가
TXLSReportRuntimeLimits는 유지되는 런타임 문제 수, 정제된 메시지 길이, 문제 메모리에 상한을 두고,RuntimeDiagnosticsSheetName은 선택적으로 구조화된 진단 워크시트 하나를 작성합니다- 명시적인 리졸버 데이터 오류, 식의 0으로 나누기, 잘못된 정규식은 이제 안정적인 공급자 또는 식 문제 범주와 오류 코드를 전달합니다
변경
WriteAndContinue는 안전한 비셀 대상을 유지하고 그 문제를 기록하는 반면, 워크시트 이름과 정의된 이름 수식은 즉시 실패하는 구조적 대상으로 유지됩니다- 리졸버 데이터 오류 결과는 실행별 별칭 캐시에서 제공될 때 계속 복구 가능하며, 리졸버가 던지는 예외는 여전히 치명적입니다
보안
- 런타임 메시지는 첫 번째 줄에서 중단되고, 일반적인 자격 증명 및 전달자 토큰 형식을 마스킹하며, 실패한 대상을 변경하기 전에 개수, 길이, 메모리 상한을 강제합니다
버전 2.361.71
추가
{{#usertable(alias, logicalName, providerKey, name=expression)}}정확 셀은 형식화된 지연 테이블 선언으로 컴파일되며,TXLSCompiledReportTemplate.UserTableCount는 선언 수를 출력 대상과 별도로 보고합니다TXLSReportTemplateChecker.DataContext는 리졸버를 호출하지 않고 등록된 공급자 키, 형식화된 매개 변수 상한, 잘못된 선언, 대소문자를 구분하지 않는 별칭 충돌을 사전 점검합니다
변경
- 보고서 템플릿과 생성기는 대상 쓰기 전에 선언 매개 변수를 평가하고 현재 실행 세션에 등록하며,
dbvalue또는dbcount가 해당 별칭을 처음 참조할 때만 선언된 테이블을 확인합니다 - 반복되는 동일 선언은 하나의 요청을 공유하는 반면, 다른 논리 이름, 공급자, 매개 변수 순서, 형식 또는 값으로 별칭을 재사용하는 선언은 통합 문서 변경 전에 선언 셀 위치와 함께 실패합니다
보안
- 사용자 테이블 선언은 등록된 공급자 키와 상한이 있는 형식화된 데이터 매개 변수만 허용하고, 매개 변수 식 내의 데이터 테이블 액세스를 거부하며, SQL, 경로, URL 또는 명령 텍스트를 위한 템플릿 필드를 노출하지 않습니다
버전 2.361.70
추가
TXLSReportDataRequest는 명명된 또는 사용자 테이블 ID, 형식화된 매개 변수, 소스 위치 및 읽기 전용 실행 제어를IXLSReportDataResolver에 전달하며, 명시적인 결과 상태는 미처리, 확인됨, 찾을 수 없음, 데이터 오류 결과를 구별합니다TXLSReportDataContext.RegisterResolver,RemoveResolver,ClearResolvers는 대소문자를 구분하지 않는 명명된 리졸버 레지스트리를 관리하고,TXLSReportDataLimits는 별칭, 리졸버, 매개 변수, 이름, 메시지 및 반환되는 테이블 스키마에 상한을 둡니다
변경
- 각 보고서 데이터 세션은 리졸버 레지스트리의 스냅샷을 O(1) 조회로 만들고, 명시적 테이블을 신뢰할 수 있는 정보로 유지하며, 레거시 테이블 공급자를 적응시키고, 형식화된 요청을 별칭별로 캐시합니다. 논리 이름, 공급자, 매개 변수 순서, 형식 또는 값이 다른 별칭 재사용은 거부됩니다
- 보고서 러너와 밴드는 이제 스레드로부터 안전한 단일 취소 제어를 데이터 확인 전반에 전달하고, 취소 후 활성 대상을 커밋하지 않고 중지합니다. 취소를 데이터 오류로 캐시하는 대신 취소된 별칭은 깨끗한 재시도에 사용할 수 있습니다
보안
- 형식화된 데이터 요청은 제어 문자, 음수 소스 좌표, 중복 매개 변수 이름, 지원되지 않는 Variant 배열 또는 참조, 과도한 문자열, 과도한 별칭이나 공급자, 과도하게 큰 테이블 스키마를 안전하지 않은 작업이나 통합 문서 변경 전에 거부합니다
버전 2.361.69
추가
TXLSXWorksheet.ClearRowHeight와ClearColWidth는 다른 행 또는 열 메타데이터를 방해하지 않고 명시적 크기 재정의 하나를 제거합니다
변경
- 컴파일된 보고서 대상은 이제 동적 서식을 호출하기 전에 식 평가를 마치고, 셀 내용, 숫자 서식, 행 높이, 열 너비를 하나의 롤백 경계를 통해 커밋합니다
- 복구 가능한 셀 진단은 셀의 기존 글꼴에서 빨간 글꼴 및 노란 채우기 스타일을 파생하고 나머지 셀 스타일을 유지하며, 동일한 기본 글꼴과 반복되는 러너 실행 간에 풀링된 스타일을 재사용합니다
수정
- 복구 가능한 평가 실패가 동적 숫자 서식이나 명시적인 행 및 열 크기를 남기지 않게 되었으며, 진단 쓰기는 이제 리터럴 텍스트를 저장하기 전에 수식을 지웁니다
버전 2.361.68
추가
- 컴파일된 보고서 러너와 생성기는
ErrorMode,StrictDataAccess및 종료 상태, 적용 횟수, 실패 세부 정보, 순서가 지정된 런타임 문제를 포함하는 불변LastResult를 노출합니다 WriteAndContinue는 명시적으로 복구 가능으로 표시된 셀 데이터 실패를 리터럴 진단으로 대체하고CompletedWithErrors로 완료할 수 있으며, 기본Stop모드는 호환성을 유지합니다
변경
- 엄격한 데이터 액세스는 명시적 템플릿 대체가 없을 때 누락된 테이블, 사용할 수 없는 임의 액세스, 누락된 행, 누락된 필드를 안정적인 오류 코드로 보고합니다
- 계속 진행할 수 있는 것은 명시적으로 복구 가능으로 표시된 데이터 실패뿐입니다. 구조, 콜백, 취소, 리소스, 보안, 직렬화 및 기타 치명적인 실패는 여전히 보고서를 중지합니다
수정
- 파일 및 암호화 파일 출력 실패는 이제 이전 통합 문서 생성 단계의 완료 결과를 유지하는 대신 실패한 실행 결과를 게시합니다
버전 2.361.67
변경
- 컴파일된 템플릿, 러너, 범위 밴드, Excel 테이블 밴드는 이제 논리 실행당 하나의 격리된 데이터 세션을 통해
dbvalue와dbcount를 확인합니다 - 반복되는 별칭은 실행 내에서 한 번만 로드되고, 이후 실행은 공급자 데이터를 다시 로드하며, 동시 실행은 독립적인 캐시를 유지합니다.
PreprocessAndRun의 두 패스는 하나의 일관된 테이블 스냅샷을 공유합니다 - 보고서 밴드 식은 행 또는 열 변수만 바인딩하므로, 리터럴 테이블 이름과 기본 제공 위치 변수가 더 이상 소스 열로 오인되지 않습니다
수정
- 보고서 데이터 세션과 그 공급자 스냅샷은 성공, 취소 또는 실패한 실행 후 해제됩니다. 공급자 예외와 재사용 가능한 러너 재시도의 경우도 마찬가지입니다
버전 2.361.66
추가
TXLSReportDataContext.BeginRun은 상태 검사와 확인됨 또는 캐시된 별칭 수를 갖춘 격리된IXLSReportDataSession스냅샷을 반환합니다
변경
- 보고서 데이터 세션은 명시적 테이블, 지연 공급자 결과, 누락된 별칭, 공급자 데이터 오류에 대해 대소문자를 구분하지 않는 해시 캐시를 사용합니다
- 각 고유 별칭은 세션당 최대 한 번 공급자 체인에 도달하고, 공급자 결과는 요청된 별칭에 바인딩된 상태로 유지되며, 동일 별칭 재귀는 즉시 실패합니다
- 직접
TXLSReportDataContext.TryGetTable및RequireTable호출은 등록이 변경되면 무효화되는 별도의 호환성 캐시를 유지합니다
버전 2.361.65
추가
IXLSXImageBlob과TXLSXImageBlob은 1회 계산되는 SHA-256 다이제스트, 바이트 크기, 선택적 캐시 키를 갖춘 불변 래스터 및 SVG 페이로드를 제공합니다TXLSReportImageResult.CacheKey를 통해 V2 이미지 공급자는 재사용 가능한 콘텐츠를 명시적으로 식별할 수 있으며, 동일한 키에 대한 충돌 콘텐츠는 워크시트 변경 전에 거부됩니다
변경
- 반복되는 보고서 이미지는 명시적 캐시 키 또는 정확한 다이제스트 일치로 하나의 불변 페이로드를 공유하면서 독립적인 앵커와 변환을 유지합니다
- XLSX 및 ODS 저장은 고유한 이미지 페이로드를 한 번만 쓰고, 시트 전체에서 미디어 관계를 재사용하며, 통합 문서를 다시 열 때 공유 페이로드를 복원합니다
- 이제 XLSX 다시 열기는 DrawingML 확장 관계에서 SVG 동반 데이터를 복원하고 래스터 대체 항목과 짝을 이룹니다
버전 2.361.64
추가
TXLSReportImageResult는 소스 픽셀 크기와 DPI를 선언할 수 있고, 이미지 요청과 결과는 앵커 상대 대상 오프셋을 EMU로 노출합니다TXLSXImage.OffsetXEMU와OffsetYEMU는 XLSX 및 ODS 저장/열기 주기를 통해 앵커 내 그림 배치를 유지합니다
변경
- V2 이미지 바인딩은 PNG, JPEG, GIF, BMP, EMF, WMF 헤더에서 물리적 지오메트리를 파생하고 Natural, Contain, Cover 또는 Stretch 크기 조정을 적용하며, Contain으로 맞춘 이미지는 픽셀을 디코딩하지 않고 가운데 배치합니다
- 헤더가 잘렸거나, 선언된 크기가 일치하지 않거나, 한 변이 100,000픽셀을 초과하거나, 디코딩된 총 크기가 1억 픽셀을 초과하는 경우 워크시트 변경 전에 래스터 지오메트리가 거부됩니다
버전 2.361.63
추가
IXLSReportImageDataProviderV2는 통합 문서, 워크시트, 대상, 밴드, 테이블, 행, 앵커 및 취소 컨텍스트와 함께 이미지 바이트, 호출자가 빌려준 스트림 또는 공급자가 소유권을 이전한 스트림을 반환할 수 있습니다OnTransformImage는 바인딩 전에 이미지를 교체하거나 크기를 조정할 수 있으며, 컴파일된 범위 밴드와 Excel 테이블 밴드는 각 실제 데이터 행의 읽기 전용 스냅샷을 노출합니다
변경
- V2 이미지 스트림은 구성 가능한 기본 64 MiB 한도의 제한된 블록으로 읽힙니다. 빌려온 시크 가능 스트림은 위치를 복원하고, 이전된 스트림은 정확히 한 번 해제됩니다
- V2 페이로드는 빈 데이터, 일치하지 않는 형식 서명, 일치하지 않는 크기, 잘못된 앵커, 그리드 밖 오프셋을 워크시트 변경 전에 거부합니다
- 컴파일된 범위 밴드와 Excel 테이블 밴드는 생성된 워크시트 셀을 검색하지 않고 구체화된 바인딩 열에서 생성된 행당 한 번씩 이미지 대상을 바인딩합니다
버전 2.361.62
추가
TXLSCompiledReportRunner와TXLSReportGenerator는 이제 누락된 이미지 및 지시문 셀 정책과 함께 기존IXLSReportImageProvider를 허용합니다TXLSReportImageBinder.ApplyTarget은 관련 없는 워크시트 셀을 검색하지 않고 사전 컴파일된 하나의 이미지 지시문을 바인딩합니다
변경
{{#image Key}}정확 셀은 형식화된 보고서 대상으로 컴파일되고, 공급자가 구성되지 않으면 변경되지 않으며, 컴파일된 키와 좌표를 러너 세션 간에 재사용합니다
버전 2.361.61
추가
TXLSCompiledReportRunner는 이제 안정적인 워크시트 ID, 원본 및 현재 좌표, 읽기 전용 보고서 데이터, 대상 수, 취소, 실패 세부 정보를 갖춘 쌍을 이루는 통합 문서 및 워크시트 생성 이벤트를 노출합니다TXLSReportGenerator는 템플릿 읽기 및 생성 수명 주기 이벤트를 통해 통합 문서, 파일, 스트림 또는 암호화 파일 템플릿을 실행하며, 제자리 수정 또는 원자적 클론 수정을 선택할 수 있습니다
변경
- 보고서 생성은 원본 워크시트 집합을 고정하고, 콜백 기반 구조 변경 후 다시 컴파일하며, 동일한 통합 문서의 동시 변경을 거부하고, 취소 및 실패 시 입력 이벤트를 쌍으로 묶고, 첫 번째 예외를 유지합니다
- 보고서 스트림은 호출자 소유로 유지되고, 시크 가능한 템플릿 스트림은 위치를 복원하며, 순방향 전용 스트림은 제한된 블록으로 소비됩니다. 스트림, 파일, 암호화 파일 대상은 성공적으로 완료된 후에만 변경됩니다
- 수명 주기 처리기가 없는 컴파일된 보고서는 워크시트 검색, 이벤트 컨텍스트, 대상별 수명 주기 할당 없이 직접 대상 루프를 유지합니다
버전 2.361.60
추가
- XLSX 통합 문서는 이제 패키지 루트 작업 창을 정확하게 검사하고 제거하기 위한
HasWebAddinTaskPanes,WebAddinTaskPaneCount,RemoveWebAddinTaskPanes를 노출합니다
변경
- 웹 추가 기능 작업 창 제거는 이제 변경 전에 제한된 내부 관계 그래프를 검증하고, 공유 및 관련 없는 패키지 파트를 유지하며, 전용 하위 항목과 소유 관계 파트를 제거하고, 콘텐츠 형식을 다시 작성하고, 원본 복사 부활을 방지합니다. 작업은 멱등입니다
- 클래식 XLS 및 ODS 통합 문서는 패키지 콘텐츠를 검색하지 않고 웹 추가 기능 작업 창 제거를 지원되지 않음으로 보고합니다
버전 2.361.59
추가
- 클래식 XLS 및 XLSX 통합 문서는 이제 캐시 지속성과 파일 선언 링크 업데이트 기본 설정을 위한 대응하는
SaveExternalLinkValues및UpdateLinks속성을 노출합니다
변경
- 외부 링크 캐시 값을 비활성화하면 이제 클래식
XCT/CRN레코드 또는 XLSXsheetDataSet콘텐츠만 생략되고, 링크 정의, 정의된 이름, 관계, 알 수 없는 XML, 메모리 내 캐시는 유지됩니다 - 외부 링크 정책은 이제 편집될 때까지 예약된 소스 값을 무손실로 라운드트립하고, XLS와 XLSX 간에 변환되며, 변경되지 않은 압축 패키지 파트를 유지합니다. 외부 파일이나 네트워크 액세스를 시작하지 않습니다
버전 2.361.58
추가
TXLSHTMLExport와TXLSXHtmlExportSession은 이제 현재 HTML 작업이 사용하는 불변RenderGeometry스냅샷을 노출합니다
변경
- 클래식 XLS 및 XLSX HTML 내보내기는 이제 하드 코딩된 변환 계수나 CSS 문자 단위 대신 백엔드별 최대 숫자 폭 지오메트리를 통해 Excel 문자 폭을 고정 CSS 길이로 변환합니다
- 통합 문서, 워크시트, 범위, 증분 다중 시트 HTML 내보내기는 제한된 메트릭 캐시가 있는 하나의 작업 로컬 보정을 캡처하고 저장된 행 높이나 열 너비를 절대 수정하지 않습니다
버전 2.361.57
변경
- PDF, SVG, 비트맵, 인쇄 미리 보기, 통합 문서 뷰어 작업은 이제 백엔드를 인식하는 제한된 메트릭 캐시가 있는 고유한 불변 렌더링 지오메트리 스냅샷을 캡처합니다
- 공유 페이지 렌더링과 SVG 줄 바꿈은 이제 프로세스 전역 GDI 비트맵 및 문자열 목록 상태 대신 작업 로컬 글꼴 측정을 사용하며, 저장된 행 높이와 열 너비는 유지됩니다
버전 2.361.56
변경
- 클래식 XLS 및 XLSX 자동 맞춤은 이제 작업당 하나의 불변 통합 문서 렌더링 지오메트리 서비스를 캡처합니다. 여기에는 보정된 텍스트 측정, 줄 바꿈, 줄 간격, 셀 여백, 실제 XLSX 표시 글꼴이 포함됩니다
- 페이지 매김은 이제 빌드마다 통합 문서 로컬 지오메트리를 캡처하고, 프로세스 전역 표준 글꼴 및 최대 숫자 폭 상태를 제거하며, 저장된 행 높이나 열 너비를 수정하지 않고 보정된 암시적 열 너비를 적용합니다
버전 2.361.55
추가
- 클래식 XLS 및 XLSX 통합 문서는 이제 제한된 로컬 캐시와 공유 폭 변환을 갖추고 자동 맞춤용 프로세스 전역 DPI 또는 기본 폭 캐시가 없는, 불변이며 작업 소유의 지오메트리 및 글꼴 측정 서비스를 만듭니다
버전 2.361.54
추가
- 클래식 XLS 및 XLSX 통합 문서는 이제 검증된
TXLSRenderCalibration값과 함께 이후 렌더링 작업을 위한 독립적인CaptureRenderCalibration스냅샷과ResetRenderCalibration기본값을 노출합니다
버전 2.361.53
추가
- XLSX 로드는 이제 워크시트 프린터 설정 관계가 누락되거나, 형식이 틀리거나, 잘못 연결된 경우
xlsDiagnosticPrinterSettingsRelationshipInvalid를 보고합니다
변경
SaveXLSWorkbookAsXLSX와SaveXLSXWorkbookAsXLS는 이제 형식화된 페이지 설정 필드와 불투명한 프린터 드라이버 바이트를 독립적으로 전달하며, 표준 필드가 중복된 개인 기본값보다 우선합니다
수정
pageSetup이 지정한 관계가 잘못된 경우 XLSX 로드는 더 이상 관련 없는 프린터 설정 파트를 바인딩하지 않습니다- XLSX 대 BIFF8 변환은 이제 대상 바이트를 쓰기 전에 과도하게 크거나 표현할 수 없는 프린터 설정을 거부합니다
버전 2.361.52
추가
- 클래식 XLS 및 XLSX 워크시트는 이제 복사 격리된
PrinterDriverData및HasPrinterDriverData속성과 함께 불투명한 프린터 드라이버 페이로드를 직접 제어하기 위한ClearPrinterDriverData를 노출합니다
수정
- XLSX 프린터 드라이버 데이터 지우기는 이제 지원되지 않는 파트 보존이 활성화된 경우에도 워크시트 관계와 이진 패키지 파트를 제거합니다
버전 2.361.51
변경
- XLSX 로드 및 저장은 이제
pageSetup관계, 콘텐츠 형식 선언,printerSettingsN.bin패키지 파트를 통해 각 워크시트의 이진 프린터 설정을 유지합니다 - 프린터 설정은 동일한 통합 문서 내 및 통합 문서 간 워크시트 복사에서도 바이트 단위로 정확한 독립 소유권으로 유지되며, 변경되지 않은 소스 파트는 원본 압축 페이로드를 유지할 수 있습니다
버전 2.361.50
변경
- 클래식 XLS 로드 및 저장은 이제 완전한 BIFF
PLS프린터 드라이버 페이로드를 바로 뒤따르는 모든Continue세그먼트와 함께 유지합니다 - 프린터 드라이버 페이로드는 워크시트와 함께 딥 복사되고, 정확한 BIFF 크기 청크로
Setup앞에 출력되며, 구조적으로 불완전하거나 1 MiB 안전 한도를 초과하면 거부됩니다
버전 2.361.49
추가
- 클래식 XLS 페이지 설정은 이제 읽기 전용
HasSetupRecord및PrinterSettingsInitialized속성을 노출하여 호출자가 누락되거나 초기화되지 않은 프린터 설정을 정의된 값과 구별할 수 있게 합니다
변경
- 수정되지 않은 클래식 워크시트 저장은 이제 누락된 BIFF
Setup레코드를 그대로 유지하고, 예약 비트와 모델링되지 않은 플래그 비트를 포함하여 기존 34바이트 레코드의 모든 바이트를 보존합니다 - 페이지 설정 setter는 필요한 경우에만 누락된
Setup레코드를 만들고 영향을 받는 속성에 따라 프린터 종속 필드 또는 방향 필드를 초기화합니다
버전 2.361.48
추가
SaveXLSXWorkbookAsXLS는 이제 파일 및 스트림 오버로드를 통해 XLSX 모델 통합 문서를 BIFF8로 변환합니다. 로드된 값, 수식, 핵심 스타일, 병합된 범위, 행 및 열 크기, 통합 문서 날짜 모드, 활성 시트 상태가 유지됩니다
변경
- XLSX 대 XLS 변환은 스타일을 쓰기 전에 하나의 결정적 56색 팔레트를 만들고, 사용 중인 인덱스 슬롯을 유지하며, 직접 색이 BIFF8 용량을 초과하면 가중 OKLab 양자화를 적용합니다
- 변환 경로는 소스 그리드를 구체화하지 않고 로드된 스파스 또는 압축 셀을 순회하고, 대상을 건드리기 전에 BIFF8 한도를 벗어난 좌표를 거부합니다. 이제 Delphi 및 C++Builder ConversionWorkbench 예제에서도 사용할 수 있습니다
버전 2.361.47
추가
- 클래식 XLS 및 XLSX 통합 문서는 이제 현재 56슬롯 팔레트 플랜을 검증하고 원자적으로 적용하는 대응하는
ApplyBiffPalettePlan메서드를 노출합니다 - 클래식 통합 문서는 이제
BiffPaletteSavePolicy를 노출하며, 명시적 BIFF8 최적화 옵션과 기존 팔레트 출력을 유지하는 기본값을 제공합니다
변경
- 팔레트 플랜 적용은 이제 첫 번째 변경 전에 소스 세대, 소스 해시, 모든 슬롯 ID와 색, 집계 수, 보존 잠금, 변경 플래그, 불투명 대상을 검증한 후 캐시된 OKLab 매처를 한 번 다시 만듭니다
- 최적화된 BIFF8 저장은 성공 후 적용된 팔레트를 통합 문서에 남기지만, 출력이 실패하거나 취소되면 56개 소스 색과 원본 세대를 모두 복원합니다. BIFF5 및 비 BIFF 출력 경로는 변경되지 않습니다
버전 2.361.46
추가
- 클래식 XLS 및 XLSX 통합 문서는 이제 소스 팔레트 ID, 잠긴 슬롯, 제안된 색, 집계된 트루컬러 매핑, 정확한 적용 범위, 지각 오차 통계를 포함하는 변경 없는 56슬롯 플랜을 반환하는 대응하는
BuildBiffPalettePlan메서드를 노출합니다
변경
- BIFF 팔레트 계획은 이제 빈 슬롯을 할당하기 전에 인덱스된 소비자와 기존 정확한 색을 유지한 다음, 직접 색과 확인된 테마 색이 남은 용량을 초과할 때만 결정적인 빈도 가중 OKLab 클러스터링을 사용합니다
- 팔레트 플랜 구성은 저장된 스타일과 조건부 서식 메타데이터를 읽되, 팔레트 항목, 사용자 지정 색 개수, 셀, 저장 동작 또는 스파스 스토리지는 변경하지 않습니다
버전 2.361.45
추가
- 클래식 XLS 및 XLSX 통합 문서는 이제 공용 및 물리적 인덱스, 정규화된 ARGB 값, 정의 및 참조 개수, 소비자 종류, 보존 잠금을 포함하는 결정적 56슬롯 인벤토리를 반환하는 대응하는
ScanIndexedColorUsage메서드를 노출합니다
변경
- 인덱스 색 사용 검색은 이제 사용되지 않는 셀을 구체화하거나 통합 문서 상태를 변경하지 않고 통합 문서 스타일 풀, 스파스 셀 참조, 명명된 스타일, 범위 오버레이, 워크시트 눈금선, 도형, 메모, 서식 있는 텍스트, 차트 글꼴, 차등 스타일, 데이터 막대, 색조를 모두 다룹니다
- 인덱스된 조건부 서식 색은 이제 클래식 BIFF와 OpenXML 차등 스타일, 데이터 막대, 색조를 통해 라운드트립됩니다. 워크시트 파트 앞에 차등 스타일 식별자를 출력하는 스트리밍 저장도 포함됩니다
버전 2.361.44
추가
- 클래식 XLS 및 XLSX 통합 문서는 이제 가장 가까운 공용 팔레트 인덱스, 물리적 슬롯, 정규화된 ARGB 값, 제곱 지각 거리, 정확 일치 상태를 반환하는 대응하는
NearestIndexedColor메서드를 노출합니다
변경
- 가장 가까운 인덱스 색 일치는 이제 두 통합 문서 엔진과 레거시 색 관리자 전반에서 하나의 캐시된 OKLab 구현을 공유하며, 결정적인 최저 인덱스 동점 처리와 유효한 팔레트 변경으로 한정된 캐시 업데이트를 수행합니다
- 최근접 색 쿼리는 56개의 물리적 BIFF 팔레트 항목만 검색하고, 부분적으로 투명한 입력을 거부하며, 팔레트나 통합 문서 상태를 절대 수정하지 않습니다
버전 2.361.43
추가
- 클래식 XLS 및 XLSX 통합 문서는 이제 공용 색 인덱스, BIFF
icv값, OOXML 인덱스 색을 분류하고 팔레트, 자동, 시스템 또는 잘못된 메타데이터를 반환하는 대응하는ResolveIndexedColor오버로드를 노출합니다 - 형식화된 인덱스 색 결과는 원시 인덱스, 팔레트 슬롯, 시스템 색 역할, 정규화된 ARGB 값, 구체적인 색이 확인되었는지 여부를 보고합니다
변경
- 자동 색 및 시스템 색 토큰은 이제 현재 Windows 데스크톱을 암시적으로 쿼리하지 않습니다. 구체적인 환경 색이 필요하면 호출자가 명시적 리졸버를 제공할 수 있습니다
- 테마 시스템 색은 이제 저장된 대체 RGB 값을 사용하므로, 로드, 저장 및 헤드리스 처리가 컴퓨터 간에 결정적으로 유지됩니다
수정
- 잘못된 OOXML 인덱스 색 값은 더 이상 불투명한 검은색으로 확인되지 않으며, 레거시 색 관리자 기본값은 이제 정확한 128채널 팔레트 값을 사용합니다
버전 2.361.42
추가
TXLSWorksheet와TXLSXWorksheet는 이제 1부터 시작하는 행 또는 열 요약 노드를 위한 대응하는TryGetOutlineNode,SetOutlineNodeCollapsed,SetOutlineDisplayLevel메서드를 노출합니다
변경
- 워크시트 윤곽 조회와 업데이트는 이제 스파스 엔진 메타데이터를 압축 플랜에 적응시키고, 기본적으로 중첩된 자식 상태를 유지하며, 사용되지 않는 워크시트 좌표를 검색하지 않고 숨김 및 축소 변경을 적용합니다
- OpenDocument 행 및 열 그룹은 이제 직접 메타데이터 변경, 구조 편집, ODS 라운드트립, XLSX 요약 노드 마커 변환 전반에서 네이티브 중첩 표시 상태를 유지합니다
TXLSXWorksheet.ToggleRowGrouped와ToggleColGrouped는 요약 노드 API에 대한 방향 인식 호환성 래퍼로 계속 사용할 수 있습니다
버전 2.361.41
추가
TXLSOutlineGeometry는 이제 멱등 노드 축소/확장 및 1부터 시작하는 윤곽 표시 수준 변경을 위한 압축된TXLSOutlineMutationPlan인스턴스를 만들 수 있습니다- 윤곽 변경 플랜은 명시적인 자식 유지, 축소, 확장 모드를 노출하면서 기본적으로 중첩된 축소 마커를 독립적으로 유지합니다
변경
- 중첩 윤곽 노드 확장은 이제 가시성을 도출할 때 축소된 조상과 축소된 자손을 고려하며, 대량 노드 검색은 선형 단조 스택 패스로 구체화된 범위만 순회합니다
버전 2.361.40
추가
- 새로운 엔진 중립
lxOutline유닛은 정렬된 스파스 범위에서 행 또는 열 윤곽 지오메트리를 만들고, 사용되지 않는 워크시트 좌표를 검색하지 않고 요약 선행/요약 후속 노드, 중첩된 상세 범위, 요약 수준, 숨김 상태, 명시적 축소 마커를 검색합니다
버전 2.361.39
추가
- 클래식 XLS 열 메타데이터는 이제
TXLSColumnInfo.Collapsed와TXLSColumnInfoList.Collapsed를 통해 독립적인 윤곽 축소 마커를 노출합니다
수정
- 클래식 XLS 열 윤곽 축소 마커는 이제 BIFF 라운드트립, 열 서식 복사, 워크시트 복사, 인접 레코드 병합을 통해 유지되며, 정의된 너비, 최적 맞춤, 음성 플래그는 그대로 유지됩니다
버전 2.361.38
수정
- 클래식 XLS 윤곽 요약 열은 이제 왼쪽에서 오른쪽 및 오른쪽에서 왼쪽 워크시트 보기 전반에서 논리적인 왼쪽 또는 오른쪽 위치를 유지하며, 반대쪽
WSBOOL방향 비트를 쓰지 않습니다
버전 2.361.37
추가
- 클래식 XLS 및 XLSX 워크시트는 이제 명시적인 대상 셀 컨텍스트에서 읽기 전용 A1 또는 R1C1 수식 평가를 수행하는
EvaluateFormulaAt를 노출합니다 IXLSFormulaEvaluationTemplate은 불변 수식 앵커를 한 번 컴파일하고,EvaluateAt또는EvaluateAtWithOptions를 통해 다른 셀에서 반복적으로 평가합니다- 수식 평가 옵션에는 이제 수식 길이, 구문 항목 단계, 재귀 깊이, 생성된 배열 바이트에 대한 상한이 포함되며, 소진 시
xlfeResourceLimit로 보고됩니다
변경
- 1회성 평가와 재사용 가능한 평가는 이제 통합 문서 상태를 쓰지 않고 워크시트 로컬 이름, 구조적 참조, 캐시되지 않은 수식 종속성, 배열 루트, 휘발성 상태, 취소, 명시적으로 허가된 외부 참조를 공유합니다
- 기존 통합 문서 및 워크시트
Calculate메서드는 형식화된 컨텍스트 평가기에 대한 호환성 파사드로 유지됩니다
수정
- 컨텍스트 평가는 이제 수식 오류 변형을 유지하며, 구문 분석, 지원되지 않는 함수, 순환 참조, 외부 참조, 취소, 워크시트 수명, 리소스 한도 실패를 구별합니다
- 재사용 가능한 R1C1 템플릿은 이제 다른 대상 셀에서 평가될 때 컴파일 앵커를 기준으로 상대 행 및 열 오프셋을 변환합니다
버전 2.361.36
추가
ConvertExternalDefinedNamesToRefErrors가 클래식 XLS 및 XLSX 통합 문서에서 사용할 수 있게 되었습니다. 확인된 외부 통합 문서 정의된 이름을 일반 셀 수식을 다시 쓰지 않고 분리합니다- 건너뛴 잘못되었거나 지원되지 않는 정의는
xlsDiagnosticDefinedNameConversionSkipped를 통해 보고됩니다
변경
- 이 변환은 선택된 정의를 네이티브
#REF!로 원자적으로 대체하면서 통합 문서 또는 워크시트 범위, 표시 여부, 메모, 매크로 및 기본 제공 플래그, 알 수 없는 특성, 외부 링크 파트를 유지합니다
수정
=[1]!RemoteName과 같은 외부 정의된 이름 슬롯 구문은 이제 선언된 통합 문서 링크를 통해 확인되며, 종속 수식은 다시 계산 중에 결과로 나온 Excel 오류 값을 유지합니다
버전 2.361.35
추가
TXLSWorkbookWorkspace.Recalculate는 이제 강결합 구성 요소 검출과 변경 세대 전파를 갖춘 하나의 통합 문서 간 토폴로지 패스에서 등록된 클래식 XLS, XLSX, ODS 수식 노드를 평가합니다TXLSWorkspaceRecalcResult는 그래프 재사용, 변경 및 평가된 노드, 순환, 차단된 종속 항목, 무효화, 런타임 캐시 적중과 실패를 보고합니다
변경
- 작업 영역은 등록이나 수식 토폴로지가 변경될 때까지 종속성 그래프를 유지합니다. 일반적인 값 편집은 영향을 받는 통합 문서 노드와 그 전이적 종속 항목만 변경된 것으로 표시합니다
- 한 계산 패스에서 반복되는 외부 셀 읽기는 정확한 통합 문서, 워크시트, 행, 열 캐시를 공유하며, 이 캐시는 예약된 각 수식 업데이트 전에 무효화됩니다
수정
- 수식 셀 그래프에 실제 순환이 포함되어 있지 않다면 통합 문서 간 양방향 링크는 더 이상 순환으로 취급되지 않습니다. 순환 구성원과 그 차단된 종속 항목은 오래된 캐시 값을 반환하는 대신 무효화됩니다
- 실패했거나 순환으로 무효화된 작업 영역 세션은 이제 엔진 로컬 변경 상태를 유지하므로, 이후 통합 문서 다시 계산은 부분 패스를 완료로 취급하는 대신 완료되지 않은 수식을 재시도합니다
버전 2.361.34
추가
TXLSWorkbookWorkspace.BuildDependencyGraph는 이제 등록된 클래식 XLS, XLSX, ODS 통합 문서에 걸친 하나의 종속성 그래프를 만들며, 통합 문서, 워크시트, 셀, 사각형 범위, 범위가 지정된 정의된 이름 ID를 유지합니다TXLSWorkspaceDepGraph는 수식 노드, 참조, 에지, 셀 종속, 정의된 이름 종속 쿼리와 함께 성능 검증을 위한 후보 검사 진단을 노출합니다
변경
- 큰 수식 범위는 개별 셀로 확장되지 않고 컴팩트한 구간으로 유지됩니다. 행 구간 트리는 압축된 워크시트 값을 구체화하지 않고 종속 항목 조회와 에지 구성을 모두 정리합니다
- 로컬 정의된 이름은 기호 종속성과 정적으로 확인된 셀 또는 범위 종속성을 모두 유지하고, 외부 정의된 이름은 선언된 외부 통합 문서 슬롯, 이름, 워크시트 범위를 유지합니다
수정
- 수식 파서가 선택적 외부 통합 문서 접두사를 검사하는 동안 일반 정의된 이름이 더 이상 지워지지 않습니다
버전 2.361.33
추가
TXLSWorkbookWorkspace.OnLoadWorkbook은 이제 정규화된 ID당 최대 한 번, 호출자가 제어하는 정책을 통해 외부 통합 문서를 요청할 수 있으며,ResolveWithLoader는 형식화된 찾을 수 없음, 오류, 순환, 리소스 한도 진단을 보고합니다MaxLoadDepth,MaxWorkbookCount,ResetLoadAttempts는 외부 통합 문서 로드를 위한 명시적 상한과 재시도 제어를 제공합니다
변경
- 동시에 발생하는 외부 통합 문서 요청은 이제 하나의 진행 중 로드 결과를 공유하고, 중첩 재진입은 스레드 간 로드 순환에서 대기하지 않고 거부됩니다. 기본 작업 영역은 여전히 파일 시스템이나 네트워크 액세스를 수행하지 않습니다
버전 2.361.32
추가
- 클래식 XLS 통합 문서는 이제
CreateWorkspaceWorkbook,RegisterExternalWorkbook,UnregisterExternalWorkbook,ExternalWorkspace를 노출하여 클래식, XLSX, ODS 통합 문서가 하나의 엔진 중립 작업 영역을 통해 외부 수식 값을 제공할 수 있게 합니다 - 클래식 XLS 외부 링크 캐시는 이제 형식화된 XCT 및 CRN 레코드에서 숫자, 문자열, 부울, 오류, 빈 값을 디코딩하여 워크시트를 구체화하지 않고 스파스 상수 시간 조회에 저장합니다
변경
- 외부 수식 평가는 이제 위치 기반 대체 전에 워크시트 이름을 확인하고, 명시적으로 등록된 라이브 통합 문서를 먼저 읽은 다음 형식화된 파일 캐시를 읽은 후
#REF!를 반환하는 일관된 순서를 따릅니다. 파괴된 등록은 암시적 파일이나 네트워크 액세스 없이 취소됩니다 - 따옴표로 묶인 외부 통합 문서 ID는 URI 체계, Windows 드라이브 문자, 기타 콜론을 포함할 수 있으며 3차원 워크시트 범위 구분 기호로 오인되지 않으므로, 수식 가져오기 중에도 ODF 외부 소스 IRI는 그대로 유지됩니다
버전 2.361.31
추가
TXLSWorkbookWorkspace,IXLSWorkspaceWorkbook,TXLSXWorkbook.CreateWorkspaceWorkbook은 명시적인 확인 상태, 세대 추적, 취소 가능한 통합 문서 어댑터를 갖춘 스레드로부터 안전한 외부 통합 문서 ID 및 등록 기반을 제공합니다
변경
TXLSXWorkbook.RegisterExternalWorkbook은 이제 경로와 확장명을 유지하고, 소유 통합 문서를 기준으로 상대 관계 대상을 확인하며, 모호한 별칭이나 동일 기본 이름 대상을 조용히 하나를 선택하는 대신 거부하고, 대상 통합 문서가 파괴되면 등록을 취소하며, 암시적 파일이나 네트워크 액세스 없이 형식화된 외부 링크 캐시 대체를 유지합니다
버전 2.361.30
추가
- 클래식 및 XLSX 읽기 전용 통합 문서 보기는 이제
xlsvEvaluateFormulas를 통해 요청 시 수식을 평가하고 저장된 수식 캐시를 대체하지 않고FormulaEvaluation으로 독립적인 결과를 보고할 수 있습니다
변경
- 동시에 사용되는 읽기 전용 보기는 이제 수식 재귀 플래그, 스칼라 결과, 컴파일된 XLSX 수식, 배열 행렬을 격리합니다. XLSX 외부 수식은 파일 로컬 외부 링크 캐시만 사용하며 라이브 통합 문서 등록을 역참조하지 않습니다
수정
- XLSX 외부 링크 캐시 값은 이제 외부 XTI 레코드가 전달하는 1부터 시작하는 워크시트 인덱스를 올바른 0부터 시작하는 캐시된 시트 항목으로 확인합니다
버전 2.361.29
추가
- XLSX 통합 문서는 이제
IXLSXWorkbookOwner.CreateReadOnlyView를 노출합니다. 보기 로컬 활성 시트, 값 기반의 구체화 및 압축 셀 스냅샷, 캐시된 수식 결과, 옵트인 수식 텍스트, 안전한 소유자/보기 해제 순서, 즉시 실패하는 쓰기 배제가 포함됩니다
변경
- XLSX 읽기 전용 보기는 로컬에 저장된 외부 수식 캐시만 사용하며 약한 라이브 통합 문서 등록을 역참조하지 않습니다
버전 2.361.28
추가
- 클래식 통합 문서는 이제 상수 시간 공유 모델 보기를 위한
CreateReadOnlyView와IXLSReadOnlyWorkbookView를 노출합니다. 독립적인 활성 시트, 값 기반 셀 스냅샷, 캐시된 수식 결과, 옵트인 수식 텍스트, 참조 횟수 소유자 수명, 즉시 실패하는 쓰기 배제가 포함됩니다
버전 2.361.27
추가
- 클래식, XLSX, ODS 통합 문서는 이제 안전한 수명 무효화를 갖춘 엔진 중립 수식 캐시 검사를 위한
CreateFormulaCacheReader와 공유IXLSFormulaCacheReader인터페이스를 노출합니다
변경
- 공유 수식 캐시 검사는 이제 각 구성원의 독립적인 저장 결과를 유지하므로, 캐시된 값이 없는 후속 구성원은 루트 구성원의 값을 상속하는 대신 누락을 보고합니다
버전 2.361.26
추가
TXLSXWorkbook.TryGetCachedFormulaValue는 이제 계산이나 통합 문서 변경 없이 XLSX 및 ODS 수식 캐시의 존재 여부, 출처, 값 종류를 보고합니다
수정
- XLSX 및 ODS 수식 캐시는 이제 저장과 다시 열기 전반에서 누락된 결과와 명시적 빈 결과, 빈 문자열, 부울 false, 숫자 0, 형식화된 오류, 명시적 날짜를 유지합니다. 변경된 수식은 더 이상 오래된 캐시 결과를 직렬화하지 않습니다
버전 2.361.25
추가
- 클래식 통합 문서는 이제 명시적인 캐시 존재 여부, 출처, 값 종류를 갖춘
TryGetCachedFormulaValue를 노출하여 계산, 사용자 함수 콜백, 토큰 역컴파일, 통합 문서 변경 없이 저장된 수식 결과를 읽을 수 있습니다
수정
- 클래식 XLS 수식 부울 및 오류 캐시는 이제 일반 수식과 공유 수식 모두에서 지정된 BIFF 페이로드 바이트를 사용하며, 로드된 오류 결과는 저장과 다시 열기 전반에서 형식화된
varError값으로 유지됩니다
버전 2.361.24
추가
- 클래식 및 XLSX 통합 문서는 이제 독립적으로 스타일이 지정된 저장된 빈 셀을
xlckBlank스냅샷으로 포함할 수 있는CreateLoadedCellCursor(Boolean)오버로드를 제공합니다
변경
- 옵트인 빈 셀 순회는 워크시트, 행, 열 순서를 유지하고, 압축된 XLSX 저장소를 압축 상태로 유지하며, 상속된 서식 좌표와 스타일 없는 Empty 및 Null 자리 표시자를 제외합니다
버전 2.361.23
추가
- XLSX 통합 문서는 이제 워크시트 전반에서 저장된 값 셀과 수식 셀을 상수 상태로 행 우선 순회하기 위한
TXLSXWorkbook.CreateLoadedCellCursor를 노출합니다 TXLSLoadedCellKind에xlckError가 포함되어 저장된 XLSX 오류 값이 고유한 값 종류를 유지합니다
변경
- XLSX 커서는 셀을 정렬하거나 압축된 값을 구체화하지 않고 구체화된 스파스 행 블록 또는 압축 저장소를 직접 순회하며, 수식 스냅샷은 다시 계산하지 않고 현재 저장된 캐시 값을 반환합니다
- 통합 문서 전체 토폴로지 변경과 통합 문서 해제는 공유 수명 리스를 통해 XLSX 커서를 무효화하는 반면, 기존 셀 내용 편집은 순회를 유효하게 유지하고 캡처된 스냅샷은 소유된 상태로 유지합니다
버전 2.361.22
추가
- 클래식 통합 문서는 이제 워크시트 전반에서 저장된 값 셀과 수식 셀을 상수 상태로 행 우선 순회하기 위한
IXLSWorkbook.CreateLoadedCellCursor를 노출합니다 TXLSLoadedCellSnapshot은 소유된 시트 ID, 1부터 시작하는 좌표, 스타일, 값 종류, 값, 수식 텍스트를 반환하며 내부 셀 개체는 노출하지 않습니다
변경
- 로드된 셀 커서는 셀 토폴로지, 워크시트 컬렉션, 통합 문서 모델 교체 변경 후 즉시 실패하는 반면, 기존 셀 내용 편집은 순회를 유효하게 유지하고 이전에 캡처된 스냅샷은 변경되지 않습니다
버전 2.361.21
추가
- 클래식 및 XLSX 워크시트 셀 저장소와 워크시트 컬렉션은 이제 안전한 장기 순회를 위한 독립적인 구조 세대 카운터를 노출합니다
XlsValidateStructureGeneration과EXLSLoadedCellCursorInvalidated는 로드된 셀 판독기 위한 하나의 즉시 실패 검증 계약을 제공합니다
변경
- 셀 생성, 제거, 지우기, 좌표 재정렬, 압축 저장소 전환, 인덱스 다시 작성, 워크시트 추가/삭제/이동 작업은 해당 세대를 진행합니다. 기존 셀 내용 편집, 워크시트 이름 바꾸기나 활성화, no-op 변경은 세대를 안정적으로 유지합니다
버전 2.361.20
추가
TXLSForwardReader는 이제 XLS, XLSX, CSV, TSV와 동일한 콜백 표면으로 ODS 입력을 받아들입니다PeakRowBufferedBytes와SheetPassesStarted는 공유 행 백엔드의 최대 논리 행 작업 집합과 성공한 워크시트 패스 수를 노출합니다
변경
TXLSForwardReader는 이제 지원되는 모든 형식에 대해TXLSRowCursor를 적응시키며, 별도의 검색 경로를 유지하는 대신 행 경계, 열 프로젝션, 수식 상태, 서식 있는 텍스트, 암호, 건너뛴 레코드, 스트림 위치 동작을 공유합니다- 순방향 판독기 시트 인덱스는 일관되게 1부터 시작하며,
OnSheet에서 건너뛴 워크시트는 열리거나 압축 해제되지 않습니다
버전 2.361.19
추가
TXLSRowCursor는 이제 명시적인 closed, before-first, active, EOF, cancelled, faulted 상태를 노출하고, 소스를 닫지 않고 활성 워크시트 스트림을 해제하는 멱등Cancel메서드를 갖춥니다CurrentRowView는 셀 배열을 복제하지 않고 세대 검사를 거친 현재 행의 빌린 보기를 제공합니다. 커서를 전진하거나, 시트를 선택하거나, 취소하거나, 닫거나, 파괴하면 이전 보기는EXLSRowCursorViewInvalidated로 무효화됩니다- 스트림 열기는 이제
xsoBorrowed또는xsoOwned를 받아들여 성공적으로 연 후에만 소유권을 이전하며,PeakRowBufferedBytes는 마지막 열기 이후의 예상 최대 논리 행 버퍼를 보고합니다
변경
- 워크시트 파트 및 패스 시작 실패는 이제 원본 읽기 예외를 유지하고 취소나 정상 EOF로 나타나는 대신 커서를 faulted 상태로 둡니다. 시트를 명시적으로 선택하면 재시도를 위해 패스가 초기화됩니다
버전 2.361.18
추가
TXLSDirectCell과TXLSRowCursorCell은 이제HasFormula와FormulaTextAvailable을 노출하여 일반 값, 텍스트를 사용할 수 있는 수식, 텍스트가 억제되었거나 사용할 수 없는 수식을 구별합니다TXLSDirectReader,TXLSForwardReader,TXLSRowCursor는 이제IncludeFormulaText를 제공합니다. 비활성화하면 캐시된 값, 좌표, 스타일, 수식 존재 여부는 유지되면서 XLSX 및 ODS 스트림에서 수식 텍스트 누적을 피합니다
변경
- 행 경계와 열 프로젝션은 이제 값, 수식, 서식 있는 텍스트 할당 전에 XLS, XLSX, ODS, CSV, TSV 백엔드로 푸시됩니다. ODS 반복 열 범위는 선택된 열 사이를 직접 이동하고 반복 행 블록은 요청된 범위로 잘립니다
- 행 커서 패스 옵션은 워크시트 패스가 활성인 동안 고정되고 EOF, 시트 선택, 닫기 후에 다시 변경 가능해지므로, 하나의 패스가 호환되지 않는 필터나 디코딩 설정을 섞는 것을 방지합니다
버전 2.361.17
추가
TXLSRowCursor는 이제 ODS 파일과 호출자 소유 스트림을 열고, mimetype 또는content.xml로 ODS 패키지를 자동 검출하고, 워크시트 이름을 미리 로드하며, 통합 문서를 구체화하지 않고FindFirst와FindNext로 선택된 테이블을 스트리밍합니다
변경
- ODS 행 순회는 반복 행과 열을 지연 확장하고, 덮인 셀을 독립적인 값으로 생략하며, 스타일이 지정된 빈 셀과 캐시된 수식 값을 유지하고, 빌린 스트림 위치를 복원합니다. 잘못되었거나 그리드 한도를 초과하는 반복 횟수는
OnSkippedRecord를 통해 보고됩니다
버전 2.361.16
추가
TXLSRowCursor는 이제 CSV 및 TSV 파일이나 호출자 소유 스트림을 스트리밍하며, UTF-8 및 UTF-16 BOM 검출, 여러 줄 인용 레코드, 이스케이프된 따옴표, 쉼표, 세미콜론, 탭, 파이프 구분 기호 추정, 선택적 구분 기호 재정의, 선택적 숫자, ISO 날짜, 부울, 오류 형식 인식을 갖춥니다
변경
TXLSForwardReader와TXLSRowCursor는 이제 하나의 일시 중지 가능한 텍스트 행 백엔드를 공유하며, 동일한 콜백 및 풀 결과를 유지하면서 전진하기 전에 이전 행의 Variant, 수식, 서식 있는 텍스트 페이로드를 해제합니다
버전 2.361.15
추가
TXLSRowCursor는 이제 파일이나 스트림에서 클래식.xls통합 문서를 열고 BIFF 복합 컨테이너를 자동 검출하며, 현재 논리 행만 유지하면서 캐시된 숫자 또는 문자열 수식 결과와 저장된Blank및MulBlank셀을 반환합니다
변경
- 행 커서
Open오버로드는 선택적TXLSForwardFormat을 받아들입니다. 파일 열기는 내부 BIFF 스트림을 소유하고, 스트림 열기는 호출자의 스트림을 빌려Close에서 초기 위치를 복원하며, 반복되는FindFirst패스는 선택된 워크시트로 직접 이동합니다
버전 2.361.14
추가
- 수식 계산이 이제
ISFORMULA를 지원합니다. 개별 셀, 시트 간 참조, 사각형 범위에 적용되며, 참조된 수식을 평가하지 않고 범위 입력에 대해 동일한 모양의 부울 배열을 반환합니다
변경
- 수식 존재 검사는 일반 값과 빈 셀, 공유 수식 구성원, 클래식 및 XLSX 배열 수식 구성원, 동적 배열 앵커, 동적 스필 자식을 구별합니다. 생성된 배열은
FormulaArrayMemoryLimit에 의해 제한됩니다 - XLSX는
_xlfn.접두사와 함께ISFORMULA를 저장하고, ODS는 표준 OpenFormula 표기를 출력하며, 클래식 XLS 저장은 부분 스트림을 커밋하지 않고 지원되지 않는 미래 함수를 거부합니다
수정
- 수식 텍스트 구문 분석은 이제 7가지 표준 Excel 오류 리터럴을 인식하여
#REF!가 참조 전용 함수를 통해 전파될 수 있으며, 스칼라로 확인되는 정의된 이름은#NAME?대신#VALUE!를 보고합니다
버전 2.361.13
추가
- 수식 계산이 이제
UNICHAR를 지원합니다. 보조 문자와 사용자 영역 문자를 포함한 유니코드 스칼라 값 범위 전체를 다루며, 0, 범위를 벗어난 값, 서러게이트 코드 포인트, 유니코드 비문자에 대해 Excel 호환 오류를 반환합니다 - 수식 계산이 이제
BAHTTEXT를 지원합니다. 태국 바트와 사탕 텍스트, 0에서 멀어지는 방향의 소수 2자리 중간 반올림, 음수, 반복되는 백만 그룹, 유한한 과학적 표기 입력을 다룹니다
변경
UNICHAR와BAHTTEXT는 로컬 오류를 유지하면서 범위와 생성된 배열을 요소별로 매핑합니다. XLSX는UNICHAR를 미래 함수 접두사와 함께 저장하고,BAHTTEXT는 XLS와 XLSX 모두에서 표준 접두사 없는 함수로 유지됩니다
버전 2.361.12
추가
- 수식 계산이 이제
COMBINA와PERMUTATIONA를 지원합니다. 잘린 비음수 인수, 검사된 오버플로, 싱글턴 배열 브로드캐스팅, 요소별 오류를 다루고, 고정 차원 상한이 없는MUNIT단위 행렬도 지원합니다 - 클래식 및 XLSX 통합 문서는 기본 64 MiB인
FormulaArrayMemoryLimit를 노출하여 병렬 XLSX 다시 계산 작업자를 포함한 생성된 수식 배열 페이로드에 상한을 둡니다
변경
PERMUTATIONA는 로그 지수 계산을 사용하고,COMBINA는 곱셈 점화식을 단축하며,MUNIT은 대각선만 쓰면서 컴팩트한 숫자 행렬을 할당합니다
수정
- 숫자 수식 배열이 더 이상 스칼라 숫자로 분류되지 않으며, 새로 만든 클래식 통합 문서는 첫 저장 전 수식 계산 중에 BIFF97 그리드 한도를 적용합니다
버전 2.361.11
추가
- 수식 계산이 이제
COT,ACOT,COTH,ACOTH,CSC,CSCH,SEC,SECH를 지원합니다. 스칼라 및 브로드캐스트 배열 피연산자에 걸쳐 주값, 정의역, 특이점, 유한 입력, 큰 인수 규칙이 적용됩니다
수정
- 매핑된 수식 함수는 이제 직접적인 스칼라 실패를 스프레드시트 오류 값으로 유지하고, 큰 유효 입력에 취소에 강한 역수 및 지수 꼬리 분기를 사용하며,
_xlws.없이 정확한_xlfn.이름을 쓰고, 지원되지 않는 클래식 BIFF 수식을 깔끔하게 거부합니다
버전 2.361.10
추가
- 수식 계산이 이제
CEILING.MATH와FLOOR.MATH를 지원합니다. 생략 가능한 기준 및 모드 인수, 부호에 독립적인 기준, 정확한 소수 배수 경계, 지정된 음수 모드 방향을 다룹니다
변경
- 수식 수준 배열 함수는 이제 싱글턴 행 및 싱글턴 열 브로드캐스팅, 1회 범위 스냅샷, 요소별 변환 또는 계산 오류를 갖춘 선형 요소 매퍼를 공유할 수 있습니다. XLSX는 두 새 함수 모두에
_xlfn.접두사를 사용하며, 클래식 BIFF 저장은 지원되지 않는 수식을 깔끔하게 거부합니다
버전 2.361.9
추가
- 수식 계산이 이제
SORTBY를 지원합니다. 안정적인 다중 키 행 또는 열 정렬, 독립적인 오름차순/내림차순 방향, 생략된 방향 기본값, 범위 또는 생성 배열 키를 다루며, 1회 소스 및 키 스냅샷 후 O(n log n) 정렬을 수행합니다
수정
- 클래식 BIFF 저장은 이제 내부 미래 함수 식별자가 거부된 후 성공을 보고하는 대신 수식을 표현할 수 없을 때 깔끔하게 실패하며, XLSX는
_xlfn.을 붙여SORTBY를 쓰고_xlws.를 절대 추가하지 않습니다
버전 2.361.8
변경
- 워크시트 0 숨기기 모드는 이제 통합 문서 뷰어, 미리 보기, 인쇄, 비트맵, EMF, SVG, PDF, 클래식 HTML, XLSX HTML 경로 전반에서 하나의 원시 값 판정을 사용합니다. 실제 숫자 0은 숫자 서식 지정과 텍스트 측정 전에 숨겨지고, 수식 표시 모드는 우선 순위를 유지합니다
수정
- XLSX 워크시트 보기는 이제 하나의 설정을 통해 0 숨기기 상태를 구문 분석, 쓰기, 복사하고, 1904 날짜 기준을 올바르게 처리하며, 숨겨진 0 셀의 조건부 서식 시각 효과와 하이퍼링크 지오메트리를 유지합니다. 저장된 값, 공개 서식 텍스트, CSV, ODS 출력은 변경되지 않습니다
버전 2.361.7
변경
- 워크시트 수식 표시 모드는 이제 통합 문서 뷰어, 미리 보기, 인쇄, 비트맵, EMF, SVG, PDF, 클래식 HTML, XLSX HTML 경로 전반에서 보호 셀을 인식하는 하나의 텍스트 판정을 사용합니다. 수식 텍스트는 표준 정렬 아래에서 텍스트 정렬을 사용하고, 명시적 정렬을 유지하며, 인접 셀로 넘치지 않고 영구적이지 않은 2배 유효 레이아웃 폭을 받습니다
수정
- XLSX 워크시트 보기는 이제
showFormulas="1"과showFormulas="true"를 모두 받아들이고, 동일한 통합 문서 내 및 통합 문서 간 워크시트 복사 중에 설정을 유지하며, 수식 캐시, CSV 출력, ODS 지속성, 공개 서식 값 계약을 변경하지 않고 필요한sheetView상태를 출력합니다
버전 2.361.6
변경
- XLSX 외부 통합 문서 수식은 이제
OnlyExternal변환, 수식 진단, 계산 바인딩, 통합 문서 간 복사, 생성된 수식 직렬화 전반에서 하나의 문법 인식 통합 문서 접두사 어휘 분석기를 공유합니다. 숫자 링크 슬롯은 정준이며, 구조적 참조, 문자열 리터럴, 잘못된 인덱스, 모호한 파일 이름 접두사는 안전하게 실패합니다 TXLSXExternalLink는 이제 소스RelationshipId, 1부터 시작하는SourceSlot, 형식화된LinkKind를 노출하므로, 컬렉션 순서나 대상 텍스트에서 ID를 추론하지 않고 통합 문서, DDE, OLE, 확인되지 않은 외부 참조 항목을 감사할 수 있습니다
수정
- XLSX 외부 링크 대상이나 시트 목록 변경은 이제 모든 셀을 다시 검색하는 대신 수정 버전별로 컴파일된 외부 수식 바인딩을 무효화하며, 관계 파일이 없는 변경되지 않은 DDE 또는 OLE 외부 링크 파트는 저장 중에도 바이트 단위로 보존됩니다
버전 2.361.5
수정
- XLSX 외부 통합 문서 수식 슬롯은 이제 관계 파일 순서 대신
workbook.xml외부 참조의 문서 순서를 따릅니다. 누락, 미확인, 잘못된 형식의 관계는 빈 슬롯을 유지하므로 이후[N]참조가 이동하지 않습니다
버전 2.361.4
변경
OnlyExternal을 사용한 클래식 XLS 수식 고정은 이제 보존된 BIFF 참조를 분류하고 확인된 외부 통합 문서 수식만 변환하며, 내부, 추가 기능, DDE/OLE, 잘못된 참조는 수식으로 유지됩니다
수정
- 등호나 아포스트로피로 시작하는 수식 결과는 이제 값 변환 중에도 리터럴 문자열로 유지되며, 배열 수식 그룹은 루트 또는 스필 수식이 해제되기 전에 스냅샷됩니다
버전 2.361.3
변경
- 클래식 XLS 지원 링크와 외부 시트 인덱스는 이제 자체, 동일 시트, 추가 기능, 외부 통합 문서, DDE/OLE, 미사용, 알 수 없는 레코드에 대해 상한이 있는 형식화된 분류를 사용합니다
수정
- 잘못된 지원 링크 페이로드는 다른 링크 형식으로 재구성되는 대신 바이트 단위로 보존되며, 잘린 외부 시트 테이블은 더 이상 레코드 데이터를 넘어 읽지 않습니다
버전 2.361.2
수정
- 클래식 XLS 수식은 이제 외부 정의된 이름 토큰의 0부터 시작하는 XTI 인덱스를 첫 번째 항목을 포함하여 올바른 내부 외부 시트 항목으로 확인합니다
버전 2.361.1
수정
- 다이렉트 XLSX 작성기는 이제 기본 SpreadsheetML
showDropDown억제 플래그를ShowDropDown이 비활성화된 경우에만 출력하며, 공개 표시 지향 API 의미 체계를 유지합니다
버전 2.361.0
추가
- 차트 계열에
CategoriesMultiLevel이 추가되었습니다. 설정하면 범주를 평면 문자열 참조 대신multiLvlStrRef(계층적 축 레이블)로 출력합니다. 저장된 차트에서 라운드트립 복원을 지원합니다
버전 2.360.0
수정
- 클래식 XLS 이름 메모는 이제 올바른
NAMECMT레코드 식별자($0894)를 사용합니다. 이전에 사용된 식별자($0019)는 BIFF 사양에 따라WINDOWPROTECT에 속합니다
추가
- 클래식 통합 문서의
WindowProtected는WINDOWPROTECT레코드($0019)를 통해 통합 문서 창 보호 플래그를 라운드트립하며, 속성을 명시적으로 쓰지 않는 한 캡처된 원시 레코드 본문이 우선합니다
버전 2.359.0
추가
- 차트 데이터 테이블은 모든 테두리를 항상 그리는 대신 독립적인
showHorzBorder/showVertBorder/showOutline스위치를 노출합니다 - 꺾은선형 차트에는 드롭 선(
HasDropLines)이, 누적 막대형 차트에는 계열선(HasSeriesLines)이 추가되었으며 둘 다 라운드트립됩니다.LegendDeleted를 통해 계열을 그려진 상태로 유지하면서 범례에서 개별적으로 제거할 수 있습니다
버전 2.358.0
추가
- 보고서 밴드에 고정 및 빈 데이터 집합 의미 체계가 추가되었습니다. 데이터 집합이 비어 있을 때
EmptyBandPolicy는 템플릿 행을 유지, 지우기 또는 삭제하고(확인되지 않은 자리 표시자가 더 이상 남지 않음),FixedBand는 오버레이 스타일 양식 밴드를 위해 아무것도 삽입하지 않고 아래 행에 복사본을 쓰며,DeleteLastRow는 마지막 복사본을 접어 뒤따르는 콘텐츠가 맞닿게 합니다(X 범위 동작)
버전 2.357.0
추가
- PDF 내보내기는
FontFile3OpenType 스트림과CIDFontType0하위 글꼴을 통해 CFF 윤곽이 있는 독립형 OpenType 글꼴을 포함할 수 있습니다. 자동 및 전체 모드는 완전한 글꼴 프로그램을 유지하고, 필요한 하위 집합을 사용할 수 없으면 출력이 커밋되기 전에 실패합니다 OnGetFontDirectories는 요청된 글꼴 패밀리와 스타일에 대해 세미콜론으로 구분된 디렉터리를 제공합니다. 수락된 트리는 한 번만 재귀적으로 검색되고 캐시된 대체 확인을 위해 내부 글꼴 메타데이터로 인덱싱됩니다
변경
- OpenType GPOS 또는 레거시 커닝 데이터를 포함하는 포함 글꼴은 이제 복합 스크립트뿐 아니라 단순 텍스트에도 위치가 지정된 글리프 전진 폭을 사용하므로, 측정, 줄 바꿈, 정렬, PDF 글리프 배치의 일관성이 유지됩니다
버전 2.356.0
추가
- PDF 글꼴 포함이 구성 가능한 4모드 정책이 되었습니다.
FontEmbedding은 기존의 자동 동작, 필요한 하위 집합화, 전체 프로그램 포함, 또는 CID 매핑과 ToUnicode 테이블은 남기고 프로그램을 제거하는 맵 전용 글꼴 중에서 선택합니다. PDF/A는 맵 전용 출력을 거부합니다 OnFontEmbed이벤트는 메트릭과 글리프 매핑이 확인되기 전에 유니코드 글꼴마다 한 번 발생하고 이름과 파일 경로를 받으며, 명시적인Handled계약을 통해 글꼴별 모드 또는 대체 글꼴 바이트를 받아들일 수 있습니다
버전 2.355.0
추가
- 클래식 XLS 다시 계산은 이제 지연 구축되는 종속성 그래프를 사용하고, 입력 변경을 전이적 종속 항목에만 전파하며, 휘발성 수식을 매 패스마다 다시 계산하고, 스파스 셀 힙 전체를 다시 검색하는 대신 종속 순서로 수식을 평가합니다
- 클래식 XLS 순환 참조는 이제
EnableIteration,MaxIterations,MaxIterationChange를 따릅니다. 강결합 구성 요소가 독립적인 순환을 분리하고 결정적으로 반복한 후 다운스트림 수식을 계산합니다 - PDF/A-3 연결 파일에 상세한
AddAttachment오버로드가 추가되었습니다. 유니코드 표시 이름, 설명, 수정 시간, 이스케이프된 MIME 이름, 바이트 크기 메타데이터, Source, Data, Alternative, Supplement 또는 Unspecified 관계를 지원합니다 TXLSPDFWriter는 통합 문서 없이 독립형 PDF 문서를 만듭니다. 명시적인 페이지 크기, 다중 페이지 출력, 사각형, 선, 타원, 측정된 스타일 텍스트, 좌표 변환, 사각형 클리핑, 그래픽 상태 제어를 갖춥니다
변경
- 클래식 XLS에서
UseFullPrecision을 비활성화하면 이제 수식과 What-If 데이터 테이블 캐시 결과가 종속 수식이 사용하기 전에 유효 표시 숫자 정밀도로 반올림됩니다. 백분율 서식과 0에서 멀어지는 방향의 중간 반올림이 포함됩니다
수정
- 클래식 수식 다시 계산은 이제 네이티브 0부터 시작하는 셀 좌표를 사용하고, 계산 실패가 성공 캐시에 들어가지 않으며, 종속 배열 함수를 통한 오류 전파를 유지합니다
버전 2.354.0
추가
- 차트 축에 교차 모드 열거형(
Crosses: autoZero / max / min. 명시적인CrossesAt이 설정되지 않으면crosses로 출력)과 축별 주/보조 눈금 표시 스타일(in,out,cross)이 추가되었으며 모두 라운드트립됩니다 - 차트의
AutoTitleDeleted는 하드 코딩된 자동 제목 플래그를 대체하며, 설정하면 계열에서 파생된 제목을 억제합니다
버전 2.353.0
추가
- 차트 계열에 곡선 렌더링을 위한
Smooth/SmoothSet와 명시적 마커 색을 위한MarkerFillColor/MarkerBorderColor가 추가되었습니다. 둘 다 저장과 열기를 통해 유지되며, 공유 렌더러는 다듬어진 세그먼트를 2차 곡선으로 그리고 마커 색을 사용합니다
버전 2.352.0
추가
- 차트 영역 서식이 라운드트립됩니다.
RoundedCorners, 명시적 차트 배경 및 테두리 색, 플롯 영역 배경색이 저장과 열기를 통해 유지되며, 공유 차트 렌더러는 회색 위에 흰색을 그리는 대신 배경색과 테두리 색을 사용합니다 - 차트 보호 스위치는 단일 마스터 뒤에서 라운드트립됩니다.
ProtectionEnabled와ProtectedChartObjects,ProtectedDataEditing,ProtectedFormatting,ProtectedSelection,ProtectedUserInterface가 OOXMLprotection요소를 출력하고 구문 분석합니다
버전 2.351.0
변경
- 공유 페이지 매김 렌더러의 가로 및 세로 막대형 차트는 이제 플롯 그룹의 레이아웃 옵션을 따릅니다. GapWidth가 클러스터 크기를 정하고, Overlap이 인접 막대를 넓히고 당겨 오며, 누적 / 백분율 누적 그룹화는 계열을 나란히 그리는 대신 범주마다 전체 클러스터를 하나의 막대로 누적합니다
버전 2.350.0
추가
- 통합 문서 간 범위 복사는 이제 모든 셀 스타일을 값 기준으로 대상 통합 문서의 글꼴, 채우기, 테두리, 숫자 서식, 정렬, 보호 풀에 다시 매핑하므로, 열려 있는 두 통합 문서 간의
CopyRangeTo와CloneRangeTo는 풀 순서와 무관하게 서식을 유지합니다 - 클래식 XLS 통합 문서는 숫자 및 날짜 기본 제공 문서 속성을 라운드트립합니다.
CreatedDate,LastSavedDate,RevisionNumber,EditTimeMinutes가 OLE SummaryInformation 스트림을 통해 유지되며, 0 값은 건너뛰고 전체 지우기 시 제거됩니다
버전 2.349.0
추가
- 클래식 XLS 통합 문서는 구조화된 속성 뒤에서 공유 통합 문서 수정 버전 보호 상태를 노출합니다.
SharedRevisionProtected와SharedRevisionPasswordHash는 라운드트립되며, 속성을 명시적으로 쓰지 않는 한 구문 분석된 파일에서 캡처된 원시 레코드 본문이 우선합니다 - 보고서 암호화 인식:
TXLSCompiledReportTemplate.CreateEncrypted가 암호로 보호된 템플릿을 직접 열고,RunToEncryptedFile이 한 번의 호출로 보고서를 실행하고 ECMA-376 암호화 결과를 씁니다
버전 2.348.0
추가
- 두 엔진 모두를 위한 클립보드 붙여넣기 옵션:
PasteFromClipboard가 값만(캐시된 결과를 유지하고 수식, 서식, 병합 건너뜀)과, 블록이 놓이기 전에 기존 내용을 이동하는 행 삽입 / 열 삽입 모드를 받아들입니다 - 순방향 판독기가 건너뛴 콘텐츠를 보고: 다이렉트 판독기, 행 커서, 순방향 판독기가
OnSkippedRecord를 노출합니다. 잘못된 셀 참조가 건너뛰어지거나 BIFF 시트 검색이 잘리거나 일치하지 않는 레코드로 중단될 때 발생합니다
버전 2.347.0
추가
- 보고서 테이블 셰이핑 조합기:
Filter는 일치하는 행을 지연 스트리밍하고,Sort는 안정적인 다중 키 정렬을 수행하며,Distinct는 키 튜플당 첫 번째 행을 유지합니다 - 데이터 소스 어댑터:
FromDataSet은 열린TDataSet의 스냅샷을 보고서 테이블로 만들고(필드 이름이 열이 되고 데이터 집합 위치는 복원됨),FromObjects는 임의 개체 목록과 배열의 게시된 속성을 열에 매핑합니다 - 양방향 보고서 밴드:
RunBidirectional을 통해 각 마스터 행이 관련 자식 테이블에서 자체 열을 구동합니다. 짧은 행이 남는 클론을 비워 두는 들쭉날쭉한 열 레이아웃이 생성됩니다 PreprocessAndRun은 템플릿을 두 번 실행합니다. 첫 번째 패스는 값을 채우고 구조 지시문을 실행하여 템플릿이 데이터에 적응하게 하고, 두 번째 패스는 다시 셰이핑된 통합 문서를 재컴파일하고 남은 자리 표시자를 채웁니다
버전 2.346.0
추가
- 보고서 자리 표시자가 기본값을 받아들입니다. 키가 누락되었거나 비어 있으면
{{name;fallback}}이 대체 텍스트를 씁니다 - 보고서 식에
dbvalue(table, row, field[, default])와dbcount(table)가 추가되어 등록된 임의 데이터 컨텍스트 테이블을 행과 열로 읽을 수 있습니다. 문자열을 숫자로 변환하는tonumber(text)와 밴드 복사본을 따르는ref(rowOffset, colOffset)상대 참조도 추가되었습니다. 템플릿, 러너, 밴드가DataContext속성을 노출합니다 - 베어
{{=formula(...)}}셀은 이제 일반 텍스트 대신 라이브 수식을 셀에 쓰며, 다른 베어 식은 평가된 형식을 유지합니다(숫자는 숫자로 유지) - 새로운 구조 보고서 지시문:
{{#imgsize zoom=150}}은 지시문 셀에 앵커된 이미지를 다시 스케일링하고,{{#comment text}}는 셀 메모를 연결하며,{{#html <b>bold</b>}}는 조각을 서식 있는 텍스트로 공급하고,{{#sheetvisible Sheet false}}/{{#deletesheet Sheet}}는 워크시트 표시와 제거를 제어합니다
버전 2.345.0
추가
- XLSX 통합 문서에 저장 시 다시 계산 정책이 추가되었습니다.
RecalcBeforeSave가 파일 저장 시 동작으로 수동(기본값), 변경된 경우에만 다시 계산, 항상 다시 계산 중에서 선택합니다 RecalcNeeded는 현재 변경된 수식 셀이나 캡처된 편집이 있는지 보고하고,RecalcCell은 통합 문서를 다시 계산하여 시트, 행, 열로 지정한 단일 셀의 새로 계산된 값을 반환합니다
버전 2.344.0
추가
- 보고서 템플릿이 셀 텍스트 내 구조 지시문을 지원합니다:
{{#delete A2}}는 명명된 범위를 지우고,{{#format fmt=0.00 bold fill=FFFF00}}는 지시문 셀 위의 열에 숫자 서식, 굵게, 기울임꼴, 글꼴 및 채우기 색을 적용하며,{{#aggregate sum A2:A99}}는=SUM(A2:A99)스타일 수식을 씁니다. 모두 값 자리 표시자가 채워진 후 실행되고, 지시문 셀은 그 후 소비되며, 알 수 없는 지시문 동사는 여전히 템플릿 진단으로 보고됩니다
버전 2.343.0
추가
- ZIP 작성기가 ZIP64 아카이브를 생성합니다. 32비트 크기 한도에 도달하거나 초과하는 항목은 센티널 클래식 필드와 함께 로컬 헤더에 ZIP64 확장 필드를 예약하고, 중앙 디렉터리 레코드는 필요 버전 상승과 함께 64비트 크기와 오프셋을 출력합니다. 클래식 필드가 포화되면 항상 ZIP64 EOCD 레코드와 로케이터가 중앙 디렉터리 끝 레코드 앞에 놓입니다
- 쓰기 측 항목 및 아카이브 크기 상한이 각각 16 GB와 64 GB로 상승했습니다. 읽기 측 압축 해제 보호 장치는 변경되지 않았습니다
버전 2.342.0
추가
- 포함된 그림이 접근성 메타데이터를 전달합니다. 모든 이미지의
AltText와AltTextTitle은 그리기descr및title특성으로 직렬화되고, 원시 앵커 XML을 재생하지 않는 통합 문서의 경우 형식화된 모델로 다시 로드됩니다
변경
- 슬라이서와 타임라인 파트는 이미 불투명 패키지 계층을 통해 무손실로 라운드트립합니다(이번 릴리스에서 엔드 투 엔드로 검증됨). 라운드트립 계약은 이제 슬라이서가 있는 패키지의 열기와 다시 저장을 다루는 회귀 테스트로 고정되었습니다
버전 2.341.0
추가
- 보고서 러너가 완성된 출력을 자동 맞춤할 수 있습니다.
AutofitMode가 모든 대상 적용 후 직렬화 전에 모든 시트에 대한 행, 열 또는 둘 다 패스를 선택하고,AutofitAdjustment가 측정된 크기 위에 선택적 여유를 추가합니다 - 줄 바꿈된 행은 열 너비에 대해 측정된 줄 수에서 크기가 정해지므로, 템플릿이 만든 여러 줄 셀 텍스트는 Excel 자체 자동 맞춤과 같은 방식으로 행을 확장합니다
버전 2.340.0
추가
- PDF 내보내기는 카탈로그
/PageMode항목을 통해 초기 뷰어 모드(책갈피, 축소판 그림, 전체 화면, 선택적 콘텐츠 또는 첨부 파일)를 설정할 수 있습니다 - PDF 내보내기는 문서가 로드될 때 명시적 확대/축소 배율로 선택한 페이지로 이동하거나 책갈피 창을 여는 열기 동작을 정의할 수 있습니다
- XMP 메타데이터는 이제
DocumentID와InstanceID식별자,xmpMM:History이벤트, 수정 및 메타데이터 날짜, 보관 검증 도구가 기대하는dc:format선언을 전달합니다
버전 2.339.0
추가
- 물리적 인쇄 파이프라인: 새로운
TXLSPrintDocument가 공유 페이지 매김 모델을 통해 페이지 창, 복사본 콜레이션, 문서 제목, 새 페이지 이전 / 페이지 생성 후 이벤트와 함께 워크시트, 통합 문서 또는 모든 표시된 시트를 인쇄합니다 - 통합 문서 뷰어 미리 보기에 확대/축소 모드가 추가되었습니다(페이지 맞춤, 너비 맞춤 또는 명시적인 25%에서 400% 배율). Ctrl+휠 확대/축소, 휠 페이지 넘기기, 확대된 페이지가 창을 초과할 때 가로 이동을 지원합니다
버전 2.338.0
추가
- 차트 렌더링이 값 축을 그립니다. 왼쪽 가장자리를 따른 눈금 표시와 오른쪽 정렬 숫자 레이블, 활성화된 경우 주 눈금선, 표시 단위 배율, 반전된 방향, 로그 클램핑이 포함됩니다
- 보조 값 축에 할당된 계열은 자체 배율에 대해 매핑되므로, 콤보 차트는 독립적인 주/보조 크기를 유지합니다
- 거품형 차트는 고정 마커 점 대신 거품 크기 열에서 파생된 면적 배율 거품을 렌더링합니다
- 메모리 내 차트는 캐시가 비어 있을 때 소유 시트를 기준으로 값, 범주, 거품 범위를 확인하므로, 새로 만든 차트도 로드된 차트와 동일하게 렌더링됩니다
- 차트 모델에 편집 가능한 도넛 구멍 크기, 첫 조각 각도, 방사형 스타일, of-pie 형식, 분할 위치, 분할 모드, 보조 플롯 크기, 간격 너비가 추가되었으며 모두 저장과 로드를 통해 유지됩니다
수정
- 점이 값은 갖지만 숫자 범주가 없는 범주형 차트가 더 이상 자리 표시자로 렌더링을 중단하지 않습니다. 이전에는 이로 인해 모든 세로 막대형, 가로 막대형, 꺾은선형 차트에서 눈금 표시, 눈금선, 계열 출력이 억제되었습니다
버전 2.337.0
추가
- 페이지 매김 출력은 SVG 내보내기와 페이지 매김 모델의 새로운
PrintComments모드를 통해 셀 메모를 끝 목록으로 렌더링할 수 있습니다. 셀 주소, 작성자, 텍스트가 시트의 마지막 데이터 행 아래에 표시됩니다 - 명명된 그리기 개체는
ExportObjectAsPNG을 통해 구성된 DPI와 배율로 PNG 이미지로 내보내지며, 렌더링 없이 개체의 포인트 크기를 반환하는 측정 전용GetObjectSize도 제공됩니다 - 사용된 범위 밖의 텍스트 도형 앵커는 이제 차트와 그림이 이미 그렇듯 인쇄 면을 확장합니다
변경
- 페이지 매김 렌더러는 패스마다 확인된 셀 글꼴을 캐시하고 반복되는 텍스트 측정을 메모이즈하므로, 축소 맞춤 루프와 단어 줄 바꿈에서 중복된 글꼴 풀 읽기와 GDI 측정 호출이 제거됩니다
버전 2.336.0
추가
- 셀 텍스트 회전이 이제 페이지 이미지, SVG, 인쇄, 미리 보기 출력에서 렌더링됩니다. 1~90도의 반시계 및 시계 방향 각도는 셀 중심을 축으로 회전하고, 255 세로쓰기 형식은 줄당 한 글자씩 출력합니다
- 아래 첨자 및 위 첨자 셀은 세로 정렬을 잃는 대신 이동된 기준선과 축소된 글리프 크기로 렌더링됩니다
- 머리글과 바닥글 섹션은 페이지 매김 기반 모든 출력에서
&nn포인트 크기 및&K색 서식 코드를 따릅니다 - 페이지 매김 출력의 열 너비는 통합 문서 표준 글꼴의 측정된 최대 숫자 폭에서 파생되므로, Calibri 11이 아닌 글꼴 기반 통합 문서도 Excel과 정확히 일치하는 열 경계로 페이지 매김됩니다
- 사용자 지정 클래식 눈금 색이 있는 워크시트는 고정된 회색 기본값 대신 해당 팔레트 항목으로 눈금선을 렌더링합니다
버전 2.335.0
추가
- 약 70개의 클래식 워크시트 함수가 이제 구문 분석만 되던 것을 넘어 평가까지 지원됩니다. 수학/삼각 그룹
ATAN2 ASIN ACOS SINH COSH TANH ASINH ACOSH ATANH EVEN ODD, 날짜/시간 그룹TIME HOUR MINUTE SECOND DATEVALUE TIMEVALUE DAYS360, 재무 그룹MIRR IRR IPMT PPMT DB,TRANSPOSE TYPE N ADDRESS ROMAN HYPERLINK MAXA MINA, 그리고 인수 목록을 공유하는 점 표기 구현으로 전달되는NORMSDIST TDIST CHIDIST FDIST POISSON QUARTILE PERCENTILE PERCENTRANK COVAR CHITEST GAMMALN같은 2010년 이전 표기의 분포/통계 패밀리가 포함됩니다
수정
NORMSDIST같은 1인수 레거시 정규 CDF 형식이 잘못 스케일링된 오차 함수 근사를 계산했습니다MIRR가 한 기간 어긋난 지수로 양의 현금 흐름을 복리 계산하여 결과가 Excel 값에서 벗어났습니다
버전 2.334.0
추가
- 단일 값 필드로 구성된 보고서 밴드 자리 표시자는 이제 원시 데이터 형식을 대상 셀에 씁니다. 숫자는 숫자로, 날짜는 날짜 셀로(셀이 표준이면 기본 날짜 서식을 받음), 부울은 셀 형식을 유지하므로, 생성된 보고서에서 다운스트림 SUM, 정렬, 차트 참조가 동작합니다
- 사용자 지정 테이블 스타일에 피벗 소계, 하위 제목, 빈 행, 페이지 필드 섹션을 포함한 전체 섹션 집합,
SetSectionEx를 통한 섹션별 글꼴 이름, 크기, 기울임꼴, 줄무늬 크기, 4면 테두리, 그리고pivot/table플래그,DefaultTableStyleName/DefaultPivotStyleName통합 문서 속성, 스타일, 섹션, dxf 특성의 로드 측 전체 라운드트립이 추가되었습니다 - 암호 없이 암호화된 XLSX 통합 문서를 열면 이제 클래식 엔진과 동일한 재시도 계약으로
TXLSXWorkbook.OnPassword가 발생하므로, 파일이 암호화되어 있는지 미리 알지 못해도 GUI 암호 프롬프트를 표시할 수 있습니다 - 암호가 있는 클래식 BIFF5 통합 문서 저장은 이제 XOR 난독화를 적용하고, BIFF8 통합 문서는
EncryptionType으로 표준 RC4를 선택할 수 있습니다. 기존 RC4 CryptoAPI 기본값과 함께 클래식 암호화 매트릭스가 완성되었습니다 - 페이지 이미지, SVG, 인쇄, 미리 보기 출력의 워크시트 텍스트 렌더링이 이제 탐욕적 줄 바꿈을 통한 세로 정렬과 WrapText 단어 줄 바꿈을 따릅니다. 줄 바꿈된 셀을 단일 가운데 정렬 줄로 자르지 않습니다
수정
- 오류 셀이 이제 정의되지 않은 빈 텍스트 대신 #DIV/0! 또는 #REF! 같은 Excel 오류 리터럴을 모든 렌더링 경로에서 표시합니다
- 사용자 지정 테이블 스타일 섹션이 Excel이 스타일을 인식하도록 스키마의
tableStyleElement형식으로 작성되며, 섹션 글꼴 색이 더 이상 굵게 설정을 버리지 않습니다 - 보고서 밴드 스냅샷은 밴드가 초기 용량을 초과하여 커져도 바인딩된 모든 열 값을 유지합니다
버전 2.333.0
추가
TXLSPDFSignature.CertificationPolicy는 변경 없음, 양식 작성 및 서명 허용, 또는 양식 작성, 서명 및 주석 허용을 지정하는 DocMDP 인증 서명을 만들 수 있습니다. 인증된 카탈로그는/Perms를 통해 서명을 참조하고, 일반 인증 출력은 PDF 1.5를 사용하며, 호환되지 않는 PDF/A-1 인증은 대상 스트림이 변경되기 전에 거부됩니다
버전 2.332.0
변경
- 자동 태그 PDF가 이제 행, 의미론적 머리글 및 데이터 셀, 페이지별 고밀도 marked-content 식별자, 정확한 부모 트리 매핑, 병합된 셀 행 및 열 범위, 페이지 장식, 차트, 이미지, 머리글, 바닥글에 대한 아티팩트 격리를 갖춘 완전한 테이블 구조를 출력합니다
수정
- 하나의 PDF 내보내기를 재사용할 때 문서 간에 이진 개체 슬롯이 이제 지워지므로, 개체 번호가 변경될 때 이전 내보내기의 ICC 프로필, 이미지 또는 기타 스트림이 새로 할당된 개체를 대체하지 못합니다
버전 2.331.0
추가
- 통합 XLSX 드로잉 파사드는 이미지, 차트, 텍스트 상자, 보존된 앵커 및 그룹 순서가 혼합된 순서를 노출하며, 앞으로, 뒤로, 맨 앞, 맨 뒤, 변환 인식 그룹, 저장-다시 열기-그룹 해제 작업을 통해 드로잉 관계를 유지합니다
- 명명된 스타일은 로컬 재정의를 유지하면서 자동 또는 명시적 연결 서식 부분을 지원하며, 60개의 기본 제공 밝은, 중간, 어두운 표 스타일 모두 공유 HTML, PDF, 이미지, 미리 보기 및 뷰어 서식 경로를 통해 처리됩니다
TXLSPDFBookmark는 계층적 유니코드 책갈피, 형제 및 자식 관계, 색상, 굵게 또는 기울임꼴 제목, 확장 또는 축소된 하위 항목을 지원합니다TXLSPageImageExporter.ExportAllAsTiff는 선택한 페이지를 진행률, 취소 및 원자적 파일 교체와 함께 하나의 LZW 압축 다중 페이지 TIFF로 스트림 또는 파일에 씁니다- 클래식 XLS 열기는 전역 메타데이터 이후에 중지하거나 검증된
BOUNDSHEET오프셋으로 선택한 워크시트로 직접 이동할 수 있으며, 암호화된 스트림 재배치를 포함합니다 TXLSFormatSnapshot은 원본 통합 문서와 독립적으로 완전한 클래식 셀 서식을 캡처하며IXLSRange.ApplyFormat은 이를 셀, 행 또는 열 범위에 적용합니다- 호환 가능한 행 우선 형식화된 XLSX 대량 쓰기는 압축 RLE 저장소를 사용하며, 공개 압축 셀 및 바이트 통계와 안정적인 개체 핸들을 위한 투명한 일회성 구체화를 제공합니다
변경
- 스타일 전용 빈 XLSX 셀은 참조 카운트된 페이로드를 공유하며, 쓰기 시 복사 로컬 편집, 대량 서식, 명명된 스타일 업데이트, 복사, 정렬, 서식 패치, 저장 및 로드 경로 전반의 자동 압축, 측정 가능한 회피된 페이로드 바이트를 제공합니다
- 동적 배열은 스칼라 집계로 직접 스트리밍되고, 반복되는 정확한 조회는 형식화된 증분 범위 캐시를 재사용하며, 불변 상태 비저장 수식 토큰은 컴파일 간에 공유됩니다
- 타원 호는 PDF, SVG 및 비트맵 출력이 공유하는 평탄도 기반 적응형 3차 베지어 세분화를 사용하며, 배율 또는 이심률이 요구하는 곳에서만 정밀도를 높입니다
- XLSX 패키지 출력은 이제 공유 문자열, 하이퍼링크, 관계 및 부분 순서를 안정화하여 역방향 구성이 바이트 단위로 동일한 결정적 패키지를 생성합니다
- 통합 XLS, XLSX, CSV 및 TSV 순방향 판독기는 메모리를 제한된 상태로 유지합니다. BIFF8 공유 문자열 연속은 구성 가능한 임계값을 초과하여 넘치지만 프로젝션, 선택된 시트, 암호화 및 잘못된 입력 보호 기능을 유지합니다
수정
- C++Builder Win64 패키지 링크는 더 이상 통합 문서 비교 및 가져오기 검사 유닛에서 중복된 Delphi 제네릭 개체 목록 vtable을 생성하지 않습니다
버전 2.330.0
추가
TXLSXWorksheet.Subtotal은 정렬된 데이터 범위에 대해 그룹화된 소계 행, 구성 가능한 총계 행, 수식, 상속된 표시 서식 및 Excel 호환 개요 수준을 삽입합니다GetCellVisibleFormat은 빈 셀을 구체화하지 않고 워크시트, 행, 열, 범위 오버레이 및 명시적 셀 서식을 해석합니다CheckDataValidation은 한 셀을 다루는 규칙에 대해 후보 값을 테스트하고 유효한 경우에만 원자적으로 커밋할 수 있습니다
변경
- 조회 스캔 메모는 압축된 정확한 이진 키와 캐시 적중당 단일 페이로드 조회를 사용하여 조회 비교를 변경하지 않고 재계산 할당 및 해시 테이블 작업을 줄입니다
- 고정 폭 CSV 내보내기는 각 필드를 한 번의 작업으로 패딩하여 패딩 시간을 구성된 출력 폭에 선형으로 유지합니다
수정
- 뒤로
ReplaceTextIn스캔은 이제 요청된 역방향 스캔 순서로 교체 콜백을 호출합니다 - 값이나 수식이 없는 스타일 지정 셀은 더 이상 SVG, 이미지 및 미리 보기 렌더링에서 인접 텍스트 오버플로를 차단하지 않습니다
- 클래식 XLS 숫자 출력은 BIFF 숫자 레코드를 쓰기 전에 비유한 및 비정규 값 외에도 음의 0을 정규화합니다
버전 2.329.0
추가
A1ToR1C1은 A1 스타일 수식을 R1C1 표기법(상대 오프셋, 절대$형식, 범위, 그리고R1C1ToA1을 통한 왕복)으로 변환하여 참조 스타일 변환의 양방향을 완성합니다
변경
- 재계산 조회 메모는
VLOOKUP,XLOOKUP/XMATCH,MATCH에서 5개 미만 셀의 스캔 벡터를 건너뜁니다. 이 경우 원시 스캔이 사전 왕복보다 저렴하기 때문입니다
버전 2.328.0
추가
- SVG, 이미지 및 미리 보기 출력 뒤에 있는 공유 페이지 렌더러가 이제 XLSX 셀 스타일을 그립니다: 알파가 있는 단색 채우기, 셀별 글꼴과 색상, Excel의 숫자 오른쪽 맞춤 기본값을 따르는 가로 정렬, 더 무거운 공유 가장자리가 우선하는 Excel 스타일 테두리 병합, 열에 맞게 글꼴을 확대/축소하는 축소 맞춤, 그리고 긴 텍스트가 연속된 빈 인접 셀로 넘치는 것
버전 2.327.0
추가
- CSV/TSV 로더에 Excel의 텍스트 가져오기 마법사를 반영하는 열별 가져오기 지시문(
cctText,cctNumber,cctDate,cctBoolean,cctSkip)이 추가되었습니다. 따라서 개별 열을 텍스트로 강제하여 선행 0을 유지하거나, 유형으로 강제 변환하거나, 가져오기에서 제외할 수 있습니다 - 고정 폭 텍스트 가져오기: 필드 폭을 할당하면 로더가 구분 기호 구문 분석에서 문자 위치 슬라이싱으로 전환되며, 세이버는 잘림과 함께 공백 패딩 고정 폭 열을 출력할 수 있습니다
버전 2.326.0
추가
- XLSX 워크시트 검색에 스캔을 사각형 셀 범위로 제한하는 창 기반
FindTextIn및ReplaceTextIn메서드가 추가되었으며, Excel 찾기 및 바꾸기 대화 상자의 열별 검색 모드를 반영하는 열 우선 스캔 순서 플래그도 추가되었습니다. 뒤로 스캔은 이제 오른쪽 아래 모서리에서 시작하기 위해 0 앵커를 허용합니다 - 이제 저장은 Excel의 8192자 제한보다 긴 수식을 보호하여, Excel이 복구 모드로 여는 통합 문서를 쓰는 대신 문제가 있는 셀을 식별하고 신속하게 실패합니다
수정
- 비유한 숫자 셀 값(NaN 및 양수 또는 음수 무한대)은 더 이상 저장된 XLSX 파트에 구문 분석할 수 없는 토큰을 유출할 수 없습니다. 이제
#NUM!오류 셀로 직렬화되며, 비정규 배정밀도 값은 XLSX 및 BIFF8 기록기 모두에서 0으로 플러시되어 Excel이 저장하고 표시할 수 있는 내용과 일치합니다
버전 2.325.0
추가
- 통합 문서 형식 API에는 이제 편집 가능한 XML 맵과 스키마 바인딩, 순서가 지정된 여러 통합 문서 창, 다중 영역 및 창별 선택, 그리고 XLS와 XLSX에 대한 호출자 소유의 무손실 수식 토큰 검사, 재구성, 참조 바꾸기 및 원자적 쓰기 저장이 포함됩니다
- 통합 문서 처리에는 이제 사용자 지정 비교자와 명시적 수식 이동을 사용하는 안정적인 가로 또는 세로 정렬, BIFF2~BIFF4 스타일 및 수식 변환, XLS, XLSX, CSV, TSV용 단일 프로젝션 순방향 판독기 파사드, 형식화된 사용자 지정 보기, 그리고 편집 가능한 OLAP, 웹 테이블, 고정 텍스트 및 매개 변수 연결 하위 모델이 포함됩니다
- 계산 및 검사에는 이제 구조화된 누락 함수, 외부 참조 및 순환 종속성 진단, 전역 및 통합 문서 로컬 UDF 레지스트리, 유니코드 양방향 표시 순서, 병합 셀 AutoFit 전략, 형식화된 Excel 4 매크로 시트 보존 및 명령 검색, 그리고
ISOMITTED,ARRAYTOTEXT,VALUETOTEXT,PDURATION,RRI함수가 포함됩니다 - 컴파일된 보고서 생성에는 이제 전체 통합 문서 자리 표시자, 명명된 행·열·크로스탭 밴드, 확장 가능한 Excel 테이블 밴드, 단일 테이블 및 커서 추상화, 정확한 복합 키 관계 인덱스, 지연 데이터 컨텍스트, 스트리밍 테이블 결합자, 제어된 명명된 쿼리 공급자, 레코드별 시트 밴드, 오버플로 연속 시트 및 불변 재귀 포함이 포함됩니다
- 보고서 작성에는 이제 컴파일된 조건, 조회, 정규식, 동적 수식 및 형식, 이미지 필드, 차트 계열 다시 바인딩, 스트림 또는 원자적 파일 출력이 있는 재사용 가능한 실행기, 종속성 인식 범위 복제, 고정 바닥글 및 균형 잡힌 페이지 매김 계획, 주소 지정 진단, 엄격 실행, 템플릿 검사, 그리고 지원되는 레거시 자리 표시자의 안전한 마이그레이션이 포함됩니다
- PDF 출력에는 이제 자동 태그 구조 트리, 표시되거나 숨겨진 호스트 서명 필드, 수준 a 및 b의 명시적 PDF/A-1, PDF/A-2, PDF/A-3 적합성 프로필, 원자적 진행 및 취소, 스타일 인식 캐시 글꼴 대체, 상황별 복합 텍스트 성형, 기본 다중 정지 그라데이션, 정지별 알파, 셀 채우기 패턴, 그림자 및 위치 지정 주석이 포함됩니다
- 공유 렌더링에는 이제 네이티브 범위, 페이지, 통합 문서 및 명명된 개체 SVG, 증분 PNG 및 JPEG 페이지, 백엔드 중립 레이아웃 지오메트리, HTML의 인라인 벡터 차트 및 도형, 공유 CSS가 있는 상태 저장 부분 HTML 세션, 렌더링된 그림 효과, 벡터 사전 설정 도형 및 WordArt 지오메트리, 고급 과학·금융 차트 세부 정보, 그리고 결정적 데이터 레이블 충돌 및 지시선 레이아웃이 포함됩니다
변경
- 감사된 55개 기능 항목 F01~F18, R01~R19, V01~V18 모두 이제 명시적 소유권, 형식 안전성, 취소 및 출력 경계를 갖춘 지원 구현을 완료했습니다
- 대규모 보고서 템플릿은 개체 대상과 식을 한 번만 컴파일하고, 바인딩된 축 필드만 구체화하며, 데이터 커서를 한 번만 소비하고, 관계 및 조인 키를 해시하며, 반복되는 분리 복제를 위해 소스 컬렉션 접두사를 고정하고, 생성된 통합 문서 개체를 다시 검색하지 않습니다
- 렌더링 경로는 페이지 매김, 지오메트리, 개체 배치, 효과 상태 및 문서 리소스 캐시를 공유하는 반면, PDF, SVG, HTML, 비트맵, 메타파일, 미리 보기 및 인쇄 출력은 형식별 인코더만 유지합니다
수정
- XLSX 셀 쓰기 이벤트는 이제 오래된 리치 텍스트 실행을 유지하지 않고 유효한 대체 값을 직렬화하며, BIFF 외부 이름 토큰은 완전한 4바이트 이름 인덱스를 보존하고, 최상위 연결 소스는 레거시 소스 대체를 유지하면서 텍스트 가져오기 소스와 독립적으로 왕복합니다
- 레거시 BIFF 스타일 및 수식 의미, 통합 문서 창 및 선택 다시 매핑, 혼합 절대 수식 참조, 수식 토큰 소유권 및 잘못된 토큰 쓰기 저장은 이제 로드, 편집, 저장 전반에 걸쳐 결정적 무손실 동작을 유지합니다
- 보고서 확장은 이제 구조적 쓰기 전에 결정적 테이블, 필터, 이름, 겹침, 부분 개체, 그리드 및 쿼리 기반 충돌을 거부하고, 표현 가능한 곳에서 0행 테이블 카디널리티를 보존하며, 2^53을 초과하는 정확한 정수 조인 키를 유지하고, 취소 또는 실패 후 결정적 적용 횟수를 보고합니다
- PDF 및 벡터 내보내기는 이제 대체 글꼴 유니코드 매핑, 그래핌 및 성형 클러스터, 아카이브 프로필 제한, 그라데이션 알파, 이미지 효과, 차트 장식, 밀집 레이블 배치 및 출력 원자성을 반복 콘텐츠로 인한 리소스 증가 없이 보존합니다
버전 2.324.0
추가
TXLSFormulaTokenStream,ParseFormulaTokens,GetFormulaTokens,FormulaTokensToText,SetFormulaTokens를 통한 XLS 및 XLSX의 무손실 수식 토큰 검사와 보호된 쓰기 저장은 RPN 토큰 종류와 클래스, 원시 BIFF 토큰 및 추가 페이로드, 독립 참조 플래그, 복제, 참조 바꾸기, 컨텍스트 출처 및 정확한 호환 BIFF 재사용을 노출하며, 셀 변경 전에 잘못 형성되었거나 호환되지 않거나 배열 소유이거나 지원되지 않는 스트림을 거부합니다TXLSCompiledTableReportBand를 통한 확장 가능한 Excel 테이블 보고서 밴드는 하나의 제한된 커서 스냅샷을 사용하여 머리글, 합계, 테이블 및 자동 필터 범위, 필터 및 정렬 상태, 열 메타데이터, 계산 및 합계 수식, 스타일, 구조적 참조 및 종속 워크시트 개체를 보존하면서 단일 데이터 템플릿 행을 확장합니다. 표현 가능한 0행 결과는 템플릿 데이터 행을 제거하는 반면, 쿼리 기반, 충돌, 잘못된 또는 오버플로 레이아웃은 쓰기 전에 실패합니다SetFontFallbackChain,AddFontFallback,ClearFontFallbackChains를 통한 스타일 인식 PDF 글꼴 대체 체인은 글리프 커버리지로 소스 패밀리 및 스타일 계층을 해석하고, 로드된 페이스와 선택을 캐시하며, 보충 스칼라 및 교차 실행 그래핌 클러스터를 보존하고, 공유 글리프 유니코드 시퀀스에 고유 CID를 할당하며, 독립 TTC 페이스를 포함하고, 포함된 글리프를 사용할 수 없을 때 PDF/A 출력을 원자적으로 거부합니다
버전 2.323.0
추가
TXLSCompiledReportTemplate을 통한 재사용 가능한 통합 문서 보고서 템플릿: 자리 표시자는 한 번만 컴파일되며 통합 문서를 다시 검색하지 않고도 반복 적용할 수 있습니다. 정렬된 값 조회와 사전 분할 텍스트 조각을 셀, 서식 있는 텍스트, 메모, 스레드 주석, 하이퍼링크, 텍스트 상자, 차트 제목 및 계열 이름, 머리글 및 바닥글, 워크시트 이름, 정의된 이름 및 문서 속성에 걸쳐 사용합니다IXLSReportTable,IXLSReportCursor, 지연IXLSReportTableProvider로딩, 임의 액세스 메모리 테이블 및TXLSReportRelationIndex를 통한 보고서 데이터 바인딩 — 복합 키 자식 해시를 한 번만 구축하고 반복되는 마스터-세부 조회를 위해 행 페이로드를 복사하는 대신 행 번호를 유지합니다- 수식 계산은 이제 목표 투자 가치에 도달하는 데 필요한 기간 수에 대해
PDURATION을, 동등한 주기 성장률에 대해RRI를 평가하며, Excel 호환 숫자 오류 경계와 필수 OOXML_xlfn.저장 접두사를 포함합니다 - 수식 계산은 이제
ISOMITTED,ARRAYTOTEXT,VALUETOTEXT를 평가하며, 빈 셀과 구별되는 전용 생략 인수 값, BIFF 누락 인수 토큰 왕복, 1차원 및 2차원 배열, 엄격한 문자열 이스케이프, 지역화된 구분 기호, 오류 변환 규칙 및 OOXML 미래 함수 접두사를 포함합니다 TXLSXWorkbook.AnalyzeFormulaIssues를 통한 구조화된 수식 사전 검사는 셀 좌표와 제한된 멤버 목록과 함께 누락된 함수, 외부 통합 문서 참조 및 정확한 순환 종속성 구성 요소를 보고하며, 문자열 리터럴과 로컬 구조적 참조는 잘못된 일치에서 제외됩니다TXLSXWorksheet.CloneRangeTo를 통한 종속성 인식 범위 복제는 선택한 셀, 병합 범위, 조건부 서식, 데이터 유효성 검사, 하이퍼링크, 메모, 이미지 및 차트를 한 번에 복사하고, 적용된 범위와 앵커를 재배치하며, 혼합 상대·절대 참조 의미로 수식 페이로드를 변환합니다. 보고서 밴드는 종속 개체에 대해 동일한 경로를 사용합니다TXLSPDFExport.OnProgress,OnProgressEx,Cancel을 통한 PDF 내보내기 진행 및 취소: 시작, 페이지 및 종료 알림은 무시할 수 있는 콜백 오버헤드를 추가하며, 취소는 행 패스와 페이지 개체 사이에서 확인되고, 취소된 스트림은 부분 PDF를 받지 않으며, 내보내기 개체는 재사용 가능한 상태를 유지합니다TXLSCompiledReportTemplate.Analyze, 엄격 실행 및WriteDiagnostics를 통한 컴파일된 보고서 진단은 변경 전에 대상 유형과 워크시트 및 셀 좌표와 함께 누락된 값, 빈 자리 표시자 및 닫히지 않은 자리 표시자를 식별하거나, 동일한 결과를 진단 워크시트에 기록합니다TXLSCompiledReportRunner를 통한 재사용 가능한 보고서 실행은 완료, 취소 및 실패 상태와 함께 시작, 대상 및 종료 진행을 제공하고, 첫 번째 쓰기 전이나 컴파일된 대상 사이의 취소를 지원하며, 정확한 적용 횟수를 보고하고, 통합 문서를 다시 검색하지 않고 취소 또는 예외 후에도 재사용 가능한 상태를 유지합니다- 클래식 XLS 및 XLSX용 병합 셀 AutoFit 전략은 첫 번째 또는 마지막 행·열이 필요한 증가를 흡수하거나 병합 범위 전체에 균등하게 분배하도록 하며, 레거시 오버로드 동작, 숨겨진 상태, 명시적 경계 및 결정적 반복 호출을 보존합니다
TXLSPDFExport.ExportCommentsAsAnnotations를 통한 선택적 PDF 주석은 기존의 끝부분 주석 페이지를 보존하면서 유니코드 작성자 및 주석 텍스트를 원본 셀 사각형에 배치합니다. 시트별 주석 인덱스는 대략 O(C log C) 시간에 구축되고 O(log C) 셀 조회를 지원합니다- 계층적 사용자 정의 함수 레지스트리를 사용하면 XLS 및 XLSX 통합 문서가 워크시트 로컬 재정의, 교체, 제거, 지우기 및 기존 통합 문서 이벤트 대체를 유지하면서 프로세스 전체 처리기를 공유할 수 있습니다. 평균 조회는 O(1)이며, 로컬 일치가 전역 이름을 가리고, 처리기는 안전한 병렬 재계산 및 자체 제거를 위해 레지스트리 잠금 외부에서 실행됩니다
TXLSReportTableFactory를 통한 지연 보고서 테이블 결합자는 완전한 중간 행 페이로드를 구체화하지 않고 상위 행, 열 투영, 행 수, 최소 및 다중 집계 정의, 스키마 매핑 합집합, 연속 분할 파티션 및 중복 보존 내부 또는 왼쪽 해시 조인을 제공합니다TXLSPageImageExporter를 통한 증분 PNG 및 JPEG 페이지 내보내기는 페이지 선택, DPI, 배율, JPEG 품질, 진행, 취소 및 재사용 가능한 세션과 함께 XLS 및 XLSX 범위, 워크시트 및 통합 문서를 지원합니다. 세션마다 하나의 페이지 매김 모델이 구축되고 매 페이지 후 비트맵 메모리가 해제됩니다TXLSXWorkbook.WorkbookViews를 통한 여러 XLSX 통합 문서 창은 독립적인 활성 탭, 첫 번째 표시 시트, 표시 여부, 최소화 상태, 지오메트리, 탭 표시, 스크롤링, 알 수 없는 특성, 확장 및 올바르게 다시 매핑된 워크시트 보기 바인딩을 보존하며, 기존 단일 창 속성은 계속해서 첫 번째 보기를 처리합니다TXLSCompiledReportBand를 통한 명명된 행, 열 및 크로스탭 보고서 밴드는 단일 패스 제한 데이터 스냅샷에서 정의된 이름 템플릿을 구조적으로 확장하고, 수식 및 종속 워크시트 개체를 보존하며, 크기가 0인 기본값을 만들지 않고 명시적 행·열 메타데이터를 타일링하고, 고정된 소스 컬렉션 경계를 재사용하여 반복되는 같은 시트 복제가 생성된 페이로드를 다시 검색하지 않도록 합니다- PDF 내보내기는 이제 2중 정지 및 다중 정지 축 또는 방사형 그라데이션을 네이티브 PDF 셰이딩으로 작성하고, 동일한 함수, 셰이딩 및 투명도 리소스를 재사용하며, 각 채우기를 해당 셀에 클리핑하고, 이전의 띠 모양 사각형 근사 없이 단색 또는 균일 그라데이션 알파를 적용합니다
수정
- 사용자 지정 포인트 기반 용지 너비 및 높이 재정의는 이제 최종 페이지 개체뿐 아니라 페이지 매김 밴드 계산에도 참여하므로 페이지 나눔과 렌더링 치수가 동일한 사용 가능 영역을 사용합니다
버전 2.322.0
추가
- 수식 계산은 이제 제1종 베셀 함수
BESSELJ(진동형)와BESSELI(수정형)를 평가하며, 실용적 인수 범위에서 수치 안정성을 위해 항 재귀를 사용한 멱급수로 계산합니다
버전 2.321.0
수정
- XLSX RTF 내보내기는 이제 Calibri를 하드코딩하는 대신 실제 글꼴 테이블을 구축합니다. 사전 검색이 모든 고유 셀 글꼴 이름을 수집하고,
\fonttbl이 각각을 고유한\fN인덱스로 나열하며, 각 셀의 텍스트가 실제 글꼴을 참조합니다 — Times New Roman, Courier New 또는 기타 글꼴로 스타일링된 통합 문서는 Word 또는 WordPad에서 열 때 더 이상 시각적으로 Calibri로 재흐름되지 않습니다
버전 2.320.0
수정
- PDF 내보내기는 이제 클래식 XLS 엔진 경로에서 텍스트 회전을 렌더링합니다. 90도 또는 270도 방향의 셀은 셀 중심을 기준으로 회전하는 PDF 텍스트 행렬을 통해 텍스트를 세로로 그려 기존 XLSX 경로 동작과 일치합니다. 이전에는
.xls통합 문서에서 생성된 PDF에서 세로 머리글과 회전된 레이블이 가로로 렌더링되었습니다
버전 2.319.0
추가
- 수식 계산은 이제 Excel 365 LAMBDA 종속 배열 결합자
MAP(요소별 변환),REDUCE(단일 값으로 접기),SCAN(각 중간 단계를 유출하는 접기),MAKEARRAY(행 및 열 인덱스에서 작성),BYROW(열을 유출하는 행별 집계),BYCOL(행을 유출하는 열별 집계)을 평가하여 기존LAMBDA및LET지원과 함께 LAMBDA 함수형 프로그래밍 계열을 완성합니다
버전 2.318.0
추가
- 수식 계산은 이제 채권 및 국채 금융 함수를 평가합니다:
COUPDAYBS,COUPDAYS,COUPDAYSNC,COUPNCD,COUPPCD,COUPNUM(쿠폰 일수 계산 기본 요소),PRICE/YIELD(이분법 수익률 해석기를 사용한 표준 채권 가격 결정),PRICEDISC/YIELDDISC(할인 증권),PRICEMAT/YIELDMAT(만기 기반),DURATION/MDURATION(매콜리 및 수정),TBILLEQ/TBILLPRICE/TBILLYIELD(국채),DISC/INTRATE/RECEIVED(할인 및 이자),ACCRINTM(만기 시 경과 이자),DOLLARDE/DOLLARFR(분수 달러 변환),EFFECT/NOMINAL(실효 및 명목 금리),CUMIPMT/CUMPRINC(누적 이자 및 원금),FVSCHEDULE(변동 금리 미래 가치),AMORDEGRC/AMORLINC(프랑스식 감가상각). 이 모두는 5가지 표준 일수 기준을 갖춘 자체 포함 중첩 쿠폰 날짜 엔진을 공유합니다
버전 2.317.0
추가
- 암호화된 통합 문서 로딩은 이제 SHA-256 해시 알고리즘을 선언하는 Agile Encryption 파일(일부 타사 작성자가 생성)을 허용합니다. 암호 키 파생, 스핀 루프, 암호 검증기 및 데이터 무결성 키/값 IV와 HMAC은 모두 선언된 해시를 따르며, 키 데이터와 키 암호화기 사이에 불일치하는 해시를 선언하는 파일은 여전히 거부됩니다. 저장은 계속해서 Excel의 기본 SHA-512 변형을 작성합니다
버전 2.316.0
추가
SortRange는 두 통합 문서 엔진 모두에서 수식을 보존합니다. 수식 셀은 해당 행과 함께 이동하고 상대 참조는 Excel의 정렬 의미로 다시 고정됩니다($-절대 부분은 유지되고, 그리드를 벗어난 참조는 제자리에 고정됨). 따라서 정렬된 테이블은 값으로 붕괴되는 대신 계속 계산됩니다- 시트 배경 이미지:
SetBackgroundImage는 XLSX 워크시트의 셀 뒤에 그림을 타일링하며(Excel처럼 표시 전용), 워크시트picture요소, 미디어 관계 및 패키지 콘텐츠 유형을 통해 왕복합니다
수정
- 한 번도 건드리지 않은 빈 셀을 참조하는 산술 수식을 다시 계산해도 더 이상 변환 오류로 중단되지 않습니다 — 빈 피연산자는 Excel처럼 0으로 기여합니다
버전 2.315.0
추가
CopyToClipboard는 두 통합 문서 엔진 모두에서 텍스트 및 HTML과 함께 네이티브 Biff8 클립보드 형식을 게시하므로 Excel 또는 다른 HotXLS 통합 문서에 붙여넣은 범위는 일반 텍스트 대신 값, 수식, 숫자 형식, 글꼴, 채우기, 테두리, 맞춤 및 병합 셀을 전달합니다PasteFromClipboard는 Biff8 페이로드가 있을 때 이를 우선합니다. Excel에서 붙여넣은 텍스트는 로캘 종속 날짜 및 숫자 재구문 분석 없이 원래 값을 유지하고, 수식은 붙여넣기 대상에 상대 참조를 다시 고정하며, 병합 영역은 대상에서 다시 구축됩니다. 두 엔진 모두 서로의 블록을 전체 서식과 함께 붙여넣습니다
변경
- Excel에 붙여넣은 수식은 계산된 값으로 도착합니다(Excel의 타사 Biff8 클립보드 구문 분석의 제한). 나머지 모든 것(텍스트, 형식이 있는 숫자, 채우기, 테두리 및 병합)은 Excel에 무손실로 붙여넣어지며, Excel-to-HotXLS 및 HotXLS-to-HotXLS 방향에서는 수식이 완전히 유지됩니다
버전 2.314.0
추가
- XLSX 워크시트의 카메라 개체:
AddCamera는 셀 범위에 바인딩된 라이브 스냅샷 그림(Excel 카메라 도구의 연결된 그림)을 배치하며, 범위 바인딩은 문서화된 드로잉 확장에 기록되고 자리 표시자 이미지는 앵커 크기로 조정됩니다. Excel에서 만든 카메라 개체는 범위 바인딩이 보존된 상태로 다시 열립니다
버전 2.313.0
추가
- XLSX 패키지용 제자리 워크시트 패치: 스트리밍 작성기의
BeginPatch는 기존 통합 문서를 열고 정확히 하나의 워크시트를 다시 씁니다. 다른 모든 부분(스타일, 드로잉, 차트, 피벗 테이블, 사용자 지정 부분)은 압축 해제하거나 다시 작성하지 않고 압축된 바이트를 그대로 복사하므로, 큰 템플릿의 데이터 시트가 전체 재구축의 일부 시간에 새로 고쳐집니다 - 패치 모드는 새 워크시트를 추가할 수도 있습니다. 시트는 기존 부분과 충돌하지 않는 번호로 통합 문서 부분 목록, 관계 및 콘텐츠 유형에 등록되며, 패키지 자체의 엄격 또는 전환 관계 규칙을 따릅니다
- 패치된 패키지는 오래된 계산 체인을 자동으로 제거하며(Excel이 로드 시 다시 구축), 새 패키지 부분이 필요한 기능(테이블, 차트, 이미지, 메모, 정의된 이름)은 잘못된 패키지를 쓰는 대신 명확한 오류를 보고합니다
버전 2.312.0
추가
- 엄격 Open XML 출력: XLSX 통합 문서에
StrictOOXML을 설정하면 ISO/IEC 29500 엄격 적합성으로 패키지를 저장합니다. 워크시트, 공유 문자열, 스타일, 테마, 드로잉, 차트, 메모, 문서 속성 및 보존 부분 전반에서 모든 네임스페이스 선언과 관계 유형이 전환 어휘에서 엄격한purl.oclc.org어휘로 전환되는 반면, 콘텐츠 유형, 부분 이름 및 VML 어휘는 두 적합성 클래스가 공유하므로 유지됩니다 - 엄격 적합성 통합 문서 읽기가 이제 완전합니다. 엄격 형식으로 작성된 관계 유형은 전환 등가물과 동일한 대상으로 해석되어 엄격 요소 네임스페이스 허용을 보완하므로 Excel의 "Strict Open XML Spreadsheet" 모드로 저장된 파일이 다른 통합 문서처럼 열립니다
- 엄격 출력을 활성화한 상태에서 저장하면 Microsoft 확장으로만 존재하는 기능(VBA 프로젝트, 양식 컨트롤, 스레드 주석, 동적 배열 메타데이터)에 대해 검증되지 않을 패키지를 쓰는 대신 명확한 오류를 보고합니다
수정
- 사용자 지정 문서 속성이 철자가 잘못된 값 유형 네임스페이스를 선언하여 외부 도구에서 속성 부분 검증이 실패할 수 있었습니다
버전 2.311.0
추가
- XLS 통합 문서를 읽으면 인식되지 않은 워크시트 레코드가 보존됩니다. 형식화된 파서가 모델링하지 않는 모든 레코드는 그대로 캡처되어 저장 시 재생되므로, 공급업체별 또는 최신 사양 레코드가 포함된 파일이 손실 없이 HotXLS를 통해 왕복합니다
버전 2.310.0
추가
- XLSX 워크시트의 사전 설정 지오메트리 도형:
AddPresetShape는 187개 OOXMLST_ShapeType사전 설정 토큰(rightArrow,flowChartDecision,star5, …) 중 하나를 드로잉의<a:prstGeom>에 그대로 기록하고,PrstToken속성을 사용하면 기존 도형이 지오메트리를 전환할 수 있습니다 — 토큰은 저장 및 다시 열기를 통해 왕복합니다
버전 2.309.0
추가
- 워크시트의 템플릿 처리:
ApplyTemplate는 모든 셀에서{{key}}자리 표시자를 바꿉니다(값은 네이티브 유형을 유지하고, 수식 자리 표시자는 구문 분석 전에 대체됨).FillTemplateBand는 레코드마다 템플릿 블록을 복제하며 복제별 수식 행 변환, 병합 범위 복제 및 행 수준 조건부를 위한#skip필드를 제공하여 수제 시트를 데이터 기반 보고서 생성기로 바꿉니다
버전 2.308.0
추가
- PDF 내보내기는 파일을 첨부할 수 있습니다.
AddAttachment는 원시 문서를/EmbeddedFiles항목(파일 사양, 선택적 MIME 하위 유형이 있는 포함 스트림 및 카탈로그 이름 트리)으로 내보낸 PDF에 전달하므로 보고서가 지원 데이터와 함께 하나의 자체 포함 파일로 제공됩니다
변경
- 인식되지 않은 BIFF 버전 단어가 있는 XLS 통합 문서를 읽어도 더 이상 전체 스트림을 거부하지 않습니다. 판독기는 BIFF8 레이아웃으로 대체하므로 특이한 버전 번호를 내보내는 작성자의 파일도 레코드가 구문 분석되면 여전히 로드됩니다
버전 2.307.0
추가
- 중앙 스크래치 파일 관리: 라이브러리가 만드는 모든 임시 파일은 등록되어 정리되므로, 중단된 내보내기 또는 생성과 삭제 사이의 예외가 더 이상 고아 임시 파일을 남기지 않습니다
VerifyEncryptedSave는 방금 작성한 암호화 컨테이너를 전체 복호화 파이프라인을 통해 다시 열고, 암호가 잠금을 해제할 수 없으면 저장을 실패시킵니다 — 손상된 컨테이너는 사용자의 다음 열기 대신 즉시 드러납니다- 데이터 세트 내보내기는 행 분할이 시작될 때
OnExportLimit이벤트를 발생시키며, 형식 버전별 통합 문서 그리드 제한이 기능 협상을 위해 상수(BIFF8은 65536×256, 2007+ 형식은 1048576×16384)로 노출됩니다
버전 2.306.0
추가
- XLSX 워크시트에 양식 컨트롤 작성 기능이 추가되었습니다.
AddFormButton,AddFormCheckBox,AddFormRadioButton,AddFormComboBox,AddFormListBox는 캡션, 연결된 셀, 확인 상태 및 매크로 바인딩과 함께 버튼/확인란/라디오/드롭다운/목록 컨트롤을 작성합니다. 저장 경로는 VML 도형, 컨트롤별ctrlProps부분, 해당 관계 및 콘텐츠 유형 항목을 내보내며, 컨트롤이 포함된 파일은 다시 열 때 부분을 그대로 왕복합니다
버전 2.305.0
추가
- PDF 내보내기에 옵트인
UsePDFA모드가 추가되어 PDF/A-2b 식별 문서를 생성합니다. sRGB IEC61966-2.1 프로필이 GTS_PDFA1 출력 의도로 포함되고, XMP 메타데이터가pdfaid부분/적합성 식별을 전달하며, 헤더가 PDF 1.7을 알립니다 — 아카이브 가능한 출력을 위해 포함된 TrueType 글꼴(UnicodeFontFile또는 자동 선택된 설치 글꼴)과 함께 사용하세요
버전 2.304.0
추가
- 실시간 통합 문서 간 평가:
RegisterExternalWorkbook은 통합 문서 개체를 책 이름과 짝지어[Book.xlsx]Sheet!A1같은 수식이 컴파일되도록 하고([Book]Sheet!Ref접두사는 이제 실제 외부 참조로 구문 분석됨), 매 재계산 시 등록된 개체의 현재 상태를 읽습니다. 등록을 해제하면 실시간 링크가 제거되고 외부 링크 캐시로 대체됩니다
버전 2.303.0
추가
TXLSXWorkbookCompare를 통한 통합 문서 비교: 이름별로 시트를 짝지어 추가/제거된 시트, 추가/제거된 셀, 변경된 값, 변경된 수식 및 추가/제거된 병합 범위를 도구용 구조화된 diff 목록과Report를 통한 차이당 사람이 읽을 수 있는 한 줄로 보고합니다
버전 2.302.0
추가
- 스트리밍 직접 작성기에 풀 모드 행 공급이 추가되었습니다.
OnNeedRow는 예상 행마다 한 번씩 발생하며 공급자는 행을 작성기를 통해 바로 기록하여 데이터 종료를 선언해 중지합니다 — 데이터 파이프라인이 행 목록을 사전 버퍼링하지 않고 내보내기를 구동할 수 있습니다
버전 2.301.0
추가
- ODS 내보내기가 셀 수식을 작성합니다. 같은 시트 참조는 표준
of:=OpenFormula 표기법(대괄호 참조, 세미콜론 인수 구분자, 문자열 리터럴은 그대로)으로 변환되는 반면, 시트 한정 및 구조적 참조는 Excel 자체가 크로스 스위트 왕복에 사용하는msoxl:패스스루를 따릅니다 — 저장된 패키지는 원래 Excel 수식 텍스트로 다시 열립니다
버전 2.300.0
추가
- 오른쪽에서 왼쪽으로 쓰는 워크시트가 이제 모든 곳에서 대칭으로 렌더링됩니다. PDF 내보내기는 인쇄 가능한 너비에 걸쳐 열 지오메트리를 반전시키고(열 A는 오른쪽, 셀 내용은 그대로), 두 HTML 내보내기 모두 테이블에
dir="rtl"을 방출하여 브라우저가 열 순서를 뒤집습니다 — 시트 플래그는 이미 XLSX와 BIFF를 통해 왕복합니다
버전 2.299.0
추가
- 데이터 세트 내보내기(
TDataToXLS)에 제목 밴드와 바닥글 밴드가 추가되었습니다.Title은 머리글 위에 병합된 굵은 스타일의 행 하나를 렌더링하고(자체TitleFont및 선택적TitleColor),Footer는 마지막 데이터 또는 요약 행 아래에 줄을 추가합니다 - 워크시트의
ForEachFormattedCell은 행/열 순서로 채워진 모든 셀을 순회하며 표시 텍스트(숫자 형식 적용)를 콜백을 통해 전달하므로 인덱싱과 텍스트 추출에 바로 사용할 수 있습니다
버전 2.298.0
추가
- ApiTour 예제가 이제 실행 즉시 라이브 쇼케이스로 열립니다. KPI 타일, 시트 간
SUMIF/COUNTIF수식, 데이터 막대, 색상 눈금, 아이콘 집합 및 두 개의 차트가 있는 메모리 내 영업 대시보드가 샘플 시작과 동시에 내장 통합 문서 뷰어 안에서 렌더링되며, 모든 그리드 셀은 즉시 재계산과 새로 고쳐진 조건부 서식으로 편집 가능한 상태를 유지하고, 원클릭 작업으로 쇼케이스를 PDF, HTML, CSV로 내보내거나 라이브 빌드 및 내보내기 시간 정보와 함께 Excel로 전달합니다 - C++Builder ApiTour 샘플이 새 Delphi 쇼케이스, 내장 뷰어, 수식 입력줄, 내보내기 작업 및 활동 로그를 그대로 반영합니다
변경
- ApiTour 예제는 모달 결과 대화 상자를 창 내 활동 로그로 대체하며, 기존의 생성, 수정, 내보내기 워크스루 동작은 유지합니다
버전 2.297.0
추가
- PDF 내보내기에 옵트인
UseXRefStream모드가 추가되어 압축된 개체 스트림과 이진 교차 참조 스트림이 있는 PDF 1.5 파일을 생성합니다. 작은 사전 개체는 하나의 Flate 압축 컨테이너 안에 담기고 기존 xref 테이블과 트레일러는 컴팩트한 스트림으로 대체되어, 페이지 콘텐츠는 바이트 단위로 동일하게 유지하면서 내보낸 문서 크기를 줄입니다
버전 2.296.0
추가
- 스트리밍 직접 작성기에 옵트인
AutoSplitRows모드가 추가되었습니다. 워크시트 한도(1048576)를 넘는 행은 현재 시트를 마치고 새로 생성된<name>_2,<name>_3… 시트에서 계속되므로, 무제한 내보내기도 잘못된 행 인덱스를 방출하지 않습니다 - 워크시트의
FillTableCalculatedColumn은 테이블 열의 계산 열 수식을 Excel 자체 작성 방식대로 셀마다 행 변환하여 모든 데이터 행에 적용한 다음 자연스럽게 재계산합니다
버전 2.295.0
변경
- XLSX HTML 내보내기가 셀 스타일링을 중앙화합니다. 동일한 스타일 조합은 모든 셀의 반복된 인라인
style속성 대신 스타일 시트에서td.cN클래스로 한 번 방출되어 균일하게 스타일링된 테이블의 HTML 출력을 줄이며, 조건부 서식 시각적 오버레이는 인라인 상태를 유지하여 셀별 특성을 보존합니다
버전 2.294.0
수정
- 현재 행 형식(
Table[@Col])의 구조적 참조가 이제 직렬 및 병렬 평가 경로 모두에서 재계산 중 수식 셀 자체의 행을 기준으로 평가됩니다. 이전에는 이러한 수식이 모두 열의 1행(일반적으로 머리글 텍스트)을 읽었으며, 해당 행에 텍스트가 있으면 재계산이 형변환 오류로 완전히 실패했습니다
버전 2.293.0
변경
- 옵트인
RecalcAggregateCache메모가 이제 무조건 단일 범위 집계(하나의 단순 단일 시트 범위에 대한SUM,AVERAGE,MIN,MAX,COUNT,COUNTA)도 포함하므로, 동일한 블록에 대한 반복 합계는 조건부 계열과 동일한 참조 안정성 게이트 아래에서 첫 번째 패스의 결과를 재사용합니다
버전 2.292.0
추가
- 통합 문서를 코드로 변환하는 생성기(
TXLSCodeGen)가 추가되었습니다. 통합 문서를 순회하며 시트 생성, 셀 값, 수식, 숫자 형식, 열 너비 및 병합 범위를 재구성하는 소스 문을 Delphi 또는 C++Builder 방언으로 방출하므로, 손수 만든 파일이 바로 사용 가능한 API 예제가 됩니다 - 열 규칙 가져오기 검사기(
TXLSImportCheck)가 추가되었습니다. 열별 필수, 텍스트 길이, 정규식 패턴 및 고유성 규칙과 호출자 콜백이 워크시트의 데이터 행에 적용되며, 위반 항목은 빨간 글꼴과 사유 주석으로 다시 표시할 수 있고,KeepOnlyViolations는 "수정 후 반환" 통합 문서를 위해 시트를 머리글과 실패한 행만 남도록 압축합니다
버전 2.291.0
추가
- CSV 가져오기가 옵션 레코드를 받습니다.
OpenCSV오버로드는 구분 기호 및 유형 감지 스위치와 함께 선행 줄 건너뛰기(SkipRows, 그리드 위의 제목 배너용)와 공백 다듬기(AutoTrim)를 사용합니다 - 워크시트의
FillMergedCellValues는 각 병합 범위의 앵커 값을 포함된 모든 멤버 셀에 복사하므로, 병합된 레이블이 있는 보고서 스타일 시트가 하나의 평평한 그리드로 읽힙니다 AddListValidation에 문자열 배열 오버로드가 추가되어 단일 호출로 항목을 하나의 드롭다운 목록으로 결합합니다- 데이터 세트 내보내기(
TDataToXLS)에 얼룩말 줄무늬(AlternatingColor, 홀수 세부 행에 적용)와 합계 행(SummaryRow)이 추가되었습니다. 합계 행은 내보낸 숫자 필드 또는 호출자가 지정한 필드 목록에 실제SUM수식을 추가하며 굵은 캡션 셀을 포함합니다
수정
- 데이터 세트 내보내기가 이제 구성된
DetailColor배경을 세부 셀에 적용합니다. 이전에는 속성이 받아들여졌지만 절대 칠해지지 않았습니다
버전 2.290.0
변경
- 옵트인
RecalcLookupCache메모가 이제VLOOKUP정확 및 근사 검색,HLOOKUP,MATCH일치 유형 0과 1도 포함하므로, 동일한 범위에 대해 이러한 기존 조회를 반복하는 통합 문서는XLOOKUP/XMATCH와 동일한 참조 안정성 안전 게이트 아래에서 재계산 중 첫 번째 검색의 결과를 재사용합니다
버전 2.289.0
추가
- 스트리밍 직접 작성기에 옵트인
TrackColumnWidths모드가 추가되었습니다. 행이 스트리밍되는 동안 워크시트가 메모리에 스테이징되어 저장된 파일이<dimension>사용 범위 힌트와 가장 긴 표시 텍스트(문자 더하기 패딩, 최대 255)에 맞춰진 열별 너비를 갖게 되어, 데이터가 스트리밍 중에만 알려지는 내보내기에 대해 자동 맞춤을 근사합니다. 명시적으로 설정된 열 너비는 항상 우선합니다
버전 2.288.0
추가
- XLSX 패키지 열기가 비정규 네임스페이스 접두사를 허용합니다. 요소를 다른 접두사(또는 ISO 29500 엄격) 네임스페이스에 바인딩하는 워크시트, 차트, 드로잉 및 문서 속성 부분은 파싱 중 표준 어휘로 정규화되므로, 타사 생성기 및 엄격 모드 저장기의 파일도 올바르게 로드됩니다
- 셀의
r위치 속성이 없는 워크시트는 각 셀을 스캔 순서대로 이전 셀 뒤에 배치하며,r속성이 없는 행은 행 시퀀스를 계속합니다 — 여러 스트리밍 작성기에서 사용하는 규칙입니다
버전 2.287.0
추가
Open이 Excel 2.0/3.0/4.0 통합 문서(BIFF2-4)를 읽습니다. OLE 래퍼가 없는 원시 BIFF 스트림은 숫자, 텍스트, 부울, 오류 및 수식 캐시 결과와 함께 로드되며, 수식의 문자열 결과는 BIFF2-4 String 레코드를 통해 전달되고, 스트림의 코드 페이지 레코드가 텍스트 디코딩을 구동합니다
변경
- BIFF2-4 문서는 값을 위해 읽힙니다. 해당 세대의 숫자 형식과 스타일은 모델링되지 않으므로, 날짜는 원시 일련 번호로, 수식은 마지막 계산 값으로 표시됩니다
버전 2.286.0
추가
- 비교 구간이 있는 숫자 형식(
[>=100],[<0], …)은 표시 텍스트가 렌더링되는 모든 곳에서 값으로 구간을 선택하여 Excel의 조건부 형식 동작과 일치합니다 - 숫자 형식 텍스트 구간(
"ID:"@)은 형식을 무시하는 대신 문자열 값을 템플릿으로 처리합니다 SetCellFromHtml은 가벼운 HTML 조각으로 셀을 채웁니다.<b>/<strong>,<i>/<em>,<u>,<br>,<font color=...>은 서식 있는 실행으로 변환되며, 다른 태그는 텍스트를 유지하면서 제거됩니다TaggedText마크업은<br>줄 바꿈,<strong>/<em>별칭,<font color=...>속성 형식 및"/ 엔터티를 허용합니다- 열 함께 유지 블록(
KeepColumnsTogether)은 열 그룹 내부의 세로 페이지 나눔을 막아 페이지 매김, 미리 보기 및 PDF 출력에서 행 수준 기능을 반영합니다 - 클래식 Spinner 및 ScrollBar 양식 컨트롤을 Min/Max/Inc/Page 설정과 연결된 셀과 함께 XLS 파일에 작성할 수 있으며, OBJ FtSbs 하위 레코드를 통해 방출됩니다
WriteAutoValue가 ISO 형식 외에도 선택적 시간(AM/PM 포함)이 있는m/d/yyyy및d.m.yyyy날짜를 인식하고, 불가능한 달력 날짜는 거부합니다ConvertFormulasToValues에 다른 통합 문서를 참조하는 수식만 고정하는OnlyExternal모드가 추가되었으며, 클래식 XLS 퍼사드에 전체 시트 메서드가 추가되었습니다- 행 자동 맞춤은 병합 셀을 결합된 열 너비에 대해 측정하고 필요한 높이를 병합된 행 전체에 분배합니다
버전 2.285.0
추가
- PDF 내보내기가 워크시트 차트를 네이티브 벡터 그래픽으로 그립니다. 묶은, 누적, 백분율 누적 세로 막대 및 가로 막대, 표식이 있는 꺾은선형 차트, 영역형 차트, 백분율 레이블이 있는 원형 및 도넛형 차트, 분산형 차트, 레이더 차트 — 각각 제목 프레임, 자동 배율 축, 눈금 레이블, 눈금선, 범례, 선택적 포인트별 데이터 레이블, 시리즈별 단색 채우기 및 Excel 기본 강조 색상 팔레트를 갖추고 있습니다. 3D 차트 유형은 2D 투영으로 렌더링됩니다
- 마지막 셀 너머에 고정된 차트가 이제 인쇄 영역을 확장하므로, 데이터 행 아래에 배치된 차트도 잘려나가지 않고 PDF 및 미리 보기 출력에 계속 표시됩니다
버전 2.284.0
추가
- PDF 머리글과 바닥글은 Excel의 스타일 코드를 렌더링합니다.
&B굵게,&I기울임꼴,&U/&E단일/이중 밑줄,&S취소선,&X/&Y위/아래 첨자,&nn글꼴 크기,&K색상 및&"Font,Style"굵기 키워드 - PDF 내보내기는 채우기, 글꼴, 테두리, 데이터 막대 및 아이콘을 휘도 회색으로 축소하여 워크시트의 흑백 인쇄 모드를 따릅니다
- 인쇄된 행 및 열 머리글(행 번호와 열 문자)은 시트가 요청할 때 그리드 옆에 렌더링됩니다
- 인쇄 가운데 맞춤:
CenterHorizontally/CenterVertically는 머리글과 바닥글 밴드를 제자리에 유지하면서 여백 사이에서 인쇄 그리드를 이동합니다 - 셀 메모는 빨간 모서리 표시기(표시된 대로 모드)로 인쇄되거나, Excel의
cellComments="atEnd"페이지 설정 값을 왕복하는 새PrintCommentsAtEnd워크시트 속성을 통해 시트 뒤에 메모 목록 페이지로 인쇄됩니다 - 내부 하이퍼링크(
Sheet!Cell대상)는 대상 시트의 페이지로 이동하는 문서 내 클릭 가능한 GoTo 링크가 됩니다 - 내보내기는 뷰어
PageLayout기본 설정을 노출하고 문서 정보 사전과 함께 XMP 메타데이터 패킷을 작성합니다 - TrueType 컬렉션(
.ttc) 글꼴을 포함된 유니코드 글꼴로 사용할 수 있습니다. 일반 페이스만 존재할 때 포함된 페이스의 굵게 및 기울임꼴 컷이 합성됩니다
변경
- 열 너비는 고정된 문자당 추정치 대신 Excel의 최대 자릿수 너비 공식(Calibri 11 메트릭)을 통해 변환되므로, PDF 및 미리 보기 너비가 Excel의 저장된 픽셀 너비와 일치합니다
- 줄 바꿈된 줄이 각 줄의 첫 문자부터 다시 측정되어, 이전 줄 바꿈으로 아래로 이동한 단어의 너비를 무시하던 줄 바꿈 텍스트가 수정됩니다
버전 2.283.0
추가
- PDF 내보내기는
WrapText셀을 실제 단어 분리, 줄별 가로 맞춤, 세로 블록 맞춤 및 양쪽 또는 분산 간격으로 줄 바꿈합니다 - PDF 내보내기는 세로로 쌓인 텍스트를 포함하여 회전된 셀 텍스트를 PDF 텍스트 행렬을 통해 렌더링하고, 값이 맞을 때까지 글꼴 크기를 단계적으로 줄여
ShrinkToFit을 따릅니다 - 셀을 넘치는 PDF 텍스트는 이제 빈 인접 셀까지 확장되고 첫 번째 채워진 셀에서 잘려 Excel 인쇄 동작과 일치합니다. 일반 맞춤은 Excel처럼 숫자를 오른쪽 정렬합니다
- PDF 내보내기는 실행별 글꼴 스타일, 크기, 색상, 밑줄, 취소선, 위 첨자 및 아래 첨자로 서식 있는 텍스트 실행을 그립니다. 줄 바꿈된 줄도 실행별 스타일을 유지합니다
- PDF 내보내기는 대각선 셀 테두리와 실제 이중선 테두리를 그립니다
- 병합 셀에 걸친 텍스트는 이제 전체 병합 사각형에 걸쳐 그려지고 정렬, 줄 바꿈되며 하이퍼링크를 앵커링하고, 병합에 포함된 멤버는 더 이상 자체 배경을 칠하지 않습니다
변경
- PDF 텍스트 너비는 고정된 평균 문자 너비 대신 보정된 문자별 진행 표에서 가져오므로, 맞춤, 줄 바꿈 및 축소가 인쇄된 페이지와 일치합니다
- 셀 들여쓰기는 Excel처럼 텍스트를 이동하며, 아이콘 집합 셀은 아이콘 옆의 값을 들여씁니다
버전 2.282.0
추가
- PDF 내보내기가 PNG 투명도를 보존합니다. 알파 채널이 있는 이미지는 투명도를 잃는 대신 이제 소프트 마스크 평면을 방출하며, tRNS 청크가 있는 팔레트 이미지도 포함됩니다
변경
- PDF 페이지 콘텐츠 스트림이 이제 Flate 압축되어 PDF 1.4 이상의 뷰어 요구 사항 없이 내보낸 문서를 상당히 줄입니다
- PDF 내보내기는 연속적인 텍스트 작업을 공유 텍스트 블록으로 일괄 처리하고 중복된 글꼴, 크기 및 색상 선택을 건너뛰어 출력 크기와 생성 시간을 모두 줄입니다
- 동일한 단색 채우기를 가진 인접 셀은 하나의 병합된 사각형으로 렌더링되고, 동일한 스타일의 동일선상 테두리 세그먼트는 셀별 가장자리 대신 단일 실행으로 그려집니다
- PNG 이미지는 디코딩 및 재인코딩 없이 PDF에 포함되어 원래 압축 스트림과 정확한 픽셀을 유지합니다
- 바이트 콘텐츠가 동일한 이미지는 참조하는 이미지 개체 수와 관계없이 한 번 포함되어 공유됩니다
수정
- 포함된 유니코드 글꼴 경로로 텍스트가 렌더링되는 링크 셀에도 이제 하이퍼링크 주석이 생성됩니다
- PDF 콘텐츠 바이트가 더 이상 활성 시스템 코드 페이지에 의존하지 않으므로, 서양 텍스트가 모든 Windows 로캘에서 동일하게 렌더링됩니다
버전 2.281.0
수정
- 클립보드 판독기가 더 이상 데이터 핸들을 32비트로 잘라내지 않으므로, 64비트 응용 프로그램에서
XLSGetClipboardBiff8과 XML 스프레드시트 붙여넣기 경로가 비어 있게 반환되던 문제가 해결되었습니다 - 클립보드 작업은 다른 응용 프로그램이 클립보드를 보유할 때 첫 번째 충돌에서 실패하는 대신 최대 0.5초 동안 클립보드 열기를 다시 시도합니다
변경
- 조건부 서식 규칙 조회(
FindAt/IndexOfCell경로)는 쿼리된 모든 셀 대신 각 규칙’s 셀 범위를 한 번만 구문 분석하여 데이터 유효성 검사 캐시와 일치합니다 - PDF 내보내기는 시트별 하이퍼링크 인덱스를 구축하여 셀별 선형 스캔을 이진 검색으로 대체합니다
버전 2.280.0
추가
- 사용자 정의 함수를 이름으로 등록할 수 있습니다.
RegisterUserFunction은 해당 이름을 호출하는 수식을 핸들러로 바로 디스패치하며(하나의OnUserFunction에서 전역 if-체인 없이), 통합 문서 이벤트가 등록되지 않은 이름을 계속 처리합니다 ScanUnknownFunctions는 계산 엔진이 평가할 수 없는 수식 함수에 대해 통합 문서를 감사하여 각 셀과 이름을 보고합니다 — 외부 파일에서 재계산을 활성화하기 전에 이상적입니다RecoveryMode: 구조적으로 손상된 워크시트 부분은 전체 열기를 중단하는 대신 경고 진단과 함께 건너뜁니다- 네이티브 BIFF8 클립보드 형식:
XLSSetClipboardBiff8/XLSGetClipboardBiff8은 Excel 자체가 사용하는Biff8스트림을 게시하고 읽으므로, 클립보드 교환이 값, 수식 및 서식을 유지합니다
변경
- 데이터 유효성 검사 감사는 모든 셀 대신 각 규칙’s 셀 범위를 한 번만 구문 분석하여 대규모 시트에서
CheckDataValidations를 빠르게 합니다
버전 2.279.0
추가
- PDF 내보내기가 워크시트 이미지를 포함합니다. PNG/GIF/BMP 비트맵은 Flate 압축 RGB XObject로 변환되고, JPEG 파일은 DCTDecode를 통해 재압축 없이 그대로 통과합니다. 여러 페이지의 동일한 이미지는 하나의 개체를 공유하며, 명시적 크기 없이 추가된 이미지는 96 DPI에서 픽셀 치수를 기본값으로 사용합니다
- 함께 유지 블록:
KeepRowsTogether는 한 페이지에 맞는 행 블록 내부의 인쇄/PDF 페이지 나눔을 막고,XlsxAutoPageBreaks는 자연스러운(함께 유지 인식) 페이지 경계를 명시적 행 나눔으로 변환하여 Excel이 내보내기처럼 페이지를 매기도록 합니다 - 구성 가능한 XLSX 압축:
ZipCompressionLevel은 저장의 deflate 수준을 선택합니다(-1 기본값부터 9까지) - 재현 가능한 저장:
DeterministicOutput은 zip 항목 타임스탬프를 고정하여 동일한 통합 문서를 두 번 저장하면 바이트 단위로 동일한 파일이 생성되도록 합니다
수정
- 순환 FAT 체인이 있는 손상된 복합 파일이 더 이상 클래식 .xls 로더를 중단시키지 않습니다 — 디렉터리 및 스트림 체인 순회에 순환 가드가 있습니다
버전 2.278.0
추가
- PDF 내보내기가 워크시트 하이퍼링크에 대한 클릭 가능한 링크 주석을 방출합니다. URL을 가진 셀은 셀 영역 위에 URI 동작이 있는 보이지 않는 /Link 사각형을 얻습니다
- PDF 내보내기가 문서 개요(책갈피)를 작성합니다. 내보낸 각 워크시트는 첫 번째 렌더링된 페이지를 가리키는 책갈피가 됩니다
버전 2.277.0
추가
- 데이터 유효성 검사에 감사 API가 추가되었습니다:
CheckDataValidations는 채워진 셀을 시트의 규칙(목록 멤버십, 정수/소수/날짜/시간 범위, 텍스트 길이, 계산기를 통한 사용자 지정 수식)에 대해 검사하고 규칙 인덱스와 사유와 함께 모든 위반 셀을 보고합니다 - 형식화된 사용자 지정 문서 속성이
docProps/custom.xml을 통해 왕복합니다:Workbook.CustomProperties의 텍스트, 숫자, 날짜 및 부울 항목 - 사용자 지정 XML 데이터 부분이 통합 문서 수준 관계 및 콘텐츠 유형과 함께
Workbook.CustomXmlParts를 통해 왕복합니다 - 이미지는 SVG 동반 파일을 허용합니다:
AddImagePair는 SVG 바이트를 래스터 대체 이미지 옆에 저장하고svgBlip확장과 Excel 2016 이상이 사용하는 추가 미디어 부분을 작성합니다 - 차트는
DataLabelsRange를 통해 셀 범위(“Value From Cells”)에서 데이터 레이블 텍스트를 가져올 수 있으며 차트 확장으로 방출되고 열 때 복구됩니다 - 사용자 지정 테이블 스타일:
Workbook.CustomTableStyles는 색상/굵게 섹션(머리글 행, 합계 행, 줄무늬, 가장자리 열)이 있는 명명된 스타일을 정의하고 자체 차등 스타일과 함께tableStyles에 작성되어 테이블이 이름으로 참조할 수 있습니다
버전 2.276.0
추가
- 셀 그라데이션 채우기: 각도별 선형 스윕과 정지점별 색상이 있는 경로 그라데이션이
gradientFill을 통해 왕복하며, HTML 내보내기에서는 CSS 그라데이션으로, PDF 내보내기와 통합 문서 뷰어에서는 밴드 보간 채우기로 렌더링되고TXLSXFills.AddLinearGradient편의 기능을 통해 제공됩니다 - 경과 시간 숫자 형식(
[h]:mm:ss,[mm]:ss,[s])은 이제 모든 표시 경로(FormattedText, HTML, PDF, 조건부 서식 값)에서 시계처럼 감싸는 대신 누계를 렌더링합니다 - 분수 숫자 형식(
# ?/?,# ??/??,0/8같은 고정 분모)은 0 정수 숨기기와 맞춤 공백을 포함하여 Excel’s의 최상의 유리수 근사로 렌더링됩니다 [Red]스타일 색상 대괄호가 이제TXLSXCell.GetFormattedTextColor를 통해 표시되고 PDF 내보내기에서 셀 텍스트를 다시 칠합니다TXLSXWorkbook.ValidateNumberFormat는 Excel’s의 사용자 지정 서식 대화 상자와 같은 방식으로 사용자 지정 형식 문자열을 검사합니다 — 섹션 수, 따옴표 균형, 대괄호 내용(색상, 조건, 경과 단위, 로캘 지시문)- 고정 창 상태는
GetFrozenPanes를 통해 다시 읽을 수 있고, 오른쪽 아래 창 스크롤 위치는SetPaneScroll/GetPaneScroll(topLeftCell로 작성됨)을 통해 왕복합니다 - 행/열 머리글 표시 토글
DisplayRowColHeaders는showRowColHeaders를 통해 왕복합니다 - 차트는 하드코딩하는 대신
DispBlanksAs(공백 / 간격 / 0)와PlotVisibleOnly를 노출하고, 열 때 보존된 ChartML에서 둘 다 복구합니다 - 메모는 편집 가능한 상자 지오메트리(
WidthPt/HeightPt, VML 포인트)와 텍스트 기반AutoSizeFromText휴리스틱을 전달합니다
버전 2.275.0
추가
- 찾기 & 바꾸기가 Excel 와일드카드를 이해합니다:
*(모든 문자 시퀀스),?(정확히 한 문자), 그리고 리터럴*,?,~의 이스케이프인~— Excel 자체가 찾기 및 바꾸기,COUNTIF계열 기준 및 자동 필터에 적용하는 것과 동일한 의미입니다 - XLSX 워크시트
FindText에 옵션 오버로드가 추가되었습니다: 대/소문자 일치, 전체 셀 내용 일치, 값뿐만 아니라 수식 텍스트 검색, 와일드카드 모드 및 역방향 스캔, 시작 앵커가 있어 반복 호출이 일치 항목을 순회합니다 ReplaceText는 동일한 옵션 세트와 함께 각 교체 셀을 셀 단위로 수락, 다시 쓰기, 건너뛰기 또는 중단할 수 있는 선택적 일치별 콜백을 얻습니다- 클래식 XLS 워크시트
FindText/ReplaceText에 와일드카드 및 전체 셀 오버로드가 추가되어 두 파사드 모두 Excel 검색 의미를 공유합니다 GetRangeStatistics는 사각형을 스캔하여 최소값, 최대값, 합계, 평균, 숫자 값 개수 및 채워진 셀 개수를 한 번에 보고합니다WriteAutoValue는 Excel 자체의 셀 입력이 해석하는 방식으로 텍스트를 작성합니다:TRUE/FALSE는 부울이 되고,#N/A같은 오류 리터럴은 오류 값이 되며, 명확한 ISO 날짜는 날짜가 되고, 일반 고정 형식 숫자는 숫자가 되며, 그 외의 모든 것(선행 0과 천 단위 구분 기호 포함)은 텍스트로 유지됩니다(두 파사드 모두)GetHtmlFromCell은 이스케이프된 마크업이 있는 스타일 지정 HTML 조각으로 셀 하나를 렌더링하여 전체 시트 HTML 내보내기를 보완합니다SortRange는 대소문자를 구분하지 않는 플래그를 허용하므로 대소문자와 관계없이 텍스트 키가 알파벳순으로 정렬됩니다(XLSX 파사드)
버전 2.274.0
추가
- Excel 테이블은 이제 새로운
HasHeaderRow및Comment테이블 속성을 통해 머리글 없는 테이블과 테이블별 메모를 왕복하며,headerRowCount="0"및comment특성으로 작성됩니다 - 차트는 새로운
ChartStyle속성(1–48 또는 확장된 101–148 범위)을 통해 Excel 갤러리 스타일을 선택할 수 있으며, 차트 부분의 스타일 요소를 통해 왕복합니다 - 결합 차트는 각 플롯 그룹의 새로운
ZOrder속성을 통해 플롯 영역 레이어링을 제어할 수 있으므로, 세로 막대 계열이 꺾은선형 계열 뒤나 앞에 렌더링될 수 있습니다 - 워크시트와 단일 셀은
ConvertFormulasToValues및ConvertFormulaToValue를 통해 수식을 계산된 값으로 고정할 수 있으며, 수식, 공유 수식 링크 및 배열 메타데이터를 제거하면서 캐시된 결과를 유지합니다 - 정의된 이름은 이제 새로운
Comment이름 속성을 통해 선택적 메모를 전달하며, 클래식 이름-메모 레코드와 XLSX 정의 이름comment특성을 통해 왕복합니다 - PDF 내보내기는 새로운
PaperWidth및PaperHeight속성을 통해 포인트 단위의 사용자 지정 용지 크기를 허용하며, 렌더링된 모든 워크시트에 대해 용지 크기 열거형을 재정의합니다 - PDF 내보내기는 새로운
HidePrintObjects세트를 통해 머리글 또는 바닥글 밴드를 억제할 수 있습니다 - PDF 머리글 및 바닥글 필드 코드
&F(파일 이름)와&Z(경로)는 이제 파일 기반 내보내기가 캡처한 소스 통합 문서 경로를 사용하여 확장됩니다 - 데이터 막대는 새로운
NegativeBorderColor및NegativeBarBorderColorSameAsPositive설정을 통해 독립적인 음수 값 테두리 색상을 지원하며, Excel 2010+ 데이터 막대 확장에 방출됩니다 - 식별자에 레거시 레코드 슬롯이 없는 기본 제공 셀 스타일(Hyperlink, Title, Headings, Accents, Good/Bad/Neutral, …)은 이제 저장 시 표준 표시 이름을 해석하므로 Excel 스타일 갤러리가 왕복을 견딥니다
- Agile 암호화 통합 문서는 이제 실제
dataIntegrity블록을 전달합니다: 작성기는 전체 암호화 패키지에 대해 사양 준수 HMAC을 방출하고, 열 때 이를 검증하여 잘못된 암호 또는 변조된 패키지를 감지합니다. 블록이 없는 작성기의 파일은 여전히 변경 없이 열립니다 - 클래식 통합 문서는
SetModifyPassword를 통해 Excel의 “수정 암호” 쓰기 예약을 지원합니다(읽기 전용 권장 플래그, 레거시 암호 해시 및 예약 사용자 이름을 WRITEPROT + FILESHARING 레코드 쌍으로 방출).IsWriteReserved는 상태를 보고하고 빈 암호는 이를 해제합니다 - 옵트인
RecalcLookupCache메모는 조회가 많은 재계산을 가속화합니다: 동일한 범위에 대한 반복된XLOOKUP/XMATCH스캔은 첫 번째 스캔의 결과를 재사용합니다. 메모는 종속성 그래프가 증명 가능하게 참조 안정적일 때만(OFFSET/INDIRECT또는 해석할 수 없는 참조가 없고, 순환 체인이 없으며, What-If 데이터 테이블이 없는 경우) 활성화되고 그 외에는 조용히 꺼져 있으므로 결과는 항상 동일합니다 - 동반
RecalcAggregateCache메모는 조건부 집계 재계산을 가속화합니다: 동일한 범위와 기준에 대한 반복된SUMIF/COUNTIF/AVERAGEIF스캔은 동일한 참조 안정성 게이트 아래에서 첫 번째 결과를 재사용하며 결과는 동일합니다 LAMBDA식은 전체 클로저로 평가됩니다: RefersTo가LAMBDA인 정의된 이름은 인수와 함께 이름으로 호출할 수 있고(=MyFunc(5)), 클로저는LET내부에서 어휘적으로 바인딩되며(=LET(f, LAMBDA(x, x*2), f(21))), 매개 변수는 같은 철자의 열 참조를 가리고, 수식 텍스트는 그대로 왕복합니다. 셀 결과로 저장된 단독LAMBDA는 값 없이 건너뛰는 동작을 유지합니다LET는 이제 완전한 의미를 갖습니다: 중첩LET구성 포함, 모든 바인딩이 이후 바인딩과 본문 식에 표시됩니다 — 이전의 부분 구현을 대체합니다- 수식 텍스트는 이제 클래식 세미콜론과 함께 쉼표를 인수 구분자로 허용하여, 붙여넣고 가져온 수식에 대한 Excel의 표준 구문과 일치합니다
- 수식의 구조적 참조가 이제 평가됩니다:
Table[Column],Table[[Column]], 열 범위 및[#Data]/[#All]/[#Headers]/[#Totals]항목 형식은 구문 분석 시 통합 문서의 Excel 테이블에 대해 해석되므로,=SUM(Table1[Amount])가 계산되는 동안 원래 수식 텍스트는 여전히 그대로 왕복합니다. 해석할 수 없는 참조는 이전의 값 없이 건너뛰는 동작을 유지하고 현재 행 형식([@Column])은 계속 지원되지 않습니다
변경
- 통합 문서가 전체 정밀도를 비활성화하면 재계산된 결과는 이제 각 셀의 숫자 형식이 표시하는 소수 자릿수로 반올림되어 저장되므로, HotXLS로 계산된 값에 대해 Excel의 “표시된 대로 정밀도” 동작과 일치합니다
- XLSX에 작성된 조건부 서식 규칙은 이제 시트 고유 우선 순위를 받으므로, Excel이 복구를 요청하게 하던 중복 우선 순위 파일이 제거됩니다
- 새로운
IsPivot속성을 통해 PivotTable 범위로 표시된 조건부 서식은 Excel이 삭제하거나 잘못 배치했을 워크시트의 기본 조건부 서식 블록 대신 확장 버킷으로 라우팅됩니다
버전 2.273.0
변경
TXLSXWorkbook.PreserveRawParts는 이제 변경되지 않은 워크시트 이미지, 머리글 및 바닥글 이미지, 차트 부분을 원래 압축 페이로드와 함께 복사하는 반면, 이미지 데이터 편집과 차트 모델 편집은 직렬화 경로를 사용합니다- 성공적인 파일 SaveAs는 이제 커밋된 패키지를 다음 원시 복사 기준으로 수락하므로, 이후 저장은 이전 소스 패키지를 다시 열지 않고 새로 직렬화된 불투명 데이터, VBA, 연결, 외부 링크, 이미지, 차트, 테마 및 피벗 페이로드를 재사용할 수 있습니다
수정
- 비표준 부분 위치가 있는 패키지의 알 수 없는 워크시트 및 드로잉 관계는 이제 생성된 표준 소유자에 대해 다시 기준을 잡으며, 유일한 앵커가 보존된 지원되지 않는 도형인 드로잉 전용 패키지도 포함됩니다
- 실패한 압축 멤버 복사는 이제 안전한 직렬화 대체 전에 부분 로컬 헤더, 페이로드 바이트, 상위 폴더 항목 및 중앙 디렉터리 개수를 롤백하여 출력 아카이브에 접근할 수 없는 데이터가 축적되는 것을 방지합니다
버전 2.272.0
변경
- XLSX SaveAs는 이제 전체 저장 작업 동안 하나의 검증된 소스 아카이브를 열고 변경되지 않은 모든 관계 도달 가능한 불투명 부분을 원래 압축 페이로드와 함께 복사하여 반복되는 중앙 디렉터리 스캔과 압축 해제 및 재압축을 피하면서, 수정된 페이로드는 여전히 직렬화 경로를 사용합니다
수정
- 통합 문서가 비표준 부분 이름을 사용하는 패키지의 알 수 없는 통합 문서 관계는 이제 생성된 통합 문서 위치에 대해 다시 기준을 잡아, 보존된 대상 부분이 SaveAs 후 접근할 수 없게 되는 것을 방지합니다
- 프로젝션 직접 읽기는 이제 선택한 행 또는 열 집합 외부의 공유 수식 마스터 정의를 유지하므로, 선택된 후속 셀은 선택되지 않은 값이나 서식 있는 텍스트를 다시 구축하지 않고도 올바르게 변환된 수식을 계속 받습니다
- 차트를 편집해도 데이터 레이블 숫자 형식 작성이 동일한 로컬 이름의 요소를 사용한다는 이유만으로 모델링되지 않은 축 숫자 형식이 더 이상 제거되지 않습니다
버전 2.271.0
수정
- 클래식 HTML 내보내기는 이제 UTF-8을 작성하고
<meta charset>과 HTML5 문서 유형으로 이를 선언합니다. 이전에는 스트림이 시스템 ANSI 코드 페이지로 작성되어 비ASCII 셀 값을 손상시켰고, 누락된 charset 선언으로 페이지가 브라우저의 마음대로 되었습니다
버전 2.270.0
추가
- 차트 데이터 레이블은 이제 새로운
LabelNumFmt및LabelPos계열 속성(*Set플래그 포함)을 통해 명시적 숫자 형식과 위치를 전달할 수 있으며, 표준 및 결합 차트 작성기 모두에서<c:numFmt>및<c:dLblPos>로 방출됩니다 — 백분율 또는 통화 레이블 텍스트와 outside-end 또는 center 같은 레이블 위치를 활성화합니다. 두 설정 중 하나만으로도 레이블 블록이 켜지며, 설정되지 않은 계열은 바이트 단위로 동일하게 유지됩니다
버전 2.269.0
추가
- 꺾은선형 및 분산형 차트 계열은 이제 새로운
MarkerSymbol,MarkerSize및MarkerSet속성을 통해 명시적 표식 기호와 크기를 전달할 수 있으며, 표준 및 결합 차트 작성기 모두에서 계열의<c:marker>블록으로 방출됩니다. 설정되지 않은 계열은 자동 표식을 유지합니다 - 표시 단위가 있는 값 축은 이제 새로운
ShowDispUnitsLabel축 속성을 통해 단위 레이블(“Thousands”, “Millions”, …)을 표시할 수 있습니다
버전 2.268.0
추가
- XLSX 차트 추세선은 이제 새로운
Intercept/InterceptSet,Forward및Backward속성을 통해 고정 절편과 전방 및 후방 예측 기간을 지원하며,<c:intercept>/<c:forward>/<c:backward>로 방출됩니다. 이전에는 클래식 BIFF 차트 작성기만 이러한 컨트롤을 제공했으며, 설정되지 않은 추세선은 바이트 단위로 동일하게 유지됩니다
버전 2.267.0
추가
- 수식 계산은 이제 복소수 함수
IMCOS,IMSIN,IMTAN,IMSEC,IMCSC,IMCOT,IMLOG2및IMLOG10을 평가하여, 복소 문자열 피연산자에 대한 삼각, 역수 및 밑 2/밑 10 로그 커버리지로IM*공학 함수 계열을 완성합니다
버전 2.266.0
변경
- 스트리밍 직접 판독기는 이제 셀 값을 누적하기 전에 열 프로젝션을 적용합니다. 프로젝션 열 집합이 구성되면 그 밖의 셀은 이전에 모든 셀에 대해 실행되고 셀 끝에서 폐기되었던 값, 수식 및 서식 있는 텍스트 문자열 구축을 건너뛰므로, 몇 개의 열만 프로젝션하는 넓은 시트 읽기가 빨라집니다
버전 2.265.0
추가
- 가로 막대 및 세로 막대 차트 플롯 그룹은 이제 새로운
BarGrouping,GapWidth및Overlap속성을 통해 구성 가능한 그룹화 모드(clustered,stacked,percentStacked), 클러스터 간격 너비 및 계열 겹침을 노출합니다. 이전에는 모든 가로/세로 막대 차트가 간격이나 겹침 제어 없이clustered로 하드코딩되었으며, 설정되지 않은 그룹은 바이트 단위로 동일하게 유지되고 열기 후 편집 병합 목록은 새 요소를 소유된 것으로 취급합니다
버전 2.264.0
수정
- PDF 셀 테두리는 이제 모든 테두리가 동일한 0.75 pt 실선으로 그려지는 대신 워크시트의 테두리 스타일과 굵기를 반영합니다: XLSX 셀은 가는, 중간, 굵은, hair 및 이중 굵기와 파선, 점선, 일점쇄선, 이점쇄선 및 사선 일점쇄선 패턴을 렌더링하고, BIFF 셀은 가는, 중간 및 파선/점선 스타일을 렌더링합니다
버전 2.263.0
추가
- PDF 내보내기는 이제 새로운
DocumentTitle,DocumentAuthor,DocumentSubject및DocumentKeywords속성을 통해 문서 메타데이터를 포함할 수 있습니다. 어느 하나라도 설정되면 PDF는 해당 필드와 함께Creator/Producer식별 및CreationDate가 있는/Info사전을 전달하며, 메타데이터가 없는 기본 내보내기는 바이트 단위로 동일하게 유지됩니다
버전 2.262.0
수정
- CSV 내보내기는 더 이상 필드를 과도하게 따옴표로 묶지 않습니다: 내부 공백이 더 이상 따옴표를 강제하지 않으므로
John Smith같은 값이 따옴표 없이 작성되어 RFC 4180 및 Excel과 일치합니다. 구분 기호, 큰따옴표, 줄 바꿈 또는 앞/뒤 공백이 있는 필드는 이전과 같이 계속 따옴표로 묶입니다
버전 2.261.0
추가
- 각 차트 계열은 이제 새로운
SolidFillHex속성을 통해 단색 채우기 색상을 전달할 수 있으며, 계열의<c:spPr>도형 속성으로 방출됩니다. 16진수 색상을 할당하면 Excel의 자동 테마 색상 대신 브랜드 또는 팔레트 색상이 계열에 적용되며, 설정되지 않은 계열은 바이트 단위로 동일하게 유지되고 열기 후 편집 병합 목록은spPr을 소유된 것으로 취급하여 중복 대신 교체합니다
버전 2.260.0
변경
- 희소 셀 저장 백엔드는 이제 추가되는 모든 셀마다 재할당하는 대신 각 256행 블록 버퍼를 기하급수적으로(2배) 늘려, 밀집 워크시트를 로드할 때의 이차 복사 비용을 제거합니다
버전 2.259.0
수정
- BIFF8 워크시트 개체 보호(
OBJECTPROTECT) 및 시나리오 보호(SCENARIOPROTECT) 레코드는 이제 시트 보호 상태로 다시 읽히므로, 잠금 플래그가 작성되었지만 다시 로드할 때 손실되는 대신 왕복을 견딥니다 - BIFF8 통합 문서 전역
MMS,RefreshAll및UseSelFS레코드는 이제 조용히 삭제되는 대신 왕복을 통해 보존됩니다
버전 2.258.0
추가
- 형식화된 표시 텍스트는 이제
[Cyan]및[Magenta]색상 지시문과[Color1]부터[Color8]까지의 인덱스 팔레트 지시문을 인식하므로, HTML 스타일 형식 출력이 해당 색상을 삭제하는 대신 적용합니다
버전 2.257.0
추가
- 수식 계산은 이제 공학 및 수학 함수
FACTDOUBLE,SQRTPI,DELTA,GESTEP,SERIESSUM및CONVERT를 평가하며,CONVERT는 질량, 거리, 시간, 압력, 힘, 에너지, 전력, 자기, 온도 및 부피 단위를 다루고 일치하지 않는 단위 범주를 거부합니다
버전 2.256.0
수정
- 형식화된 표시 텍스트는 이제
hh:mm,mm:ss및[h]:mm:ss같은 시간 마스크에서 분을 올바르게 렌더링합니다. 이전에는 Delphi의mm(월)이 사용되어 분 필드에 월 번호가 표시되었습니다 [$-409]및[$$-1009]같은 로캘 및 통화 지시문은 이제 리터럴$-409접두사로 새어 나오는 대신 형식화된 출력에서 제거되며, 지시문에 있는 통화 기호는 보존됩니다
버전 2.255.0
추가
- ZIP 패키지 읽기는 이제 ZIP64 아카이브를 이해하여 확장 정보 추가 필드와 ZIP64 중앙 디렉터리 끝 레코드 및 로케이터를 구문 분석하므로, 부분 또는 오프셋이 4 GB / 65535 항목 클래식 한도를 초과하는 통합 문서가 중앙 디렉터리 끝 검사에 실패하는 대신 올바르게 열립니다
버전 2.254.0
보안
- 암호화된 통합 문서 암호 검증은 이제 Agile 및 표준 암호화 모두에서 검증기 해시를 상수 시간에 비교하여, 암호 해시의 앞부분 바이트가 얼마나 일치하는지 드러낼 수 있는 타이밍 부채널을 차단합니다
- Agile 암호화는 시스템 CSPRNG를 사용할 수 없을 때 솔트, 검증기 및 중간 키에 대해 시간 시드 의사 난수 생성기로 더 이상 대체하지 않습니다. 이제 예측 가능한 키 자료를 방출하는 대신 안전하게 실패합니다
버전 2.253.0
추가
- 수식 계산은 이제 Excel 365 배열 모양 함수
VSTACK,HSTACK,TOROW,TOCOL,WRAPROWS,WRAPCOLS,TAKE,DROP,CHOOSECOLS,CHOOSEROWS,EXPAND,RANDARRAY및TEXTSPLIT를 평가하여, 기존 동적 배열 메커니즘을 통해 결과를 분출합니다 - 수식 계산은 이제 최신 텍스트 함수
TEXTBEFORE및TEXTAFTER를 인스턴스 번호, 대/소문자 무시, 일치 끝 및 찾을 수 없음 처리와 함께 평가합니다 - 수식 계산은 이제
RANDBETWEEN,ISEVEN,ISODD및FORECAST의FORECAST.LINEAR별칭을 평가합니다
버전 2.252.0
추가
- 정의된 이름은 선택적 메모를 전달하며, BIFF8 NAMECMT 레코드와 OOXML
definedNamecomment특성으로 왕복합니다 - 로컬 파일 하이퍼링크 대상은 정규화되어(백슬래시-슬래시 변환,
file://및file:///접두사, 예약 문자의 퍼센트 인코딩) Excel이 이를 그대로 저장합니다 - 도형, 그림 및 텍스트 상자 채우기 종류(단색, 그림, 그라데이션, 없음, 자동)는 이제 원시 채우기 유형 속성 위에 유형화되어 충실히 왕복합니다
- 조건부 서식 데이터 막대는 Excel 2010+ 독립 음수 값 막대 테두리 색상을 지원합니다
- 피벗 캐시 필드는 다중 수준 날짜 및 숫자 그룹화 연결을 왕복합니다
- 사용자 함수 콜백은 인수 종류 설명자를 받아 핸들러가 리터럴 값, 셀 또는 범위 참조 및 배열 상수를 구분할 수 있습니다
- 수식 컴파일은 지역화된 함수 이름(독일어, 프랑스어, 스페인어)을 허용하며, 어휘 분석 전에 표준 영어로 다시 작성됩니다
- 암호 및 암호화 도우미가 명명된 반환 코드 상수를 노출합니다
변경
- 패키지 및 XLSX 저장은 이제 더 큰 deflate 버퍼와 더 높은 압축 메모리 수준을 통해 흐르고 이미 압축된 바이트에 대한 중복 체크섬 패스를 건너뛰어, 저장 CPU 및 실제 경과 시간을 줄입니다
- 내부 문자열 빌더, 목록 및 해시 테이블 증가는 이제 더 이른 해시 재할당 지점과 함께 기하급수적(2배) 할당을 사용하여, 통합 문서에 많은 스타일, 이름, 정의된 범위 또는 공유 문자열이 있을 때 할당 변동과 조회 비용을 낮춥니다
- 공유 문자열 테이블 조회는 이제 전체 문자열을 구체화하기 전에 저장된 바이트를 직접 비교하여, 큰 공유 문자열 테이블의 조회 할당을 줄입니다
버전 2.251.0
수정
- XLSX 열기 및 저장은 이제 형식화된 통합 문서 상태를 재생성하는 동안 외부 통합 문서 루트 네임스페이스 선언, 마크업 호환성 특성, 완전한 통합 문서 수준
<extLst>페이로드 및 그 알 수 없는 관계를 유지합니다. 보존된r:id참조는 생성된 워크시트 또는 통합 문서 관계와 충돌할 때 오래된 상태가 되는 대신 관계 ID 재할당을 따릅니다
버전 2.250.0
변경
- XLSX 희소 행 항목은 이제 열과 안정적인 셀 핸들만 저장하여, 셀 값, 수식 또는 서식 있는 텍스트 개체가 변경될 때마다 사용하지 않는 페이로드 태그와 중복 분류 및 두 번째 행 인덱스 조회를 제거합니다
버전 2.249.0
추가
TXLSRTFImport.LoadFromRTF및TXLSWorksheet.OpenRTF오버로드는 명시적 1부터 시작하는 대상 행과 열에서 테이블 또는 단락 목록을 가져올 수 있으며, 원래 오버로드는 계속 A1에서 시작합니다
변경
- XLSX 형식화된 행 작성기는 이제 엄격히 전방 배치를 미리 크기가 조정된 희소 행 벡터에 직접 추가하며, 희소 셀 조회는 이진 검색 없이 첫 번째 열 및 마지막 열 적중을 해결하는 반면, 겹침 쓰기는 기존 교체 경로와 안정적인 셀 핸들을 유지합니다
수정
- 파일 기반 XLSX 원시 부분 복사 및 선택적 시트 로드는 이제 크기 및 타임스탬프 검증이 있는 개인 소스 아카이브 ID를 사용하므로, 나중의 스트림 열기 또는 공개
FileName할당이 보존된 부분을 다른 통합 문서로 리디렉션할 수 없습니다 RefreshPivotCache는 이제 새로 고쳐진 캐시를 형식화된 직렬화로 전환하므로, 저장 중 재구성된 레코드가 오래된 원시 패키지 바이트로 덮어쓰여질 수 없습니다- 원시 압축 ZIP 복사는 이제 소스 스트림이 선언된 압축 바이트 수를 정확히 포함하도록 요구하여, 중앙 디렉터리 등록 전에 잘린 항목과 초과 길이 항목을 모두 거부합니다
- 하나의 RTF 가져오기를 재사용하면 이제 문서 사이에 코드 페이지 및 문자 형식 파서 상태를 재설정하므로, 굵게, 기울임꼴, 밑줄, 취소선 및 글꼴 크기가 다음 가져오기로 누출될 수 없습니다
MetadataOnlyXLSX 열기는 이제 통합 문서 속성, 이름, 시트 상태, 스타일, 테마, 연결 및 외부 링크를 유지하면서 공유 문자열, 사람, 워크시트 관계, 메모, 드로잉, 차트, 테이블, 쿼리 테이블, 피벗 및 워크시트에서 도달 가능한 불투명 페이로드를 피합니다
버전 2.248.0
변경
- XLSX SaveAs는 이제 구문 분석된 연결 모델이 변경되지 않았을 때 소스 패키지에서 변경되지 않은
connections.xml부분을 원시 복사하여, 소스 XML 충실도를 유지하고 불필요한 압축 해제 및 재압축을 피하면서 편집된 연결은 여전히 형식화된 모델에서 다시 씁니다
버전 2.247.0
변경
- XLSX SaveAs는 이제 구문 분석된 모델이 변경되지 않았을 때 소스 패키지에서 변경되지 않은 외부 링크 XML 및 관계 부분을 원시 복사하여, 알 수 없는 확장 XML을 보존하고 불필요한 압축 해제 및 재압축을 피하면서 편집된 링크는 여전히 형식화된 모델에서 다시 씁니다
버전 2.246.0
추가
TXLSHTMLImport.LoadFromHTML오버로드는 1부터 시작하는 대상 행과 열에서 가져올 수 있고, 하나의 0부터 시작하는 최상위 테이블 또는 모든 테이블을 선택할 수 있으며, 전역 형식 설정을 변경하지 않고 명시적 소수 구분 기호로 숫자를 구문 분석할 수 있습니다
변경
- XLSX 스타일 로딩은 이제 반복적인 문자열 키 구성과 선형 맵 검색 대신 공유 불변 cellXf 배열을 통해 각 셀 스타일을 해결하여, 스타일이 있는 통합 문서 열기 시간과 임시 할당을 줄입니다
수정
- 수정된 VBA 프로젝트 바이트는 이제 보존된 원시 부분 복사를 우회하므로, 편집된 매크로 사용 통합 문서를 저장해도 원래
vbaProject.bin페이로드를 복원할 수 없습니다 - 원시 ZIP 멤버 복사는 이제 불일치 압축 헤더를 방출하는 대신 STORE 및 DEFLATE 이외의 압축 방법을 거부하여, 호출자가 안전한 압축 해제 및 다시 쓰기 대체 경로를 사용할 수 있게 합니다
- HTML 가져오기는 이제 최상위 테이블 밖의 행 및 셀 태그를 무시하고 원래 오버로드의 기존 모든 테이블 동작을 유지합니다
버전 2.245.0
추가
- 보호된 셀 인식 입력, 수식 입력 및 재계산, 사각형 범위 선택, 수식 참조 선택 및 제한된 순환 실행 취소/다시 실행 기록이 있는 편집 가능한
TXLSWorkbookViewer셀 TXLSPivotDesigner는 행, 열, 필터 및 값 영역, 결정적 필드 이동, 집계 선택, 레이아웃 검증 및 결과 적용이 있는 재사용 가능한 비시각적 필드 목록 모델을 제공합니다- 클래식 XLS 통합 문서는 이제 워크시트 ID, 1부터 시작하는 셀 좌표, 캐시된 값 및 새로 계산된 값, 수식 텍스트가 포함된 공유 불일치 레코드와 함께
CalculateAndVerify진단을 제공합니다 - 클래식 XLS 및 XLSX 워크시트는 이제 1부터 시작하는 좌표, 그리드 경계 클리핑, 직접 셀 모델 쓰기 및 반환된 쓰기 수와 함께 형식화된 숫자, 문자열 및 variant 행 및 열 작성기를 제공합니다
변경
- XLSX 뷰어 페인팅은 이제 다시 칠하기 및 스타일 해결 중 빈 셀 구체화를 피하여 희소 워크시트를 유지합니다
TXLSXWorksheet.ReplaceText는 이제 전체 셀 컬렉션을 복사하고 정렬하지 않고 선형 시간에 저장된 셀을 직접 방문합니다
수정
- 클래식 XLS RC4 및 RC4 CryptoAPI 읽기 및 쓰기는 이제
[MS-XLS]가 요구하는 모든 평문 레코드 본문을 보존하고,BoundSheet8.lbPlyPos를 암호화하지 않은 상태로 유지하며, 일치하는 키스트림 위치를 사용하고,FILEPASS후 첫 번째 암호화 레코드를 읽기 전에 암호 해독을 활성화합니다 - SpreadsheetML 직렬화는 이제 대칭
_xHHHH_코덱을 Xstring 필드에만 적용하는 반면, 수식 및 참조 구문은 일반 XML 이스케이프를 사용하므로 토큰 모양 리터럴이 정확한 수식 의미를 유지합니다
버전 2.244.0
추가
- 다중 형식 클립보드 가져오기:
XLSPasteFromClipboardRich는 일반 유니코드 텍스트보다 XML 스프레드시트 클립보드 형식(수식, 스타일 및 병합 전달)을 선호하며, 형식 감지, 추출 및 SpreadsheetML 2003 구문 분석을 위해XLSClipboardHasXmlSpreadsheet,XLSGetClipboardXmlSpreadsheet및XLSParseXmlSpreadsheet를 사용합니다
버전 2.243.0
추가
- 외부 정의된 이름:
TXLSXExternalLink는 이제 외부 통합 문서 링크의<definedNames>항목(이름 + refersTo)을 구문 분석, 저장 및 왕복하며,AddDefinedName,FindDefinedName및 인덱싱된DefinedNames[]액세스를 제공합니다 - 시트별 새로 고침 실패 상태: 각
TXLSXExternalSheetData는 마지막 새로 고침 시도가 실패했는지 여부를 기록하는RefreshError플래그를 전달하며,refreshError특성에서 구문 분석되고 방출됩니다
버전 2.242.0
추가
TXLSXWorkbook.PreserveRawParts는 SaveAs 중 변경되지 않은 부분(테마, VBA 프로젝트, 피벗 테이블 및 피벗 캐시)의 압축 표현을 소스 아카이브에서 직접 복사하여, 보존된 불투명 항목의 압축 해제 및 재압축을 피합니다
버전 2.241.0
추가
TXLSXWorkbook.SelectedSheets속성은 선택적 워크시트 로딩을 활성화합니다. Open은 목록에 있는 이름의 시트에 대해서만 셀 XML을 구문 분석하는 반면, 다른 시트는 셀이 0개인 상태로 이름과 표시 상태를 유지합니다.LoadSheet(Index)를 호출하여 원래 아카이브에서 건너뛴 시트를 필요 시 구체화합니다
버전 2.240.0
추가
TXLSXWorkbook.MetadataOnly열기 모드는 통합 문서 속성, 정의된 이름, 시트 이름 및 표시 상태, 스타일, 테마, 연결 및 외부 링크를 구문 분석하지만, 큰 통합 문서에서 빠른 속성 및 이름 검색을 위해 모든 워크시트 셀 XML 및 위성 부분을 건너뜁니다
버전 2.239.0
추가
- 안정적인 공개 핸들, 행 중심 캐시 친화적 직렬화 및 모든 저장 전 모든 통합 문서 풀에 걸친 스타일 압축이 있는 컴팩트한 256행 블록 셀 저장
- 구간 스타일 오버레이는 빈 셀 개체를 구체화하지 않고 행, 열 및 사각형 서식을 컴팩트하게 유지하고, 셀 액세스 시 지연 해결하며, 구조적 편집에서도 유지되고 컴팩트한 열, 행 및 스타일 전용 셀 항목으로 왕복합니다
변경
- 일반 통합 문서 저장은 이제 각 워크시트 행을 패키지 deflate 스트림에 직접 스트리밍하므로, 최고 메모리가 완전한 워크시트 XML 대신 가장 큰 단일 행을 따릅니다
- 공유 문자열 및 보조 XML 부분은 이제 단일 재사용 가능한 UTF-8 직렬 변환기를 통해 한 번에 하나의 항목을 스트리밍하여, 전체 부분 대신 가장 큰 항목으로 최고 메모리를 제한합니다
버전 2.238.0
추가
TXLSPaginationModel은 용지 지오메트리, 여백, 머리글, 바닥글, 행 및 열 밴드, 반복 제목, 페이지 순서, 눈금선 정책 및 드로잉 배치와 함께 XLS 및 XLSX 범위, 워크시트 및 통합 문서에 대한 재사용 가능한 논리 페이지를 구축합니다TXLSWorkbookViewer는 이제 공유 모델 인쇄 미리 보기, 키보드 및 스크롤 휠 페이지 탐색, 캐시된PaginationModel액세스, 명시적RefreshPagination및 선택된 페이지 EMF 출력을 제공합니다TXLSPDFExport.CreatePaginationModel은 여섯 가지 XLS 및 XLSX 입력 유형 모두에 대해 PDF 계산 및 렌더링이 사용하는 정확한 소유 페이지 모델을 노출합니다
변경
- PDF 내보내기 및 페이지 계산은 이제 별도의 XLS 및 XLSX 페이지 루프를 유지하는 대신 하나의 페이지 매김 엔진을 사용합니다
- 너비 맞춤 및 높이 맞춤 배율은 이제 Excel의 10%~400% 배율 범위 내에서 수동 나눔 및 반복 제목을 포함한 실제 페이지 밴드에 대해 해결됩니다
버전 2.237.0
추가
TXLSFormulaDebugger는 구문 분석된 식 트리, 소스 범위, 연산자, 피연산자 노드 및 값, 중간 결과, 결정적 평가 순서 및 탐색 가능한 현재 단계 상태가 포함된 소유 대화형 세션을 만듭니다- 수식 디버그 세션은 해결된 시트 좌표로 셀 및 범위 종속성을 노출하고,
IF,IFERROR,IFNA,CHOOSE,IFS및SWITCH에 대해 선택된 분기와 건너뛴 분기를 보고하며, 시작 노드와 함께 복구된 내부 오류를 보존합니다
변경
- 통합 문서 및 워크시트
Calculate는 이제 Excel 수식 실패를Null로 변환하는 대신 표준Variant오류 값으로 반환합니다 TXLSFormulaTracer는 이제 push 및 reduction 단계에 대해 정확한 전후 피연산자 스택을 기록합니다
버전 2.236.0
추가
TXLSXWorksheet.StructuralEditRegistry는 이제 응용 프로그램 소유 워크시트 메타데이터가IXLSXStructuralEditParticipant를 통해 행 및 열 삽입 또는 삭제에 참여할 수 있게 합니다
변경
- XLSX 구조적 편집은 이제 수식, 이름, 유효성 검사, 조건부 서식, 메모, 하이퍼링크, 드로잉, 테이블, 쿼리, 시나리오, 데이터 테이블, 인쇄 설정, 스파크라인, 피벗 캐시 및 보기, 워크시트 확장을 포함하는 하나의 보호된 트랜잭션에서 참조 민감 작업을 완료합니다
수정
- 삽입 또는 삭제된 행과 열은 이제 보호된 범위, 스레드 메모 앵커, 다시 열린 클래식 메모 VML, 로컬 및 교차 시트 스파크라인 참조, 형식화된 피벗 소스 및 앵커, 계산된 피벗 수식 및 보존된 워크시트 확장 XML 내부의 인식 가능한 참조를 업데이트합니다
버전 2.235.0
추가
TXLSDirectWriter는 이제 전체 통합 문서 개체 모델을 구성하지 않고 클래식 메모, 앵커 워크시트 이미지, 수식 기반 세로 막대, 가로 막대, 꺾은선형, 영역, 원형, 도넛형 및 분산형 차트와 완전한 호출자 제공 ChartML을 추가합니다- 이미지는 바이트, 선택적 소유권 이전이 있는 탐색 가능한 스트림 또는 파일 경로로 제공될 수 있으며 PNG, JPEG, GIF, BMP, EMF 또는 WMF 콘텐츠를 사용할 수 있습니다
변경
- 리치 직접 작성기 부분은 현재 시트 사이드 채널 설명자를 사용하고, 시트가 닫히기 전에 워크시트 관계 식별자를 할당하며, 행 메모를 시트 크기와 무관하게 유지하기 위해 워크시트 XML 후에 미디어 및 관련 XML 부분을 스트리밍합니다
버전 2.234.0
추가
TXLSDirectReader는 이제 형식화된 레이아웃 레코드와 함께 옵트인 차원, 시트 형식, 열, 행, 창 및 병합 범위 이벤트를 노출합니다- 열 및 행 이벤트는 워크시트 셀 개체를 구성하지 않고 너비 또는 높이, 숨김 및 축소 상태, 개요 수준 및 소스 스타일 인덱스를 보고합니다
변경
- 할당된 레이아웃 콜백은 셀 전달 전에 메모리 제한 메타데이터 패스를 사용하여, 병합 범위 및 기타 레이아웃 정보가 그에 의존하는 셀보다 먼저 도착하도록 보장하며, 일반 셀 전용 스캔은 원래 단일 패스 경로를 유지합니다
- 병렬 직접 읽기는 레이아웃 콜백을 호출 스레드에 유지하고 순서가 있는 작업자 셀 큐를 비우기 전에 선택된 시트 메타데이터를 완료합니다
버전 2.233.0
추가
TXLSXChartTextStyle는 이제 형식화된 차트 제목, 범례, 축 제목 및 축 레이블 글꼴 이름, 포인트 크기, RGB 색상, 강조 및 텍스트 회전을 제공합니다TXLSXChartLayout는 이제 명시적 가장자리 또는 비율 모드와 내부 또는 외부 플롯 대상을 사용하여 정규화된 수동 플롯 영역, 차트 제목, 축 제목 및 범례 위치를 제공합니다- 차트는 이제 차트 제목 오버레이 설정과 함께 형식화된 범례 표시 여부, 위치, 오버레이, 텍스트 스타일 및 레이아웃 컨트롤을 노출합니다
변경
- 수동 레이아웃은 항상 Office 호환 기본 모드를 사용하여 완전한 x, y, width 및 height 그룹을 직렬화하므로 Excel이 부분 또는 충돌 좌표를 폐기하지 않습니다
수정
- 형식화된 차트 글꼴 또는 레이아웃을 편집하면 관련 없는 확장 목록과 사용자 지정 네임스페이스 콘텐츠를 보존하는 반면, 알려진 색상 또는 강조 속성을 지우면 구조적 병합 중에 더 이상 가져온 값을 복원하지 않습니다
버전 2.232.0
추가
TXLSXImage는 이제 백분율 기반 자르기 가장자리, 투명도, 밝기, 대비, 각도 단위 회전 및 늘이기 또는 타일 채우기 모드를 노출합니다TXLSXImage.HasPreservedXml는 가져온 DrawingML을 사용할 수 있는지 여부를 보고하는 반면,ClearPreservedXml은 하나의 그림을 깨끗한 형식화된 모델 재생성으로 선택합니다
변경
- 이미지 효과 값은 컴팩트한 고정 소수점 저장을 사용하고 효과별 도우미 개체를 할당하지 않고 네이티브 DrawingML 단위를 작성합니다
수정
- 가져온 이미지에서 지원되는 속성을 편집하면 이제 관련 없는 확장, 마크업 호환성 선택, 사용자 지정 특성, 도형 효과 및 네임스페이스 한정 콘텐츠를 보존합니다
버전 2.231.0
추가
- 가져온 XLSX 차트는 이제
TXLSXWorkbook.PreserveUnsupportedParts가 활성화된 동안 원래 ChartML을 보존하여, 알 수 없는 네임스페이스, 마크업 호환성 대안, 확장 목록, 사용자 지정 스타일 및 모델링되지 않은 서식을 유지합니다 TXLSXChart.HasPreservedXml는 원래 ChartML을 사용할 수 있는지 여부를 보고하고,ClearPreservedXml은 응용 프로그램이 하나의 차트를 깨끗한 형식화된 모델 재생성으로 선택할 수 있게 합니다
변경
- 손대지 않은 가져온 차트를 저장하면 원래 ChartML을 재생하는 반면, 지원되는 속성에 대한 편집은 모델링된 차트 노드만 구조적으로 오버레이하고 관련 없는 콘텐츠를 제자리에 유지합니다
수정
- 차트 제목, 계열, 축 또는 기타 지원 속성을 편집해도 더 이상 차트 부분에서 관련 없는 Excel 작성 확장, 대체 콘텐츠, 스타일 또는 서식을 폐기하지 않습니다
버전 2.230.0
추가
TXLSXChart.AddPlotGroup은 이제 차트 계열과 계열이 독립적인 기본 또는 보조 축 할당을 유지하는 순서가 있는 결합 차트를 구축합니다- 차트는 이제 위치, 식별자, 교차, 날짜 단위, 레이블 간격 및 표시 여부를 포함한 형식화된 범주, 값, 날짜 및 계열 축 설정과 함께 기본 및 보조 범주/값 축과 계열 축을 노출합니다
- 세로 막대, 가로 막대, 꺾은선형, 원형 및 영역형 차트는 이제 구성 가능한 회전, 높이, 깊이, 원근, 직각 축 및 간격 깊이가 있는 전용 3D 차트 유형을 갖습니다
- 계열은 이제 희소 포인트 인덱스와 숫자 형식 코드를 포함하여 이름, 범주, 값 및 거품 크기에 대한 형식화된 문자열 및 숫자 캐시를 노출합니다
변경
- 호환성
ChartType,AddSeries및 평면SeriesAPI는 계속 기본 플롯 그룹을 대상으로 하는 반면, 차트 모델은 모든 순서가 있는 플롯 그룹을 유지합니다
수정
- 결합 차트를 열고 다시 저장해도 더 이상 하나의 차트 계열로 축소되거나 보조, 날짜 또는 계열 축을 잃지 않습니다
- 차트 수식 참조 및 캐시된 계열 값은 이제 평탄화되거나 폐기되지 않고 통합 문서 복사 및 열기/저장 주기를 견딥니다
- 차트 앵커는 이제 관계 식별자로 차트 부분과 일치하므로, 관계 항목을 재정렬하는 응용 프로그램이 더 이상 워크시트 위치 사이에서 차트 콘텐츠를 바꾸지 않습니다
버전 2.229.0
추가
TXLSXWorksheet.HeaderFooterImages가 이제 홀수, 짝수 및 첫 페이지의 모든 왼쪽, 가운데, 오른쪽 머리글 또는 바닥글 위치에 대해 형식화된 이미지 슬롯을 만들고, 찾고, 바꾸고, 제거합니다- 머리글과 바닥글 이미지는 원시 데이터, 형식, 제목, 포인트 크기 및 포인트 여백을 노출하며 PNG, JPEG, GIF, BMP, EMF 및 WMF 파일에서 직접 로드할 수 있습니다
변경
- 짝수 페이지 및 첫 페이지 이미지는 머리글 또는 바닥글 텍스트를 편집할 때 일치하는 페이지 변형을 자동으로 활성화하고 필요한 그림 필드 코드를 유지합니다
수정
- 워크시트 메모와 머리글 또는 바닥글 이미지는 이제 하나의 워크시트를 공유할 때 독립적인 VML 관계를 유지합니다
- Excel에서 작성된 머리글 및 바닥글 이미지 슬롯은 이제 열기 및 저장 주기를 통해 이미지 바이트, 형식, 제목, 크기, 여백 및 관계를 보존합니다
버전 2.228.0
추가
- 클래식 XLS 워크시트와 도형 컬렉션이 이제 확인란, 콤보 상자 및 목록 상자와 함께 형식화된
TXLSButton및TXLSRadioButton컨트롤을 만들고 검색합니다 - 양식 컨트롤이 이제 형식화된 속성을 통해 매크로 이름, 연결된 셀, 입력 범위, 확인 상태, 평면 또는 3D 모양 및 라디오 그룹 링크를 노출합니다
- 정의된 이름이
IsMacro를 노출하여 매크로 바인딩이 필요한 통합 문서 이름 메타데이터를 유지합니다
수정
- 클래식 양식 컨트롤을 편집하고 다시 저장할 때 더 이상 확인 상태, 매크로 바인딩, 연결된 셀 수식, 원본 범위 또는 지원되는 라디오 그룹 메타데이터를 버리지 않습니다
- 콤보 상자 또는 목록 상자 원본 범위를 지우면 다음 열기 시 이전 범위를 복원하는 대신 직렬화된 입력 수식을 제거합니다
버전 2.227.0
추가
LINEST와LOGEST가 이제 완전한 다변량 계수 배열과 선택적 5행 통계 행렬을 반환합니다TREND와GROWTH가 이제 단일 변수 및 다변량 입력에 대해 형태가 지정된 예측 배열을 반환합니다
변경
- 배열 산술, 비교, 연결, 단항 부정 및 백분율 연산이 이제 셀별 결과를 유지하면서 스칼라와 단일 행 또는 열을 브로드캐스트합니다
- 계산 종속성이 이제 범위 인식 순환 보호를 통해 중첩된 통합 문서 및 워크시트 이름, 수식 정의 이름 및 다중 영역 참조를 확장합니다
수정
- 한 배열 요소의 오류가 더 이상 전체 결과를 붕괴시키거나 잘못하여 스칼라 평가로 대체되지 않습니다
- 종속성을 정적으로 확인할 수 있는 수식 정의 이름이 더 이상 불필요한 휘발성 전체 재계산을 강제하지 않습니다
버전 2.226.0
추가
- 기존 XLSX 피벗 캐시와 피벗 테이블 보기가 이제 패키지 관계를 통해 형식화된 모델로 로드됩니다. 여기에는 캐시 레코드, 필드, 공유 항목, 그룹화, 필터, 형식, 계산된 정의 및 확장이 포함됩니다
TXLSPivotTable.Make가 이제 종속성 인식 이름 바인딩으로 계산된 캐시 필드, 계산된 항목 및 데이터 계산 멤버를 평가합니다- 확장된
ShowDataAs모드가 유효한 XLSX 확장 마크업으로 부모 백분율, 누적 백분율 및 오름차순 또는 내림차순 순위를 추가합니다
변경
- 피벗 결과 생성이 이제 그룹화된 도메인을 빌드하기 전에 항목 표시 여부, 페이지 선택 및 캡션, 날짜, 집계 및 값 필터를 적용합니다
- 숫자, 날짜 및 개별 그룹, 레이블 또는 데이터 값 정렬, 구성된 소계 및 선택적 구체화된 총계 행 또는 열이 이제 결과 생성에 참여합니다
수정
- 피벗 필터가 이제 모호한 숫자 값 대신 스키마 유효 루트 수준 필터 마크업과 기호 필터 유형을 사용합니다
- 관계 기반 로드가 더 이상 관습적이거나 순차적인 피벗 캐시, 캐시 레코드 또는 피벗 테이블 파트 이름을 가정하지 않습니다
버전 2.225.0
추가
TXLSXWorkbook.Connections와TXLSXWorksheet.QueryTables는 이제 외부 데이터베이스, 웹, 텍스트 및 쿼리 결과 메타데이터에 대해 형식화된 작성 및 편집을 제공합니다- 연결 매개변수는 명시적인 0, false 및 빈 문자열 값을 포함하여 정확한 Boolean, 정수, 부동 소수점, 문자열 또는 셀 참조 종류를 보존합니다
변경
- XLSX 열기 및 저장은 이제 소유 관계를 통해 연결 및 쿼리 테이블 부분을 해결하고 쓰며, 결과 테이블과 정의된 이름을 동기화하고 알 수 없는 특성, 자식 노드 및 확장 목록을 보존합니다
- 행 및 열 편집은 쿼리 결과 범위를 정렬된 상태로 유지하는 반면, 같은 통합 문서 내와 통합 문서 간 워크시트 복사는 쿼리 소유권을 보존하고 연결 식별자와 충돌하는 이름을 다시 매핑합니다
수정
- 쿼리 테이블은 워크시트 또는 통합 문서 관계 식별자 충돌 없이 표준 테이블, 스레드된 설명 및 피벗 테이블과 공존할 수 있습니다
버전 2.224.0
추가
- 클래식 XLS 및 최신 XLSX 워크시트는 이제 단일 변수 행, 단일 변수 열, 두 변수 What-If 데이터 테이블을 위해
AddDataTable과DataTables를 노출합니다
변경
- 통합 문서 다시 계산은 각 데이터 테이블 결과를 간접 수식 종속성을 포함하여 격리된 입력 컨텍스트로 평가하며, 열기, 저장, 워크시트 복사 및 구조적 행 또는 열 편집을 통해 정의와 캐시된 결과를 보존합니다
수정
- 삭제된 What-If 입력 셀은 이제
#REF!결과를 생성하며, 클래식 통합 문서 다시 계산은 첫 번째 시트를 생략하는 대신 모든 워크시트를 방문합니다 - 클래식 워크시트 상단에 행을 삽입해도 더 이상 Win64에서 액세스 위반 위험이 없습니다
버전 2.223.0
변경
- 병렬 직접 판독기 취소는 이제 다음 XML 풀을 기다리는 대신 활성 ZIP 멤버 읽기 및 모든 압축 해제 단계를 통해 전파됩니다
수정
- 병렬 워크시트 스캔을 중단하면 차단된 작업자가 해제되기 전에 대용량 압축 XML 읽기가 완료되기를 더 이상 기다리지 않습니다
버전 2.222.0
추가
TXLSDirectReader.ParallelBufferMemoryLimit은 병렬 워크시트 스캔을 위한 집계 원시 셀 큐 페이로드를 제한하며,ParallelPeakBufferedBytes는 진단 및 용량 테스트를 위해 측정된 최고치를 노출합니다
변경
- 병렬 직접 읽기는 이제 완전히 확장된 워크시트 XML과 시트별 전체 셀 버퍼를 유지하는 대신 워크시트 ZIP 항목을 작업자 로컬 XML 판독기와 제한된 생산자-소비자 큐로 스트리밍합니다
- 활성 워크시트는 독립적인 큐 예산을 받고 작업자 크기 창에서 처리되며, 현재 내보내는 워크시트를 후속 워크시트가 굶기지 않도록 콜백 순서를 보존합니다
수정
- 셀 중단, 콜백 실패 및 작업자 오류는 이제 차단된 생산자와 소비자를 깨우고, 협력적으로 XML 풀을 중지하고, 모든 작업자를 조인하며, 직접 판독기를 재사용 가능한 상태로 둡니다
버전 2.221.0
변경
- 다중 시트 XLSX 열기는 이제 구문 분석 전에 확장된 워크시트 XML을 유지하는 대신 각 워크시트 ZIP 항목을 작업자 로컬 인플레이터와 XML 판독기로 직접 스트리밍합니다
- 동시 워크시트 판독기는 패키지 소스에서 짧은 위치 지정 읽기만 직렬화하므로 압축 해제와 XML 구문 분석은 병렬로 유지되는 동시에 일시적 워크시트 입력 메모리는 활성 작업자 수로 제한됩니다
버전 2.220.0
추가
- 이제 피벗 테이블 결과 생성은 차이, 기준 항목의 백분율, 백분율 차이, 누계, 행의 백분율, 열의 백분율, 합계의 백분율, 지수 계산을 포함한 9가지 클래식
ShowDataAs모드를 모두 실행합니다 xlPivotBaseItemPrevious와xlPivotBaseItemNext는 비교 계산에서 인접한 기준 항목에 대한 형식화된 선택기를 제공합니다
변경
- 피벗 백분율과 지수 값은 소스 레코드에서 직접 집계된 행, 열, 총합계를 사용하여 소스를 다시 스캔하지 않고도 올바른 평균, 곱, 개수, 분산, 표준편차 의미 체계를 보존합니다
- 누계는 피벗 항목 순서를 따르고 각 피어 그룹마다 독립적으로 재설정되며 고카디널리티 피벗을 위한 희소 결과 저장소를 유지합니다
수정
- BIFF8
SXDI레코드는 이제 표준 14바이트 고정 레이아웃을 사용하고 형식화된 읽기를 통해ShowDataAs, 기준 필드, 기준 항목, 숫자 서식, 표시 이름을 보존하며 레거시 HotXLS 레코드도 계속 읽을 수 있습니다 - XLSX 데이터 필드는 이제 피벗 필드 인덱스를 쓰고 이전/다음 선택기를 필요한 OOXML 값에 매핑하며 해당 값을 사용하는 모드에 대해서만 base 특성을 내보냅니다
- 누락된 비교 셀은 빈칸으로 유지되는 반면, 존재하는 0인 분모는 누락된 데이터와 혼동되는 대신
#DIV/0!를 반환합니다
버전 2.219.0
수정
VDB는 이제 소수 기간에 걸쳐 체감 잔액법 감가상각을 적용하고 유리할 때 정액법 감가상각으로 전환하며no_switch를 존중합니다- 0인 계수, 잔존가치 경계, 소수 시작 기간, 잘못된 기간 범위는 기간을 반올림하여 단순화된 체감 잔액법 근사치를 반환하는 대신 Excel 호환 결과를 따릅니다
버전 2.218.0
추가
TXLSXWorksheet.Scenarios는 이제 이름이 지정된 시나리오, 활성 및 표시 인덱스, 변경 셀 범위, 사용자 및 메모 메타데이터, 잠금 및 숨김 상태, 소유된 입력 셀 값을 갖춘 형식화된 가정 분석 시나리오 관리자 작성 기능을 제공합니다- 시나리오 정의는 이제 워크시트 복사와 행 또는 열 구조 편집을 따르며, 잘못된 메타데이터가 기록되기 전에 Excel 호환 제한이 검증됩니다
수정
- Excel에서 작성된 시나리오를 열고 저장하면 계층 구조를 손실이 있는 원시 XML로 평탄화하는 대신 루트 특성과 중첩된 입력 셀을 보존합니다
- 시나리오, 자동 필터, 데이터 통합, 병합된 셀, 윗주 워크시트 요소는 이제 스키마 순서를 사용하여 엄격한 스프레드시트 소비자가 복구 패스를 필요로 하지 않습니다
버전 2.217.0
추가
TXLSXWorksheet.IgnoredErrors는 이제 다중 영역 참조, 워크시트 복사 지원, 구조적 편집 업데이트, 열기/저장 라운드트립을 통해 모든 표준 무시 오류 범주에 대해 형식화된 작성 기능을 제공합니다TXLSXWorkbook은 이제 기존 계산 옵션과 함께 참조 모드, 저장 시 재계산, 전체 자릿수, 동시 계산 및 수동 동시성 설정을 노출합니다
수정
- 이제 기본값이 아닌 각 통합 문서 계산 설정은 반복이 활성화되기 전에 구성된 반복 한도를 포함하여 스키마 순서의
calcPr요소를 독립적으로 생성하고 라운드트립합니다 - 계산 모드, 참조 모드, 반복 범위, 계산 식별자 및 수동 동시성 카운트는 이제 모호한 통합 문서 상태를 쓰는 대신 잘못된 값을 거부하거나 정규화합니다
버전 2.216.0
Changed
XMATCH와XLOOKUP이 이제 요청 시 로그 오름차순 또는 내림차순 이진 탐색을 수행하며, Excel 호환 중복 및 근사 일치 경계를 포함합니다XIRR은 이제 높고 추측값에 민감한 근을 찾을 수 있는 보호된 솔버로 추측값을 존중하며,XNPV는 보상 합산과 검증된 날짜 및 이자율 입력을 사용합니다- 고 카디널리티 XLSX 정의된 이름 조회는 이제 직렬화 순서, 로컬 이름 우선순위, 첫 번째 일치 동작을 유지하면서 지연 스코프 인식 해시 인덱스를 사용합니다
- 보존된 XLSX 패키지 파트는 이제 완전한 길이 및 CRC 검증을 유지하면서 선언된 압축 해제 크기를 한 번만 할당합니다
Fixed
- 잘못된 조회 모드, 와일드카드 이진 탐색, 2차원 조회 범위, 일치하지 않는
XLOOKUP반환 벡터는 이제 모호한 결과를 생성하는 대신 수식 오류를 보고합니다 XIRR과XNPV는 이제 잘못된 현금흐름 부호, 이자율, 추측값, 날짜를 거부하고, 소수 날짜 일련번호를 자르고, 검증되지 않은 중간값을 반환하는 대신 비수렴을 보고합니다
버전 2.215.0
Added
FREQUENCY가 이제 구간별 하나의 결과와 초과분 버킷을 포함한 세로 배열을 반환합니다
Changed
SORT가 이제 행 또는 열에 대해 안정적 확장 가능 정렬을 사용하며, 동일한 키의 원본 순서를 보존합니다UNIQUE가 이제 행 또는 열에 대해 안정적인 해시 인덱스 일치를 사용하며,exactly_once결과와 대소문자 구분 없는 텍스트를 포함합니다PERCENTRANK.INC,PERCENTRANK.EXC,MODE.MULT가 이제 이차 시간 스캔에 의존하는 대신 고 카디널리티 입력에서 효율적으로 확장됩니다
Fixed
SORT와UNIQUE의by_col옵션이 이제 행 동작으로 폴백하는 대신 열에서 작동합니다
버전 2.214.0
Added
- XLSX 열기가 이제 바이트 순서 표시 또는 필수 엔디언별 선언과 함께 스트리밍 UTF-16 리틀 엔디언 및 빅 엔디언 XML 부분을 허용하며, 기본 다국어 평면 외부의 문자도 포함합니다
Changed
- 고 카디널리티 피벗 테이블 캐시 새로 고침이 공유 값에 결정론적 해시 인덱스를 사용하고 레코드 매트릭스를 한 번에 할당하여, 처음 발견된 항목 순서를 보존하면서 반복되는 선형 검색과 행 단위 증가를 방지합니다
- 투영된 직접 읽기가 선택한 행과 열 외부의 셀을 원시 값, 수식, 서식 있는 텍스트를 시트별 버퍼로 복사하기 전에 폐기합니다
Fixed
- 중복 바이트 순서 표시, 지원되지 않거나 모순되는 인코딩 선언, UTF-32 서명, 홀수 UTF-16 바이트 길이 또는 유효하지 않은 서로게이트 쌍이 있는 잘못된 XML이 이제 거부됩니다
- 병렬 직접 읽기 워커가 이제 시작하기 전에 모든 작업 상태를 초기화하고, 실패 후 새 시트 작업 수락을 중단하며, 결정론적으로 가장 낮은 인덱스의 작업 오류를 다시 발생시키고, 풀 생성이 실패할 경우 생성된 모든 워커를 정리합니다
버전 2.213.0
Added
T.TEST가 이제 짝을 이룬 표본 외에 풀링된 동일 분산 또는 웰치(Welch) 불평등 분산을 사용한 독립 표본을 평가하며, 단측 및 양측 확률을 포함합니다
Changed
- XLSX 열기가 이제 워크시트, 공유 문자열, 스타일, 테마, 매크로, 외부 링크, 메모, 스레드 메모, VML, 그리기, 이미지, 차트, 표 및 피벗 테이블에 대해 통합 문서, 워크시트 및 그리기 관계 대상을 따르며, 이름이 변경되거나 비연속적인 부분 경로를 사용하는 유효한 패키지도 포함합니다
Fixed
- 중복 관계 식별자가 있는 잘못된 패키지가 더 이상 호환성 복구 중에 이후의 지원되지 않는 관계가 첫 번째 사용 가능한 대상을 대체하도록 허용하지 않습니다
버전 2.212.0
Changed
- 수식 종속성 추적 기능이 재빌드 및 더티 셀(dirty-cell) 무효화 전에 셀과 범위 종속성을 인덱싱하여 대용량 워크시트에서 향상된 확장성을 지원합니다
- 대규모 통계 및 회귀 수식이 이전의 고정 크기 버퍼에서 멈추는 대신 제공된 범위 내의 모든 숫자 값을 평가합니다
Fixed
- 워크시트 그리드를 벗어난 XLSX 셀을 일관되게 거부하여 잘못된 좌표가 유효한 셀을 오인하게 만드는 현상을 방지합니다
- 수식을 편집할 때 통합 문서의 계산 모드, 반복 횟수 제한, 전체 계산 플래그 또는 기타 계산 설정이 더 이상 재설정되지 않습니다
- Blob 목록 읽기 작업이 요청된 범위를 명확하게 유효성 검사하고 스트림 끝부분의 유효한 빈 슬라이스를 허용합니다
Security
- 기존 XLS 암호화가 워크시트 데이터와 함께 피벗 캐시 스트림도 포함하도록 적용됩니다
- 비정상적인 SST 확장 꼬리 부분과 ZIP 중앙 디렉터리 레코드를 거부하여 과도한 할당, 잘린 읽기 또는 주석이 포함된 가짜 디렉터리 레코드가 로딩에 영향을 미치는 문제를 미리 차단합니다
버전 2.211.0
Added
TXLSPivotTable.Make가 이제 설정된 모든 데이터 필드를 각각의 집계와 함께 구체화하고DataFieldAxisIsRow에 따라 행 또는 열로 값을 확장합니다
Changed
- 피벗 결과 생성 시 모든 데이터 필드에 걸쳐 해시 인덱싱된 행 및 열 키 도메인을 재사용하고, 결과 형태에 따라 조밀(dense) 또는 희소(sparse) 누산기 저장소를 선택하며, 9개 키를 초과하는 캐시 항목 순서를 보존하고, 다중 필드 축에 대해 읽기 쉬운 결합 레이블을 생성합니다
Fixed
Count가 이제 비어 있지 않은 텍스트, 부울, 오류, 날짜 및 숫자 캐시 값을 포함하는 반면CountNums는 숫자 및 날짜 값만 포함하고,Product는 숫자 값이 없는 교차점에 대해 0을 반환하며, 공백은 더 이상 항목으로 계산되지 않고, 값 전용 피벗은 행 또는 열 필드 없이도 총합계를 구체화할 수 있습니다
버전 2.210.0
Added
TXLSWorkbookViewer가 이제 XLSX 조건부 채우기, 글꼴 색상 및 강조, 숫자 서식, 방향성 양수 및 음수 데이터 막대, 그라디언트, 테두리, 축, 숨겨진 값 및 모든 내장 아이콘 세트 패밀리를 렌더링합니다TXLSWorkbookViewer.RefreshConditionalFormats가 호출자가 연결된 XLSX 통합 문서를 현재 위치에서 수정한 후 준비된 집계 및 임계값 상태를 다시 빌드합니다
Changed
- 뷰어가 활성 워크시트당 하나의 준비된 조건부 서식 평가기를 캐시하고, 스크롤, 선택 및 재그리기 작업 전반에 걸쳐 이를 재사용하며, 통합 문서나 워크시트가 변경될 때 이를 해제합니다
Fixed
- 가장 오른쪽 경계에 있는 데이터 막대 축이 인접한 셀로 그려지는 대신 소유 셀 내부에 클리핑됩니다
버전 2.209.0
Added
- XLSX 워크시트가 이제 임의의 셀에 대해 규칙 우선순위,
StopIfTrue, 상대 수식, 차등 스타일, 상위/하위 순위, 평균 초과/미만 테스트, 중복 및 고유 값, 상대 날짜 기간, 2색 및 3색 눈금, 데이터 막대 및 아이콘 세트를 확인하는 준비된 조건부 서식 평가기를 노출합니다
Changed
- HTML 및 PDF 내보내기 작업 시 이제 일치하는 조건부 채우기, 글꼴 강조 및 색상, 숫자 서식, 색상 눈금, 방향성 양수 및 음수 데이터 막대, 명시적 축, 아이콘 패밀리 글리프, 숨겨진 값 및 색조 해상도가 적용된 테마 색상을 렌더링합니다
- 대규모 조건부 서식 도메인이 이제 셀당 구문 트리 할당 없이 컴파일된 상대 수식을 재사용하고, 스트림 평균, 편차, 최솟값 및 최댓값 통계를 재생하며, 순위 또는 백분위수 규칙에 대해서만 정렬된 값을 유지하고, 유니코드 중복 키를 일괄 정렬하며, 무관한 규칙 검색을 방지하기 위해 행 밴드 후보 인덱스를 사용합니다
Fixed
- 기존 조건부 규칙이 이제 표현식 유형을 올바르게 로드하고 범위 사이에서 반전된 동작, 대소문자를 구분하지 않는 텍스트 서술어, 빈 셀 및 오류 서술어를 일관되게 평가합니다
버전 2.208.0
변경
- 패킹된 셀 저장소 엔진이 이제 네이티브 태그된 문자열, 불린, 오류 및 빈 페이로드를 작성하고, 셀을 행 우선 순서로 반복하며, 더 낮은 메모리 사용량과 더 빠른 순차적 출력을 위해 연속되는 동일한 유형의 셀을 런 길이 부호화합니다
- 기존 통합 문서 공유 문자열이 이제 문자 바이트를 하나의 할당에 유지하고 디코딩된 문자열 값을 지연 생성하여, 대규모 고유 문자열 테이블에 대한 할당 오버헤드를 줄입니다
추가
- 피벗 테이블이 이제 행 및 열 키 그룹화와 11가지 지원되는 집계 함수 모두를 사용하여 캐시 레코드에서 완전한 결과 매트릭스를 계산할 수 있습니다
- 기존 통합 문서 차트가 이제 변환 및 검사 워크플로를 위해 타입이 지정된 계열, 축, 범례 및 차트 그룹 정보를 노출합니다
버전 2.207.0
추가
TXLSPivotCache.RefreshFromSource가 원본 워크시트 범위에서 피벗 캐시를 빌드합니다: 헤더 행을 읽어 필드 이름을 지정하고, 각 데이터 행’s의 고유 값을 필드별 공유 항목 도메인으로 추출하며, 첫 번째 비어 있지 않은 값에서 필드 유형을 잠그고, 모든 (레코드, 필드)에 대해 공유 항목 인덱스를 기록합니다 — 따라서 Excel’s의refreshOnLoad에 의존하는 대신 데이터 범위에서 프로그래밍 방식으로 피벗 테이블을 생성할 수 있습니다. 콜백 기반 값 판독기는 피벗 유닛이 워크시트에 대한 직접 종속성을 갖지 않도록 유지합니다
버전 2.206.0
추가
- 새로운
TlxCellMMU(lxCellMMU유닛)는 동일한 유형의 셀과 빈 셀 실행의 런 길이 부호화 및 데이터 너비 선택기로도 작동하는 태그된 바이트 유형 코드를 사용하여 패킹된 행 우선 셀 저장소 엔진을 구현합니다 — 따라서 작은 정수의 열은 셀당 8바이트 대신 1바이트만 소요됩니다. 엔진은 값을 보존하는 가장 작은 너비(int8 / int16 / int32 / 2-소수점 / 4-소수점 스케일된 정수 / IEEE double)로 숫자를 인코딩하고, 문자열 인덱스, 불린, 오류 및 빈 셀을 간결하게 저장하며,GetValue/SetNumber/SetStringAPI와 정방향 반복자를 노출합니다. 이것은 기존TXLSXCellsAPI에 대한 기능 플래그 뒤의 차세대 백엔드로, 밀집된 시트에서 10–25×의 작업 집합 감소를 목표로 합니다
버전 2.205.0
추가
TXLSCustomChart.GetChartInfo가 이제 원시 BIFF 차트 레코드 스트림에서 의미론적 요약을 디코딩합니다 — 차트 유형 패밀리(막대, 선, 파이, 영역, 분산형, 레이더, 도넛, 표면, 거품), 계열 수 및 범례 존재 여부 — 따라서 BIFF 차트’s의 유형을 프로그래밍 방식으로 쿼리할 수 있고 BIGH에서 XLSX로의 차트 변환이 올바른 대상 패밀리를 선택할 수 있습니다. 라운드 트립 충실도를 보장하는 바이트 통과 저장소는 변경되지 않습니다
버전 2.204.0
변경
- 기존
.xls공유 문자열 테이블이 이제 항상 UTF-16을 사용하는 대신 압축된 Latin-1 인코딩([MS-XLS] §2.5.294fHighByte=0, 문자당 1바이트)으로 ASCII 전용 문자열을 작성하여, ASCII가 많은 통합 문서의 SST 크기 — 따라서.xls파일 — 를 대략 절반으로 줄입니다
버전 2.203.0
추가
- 새로운
TlxCompoundFile는ole32.dll/ COMIStorage종속성 없이 순수 파스칼로 Compound File Binary(OLE2) 컨테이너 형식을 직접 읽고 씁니다 — 메모리 내 및 크로스 플랫폼.xls처리의 길을 엽니다. 판독기는 HotXLS가 야생에서 만나는 v3 레이아웃(헤더 + 헤더 내 DIFAT + FAT 체인 워크 + MiniFAT 및 4096바이트 미만 스트림을 위한 미니 스트림 + 디렉토리 트리)을 다루고, 작성기는 HotXLS’s의 출력에 충분한 최소한의 유효한 v3 컨테이너를 내보냅니다
버전 2.202.0
추가
- 자동 필터 정렬 상태가 이제 타입이 지정된 모델(자식으로
TXLSXSortCondition을 가진TXLSXSortState)을 가지며, 값 / 셀 색상 / 글꼴 색상 / 아이콘별 정렬, 정렬 방법(없음 / 획 / pinYin), 대소문자 구분, 열 정렬 및 조건별 사용자 정의 목록을 다룹니다 — 따라서 응용 프로그램이 원시 XML을 편집하는 대신 프로그래밍 방식으로 정렬 상태를 빌드할 수 있으며, 기존 불투명SortStateXml통과는 HotXLS가 작성하지 않은 파일에 대해 여전히 우선합니다 - 동적 필터가 이제 타입이 지정된
TXLSXDynamicFilterType(평균 초과/미만 및 표준 편차, 오늘/어제/내일, 이번/지난/다음 주, 월, 분기 및 연도, 연간 누계, Q1–Q4, M1–M12)으로 읽히고 쓰이며, 선택적val/maxVal바운드를 가집니다 — 동적 필터를 사용하는 통합 문서를 열 때 더 이상 저장 시 삭제되지 않습니다
버전 2.201.0
추가
- 표면 및 3D 표면 차트(
xlsxChartSurface/xlsxChartSurface3D)가 이제 다른 차트 패밀리처럼 작성, 읽기 및 라운드 트립되는 일급 차트 유형입니다 - 자동 도형 작성 API가 OOXML 사전 설정 형상 목록의 실용적인 하위 집합을 다룹니다 — 삼각형, 다이아몬드, 평행사변형, 육각형, 팔각형, 화살표, 셰브론, 설명선, 순서도 노드, 별, 하트, 태양, 달, 괄호 및 중괄호 — 각각 올바른
prst토큰과[MS-ODRAW]도형 ID에 매핑되므로 작성된 도형이 Excel에서 올바르게 렌더링됩니다(전체 187개 사전 설정 목록은 원시 앵커 통과를 통해 라운드 트립 시 이미 보존됨)
버전 2.200.0
수정
- 자동 필터가 색상 필터 또는 아이콘 필터를 사용하는 통합 문서를 열 때 더 이상 저장 시 해당 필터를 삭제하지 않습니다 —
colorFilter및iconFilter가 이제 타입이 지정된 열(TXLSXAutoFilterColumn.SetColorFilter/SetIconFilter)로 읽혀 인식되지 않은 필터 열 자식으로 손실되는 대신 원문 그대로 다시 내보내집니다
버전 2.199.0
추가
TCondFormatRule.Evaluate가 주어진 셀에 대해 조건부 서식 규칙이 실행되는지 여부를 응답하며, 셀 값 비교, 수식 표현식, 텍스트 포함/시작/끝, 빈 셀 및 오류 규칙을 다룹니다 — 규칙이 현재 강조 표시하는 셀을 쿼리하고 Excel 외부에서 CF 결과를 렌더링하기 위한 기초입니다
변경
FACT및 내부 팩토리얼 도우미가 이제 호출할 때마다 O(n) 곱셈을 다시 계산하는 대신 사전 계산된 0!..170! 테이블을 사용하여FACT, 다항 계수 및 푸아송/이항/카이제곱 분포 경로의 속도를 높입니다
버전 2.198.0
변경
- 워크시트 저장이 이제 각 행’s의 인덱스를 셀당 재할당으로 늘리는 대신 단일 카운트 후 채우기 패스로 셀을 행으로 그룹화하여 대규모 시트에서 숨겨진 O(셀 × 행당 셀) 복사를 제거합니다
- 수식 종속성 그래프가 이제 참조 범위를 (시트, 행)별로 인덱싱하여 더러운 셀 시드가 변경된 모든 셀에서 모든 수식을 스캔하는 대신 후보 밴드를 이진 검색합니다 — 통합 문서가 클수록 포함된 시트가 많을수록 재계산 시 속도 향상이 커집니다
- 행 우선, 열 정렬 셀 순회가 이제
TXLSXWorksheet.BuildRowMajorCellOrder로 노출되어 저장, 클립보드, 자동 필터 및 기타 행 순서 소비자가 하나의 순회를 공유하고 이를 다시 파생하지 않습니다
버전 2.197.0
수정
- 레이더, 주식 및 파이 중 파이/막대 중 파이 차트가 이제 포함된
.xlsx통합 문서를 열고 다시 저장할 때 더 이상 손실되지 않습니다 — 차트 판독기가 이미 작성하는c:radarChart,c:stockChart및c:ofPieChart컨테이너 요소를 인식하여 대칭 읽기/쓰기 범위를 복원합니다 - 함수 코드 101–111을 사용한
SUBTOTAL이 이제 숨겨진 행의 값을 제외하고,AGGREGATE가 숨겨진 행 무시 옵션 코드(2, 3, 6, 7)를 존중하여 숨겨진 행 포함 및 무시 변형을 동일하게 취급하는 대신 Excel과 일치합니다 - 선언된 것보다 많은 인수로 고정 아리티 내장 함수를 호출하는 것(예:
=SIN(1,2))이 이제 디스패처에 의해 수락되는 대신 중앙에서#VALUE!를 발생시킵니다
버전 2.196.0
수정
- 행 및 열 삽입 또는 삭제가 이제 편집된 대상 영역이 다른 상대 수식 앵커를 필요로 할 때 셀 값 및 표현식 조건부 서식과 데이터 유효성 검사를 분할하면서 규칙 설정을 보존하고, 고유한 조건부 서식 우선순위를 할당하며, 집계 조건부 서식 도메인을 손상되지 않게 유지합니다
버전 2.195.2
변경
- PDF 내보내기가 이제 Windows
fontsub.dllCreateFontPackageAPI를 통해 임베드된 TrueType 글꼴을 서브셋하여 전체.ttf를 임베딩하는 대신 문서가 실제로 렌더링한 글리프만 유지합니다 — 일반적으로 유니코드가 많은 시트의 경우 PDF를 8–20× 축소합니다; 서브셋팅을 사용할 수 없을 때 전체 임베딩으로 대체됩니다
버전 2.195.1
수정
- 기존
.xls엔진에서 행과 열을 삽입하거나 삭제하는 것이 이제 영향을 받는 모든 수식 참조(셀 수식 및 정의된 이름)를 Excel 의미론에 일치하도록 다시 작성합니다 — 삽입 아래의 참조가 이동하고, 삭제 내부에 완전히 있는 참조는#REF!가 되며, 부분적으로 겹치는 영역은 축소됩니다 — 오래된 좌표를 남기는 대신
버전 2.195.0
변경
- 표 열 삭제가 이제 관련 없는 참조와 문자열 리터럴을 보존하면서 워크시트 수식, 표 수식, 정의된 이름 및 차트 계열 전체에서 영향을 받는 모든 구조화된 참조 토큰을
#REF!로 변환합니다
수정
- 전체 표 삭제가 더 이상 더 이상 존재하지 않는 표를 가리키는 정규화된 구조화된 참조를 남기지 않습니다
- 복제된 데이터 유효성 검사가 이제 IME 입력 모드를 유지합니다
버전 2.194.0
변경
- 행 및 열 편집이 이제 Excel 표 열 식별자, 이름, 계산된 수식, 합계 수식, 필터 열, 필터 범위 및 정렬 조건을 편집된 표와 정렬된 상태로 유지합니다
수정
- 조건부 서식 및 데이터 유효성 검사 수식이 이제 삭제가 첫 번째 대상 영역을 제거할 때 상대 및 혼합 참조를 리베이스합니다
- 워크시트 및 표 정렬 상태가 이제 유효한 속성을 작성하고 범위가 삭제된 조건을 폐기합니다
버전 2.193.0
변경
- 행 및 열 편집이 이제 복잡하고 교차 범위 정의된 이름 수식, 거품 차트 데이터 범위 및 수식 기반 시각적 조건부 서식 임계값을 업데이트합니다
- 거품 및 분산형 차트가 이제 다시 열 때 X축, Y축 및 거품 크기 계열 범위를 복원합니다
수정
- 다중 영역 조건부 서식 및 데이터 유효성 검사 대상이 이제 완전한 대상 목록을 변경되지 않은 상태로 두는 대신 각 살아남은 영역을 독립적으로 이동합니다
- 텍스트 상자 및 WordArt 앵커가 이제 삽입 및 삭제된 행과 열로 이동하거나 크기가 조정됩니다
버전 2.192.0
추가
- 스트리밍 직접 읽기 및 행 커서 순회가 제한된 공유 문자열 저장소를 유지하면서 완전한 실행 서식, 음운 실행 및 음운 속성을 가진 구조화된 서식 있는 문자열로 옵트인할 수 있습니다
TXLSDirectWriter.WriteRichString이 서식 및 음운 텍스트를 인라인 또는 중복 제거된 공유 문자열로 작성합니다
변경
- 서식 있는 공유 문자열 중복 제거가 이제 일반 문자열 인터닝을 기존 빠른 경로에 유지하면서 실행 서식 및 음운 메타데이터를 구분합니다
수정
- 인라인 문자열의 음운 텍스트가 이제 표시된 셀 값에 포함되지 않습니다
버전 2.191.0
추가
TXLSXRange.SetDynamicArrayFormula가 이제 완전한 Excel XLDAPR 메타데이터 체인으로 네이티브 동적 배열 수식을 만듭니다
변경
- 동적 배열 루트가 이제 하나의 중복 제거된 통합 문서 메타데이터 레코드를 공유하고 통합 문서 간 워크시트 또는 범위 복사가 해당 레코드를 대상 통합 문서로 다시 매핑합니다
- 지원되는 동적 배열 메타데이터가 지원되지 않는 패키지 부분 보존이 비활성화될 때 사용 가능한 상태로 유지되며, 관련 없는 값 메타데이터는 여전히 제거됩니다
수정
- 동적 배열 유출 셀이 이제 더 이상 기존 CSE 팔로워로 모델링되지 않으며, 루트를 교체하거나 지워도 오래된 메타데이터 인덱스가 남지 않습니다
- 최종 동적 배열 루트를 제거하면 이제 미사용 메타데이터 부분, 통합 문서 관계 및 콘텐츠 유형 항목이 제거됩니다
버전 2.190.0
변경
- 스트리밍 직접 읽기 및 행 커서 순회가 이제 투영 및 제한된 메모리 동작을 유지하면서 공유 수식 팔로워를 완전한 셀 상대 수식으로 확장합니다
수정
- 동적 배열 통합 문서가 이제 열기 및 저장 주기 동안 셀 및 값 메타데이터 인덱스, 수식 재계산 속성, 메타데이터 패키지 관계 및 변경되지 않은 미래 함수 접두사를 보존합니다
- 지원되지 않는 부분 보존을 비활성화하면 메타데이터 부분이 제거된 후 매달린 워크시트 메타데이터 인덱스가 남지 않습니다
버전 2.189.0
추가
- XLSX 통합 문서 열기가 이제 공유 수식 팔로워를 올바른 상대, 절대, 혼합, 범위 및 시트 정규화 참조를 사용하여 완전한 셀별 수식으로 확장합니다
수정
- 자체 닫는 공유 수식 팔로워가 이제 더 이상 나중의 값 또는 수식 XML을 캡처하지 않으며, 캐시된 결과가 열기 및 저장 주기를 격니다
- CSE 배열 수식이 이제 행 또는 열 구조 편집, 전체 범위 복사, 워크시트 복제 및 통합 문서 간 시트 복사를 통해 앵커 및 팔로워 관계를 유지합니다
- 일반 수식을 할당하거나 셀을 지우면 이제 오래된 CSE 배열 멤버십이 제거되어 계산이 이전 배열 앵커로 리디렉션될 수 없습니다
- CSE 배열의 일부만 복사하면 대상에 매달린 팔로워 참조가 더 이상 생성되지 않습니다
- 범위 복사가 이제 겹치는 소스의 스냅샷을 찍고 상대 수식 참조를 이동하여 소스 셀 또는 배열 앵커가 복사되기 전에 덮어쓰여지는 것을 방지합니다
- CSE 배열의 일부만 교차하는 행 또는 열 편집이 배열을 자동으로 크기 조정하거나 분리하는 대신 거부됩니다
버전 2.188.0
추가
TXLSDirectReader.SharedStringMemoryLimit가 디코딩된 공유 문자열 메모리를 제한하고 고정 크기 값 캐시로 삭제 시 닫기 인덱스된 임시 저장소로 더 큰 테이블을 자동으로 마이그레이션합니다TXLSRowCursor.SharedStringMemoryLimit가 정방향 전용 행 순회를 위해 동일한 제한된 공유 문자열 저장소 제어를 노출합니다
변경
- 직접 공유 문자열 파싱이 이제 공백 전용 값, CDATA, XML 엔티티, 비-BMP 문자, 빈 항목 및 서식 있는 텍스트 실행 순서를 보존하면서 표시된 값에서 음운 가이드 텍스트를 제외합니다
수정
- XLSX 통합 문서 열기가 이제 문서 순서대로 모든 공유 문자열 항목을 유지하여 중복 텍스트나 다르게 서식된 서식 있는 문자열이 나중 셀 인덱스를 축소하는 것을 방지합니다
- XLSX 통합 문서 저장이 이제 표시된 텍스트만으로 대신 실행 경계 및 서식 속성별로 서식 있는 문자열을 중복 제거하여 동일하게 표시되는 값의 셀에 대해 고유한 서식을 보존합니다
버전 2.187.0
추가
TXLSDirectReader.FirstRow및LastRow가 스트리밍 읽기를 1부터 시작하는 행 범위로 제한하고 요청된 범위 이후 워크시트 파싱을 중지합니다TXLSDirectReader.IncludeColumn및ClearColumnProjection이 값 디코딩 및 콜백 디스패치 전에 선택되지 않은 셀을 건너뛰는 상수 시간 열 투영을 제공합니다
버전 2.186.0
추가
TXLSDirectWriter.UseSharedStrings가 정확한 총계 및 고유 카운트로 반복되는 텍스트를 OOXML 공유 문자열 부분으로 중복 제거하여 반복이 많은 데이터의 패키지 크기를 줄일 수 있습니다TSimpleDomReader가 통합 문서 메타데이터 및 패키지 부분의 임의 액세스 쿼리를 위한 간결한 단일 패스 XML 트리를 대소문자 구분 QName 및 로컬 이름 조회와 함께 제공합니다
변경
- 직접 XLSX 읽기가 이제 스트리밍 메모리 동작을 보존하면서 해시 지원 정확한 요소 디스패치, 단일 패스 속성 수확 및 상수 시간 현재 행 열 조회를 사용합니다
- 공유 문자열 XML 생성이 이제 대규모 고유 문자열 테이블에서 반복되는 전체 문자열 복사를 방지하기 위해 선형 증가 버퍼를 사용합니다
수정
- CSV 수식 내보내기가 수식 텍스트에 이미 등호가 포함된 경우 두 번째 등호를 더 이상 추가하지 않습니다
- XLSX PDF 내보내기가 레이아웃 전에 문자 수 추정치를 사용하여 셀 텍스트를 더 이상 자르지 않습니다
- XML 판독기 이름 해시가 이제 처리 명령, 속성을 추적하고 오래된 요소 상태를 노출하지 않고 소유 요소로 다시 이동합니다
버전 2.185.1
수정
- 행 및 열 삽입 또는 삭제가 이제 함수 이름과 텍스트 리터럴을 보존하면서 로컬 및 교차 시트 수식 참조를 정확히 한 번 조정합니다
버전 2.185.0
추가
TXLSPDFExport가 이제 1부터 시작하는FirstPage및LastPage출력 선택, 완전한 논리적PageCount및 PDF 페이지 객체를 구성하지 않고 기존 및 XLSX 범위, 워크시트 및 통합 문서에 대한 6개의CalculatePageCount오버로드를 제공합니다TXLSXWorkbook.SaveWorkbookAsHTML이 시트별 안정적인 앵커, 이스케이프된 제목 및 시트 이름, 숨겨진 또는 매우 숨겨진 시트를 포함하는 옵션과 함께 하나의 탐색 가능한 HTML 문서로 보이는 워크시트를 게시합니다TDataToXLS.BeforeRecord가 행 출력 전에 레코드를 건너뛸 수 있고BeforeValue가 데이터셋, 세부 수준, 소스 필드 및 내보내기 열 컨텍스트와 함께 필드 값을 변환하거나 억제할 수 있습니다TXLSWorkbookViewer가 선택된 셀 메모 및 하이퍼링크를 노출하고, 응용 프로그램 제어 하이퍼링크 이벤트를 발생시키며, 메모 표시기와 XLSX 글꼴, 채우기 및 정렬을 그리고, 병합된 범위 전체에서 선택 및 렌더링을 정규화합니다
변경
- ConversionWorkbench 예제가 이제 PDF 출력을 생성할 수 있고 HTML 대상을 위해 보이는 모든 XLSX 워크시트를 게시하며, WorkbookViewer 예제는 병합된 셀 탐색, 메모 및 하이퍼링크 활성화를 보여줍니다
버전 2.184.0
추가
- 기존 XLS 및 XLSX 범위가
CopyToClipboard를 통해 Windows 클립보드에 유니코드 표 형식 텍스트와 스타일이 지정된 HTML을 복사할 수 있으며, 수식, 병합된 셀, 링크, 표시 서식 및 안전하게 인용된 임베드된 탭, 줄 바꿈 및 인용 부호를 보존합니다 TXLSXWorkbook이 이제 알 수 없는 패키지 루트, 통합 문서, 워크시트 또는 그리기 관계에서 도달할 수 있는 사용자 정의 패키지 부분을 보존하며, 여기에는 관계 ID 충돌 처리, 콘텐츠 유형, 자식 관계, 압축 선택 및 정확한 페이로드 바이트가 포함됩니다;PreserveUnsupportedParts,UnsupportedPartCount,UnsupportedPartBytes및ClearUnsupportedParts가 제어 및 진단을 노출합니다- 기존 XLS 저장이
OnProgressEx를 통해 취소와 함께 시작, 작업 및 종료 콜백을 노출하는 반면,IXLSWorkbookProgress는 안정적인 코드, 심각도, 작업, 시트 컨텍스트, 네이티브 반환 값 및 예외 세부 정보로 구조화된 진단을 제공합니다 TXLSXWorkbook이 이제 저장, 열기, 재계산, 취소 및 예외 보고를 위해 동일한 구조화된Diagnostics,LastDiagnostic및OnDiagnostic표면을 노출합니다- 파싱된 VBA 모듈이 이제
SourceCode편집을 지원하고 스트림 접두사 및 영향받지 않은 프로젝트 콘텐츠를 보존하면서 기존 XLS, 독립형 VBA 저장소 및 매크로 지원 OOXML 저장을 통해 업데이트된 압축 모듈 스트림을 다시 작성합니다 - 기존 워크시트 및 도형 컬렉션이 이제 생성 도우미, 레이블, 제어 종류 검사, 셀 앵커, 삭제 및 열기/저장 검색과 함께 타입이 지정된
TXLSCheckBox,TXLSComboBox및TXLSListBox양식 컨트롤을 노출합니다 TXLSXRange.ApplyFormatPatch가 대상 값 및 선택되지 않은 서식을 보존하면서 소스 패턴 타일링으로 글꼴, 채우기, 테두리, 숫자 서식, 정렬 및 보호 구성 요소를 선택적으로 복사할 수 있습니다TDataToXLS이ReadDetailTables및IndentDetailTables를 통해 연결된 마스터-세부 데이터셋을 재귀적으로 내보낼 수 있으며, 활성 데이터 링크를 보존하고 각 세부 테이블을 마스터 레코드 아래에 추가하며 모든 수준에서 필드, 제목 및 서식 옵션을 상속합니다TXLSXWorksheet.AddWordArt가 사전 설정 워핑과 구성 가능한 텍스트 및 윤곽선 색상으로 셀 앵커 DrawingML 텍스트를 만들고, 원시 그리기 앵커 보존 경로는 이후 열기/저장 주기에서 완전한 WordArt 도형을 유지합니다TXLSWorkbookViewer가 XLS, XLSX, XLSM, 템플릿 및 ODS 파일 로딩, 서식이 지정된 셀 텍스트, 기존 스타일, 행 및 열 크기 조정, 헤더, 눈금선 및 선택 렌더링, 스크롤바, 마우스 선택, 키보드 탐색, 셀 배치, 워크시트 전환 및 선택 또는 워크시트 이벤트와 함께 기존 및 최신 통합 문서 객체용 VCL 워크시트 뷰어를 추가합니다- 새로운 Delphi
FeatureShowcase및WorkbookViewer예제는 스타일이 지정된 PDF 인쇄, 인쇄 제목, 수동 나누기, 기존 양식 컨트롤, 선택적 서식 패치, WordArt, 진단, 런타임 뷰어 생성, 파일 로딩, 셀 탐색, 워크시트 전환 및 뷰어 이벤트를 보여주며, 일치하는 영어 가이드 및 개발자 참조 주제가 있습니다
변경
- 기존 XLS 및 최신 XLSX 통합 문서, 워크시트 및 범위 PDF 내보내기가 이제 보이는 모든 워크시트를 하나의 문서로 작성하고, 숨겨진 및 차트 시트를 건너뛰고, 단색 채우기, 글꼴 색상, 글꼴 크기, 굵게 및 기울임꼴 강조, 가로 및 세로 정렬, 명시적 셀 테두리 및 선택적 워크시트 눈금선을 렌더링하며, 각 워크시트의 인쇄 영역, 용지 크기, 방향, 여백, 확대/축소, 너비에 맞춤 설정, 열 너비, 실제 행 높이, 수동 행 및 열 페이지 나누기, 반복되는 제목 행 및 열, 페이지, 총 페이지, 시트 이름, 날짜 및 시간 필드가 있는 3부분 헤더 및 바닥글을 따르고, 넓고 긴 범위를 양 축으로 페이지화하며, 로케일 독립적인 PDF 숫자 구문을 내보내고, WinAnsi 외부의 텍스트를 위해 적격 TrueType 글꼴과 ToUnicode 맵을 임베드합니다
- XLSX 확장 진행 콜백이 이제 저장, 열기 및 재계산을 위해 안정적인 시작, 작업 및 종료 상태를 수신하는 반면, 기존 콜백은 작업 전용으로 유지되고 모든 작업은 이전 취소 상태를 재설정합니다
- 기존 XLS 직렬화가 이제 성공을 보고하는 대신 워크시트, 차트, 스타일 확장, VBA, 제어 스트림, 저장소 및 출력 커밋 실패를 전파하며, 파일 저장은 대상을 원자적으로 교체하기 전에 완전한 복합 파일을 스테이징합니다
- XLSX 및 ODS 파일 저장이 이제 완전한 형제 임시 패키지를 빌드하고 성공적인 최종화 후에만 대상을 원자적으로 교체하여 취소 또는 실패 후 기존 파일을 변경하지 않은 상태로 둡니다
버전 2.183.0
추가
TXLSDirectWriter가 이제 워크시트 행을 버퍼링하지 않고 재사용 가능한 패키지 수준 셀 스타일 핸들과 스타일 복제를 지원합니다; 동일한 스타일 인덱스를 임의 수의 셀에 적용하거나 워크시트 전체에서 재사용할 수 있습니다- 직접 셀 스타일은 글꼴 이름, 크기, BGR 색상, 굵게, 기울임꼴, 취소선, 윤곽선, 그림자, 5가지 밑줄 모드, 전경/배경 색상이 있는 19가지 채우기 패턴, 14가지 선 스타일 및 대각선 방향이 있는 5개의 독립적으로 색상이 지정된 테두리 가장자리, 기본 제공 또는 사용자 정의 숫자 서식, 가로 및 세로 정렬, 줄 바꿈, 맞춤 축소, 들여쓰기, 텍스트 회전, 인용 부호 접두사 및 잠금/숨김 보호에 이르는 30가지 서식 기능을 제공합니다
- 서식이 지정된 오버로드는 문자열, 숫자, 불린, 날짜, 수식, 오류 및 모든 캐시된 수식 결과 유형에 사용할 수 있어 대용량 내보내기 프로그램이 순차적 쓰기 중에 정수 인덱스로 사전 빌드된 스타일을 선택할 수 있습니다
변경
- 직접 작성기가
styles.xml을 빌드할 때 동등한 글꼴, 채우기, 테두리 및 숫자 서식 구성 요소를 중복 제거하면서 워크시트 스트림에 이미 작성된 안정적인 셀 스타일 인덱스를 보존합니다 - 생성된 직접 작성기 스타일 테이블이 이제 사용자 정의 채우기 전에 더 엄격한 OOXML 호환성을 위해 표준
none및gray125기본 채우기를 포함합니다
버전 2.182.0
추가
TXLSDirectWriter가 이제 행 수에 독립적인 메모리 프로필을 유지하면서 조건부 서식을 작성하며, 8가지 셀 값 연산자, 표현식 규칙, 포함/제외/시작/끝 텍스트 규칙, 상위 또는 하위 값 및 백분율 규칙, 평균 초과/미만 규칙, 중복 및 고유 값, 빈 및 비어 있지 않은 셀, 오류 및 비오류 셀, 데이터 막대, 2색 및 3색 눈금, 17가지 기준 아이콘 세트 패밀리를 모두 다룹니다- 직접 조건부 서식 규칙은 명시적 우선순위, 참이면 중지 평가, 평균 표준 편차 및 동일성 옵션, 아이콘 임계값 교체, 아이콘 전용 및 역방향 표시, 데이터 막대 값 가시성, BGR 색상 및 차등 채우기, 글꼴 색상, 굵게 및 기울임꼴 스타일을 지원합니다
변경
- 직접 작성기가 워크시트 전체에 걸쳐 동등한 차등 스타일을 중복 제거하고 조건부 서식 규칙과 스타일만 저장하므로 메모리 사용량이 워크시트 행 수가 아닌 규칙 수에 따라 확장됩니다
- 자동 데이터 막대 최소 및 최대 임계값 종류가 광범위한 스프레드시트 호환성을 위해 기본 OOXML 요소의 표준
min및max토큰으로 정규화됩니다
버전 2.181.0
추가
TXLSDirectWriter가 이제 워크시트 데이터를 버퍼링하지 않고 워크시트 및 통합 문서 보호를 작성하며, 여기에는 15가지 세분화된 워크시트 권한, 기존 암호 검증기, 최신 해시 메타데이터, 선택적 암호 또는 보안 설명자가 있는 편집 가능한 보호된 범위, 통합 문서 구조 및 창 잠금, 원시 검증기 할당 및 보호 지우기가 포함됩니다
수정
- 지원되지 않는 그리기 앵커가 이제 라운드 트립 출력을 위해 재구성될 때 모든 닫는 요소를 유지하여 도형 전용 그리기가 열기 및 저장 후에도 잘 형성된 상태로 유지됩니다
- XLSX 워크시트 보호 권한이 이제 OOXML 잠긴 플래그 정의를 따르므로 허용된 작업은
0을 쓰고, 금지된 작업은1을 쓰며, 생략된 속성은 스키마 기본값으로 다시 열립니다 - 기존 XLSX 워크시트, 보호된 범위 및 통합 문서 암호가 이제 ANSI 변환 및 15바이트 제한으로 Excel 호환 16비트 검증기 알고리즘을 사용합니다
버전 2.180.0
추가
- XLSX 워크시트 모델이 이제 가상 분석 시나리오 관리자(
<scenarios>) 및 데이터 통합(<dataConsolidate>) 요소를 라운드 트립합니다.TXLSXWorksheet의 새로운ScenariosXml및ConsolidateXml원시 XML 속성은 내부 콘텐츠를 원문 그대로 전달합니다 — 작성기는 래퍼 요소를 내보내고, 판독기는 시나리오/데이터 통합 자식을 다시 파싱합니다. 시나리오 또는 통합 정의를 정의하는 재무 모델링 파일은 더 이상 라운드 트립 시 손실되지 않습니다
버전 2.179.0
추가
- 새로운
XlsxBuildNumFmt도우미 함수가 의미론적 속성 —Decimals,Thousands(구분 기호),NegativeRed(빨간색 음수),CurrencySymbol,Percent—에서 OOXML 숫자 서식 코드를 구성합니다. 호출자는 더 이상"$#,##0.00;[Red]-$#,##0.00"와 같은 서식 문자열을 수동으로 작성할 필요가 없습니다 — 빌더가 간단한 매개변수에서 생성합니다.Cell.NumberFormat또는Workbook.NumberFormats.Add와 함께 사용하도록 설계되었습니다
버전 2.178.0
추가
- XLSX 워크시트 모델이 이제 VBA 프로젝트가 코드 이름으로 워크시트를 참조하는 VBA 상호 운용성에 필수적인 VBA 코드 이름(
<sheetPr codeName="..."/>)을 라운드 트립합니다.TXLSXWorksheet에 새로운CodeName속성이 추가되었습니다 - 메모가 이제
TXLSXComment에서AlwaysShow가시성 토글을 지원합니다 — True일 때 메모 풍선이 마우스를 올릴 때만이 아니라 항상 표시됩니다(Excel의 메모별 "메모 표시/숨기기" 토글) - 데이터 유효성 검사가 이제
TXLSXDataValidation에서 IME 모드 속성(imeMode)을 라운드 트립합니다. 11값 열거형은 셀 입력 시 CJK 입력 방식 동작을 제어합니다(noControl / off / on / hiragana / fullKatakana / 등). 일본어/한국어/중국어 로케일 파일에 필수적입니다 - 워크시트 모델이 기존 고정 모드 처리를 넘어
<pane>의 창 상태 속성에 대한PaneState속성을 얻습니다 —frozenSplit(고정 후 스크롤 가능) 및split상태를 지원합니다
버전 2.177.0
추가
- 이전에 등록되었지만 구현되지 않은 세 가지 워크시트 함수가 이제 완전한 디스패치를 갖습니다:
DOLLAR(통화 형식 텍스트),FIXED(선택적 쉼표 억제가 있는 고정 소수점 텍스트),AREAS(참조의 영역 수). 이전에는InitFuncHash에 등록되었지만 계산 엔진 케이스가 없어=DOLLAR(...)평가가 조용히 잘못된 결과를 반환했습니다 - XLSX 워크시트 모델이 이제 보기 유형별 확대/축소 배율(
zoomScaleNormal/zoomScalePageLayoutView/zoomScaleSheetLayoutView), 눈금선 색상(sheetView color) 및 시트 보기 표시 플래그(showFormulas/showZeros)를 라운드 트립합니다.TXLSXWorksheet의 새로운 속성:ZoomNormal,ZoomPageLayout,ZoomSheetLayout,GridColor,ShowFormulas,ShowZeros - 윤곽선 요약 방향이 이제 라운드 트립됩니다.
TXLSXWorksheet의 새로운SummaryBelow,SummaryRight및ShowOutlineSymbols속성은 요약 행/열이 세부 정보 아래/오른쪽에 표시되는지 여부와 윤곽선 기호가 보이는지 여부를 제어합니다. 작성기는<sheetPr>내부에<outlinePr>을 내보냅니다; 판독기는 이를 다시 파싱합니다 - 통합 문서 calcPr이 이제 기존
calcId/fullCalcOnLoad/calcMode/iterate트리오와 함께forceFullCalc및calcCompleted속성을 전달합니다
버전 2.176.0
추가
- XLSX 수식 엔진이 이제 컴파일 전에 구조화된 표 참조를 해결합니다.
TXLSXWorkbook의 새로운ResolveStructuredRefs메서드는 수식 텍스트에서TableName[ColumnSpec]패턴을 스캔하고 통합 문서의TXLSXTable컬렉션을 사용하여 구체적인 A1 범위 참조로 교체합니다. 지원되는 사양에는 열 데이터 범위(Sales[Qty]), 현재 행 열(Sales[@Total]), 전체 데이터(Sales[#Data]/Sales[#All]), 헤더(Sales[#Headers]), 합계 행(Sales[#Totals])이 포함됩니다. 해결은GetCompiledFormula내부에서 자동으로 실행됩니다 — 표가 아닌 식별자는 원문 그대로 유지되므로 기존 수식은 영향을 받지 않습니다. 이전에는 구조화된 참조로 인해 수식 컴파일이 실패했습니다
버전 2.175.0
추가
- 수식 엔진이 이제 R1C1 참조 스타일 수식 컴파일을 지원합니다.
TXLSCalculator의 새로운GetCompiledFormulaR1C1메서드(및TXLSFormula의GetCompiledR1C1)는 R1C1 표기법(R2C3절대용,R[-1]C[2]상대용,RC현재 셀용)으로 작성된 수식을 받아 수식 셀의 행/열을 사용하여 먼저 A1 표기법으로 변환하여 컴파일합니다. 독립형R1C1ToA1함수는 변환을 수행합니다 — 독립형인R/C표식(ROUND와 같은 함수 이름의 일부가 아닌)을 감지하고, 선택적 대괄호 오프셋을 파싱하며, 동등한 A1 참조를 생성합니다. 문자열 리터럴과 식별자는 건너뜁니다. 이전에는 A1 스타일 수식만 컴파일할 수 있었습니다
버전 2.174.0
추가
TXLSDirectWriter자동 필터 출력이 이제 XLSX 파일 스트리밍 시 워크시트 및 표 필터 열, 값 필터, 빈 필터, 날짜 그룹 필터, 사용자 정의 비교 필터, 동적 필터, 상위/하위 필터, 필터 버튼 플래그, 정렬 상태, 정렬 조건, XML 이스케이핑 및 중복 워크시트/표 필터 범위 억제를 지원합니다
버전 2.173.0
추가
TXLSDirectWriter표 출력이 이제 XLSX 파일 스트리밍 시 표 메모, 합계 행 카운트, 열 합계 행 레이블, 열 합계 행 함수, 계산된 열 수식, 합계 행 수식 및 표 열 메타데이터에 대한 XML 이스케이핑을 지원합니다
버전 2.172.0
추가
TXLSDirectWriter가 이제 전체 통합 문서 객체 모델을 빌드하지 않고 XLSX 파일 스트리밍 시 워크시트 표 관계, 표 부분 콘텐츠 유형, 표 범위, 열 이름, 헤더 행 및 합계 행 플래그, 기본 제공 표 스타일 표시 플래그를 포함하여 Excel 표 부분을 작성합니다
버전 2.171.0
추가
TXLSDirectWriter가 이제 전체 통합 문서 객체 모델을 빌드하지 않고 XLSX 파일 스트리밍 시 목록, 정수, 소수, 날짜, 시간, 텍스트 길이, 사용자 정의 수식, 임의sqref, 프롬프트, 오류 경고, 빈 값 허용, 드롭다운 및 입력/오류 메시지 플래그를 포함하여 워크시트 데이터 유효성 검사를 작성합니다
버전 2.170.0
추가
TXLSDirectWriter가 이제 전체 통합 문서 객체 모델을 빌드하지 않고 XLSX 파일 스트리밍 시 숨겨진 이름, 메모, 생성된 절대 범위, 인쇄 영역, 인쇄 제목 행, 인쇄 제목 열, 결합된 인쇄 제목, 인용된 시트 이름 참조, XML 이스케이핑 및 반복된 인쇄 이름 설정자에 대한 교체 의미론을 포함하여 통합 문서 및 시트 로컬 정의 이름을 작성합니다
버전 2.169.0
추가
TXLSDirectWriter가 이제 전체 통합 문서 객체 모델을 빌드하지 않고 XLSX 파일 스트리밍 시 외부 URL, mailto 및 파일 관계, 내부 시트 위치, 표시 텍스트, 도구 설명, 단일 셀 또는 다중 셀 하이퍼링크 범위, 단순www.URL 정규화, XML 이스케이핑 및 백분율 인코딩된 관계 대상을 포함하여 워크시트 하이퍼링크를 작성합니다
버전 2.168.0
추가
TXLSDirectWriter가 이제 전체 통합 문서 객체 모델을 빌드하지 않고 XLSX 파일 스트리밍 시 눈금선 및 행/열 헤더 표시 토글, 페이지 여백, 홀수 헤더/바닥글 텍스트, 인쇄 눈금선 및 제목, 페이지 중앙 배치, 용지 크기 및 가로 방향, 페이지 맞춤 크기 및 수동 행 또는 열 페이지 나누기를 포함하여 인쇄 및 시트 보기 메타데이터를 작성합니다
버전 2.167.0
추가
TXLSDirectWriter가 이제 전체 통합 문서 객체 모델을 빌드하지 않고 XLSX 파일 스트리밍 시 기본 열 및 행 크기, 사용자 정의 열 너비, 숨겨진 행 및 열, 병합된 범위, 자동 필터 범위, 고정 창, 시트 탭 색상 및 오른쪽에서 왼쪽 시트 보기를 포함하여 워크시트 레이아웃 메타데이터를 작성합니다
버전 2.166.0
추가
- 스트리밍 XLSX 워크플로가 이제 워크시트 스캔 없는 시트 이름 나열, 이름 기반 행 커서 시트 선택, 원시 숫자 날짜 스트리밍, 직접 작성기 재사용, 오류 셀 작성 및 숫자, 문자열, 불린, 날짜 및 오류 값에 대한 캐시된 수식 결과 작성기를 포함합니다
버전 2.165.0
수정
TXLSDirectReader.ReadStream이 이제 직접 스캔 후 호출자’s의 스트림 위치를 복원하여 문서화된 스트림 계약과 일치하며 응용 프로그램이 직접 읽기 패스 후 동일한 스트림을 재사용할 수 있도록 합니다
버전 2.164.0
추가
TDataToXLS데이터셋 내보내기가 이제IncludeFields및ExcludeFields문자열 목록을 지원합니다. 응용 프로그램은 내보낸 필드를 화이트리스트에 추가하고, 민감한 열을 생략하며, 헤더, 데이터 행, 열 너비 및 내보내기 콜백을 선택한 필드 집합과 정렬할 수 있습니다
버전 2.163.0
추가
- CSV 내보내기가 XLS 및 XLSX 엔진 전체에 걸쳐 구성 가능한 텍스트 인용을 얻습니다.
TXLSWorkbook은 이제CSVEmitFormulas및CSVQuoteAllStrings을 노출하고,TXLSXWorkbook은CSVQuoteAllStrings을 추가합니다. 활성화되면 수식 내보내기가 수식 텍스트를 작성하고 문자열 필드가 인용되는 반면 숫자, 날짜, 불린, Null 및 빈 필드는 일반 인용 규칙을 유지합니다
버전 2.162.0
추가
- XLSX 엔진이 중단 가능한 진행 이벤트 시스템을 얻습니다.
TXLSXWorkbook의 새로운OnProgressEx콜백이 기존OnProgress와 함께 세 가지 향상으로 발생합니다: (1) UI가 작업이 시작 및 종료되는 시점을 알 수 있도록 각 단계를 묶는TXLSXProgressState매개변수(ppsBegin/ppsWork/ppsEnd); (2) 콜백이 현재 작업을 중간에 취소할 수 있게 하는Abort: Booleanvar 매개변수 — 읽기/쓰기/계산 루프가Workbook.Aborted를 확인하고 깨끗하게 중단합니다; (3) 내보내기 작업(HTML/RTF/CSV/ODS)을 위한 새로운xlsxProgressExporting단계.FireProgress도우미 메서드가 이중 콜백 디스패치를 중앙 집중화합니다.FAborted플래그는 각 최상위 작업(Open / SaveAs / Recalculate) 시작 시 재설정됩니다
버전 2.161.0
추가
- XLSX 차트 모델이 이제 더 강력한 Excel 호환성을 위해 4가지 새로운 차트 요소를 지원합니다. 차트 데이터 테이블(
c:dTable):TXLSXChart가ShowDataTable+ShowDataTableKeys토글을 얻습니다 — 활성화되면 작성기가 플롯 영역 내부에 데이터 테이블 요소를 내보내어 Excel이 차트 축 아래에 소스 데이터를 그리드로 렌더링합니다. 업/다운 막대 + 고-저 선(주식/OHLC 차트 요소):TXLSXChart가HasUpDownBars+UpDownGapWidth및HasHiLowLines를 얻습니다 — 작성기가 차트 요소 내부에(선/주식 차트)c:upDownBars및c:hiLowLines를 내보냅니다. 3D 보기 컨트롤:TXLSXChart가Rotation3DX/Rotation3DY/Elevation3D/Perspective3D/RightAngleAxes3D를 얻습니다 — 작성기는 3D 속성이 기본값과 다를 때 차트 수준에서c:view3D를 내보냅니다. 이전에는 이러한 요소가 어느 것도 내보내지지 않아 데이터 테이블, 주식 차트 요소 또는 3D 보기로 빌드된 차트가 라운드 트립 시 손실되었습니다
버전 2.160.0
추가
- 수식 참조가 이제 XLSX 엔진에서 행 또는 열이 삽입되거나 삭제될 때 자동으로 조정됩니다.
InsertRows/DeleteRows/InsertCols/DeleteCols에 의해 호출되는ShiftSheetGeometry메서드가 이제 살아남은 모든 수식 셀을 걸고 구조적 변경을 반영하도록 A1 참조를 다시 작성합니다. 새로운XlsxAdjustFormulaRowColRefs텍스트 스캐너가 단일 셀 참조(A1,$B$2) 및 범위 참조(A1:B3)를 감지하고, 삽입 지점을 지난 행/열 구성 요소를 이동하며, 삭제된 참조를#REF!로 변환합니다. 상대 및 절대 참조 모두 이동됩니다(Excel의 동작과 일치). 이전에는 수식이 구조적 편집 후 잘못된 셀을 가리키는 상태로 남겨졌습니다
버전 2.159.0
추가
- 자동 필터 정렬 상태가 이제 XLSX 엔진을 통해 라운드 트립됩니다.
TXLSXWorksheet가 OOXML<sortState>요소(열 정렬 방향, 대소문자 구분, 정렬 방법 및 내림차순 플래그 + 참조가 있는 각<sortCondition>)의 원시 내부 XML을 전달하는SortStateXml속성을 얻습니다. 작성기는<autoFilter>후에 요소를 내보냅니다; 판독기는 속성과 정렬 조건을 다시 파싱합니다. 이전에는 정렬 상태가 읽기 시 조용히 삭제되고 작성되지 않았습니다 - CJK 음운/루비 설정이 이제 XLSX 엔진을 통해 라운드 트립됩니다.
TXLSXWorksheet가PhoneticFontId,PhoneticType(hiragana / katakana / fullWidthKatakana / noConversion) 및PhoneticAlignment(left / center / distributed)를 얻습니다. 작성기는<sheetData>후에<phoneticPr>을 내보냅니다; 판독기는 속성을 다시 파싱합니다. 이전에는 음운 요소가 읽기 시 조용히 삭제되었습니다 — 일본 시장 파일이 후리가나 읽기 도우미 설정을 잃었습니다
버전 2.158.0
추가
- XLSX 엔진이 이제 이름이 지정된 셀 스타일 테이블(
<cellStyles>)을 라운드 트립합니다.TXLSXWorkbook의 새로운TXLSXNamedStyle클래스 +TXLSXNamedStyles컬렉션이 전체 표면을 전달합니다:Name,XfId,BuiltInId,CustomBuiltIn,Hidden,BuiltinLevel. 작성기는 컬렉션이 비어 있지 않을 때 항목당 하나의<cellStyle>을 내보냅니다; 판독기는 이를 다시 파싱합니다. 이전에는 작성기가 단일"Normal"항목을 하드코딩하고 판독기가 모든 이름이 지정된 스타일을 폐기하여 "Good"/"Bad"/"Total"/사용자 정의 이름이 지정된 스타일이 있는 파일이 라운드 트립 시 해당 이름을 잃었습니다
버전 2.157.0
추가
- XLSX 엔진이 이제 반복 계산 토글만이 아닌 전체
<calcPr>요소를 라운드 트립합니다.TXLSXWorkbook이CalcId(Excel이 캐시된 값이 오래되었는지 결정하는 데 사용하는 계산 엔진 식별자),FullCalcOnLoad(Excel이 열기 시 전체 재계산을 강제로 수행하도록 합니다 — 비 Excel 엔진에서 생성된 통합 문서에 중요),CalcMode(auto / manual / autoNoTable)를 얻습니다. 작성기는<calcPr>에 일치하는 속성을 내보냅니다; 판독기는 이를 다시 파싱합니다. 이전에는iterate/iterateCount/iterateDelta만 처리되었고 나머지는 조용히 삭제되었습니다
버전 2.156.0
추가
- 수식 평가기가 이전에 등록되었지만(InitFuncHash에서 ptg 할당) 디스패치 구현이 없어
#NAME?로 떨어지던 37개의 워크시트 함수를 구현합니다. 새로운 구현은 5가지 함수 패밀리에 걸쳐 있습니다: 회귀(FORECAST,LINEST,TREND,GROWTH,LOGEST,CORREL,PEARSON,SLOPE,INTERCEPT,RSQ,STEYX), 감가상각(SLN,SYD,DB,DDB,VDB), 기술 통계(AVEDEV,DEVSQ,KURT,SKEW,GEOMEAN,HARMEAN,TRIMMEAN,FREQUENCY), 배열 쌍별(SUMXMY2,SUMX2MY2,SUMX2PY2), 조합/수학(COMBIN,PERMUT,FACT,QUOTIENT,ROMAN,DEGREES,RADIANS,STANDARDIZE). 회귀 함수는 최소 제곱 해를 사용합니다; 감가상각 함수는 정액법, 연수합계법 및 체감 잔액법을 구현합니다; 기술 통계 함수는 평균 절대 편차, 첨도, 왜도, 기하/조화/절사 평균을 계산합니다; 쌍별 함수는 크기가 같은 두 범위 간의 제곱 차이 합을 계산합니다.TXLSCalculator의 새로운CollectRangeValues도우미가 통계 함수를 위해 범위 인수에서 숫자 값을 추출합니다
버전 2.155.0
추가
- 수식 평가기가 이제 5가지 추가 통계 및 엔지니어링 호환성 이름을 지원합니다:
ERFC,ERFC.PRECISE,BINOM.INV,CHI.INV.RT,F.TEST.ERFC는 기존 오류 함수 시리즈를 보완하고,BINOM.INV는 이항 CDF 임계값을 검색하며,CHI.INV.RT는 우측 카이제곱 역함수의 별칭이고,F.TEST는 양측 표본 분산 p-값을 반환합니다
버전 2.154.0
추가
- 수식 평가기가 이제
TXLSCalculator의 새로운OnGetExternalValue콜백을 통해 통합 문서 간 참조를 해결합니다. 3D 범위 참조가 외부 통합 문서([1]Sheet1!A1)를 가리킬 때 평가기는#REF!를 반환하는 대신 콜백을 통해 라우팅합니다. XLSX 엔진은 이 콜백을GetExternalCellValue에 연결하여 SupBook 인덱스 + 시트 인덱스를 일치하는TXLSXExternalLink의<sheetDataSet>캐시에 매핑하고 OOXML 유형 속성(숫자 / 불린 / 문자열 / 오류)별로 캐시된 셀 값을 디코딩합니다. 이전에는 통합 문서 간 수식이 무조건#REF!를 반환했습니다; 콜백 인프라는 이제 모든 엔진(BIFF8, XLSX 또는 사용자 정의 계산기 호스트)이 외부 값을 제공할 수 있도록 합니다 - 수식 평가기가 이제 이항 연산자(
+/-/*///^)에서 요소별 배열 브로드캐스팅을 수행합니다. 어느 한 피연산자가 1D 또는 2D 변형 배열(예: 행렬 함수 결과, 유출된 범위 또는 CSE 배열 피연산자)인 경우 연산자가 요소별로 적용됩니다; 스칼라 피연산자는 배열 피연산자의 모든 요소로 브로드캐스트됩니다. 새로운ApplyArrayBinaryOp도우미가 모양 검증, 스칼라 브로드캐스트 및 0으로 나누기 전파를 처리합니다. 기존 스칼라 산술은 변경되지 않습니다 — 배열 경로는 적어도 하나의 피연산자가 변형 배열일 때만 활성화됩니다 - 수식 평가기가 이제
TABLE함수(가상 분석 DataTable)를 인식합니다. Excel은 데이터 테이블을 본문이TABLE(rowRef, colRef)인 CSE 배열 수식으로 저장합니다; 이전에는TABLE이 인식되지 않아#NAME?로 떨어졌습니다. 이 함수는 합성 ptg(ftabTABLE = 4232)로 등록되어 BIFF8 수식 인코딩을 통해 라운드 트립되며, 평가 시간에 자리 표시자 값(0)을 반환합니다 — 실제 결과는 Excel에 의해 사전 계산되어 캐시된 셀 값으로 저장되므로 HotXLS는 대체 논리를 다시 평가하지 않습니다
버전 2.153.0
추가
- 피벗 테이블 타입이 지정된 모델이 이제 더 완전한 Excel 호환성을 위해 페이지 축 타입이 지정된 속성(Hier / Caption / Name), 자동 정렬 범위 및
<formats>및<extLst>에 대한 원시 XML 라운드 트립 훅을 전달합니다.TXLSPivotField는PageHier/PageCaption/PageName(F16 — OLAP 계층 구조 이름 + 페이지 축 캡션 + 표시 이름) 및AutoSortScope(F20 — Excel이 필드의 항목을 자동 정렬하는 데 사용하는 셀을 고정하는 A1 범위 참조)을 얻습니다;TXLSPivotTable은FormatsXml/ExtLstXml(F17 —<formats>CF / 숫자 서식 재정의 블록과<extLst>슬라이서 / 타임라인 / x14 블록에 대한 원시 내부 XML 라운드 트립, 설정 시 원문 그대로 내보내지므로 엔진 버전 전반에 걸쳐 라운드 트립이 안전함)을 얻습니다. XLSX 작성기는 일치하는<pageField hier=... cap=... name=.../>속성,<pivotField>의<autoSortScope>자식, 닫는 센티넬 앞의<formats>+<extLst>블록을 내보냅니다 - 수식 추적기가 이제 단계별 피연산자 스택 스냅샷을 기록하여 진정한 단계별 "수식 평가" 디버거를 가능하게 합니다.
TXLSFormulaStep은StepKind(push / reduce / function),StackBefore/StackAfter(각 단계가 시작/종료된 순간의 피연산자 스택의 쉼표로 구분된 스냅샷) 및TokenStart/TokenEnd(단계를 소스 수식으로 다시 고정하는 1부터 시작하는 문자 범위)을 얻습니다.TXLSFormulaTracer는TraceReversed(최종 결과에서 원래 피연산자를 향해 걷는 단계 뒤로 UI에 유용한 역방향 평가 순서로 동일한 단계 반환)와StepCount속성을 얻습니다. 이전에는 추적기가 스택 상태 없이 Depth / Source / Expression / Value만 기록했습니다 - HTML 내보내기가 이제
TXLSHTMLExport의 새로운OnCellImage콜백과 새로운xhImages옵션을 통해 셀별 이미지를 임베드합니다. 옵션이 설정되고 콜백이 연결되면 내보내기 프로그램이 각 셀의<img>조각(일반적으로 Base64 data-URI)을 구현자에게 요청하고 셀 텍스트 뒤에 추가합니다. 이것은 내보내기 프로그램을 XLS 엔진의 BIFF8 이미지 저장소(시트별 MsoDrawing 레코드에 있음)에서 분리하여 내보내기 프로그램이 앵커를 직접 파싱할 필요가 없도록 합니다. XLSX 엔진의 HTML 내보내기는 이미 이미지를 임베드했습니다; 이것은 XLS 엔진의 격차를 해소합니다 - RTF 가져오기가 이제 RTF 제어 단어에서 대상 셀의 글꼴로 문자 속성(굵게 / 기울임꼴 / 밑줄 / 취소선 / 크기)을 적용합니다.
TXLSRTFImport는 문서 전체에 걸쳐\b/\i/\ul/\strike/\fs를 추적하고 커밋 시간에 셀의 XF로 지배적인 실행의 서식을 푸시합니다. 새로운ImportCharFormat속성(기본 True)이 동작을 토글합니다; False로 설정하면 기존 텍스트 전용 가져오기가 복원됩니다. 다중 실행 셀은 XLS 엔진의 셀 API가 조각별이 아닌 셀 수준이므로 단일 XF로 축소됩니다(마지막 활성 실행이 이김) — 하지만 기존 가져오기가 했던 모든 서식을 삭제하는 것보다 훨씬 낫습니다 - 새로운
TXLSHTMLImport클래스가 HTML 표를 워크시트 셀로 파싱합니다. 소스의 첫 번째<table>을 걸어 각<tr>당 하나의 워크시트 행을, 각<td>/<th>당 하나의 셀을 내보냅니다.colspan/rowspan(Excel 스타일 병합)을 존중하고, 셀 내부의 태그를 제거하고(중첩된 서식을 일반 텍스트로 축소), 5가지 표준 문자 엔티티(&/</>/"/'/ )와 숫자&#NNN;/&#xNN;형식을 디코딩하며, 가져온 표가 계산 가능하도록 깨끗한 숫자 문자열을 Double로 강제 변환합니다. HotXLS 자체가 생성하는 출력(SaveAsHTML)과 일반적인 복사-붙여넣기 품질의 HTML 표용으로 설계되었습니다; 전체 HTML5 파서는 아닙니다
버전 2.152.0
추가
- XLSX 표가 이제 열 수준 합계 메타데이터와 표 수식을 유지합니다.
TXLSXTable은ColumnTotalsRowFunctions[],ColumnTotalsRowLabels[],ColumnCalculatedColumnFormulas[],ColumnTotalsRowFormulas[]를 노출합니다;SaveAs는 일치하는totalsRowFunction,totalsRowLabel,calculatedColumnFormula및totalsRowFormula표 열 XML을 내보내고Open은 이를 다시 읽으며 표 복제는 이를 보존합니다
버전 2.151.0
추가
- 피벗 테이블 타입이 지정된 모델이 이제 더 완전한 피벗 테이블 호환성을 위해 필드별 필터 컬렉션, 다중 선택 토글, fieldGroup discretePr + groupItems 표면 및 계산된 항목 / 계산된 멤버 모델을 전달합니다.
TXLSPivotField는 타입이 지정된TXLSPivotFilters컬렉션(각 항목은 80개 멤버 OOXMLST_FilterType열거형에 걸친FilterType— 카운트 / 백분율 / 합계 / 캡션 / 값 / 날짜 패밀리 — 및Value1/Value2/StrValue1/StrValue2,EvalOrder,DataField,MemberPropertyId,Name,Description을 전달),MultipleItemSelectionAllowed토글(F9) 및TXLSPivotCalculatedItem컬렉션(F14)을 얻습니다.TXLSPivotCacheField는 fieldGroup discretePr + groupItems 블록(F13)을 위해DiscreteIndices[]+AddDiscreteIndex및GroupItemLabels[]+AddGroupItem을 얻습니다.TXLSPivotTable은TXLSPivotCalculatedMember컬렉션(F14)을 얻습니다. XLSX 작성기는 일치하는<pivotField multipleItemSelectionAllowed="1">, 필드별<filters><filter .../>블록,<fieldGroup><discretePr>...</discretePr><groupItems>...</groupItems></fieldGroup>요소, 필드별<calculatedItems>블록 및 표 수준<calculatedMembers>블록을 내보냅니다 — 따라서 필터 / 다중 선택 / 그룹화 / 계산된 항목으로 프로그래밍 방식으로 빌드된 피벗이 라운드 트립됩니다
버전 2.150.0
추가
- 정의된 이름이 이제 참조하는 워크시트가 삭제되거나 이름이 변경될 때 수식 텍스트를 유효하게 유지합니다. 시트를 삭제하면 정의된 이름의 수식 내부의 모든
SheetN!한정자를#REF!로 다시 작성하고(Excel의 동작과 일치); 시트 이름을 변경하면 한정자를 새 이름으로 다시 작성합니다. 이전에는 수식 텍스트가 존재하지 않는 시트 이름을 계속 가리켜 Excel이 다시 열 때 끊어진 링크로 표시했습니다 - 피벗 테이블 타입이 지정된 모델이 이제 필드 수준 정렬 순서와 레이아웃 토글, 더 완전한 피벗 테이블 레이아웃 호환성을 위해 필요한 표 수준 레이아웃 / 표시 속성을 전달합니다.
TXLSPivotField는SortType(수동 / 오름차순 / 내림차순),Compact,Outline,SubtotalTop,DragToRow/DragToCol/DragToPage/DragToData,ShowAll,InsertBlankRow,NumFmtId를 얻습니다;TXLSPivotTable은Compact/CompactData/Outline/OutlineData/Indent/ShowEmptyRow/ShowEmptyCol/ShowHeaders/ShowDrill/EnableDrill/FieldListSortAscending/GridDropZones와RowHeaderCaption/ColHeaderCaption/ErrorCaption/MissingCaption/ShowError/ShowMissing및 페이지 축 레이아웃 쌍RowPageCount/ColPageCount를 얻습니다. XLSX 작성기는 일치하는<pivotField sortType=... compact=... outline=...>및<pivotTableDefinition indent=... outline=... showEmptyRow=...>속성과<location rowPageCount=... colPageCount=.../>요소를 내보내어 프로그래밍 방식으로 빌드된 피벗이 Excel의 기본값 대신 사용자 설정 레이아웃을 전달합니다 TXLSWorkbook의 새로운FormulaIsVolatile메서드가 수식이 모든 계산 패스에서 재계산을 강제할지 여부를 보고합니다 — 즉, 휘발성 함수(NOW / RAND / TODAY / OFFSET / INDIRECT)를 호출하거나 해결할 수 없는 참조를 전달합니다. 프로브는 재계산 엔진이 사용하는 것과 동일한 종속성 추출기를 공유하므로 답이Recalculate가 실제로 수행하는 것과 일치합니다. 호출자는 이를 사용하여 검증 UI를 위해 셀에 플래그를 지정하거나, 완전히 새로운 통합 문서에서 계산 체인 휘발성 집합을 채우거나, 새로 입력된 수식의 결과 캐싱을 건너뛸 수 있습니다
버전 2.149.0
추가
- 피벗 테이블 캐시를 이제 원본 범위에서 프로그래밍 방식으로 새로 고칠 수 있습니다.
TXLSXWorkbook의 새로운RefreshPivotCache(ACacheId)메서드가 캐시의 원본 범위를 다시 스캔하고, 필드별로 공유 항목 도메인을 재구축하며(값을 다시 중복 제거하고 유형별 바운드를 다시 파생), 레코드별 항목 인덱스를 다시 작성합니다. 이전에는 HotXLS가 하드코딩된refreshOnLoad="1"플래그에 의존하고 모든 새로 고침 작업을 다음 열기 시 Excel에 연기했습니다; 프로그래밍 방식 파이프라인은 이제 프로세스 내에서 새로 고칠 수 있습니다
버전 2.148.0
추가
- XLSX 엔진의
InsertCols가 이제 왼쪽 이웃에서 열 너비를 상속하여 "열 삽입"에 대한 Excel의 기본 동작과 일치합니다. 이전에는 삽입된 열이 통합 문서 기본 너비를 선택하여 다시 연 후 눈에 띄는 충실도 격차를 생성했습니다 - XLSX 엔진이 윤곽선 트리를 걸어 주어진 수준에서 그룹을 축소하거나 확장하는
TXLSXWorksheet의 편리한 윤곽선 축소 도우미ToggleColGrouped/ToggleRowGrouped를 얻습니다. 축소 플래그 자체는 이미 라운드 트립되었습니다; 이것은 누락된 트리 걷기 편의 API를 추가합니다
버전 2.147.0
추가
- HTML 내보내기가 이제 내부 하이퍼링크 대상인 셀에
<a name>앵커를 내보내어 판독기가 클릭할 때#SubAddress하이퍼링크가 올바르게 해결되도록 합니다. 이전에는 링크가 내보내졌지만 대상에 앵커가 없어 내부 점프가 아무것도 해결되지 않았습니다 - CSV 내보내기가
TXLSXWorkbook에서CSVEmitFormulas속성을 얻었습니다. True일 때 수식 셀이 계산된 값 대신 수식 텍스트(=SUM(A1:A2))를 내보냅니다 — 디버깅과 다른 엔진으로 다시 가져오는 파이프라인에 유용합니다 - 외부 하이퍼링크 URL이 이제 쓰기 시 백분율 인코딩됩니다(
XlsxEncodeHyperlinkUrl): 공백, 꺾쇠 괄호, 인용 부호, 중괄호, 파이프, 백슬래시, 캐럿 및 백틱이<Relationship Target="..."/>속성에서%XX로 인코딩되어 파일이 모든 브라우저에서 올바르게 열립니다. 기존 백분율 인코딩 시퀀스(%20)는 있는 그대로 보존됩니다 - 피벗 테이블 스타일 정보가 이제 전체
pivotTableStyleInfo표면을 전달합니다:TXLSPivotTable에StyleName,ShowRowHeaders,ShowColHeaders,ShowRowStripes,ShowColStripes,ShowLastColumn. XLSX 작성기가 일치하는 요소를 내보내어 프로그래밍 방식으로 빌드된 피벗이 하드코딩된 기본값 대신 사용자가 선택한 띠 스타일을 전달합니다 TXLSXWorkbook의 새로운CalculateAndVerify메서드가 모든 수식 셀을 다시 평가하고 계산된 결과를 셀의 캐시된 값과 비교합니다. 불일치 수를 반환합니다(0 = 모든 캐시된 값이 엔진의 새로운 계산과 일치; 휘발성 수식은 제외). 엔진 간 통합 문서 이식 시 또는 작성기가 캐시된 값을 손상시키지 않았는지 검증할 때 QA에 유용합니다
버전 2.146.0
추가
- XLSX 엔진이 이제 반복 순환 참조 계산(Excel의 반복 계산 모드)을 지원합니다.
TXLSXWorkbook의 새로운Iterate/IterateCount/IterateDelta속성 트리플이 동작을 제어합니다:Iterate=True이고Recalculate중에 참조 주기가 감지되면 엔진은#REF!를 반환하는 대신 순환 멤버 셀을IterateCount번(기본 100) 재평가하거나 모든 셀의 변경이< IterateDelta(기본 0.001)가 될 때까지 재평가합니다. 설정은 OOXML의<calcPr iterate="1" iterateCount="N" iterateDelta="X"/>요소를 통해 라운드 트립됩니다. 의도적인 순환 참조가 있는 재무 모델(이자 위의 이자, 순환 할당)이 이제 오류를 발생시키는 대신 수렴합니다 - 피벗 테이블 캐시 필드가 이제 숫자 범위 및 날짜 계층 구조 그룹화를 위한 그룹화 모델을 전달합니다.
TXLSPivotCacheField는HasGroup+GroupStartNum/GroupEndNum/GroupInterval(숫자 범위) 및GroupByDate/GroupDays/GroupMonths/GroupQuarters/GroupYears/GroupHours/GroupMinutes/GroupSeconds/GroupStartDate/GroupEndDate(날짜)를 얻습니다. XLSX 작성기는<fieldGroup><rangePr groupBy="range|days|months|..."/>요소를 내보내어 그룹화된 필드가 있는 프로그래밍 방식으로 빌드된 피벗이 Excel의 출력과 일치합니다 - HTML 내보내기가 이제 메모 미주를 내보냅니다.
xhComments가 내보내기 옵션에 있을 때 메모가 있는 각 셀은[n]위 첨자 링크를 받고, 전체 메모 텍스트(작성자 + 본문)가 표 뒤에 셀로의 역 앵커와 함께 미주 섹션으로 나열됩니다. 이전에는 메모가 셀의title=속성을 통해서만 사용할 수 있어 인쇄되거나 복사-붙여넣기될 때 보이지 않았습니다
버전 2.145.0
추가
- BIFF8 수식 오류 리터럴(
tErr토큰)이 이제 수식 파싱을 실패하는 대신 타입이 지정된SA_ERROR구문 항목으로 디코딩됩니다.=#N/A를 저장하는 셀(또는 7가지 Excel 오류 상수 중 하나)은 이전에 전체 수식을 읽기 시 삭제했습니다; 오류 바이트는 이제 읽기 → 평가 → 쓰기를 통해 라운드 트립되고 새로운XlsErrorToString도우미를 통해 텍스트 형식(#NULL!,#DIV/0!,#VALUE!,#REF!,#NAME?,#NUM!,#N/A)으로 재구성됩니다 - BIFF8
tIsect $0F토큰(암시적 교차 연산자)이 이제 바이너리 수식 변환기에서 디코딩되어 텍스트 파서가@에 대해 생성하는 것과 동일한SA_ISECT노드를 빌드합니다. 이전에는tIsect를 포함하는 바이너리 수식이 파싱에 실패했습니다 - 데이터 막대 조건부 서식이 이제 모델이 기본값이 아닌 x14 필드(음수 채우기 색상, 그라데이션 끄기, 축 색상, 방향, 테두리)를 전달할 때 워크시트
extLst에 Excel 2010+x14확장 블록을 내보냅니다. 새로운BuildDataBarExtXml이 일치하는 우선순위, cfvo 쌍, 채우기 + 음수 + 축 색상, 그라데이션/테두리/방향/negativeBarColorSameAsPositive 속성으로<x14:conditionalFormattings>ext요소를 빌드합니다
버전 2.144.0
추가
- XLSX 엔진이 이제 Agile 암호화 통합 문서를 작성할 수 있으며(
TXLSXWorkbook.SaveAsEncryptedAgile), 높은 가치의 읽기/쓰기 호환성 격차를 해소합니다. Agile은 Excel 2010+가 암호로 보호된 .xlsx 파일에 기본적으로 작성하는 것입니다; HotXLS는 이전에 Agile을 읽을 수 있었지만 표준 암호화(AES-128)만 작성할 수 있었습니다. 새로운 쓰기 파이프라인은 기존 복호화 경로를 반영합니다: 100000회 반복 스핀 카운트로 SHA-512 암호 해싱, AES-256-CBC 세그먼트별 패키지 암호화, 세 가지 사양 고정 블록 키별로 래핑된 임의로 생성된 중간 키, 그리고 암호화된 검증자 + 키 블롭을 전달하는 완전한<encryption>설명자 XML입니다. 출력은 Excel이 생성하는 것과 바이트 충실도가 일치하며XlsLoadAgileEncryptedFile을 통해 깨끗하게 라운드 트립됩니다(테스트로 검증됨: 올바른 암호는 복호화, 잘못된 암호는 거부) - 새로운 암호화 프리미티브가 Agile 쓰기 경로의 기초가 됩니다:
XlsHMACSHA512(RFC 2104,dataIntegrity요소에 필요),XlsBase64Encode(기존 디코더를 반영하는 RFC 4648 인코더),AESEncryptCBC(모든 키 크기 128/192/256에 대한 AES-CBC 암호화, 기존AESDecryptCBC의 역). AES 유닛은 이제 Gladman obj에서aes_encrypt_key192/aes_encrypt_key256을 가져옵니다(이전에는 128비트 암호화만 사용 가능)
버전 2.143.0
추가
- 수식 평가기가 이제 명시적 교차 연산자
@(Excel 365 동적 배열 구문, 예:=A2:A4 @ B2:B4)를 파싱하고 평가합니다. 렉서가@기호에 대해 새로운LT_ISECT토큰을 내보내고, 우선순위 파서가SA_ISECT노드(^보다 단단하게,%보다 느슨하게 바인딩)를 빌드하며, 새로운IntersectRanges평가기가 두 피연산자를 범위로 해결하고 단일 교차 셀의 값을 반환합니다 — Excel의 암시적 교차 규칙입니다. BIFF 토큰 직렬 변환기가tIsect $0F를 내보내 연산자가 XLS를 통해 라운드 트립되고, 수식 텍스트 재구성 경로가 암시적 공간 형식을 내보냅니다. 이전에는 그러한 수식이 파싱에 실패했습니다 - 표준 Base64 인코더(
XlsBase64Encode)가 이제 사용 가능하며 기존XlsBase64Decode를 반영합니다. 이것은 saltValue / encryptedVerifierHashInput / encryptedKeyValue / encryptedHmacValue를 Base64 속성 값으로 내보내는 Agile 암호화 쓰기 경로의 전제 조건입니다 - 통합 문서의
OnProgress이벤트가 이제 새로운xlsxProgressCalculating단계와 함께 전체 재계산(Recalculate) 중에도 발생합니다. 이전에는 이벤트가 읽기 및 쓰기 중에만 발생하여 긴 전체 재계산이 UI에 하트비트를 주지 않았습니다. 이벤트는 셀의 약 4%마다 발생하여 넘침을 방지합니다 - 확장 문서 속성(
docProps/app.xml)이 이제 암호로 보호된 / 템플릿 기반 문서에 대해 Excel이 작성하는 3개의 추가 필드를 라운드 트립합니다:Manager,Template,DocSecurity(비트 필드: 1=암호로 보호됨, 2=읽기 전용 권장, 4=읽기 전용 강제, 8=주석용 잠금)
버전 2.142.0
추가
- 피벗 테이블 타입이 지정된 모델이 이전 분석 라운드에서 격차로 표시된 메타데이터, 소스, 계산된 필드, "값으로 표시" 및 공유 항목 바운드 표면을 전달합니다.
TXLSPivotCache는RefreshOnLoad/RefreshedBy/RefreshedDate/MissingItemsLimit/CreatedVersion/RefreshedVersion/MinRefreshableVersion/EnableRefresh/BackgroundQuery/SaveData와 타입이 지정된 워크시트 소스 모양(SourceName/SourceRelId/SourceIsNamedRange)을 얻습니다;TXLSPivotCacheField는Formula/DatabaseField/MemberPropertyField(계산된 필드)와 공유 항목 바운드(ContainsBlank/ContainsInteger/ContainsString/ContainsNumber/ContainsDate/MinValue/MaxValue/MinDate/MaxDate/HasBounds)을 얻습니다;TXLSPivotDataField는 "값으로 표시" 변환(percent-of / difference / running-total / index)을 위해ShowDataAs/BaseField/BaseItem을 얻습니다. XLSX 작성기(BuildPivotCacheDefinitionXml/BuildPivotTableXml)는 이들 모두를 존중하여 프로그래밍 방식으로 빌드된 피벗(AddPivotTable)이 더 풍부한pivotCacheDefinition+pivotTableDefinition을 내보냅니다 — refreshOnLoad / 버전 트리플 / refreshedBy / 이름이 지정된 범위 소스 / 계산된 cacheField 수식 / sharedItems 바운드 / dataField 소계 + showDataAs. 파일에서 읽은 피벗 테이블은 원시 XML을 원문 그대로 계속 라운드 트립합니다 - 이미지 앵커 동작이 이제
TXLSXImage의 새로운AnchorType속성을 통해 라운드 트립됩니다(xaTwoCell= 셀과 함께 이동 및 크기 조정,xaOneCell= 이동하지만 크기 조정 안 함,xaAbsolute= 이동 또는 크기 조정 안 함). 작성기가 일치하는 앵커 요소(xdr:oneCellAnchor/xdr:twoCellAnchor editAs=.../xdr:absoluteAnchor)를 선택합니다; 판독기는 요소 이름 +editAs속성을 다시 파싱합니다. Excel의 오른쪽 클릭 → 크기 및 속성 → 속성 대화 상자에 매핑됩니다 - 헤더/바닥글이 이제 짝수/첫 페이지 차별화를 라운드 트립합니다.
TXLSXWorksheet가EvenHeaderText/EvenFooterText/FirstHeaderText/FirstFooterText와 4가지<headerFooter>토글(DifferentOddEven,DifferentFirst,ScaleWithDoc,AlignWithMargins)을 얻습니다. 사용자가 "다른 홀수 및 짝수 페이지" 또는 "다른 첫 페이지"를 활성화한 파일은 더 이상 라운드 트립 시 짝수/첫 페이지 섹션을 잃지 않습니다 - 페이지 설정이 이제 비기본 인쇄 설정을 위해 Excel이 작성하는 확장
<pageSetup>속성을 라운드 트립합니다:Copies,FirstPageNumber+UseFirstPageNumber,HorizontalDpi,VerticalDpi,PrintErrors(표시됨/공백/대시/NA),UsePrinterDefaults <sheetFormatPr>이 이제customHeight,zeroHeight,outlineLevelRow및outlineLevelCol을 라운드 트립하여 사용자가 사용자 고정 기본 행 높이, 숨겨진 기본 행 또는 기본 윤곽선 수준을 설정한 파일이 더 이상 해당 동작을 잃지 않습니다- 데이터 막대 조건부 서식이 표준
gradient속성(그라데이션 대 단색 채우기)을 라운드 트립하며,TXLSDataBarSpec이 모델에서 API 소비자가 설정할 수 있도록 Excel 2010+x14확장 필드(NegativeBarColor,NegativeBarColorSameAsPositive,GradientFill, 테마/색조가 있는AxisColor,Direction,Border)를 얻습니다 - 메모 풍선이 VML 그리기를 원문 그대로 라운드 트립합니다. 판독기는
xl/drawings/vmlDrawingN.vml을 있는 그대로 캡처하고 작성기가 저장 시 재생합니다(기본 제공 노란색 풍선 템플릿 대신), 따라서 각 풍선의 사용자 설정 위치 / 크기 / 채우기 색상 / 가시성이 유지됩니다 - 메모 본문이 실행별 서식을 라운드 트립합니다.
TXLSXComment가 지연된RichText: TXLSXRichText페이로드(공유 문자열 실행 모델 재사용)를 얻습니다; 작성기는 RichText가 서식을 전달할 때 실행당 하나의<r><rPr>...</rPr><t>...</t></r>를 내보내고, 판독기는<b/>,<i/>,<sz val=N/>,<color rgb=.../>를 다시 파싱하여 굵게 / 기울임꼴 / 크기 / 색상이 유지됩니다 - 수식 평가기가 이제
SUBTOTAL(11개 집계자 모두: AVERAGE / COUNT / COUNTA / MAX / MIN / PRODUCT / STDEV / STDEVP / SUM / VAR / VARP, 더하기 101–111 숨겨진 무시 변형)과AGGREGATE(k인수와 LARGE / SMALL / MEDIAN / PERCENTILE / QUARTILE 패밀리를 포함하여 오류/숨김 건너뛰기를 선택하는 옵션 코드 0–7 플래그가 있는 19개 집계자)을 구현합니다. 둘 다 이전에 지원되지 않는 함수 경로로 떨어졌습니다;SUBTOTAL은 등록되었지만 구현이 없었고,AGGREGATE는 전혀 등록되지 않았습니다 CELL및INFO워크시트 함수가 이제 평가됩니다:CELL은address,col,row,type,contents,filename,format및 GUI 상태info_type(color,parentheses,prefix,protect,width)을 지원하며 중립 기본값을 반환합니다;INFO는osversion,system,recalc,memavail,numfile,release,origin을 지원합니다. 둘 다 등록되었지만#NAME?로 떨어졌습니다- 조건부 서식이 이제
cfRule속성stopIfTrue,stdDev,equalAverage및timePeriod와 전체 10개 멤버timePeriod패밀리(yesterday / today / tomorrow / last7Days / lastWeek / thisWeek / nextWeek / lastMonth / thisMonth / nextMonth)를 라운드 트립합니다. 이들은 읽기 시 조용히 삭제되었습니다; Excel은 평균 초과 및 날짜 밴드 규칙에서 이들을 일상적으로 작성하며, 이를 삭제하면 규칙이 다시 열릴 때 다시 평가되는 방식이 변경되었습니다 - CSV 내보내기가 세 가지 모드로
TXLSCSVSaver의TXLSCsvEncoding속성을 얻었습니다:ceSystemAnsi(기존 기본값),ceUtf16(과거 유니코드 모드) 및ceUtf8(EF BB BF 바이트 순서 표시로 UTF-8 파일 작성 — 모든 로케일에서 텍스트 가져오기 마법사 없이 다시 열리는 최신 Excel 친화적 기본값) - CSV 가져오기가
TXLSCSVLoader의LocaleTolerantNumbers속성을 얻었습니다. 활성화되면 소수점 구분 기호로.를 사용하여 파싱에 실패한 숫자 필드가,로 재시도되고(반대의 경우도 마찬가지), 유럽식3,14가 미국 기기에서 숫자 3.14로 가져옵니다. 엄격 모드(기본값)는 변경되지 않아 선행 0 텍스트, 우편 번호 및 기타 쉼표가 있는 토큰이 텍스트로 유지됩니다
수정
- XLSX 엔진의 엄격 모드 숫자 추론이 이제 Delphi의
TryStrToFloat를 통해 쉼표가 있는 텍스트 필드(예:3,14)를 숫자로 강제 변환하지 않습니다. 이는ThousandSeparator가#0으로 설정된 경우에도 쉼표를 천 단위 구분 기호로 허용합니다. 새로운LocaleTolerantNumbers옵션이 활성화되지 않는 한 그러한 필드는 이제 텍스트로 유지됩니다
버전 2.140.0
변경
- XLSX 엔진이 이제 모든 저장 전에 6개의 속성별 스타일 풀(Fonts / Fills / Borders / NumberFormats / Alignments / Protections)을 압축합니다: 새로운
CompactStylePools패스가 모든 셀의 스타일 인덱스를 스캔하고 더 이상 어떤 셀에서도 참조되지 않는 풀 항목 — 셀이 지워지거나, 삭제되거나, 풀 항목이 처음 추가된 후 다시 스타일이 지정될 때 누적되는 항목 — 을 폐기합니다. 압축된 풀은 출력 파일에서 더 작은<cellXfs>테이블을 생성합니다(일반적으로 여러 편집 주기를 거친 문서의 경우 30–70% 더 작음)하여 XLS 엔진이 이미CreateAllReferredList를 통해 수행하는 압축과 일치합니다
버전 2.139.0
추가
- 드로잉 레이어 도형, 연결선, 그룹 도형 및 비차트 그래픽 프레임이 이제 원문 그대로 라운드 트립됩니다: XLSX 판독기가 타입이 지정된 모델(이미지 / 차트 / 텍스트 상자)이 다루지 않는
<xdr:sp>,<xdr:cxnSp>,<xdr:grpSp>또는 비차트<xdr:graphicFrame>앵커를 만나면 완전한 앵커 XML을 캡처하고 저장 시 변경하지 않고 재생합니다 — 따라서 Excel에서 작성된 드로잉(화살표, 설명선, 그룹화된 도형, 스마트 아트 프레임)이 손실 없이 읽기→쓰기 주기를 겪습니다. 각 워크시트는 검사를 위해RawDrawingAnchorCount/RawDrawingAnchor(i)를 노출합니다
버전 2.138.0
추가
- 외부 링크 캐시된 셀 값이 이제 XLSX 엔진에서 라운드 트립됩니다: 새로운
TXLSXExternalCell/TXLSXExternalRow/TXLSXExternalSheetData모델이AddSheetData/AddRow/AddCell을 통해 각TXLSXExternalLink에 매달려 있고, 작성기는externalLinkN.xml내부에 일치하는<sheetDataSet>블록을 내보내며, 다시 열면 모든 캐시된 값이 복원됩니다.FindCachedCell(sheetIdx, row, col)은 외부에서 참조된 셀의 마지막으로 알려진 값 — 원격 통합 문서가 오프라인일 때 Excel 자체가 표시하는 데이터 —을 조회합니다
버전 2.137.0
추가
- OOXML cellXf
quotePrefix플래그 — Excel이 저장된 텍스트를 리터럴로 표시하여 숫자 강제 변환에서 살아남도록 하는 메커니즘(CSV 가져온 코드00123, 긴 계정 번호, 아포스트로피로 접두사가 붙은 모든 것) —이 이제 XLSX 엔진에서 라운드 트립됩니다:TXLSXAlignment가QuotePrefix속성을 얻고, 정렬 풀 중복 카운트가 이를 계산하며, 작성기는 일치하는<xf>에quotePrefix="1"을 내보내고, cellXf가 자식<alignment/>를 전달했는지 아니면 단순 자체 닫기<xf quotePrefix="1"/>였는지 여부에 관계없이 다시 열면 복원됩니다
버전 2.136.0
Added
- 차트 축이 이제 완전히 프로그래밍 가능합니다: 각 차트의
CategoryAxis및ValueAxis에 새로운TXLSXChartAxis모델이 추가되어LogBase(로그 눈금, 예: 밑이 10인 로그의 경우 10),Orientation(정방향 / 역방향),MajorGridlines/MinorGridlines,MinValue/MaxValue(NaN = 자동),MajorUnit/MinorUnit,CrossesAt,TickLblPos,DispUnits(표시 단위: 백 / 천 / 백만 / 십억 / 조)를 노출합니다. 기본값은 모두 Excel의 자동 동작을 따르므로 기존 차트는 이전과 동일한 XML을 내보냅니다. 라이터는 호출자가 기본값이 아닌 값을 설정한 경우에만<c:logBase>,<c:orientation>,<c:majorGridlines>,<c:majorUnit>,<c:crossesAt>,<c:tickLblPos>,<c:dispUnits>를 추가하며, 그러한 차트를 다시 열면 모든 설정이 복원됩니다
버전 2.135.0
Added
- 차트 오차 막대가 이제 프로그래밍 가능하며 XLSX 엔진에서 왕복됩니다: 각
TXLSXChartSeries는AddErrorBar(dir)를 얻어ValueType(고정 / 백분율 / stdDev / stdErr / 사용자 지정),Value,PlusValue/MinusValue(사용자 지정),NoEndCap을 갖는TXLSXChartErrBar를 반환합니다. 방향(X / Y)당 하나의 오차 막대 슬롯이 저장되고 라이터는 일치하는<c:errBars>블록을 내보내며, 다시 열면 방향·유형·크기가 복원되어 과학 / 공학 차트가 불확실성 표시기를 유지합니다
버전 2.134.0
Added
- 차트 데이터 레이블이 이제 프로그래밍 가능하며 XLSX 엔진에서 왕복됩니다: 각
TXLSXChartSeries는ShowValue,ShowCategoryName,ShowSeriesName,ShowLegendKey,ShowPercent,ShowBubbleSize,Separator속성을 얻어 일치하는<c:dLbls>블록과 그<c:show*/>자식 요소를 내보냅니다. 그러한 차트를 다시 열면 스위치가 복원되어 '값 표시' / '백분율 표시' 설정이 저장-편집-저장 주기를 견딥니다
버전 2.133.0
추가됨
- XLSX 엔진에서 벡터 이미지 형식인 EMF 및 WMF가 주요 이미지 유형으로 지원됩니다:
TXLSXImageFormat에xlsxImageEmf/xlsxImageWmf가 추가되고, 작성기(writer)가 이에 대응하는image/x-emf/image/x-wmf콘텐츠 유형 및.emf/.wmf확장자를 생성하며, 형식 감지기(sniffer)가 EMF (01 00 00 73), 배치 가능한 WMF (D7 CD C6 9A) 및 표준 WMF 헤더를 인식합니다 — 이에 따라 Excel이 벡터 데이터로 내장한 Word 또는 PowerPoint에서 복사하여 붙여넣은 이미지가 누락되지 않고 양방향으로 보존(round-trip)됩니다
수정됨
- GELFRAME 레코드(
$1066)가 8224바이트 연속성 경계(continuation boundary)에 걸쳐 있는 BIFF8 차트 하위 스트림의 채우기/선 도형 데이터가 더 이상 누락되지 않습니다: 읽기 프로그램(reader)이 이제 GELFRAME 자체 연속성(Excel이 표준$003CCONTINUE 대신 다른$1066을 작성함)을 허용하고 표준 CONTINUE 레코드가 차트 컨텍스트 내에서 결합되도록 하여 작성기(writer)의 기존 다중 청크 디스패치와 일치시킵니다 - 페이로드가 연속성 레코드에 걸쳐 있는 BIFF8 머리글/바닥글 배경 그림(
$0866)이 더 이상 손상되지 않습니다: 각 연속성 세그먼트가 14바이트 MSO 헤더를 반복하며, 읽기 프로그램(reader)이 이제 병합 전에 이를 제거하므로 포함된 이미지 데이터가 세그먼트당 14바이트씩 오프셋되지 않습니다
버전 2.132.19
수정됨
- 기존 XLS 및 암호화된 XLSX 스토리지 정리 시 복합 파일(compound-file) 스트림을 결정론적으로 해제하여 저장, 로드, VBA 또는 암호화 패키지 작업 후 임시 파일이 잠긴 상태로 유지되는 현상을 방지합니다
- 확장 정수 Variant 값의 서식 지정된 표시가 요청된 숫자 서식을 일관되게 적용하여 표준 정수 값의 기존 동작과 일치합니다
- 공유 문자열, 데이터 유효성 검사, 차트 시트, ZIP 아카이브, PNG 드로잉 및 반복되는 텍스트 수식이 오류 경로 및 대용량 텍스트 작업 중에 임시 버퍼를 보다 안전하게 정리합니다
버전 2.132.18
수정됨
- 내부 문자열 빌더(string builder) 값 할당 시 빈 문자열이 할당되면 이전 텍스트를 지우도록 하여, 재사용되는 XML 및 텍스트 버퍼에 이전의 오래된 내용이 남아 있는 문제를 방지합니다
버전 2.132.17
수정됨
- XLS 차트 시트 생성 시 느낌표가 포함되고 따옴표로 묶인 소스 시트 이름을 허용하고, 범위 초과 행 참조가 유효한 BIFF 행으로 래핑되기 전에 거부하며, 추세선 범례 이름을 BIFF 짧은 텍스트 제한으로 잘라 생성된 차트 레코드가 올바른 형식을 유지하도록 합니다
버전 2.132.16
수정됨
- 내부 문자열 키 및 개체 키 목록에서 기존 슬롯이 덮어써질 때 오래된 조회 키를 제거하여 이전 키가 대체 항목으로 확인되는 문제를 방지합니다
- 내부 개체 목록 대체 및 변환된 고유 키 캐시가 덮어쓰기, 지우기 및 소멸 시 소유한 항목을 해제하여 반복적인 통합 문서 및 스타일 작업 중 누수가 발생하지 않도록 방지합니다
버전 2.132.15
수정됨
- 직접 XLSX 스트리밍 읽기 시 true 및 false와 같은 OOXML 리터럴 값을 저장하는 부울(boolean) 셀을 디코딩합니다
- 내부 문자열 목록 인덱스 업데이트 시 기존 슬롯을 덮어쓸 때 만료된 키를 제거하여 이전 이름이 새 값으로 해석되는 문제를 방지합니다
버전 2.132.14
수정됨
- 첫 번째 문자가 NUL인 BIFF8 데이터 유효성 검사 프롬프트 및 오류 메시지가 일치하지 않는 DV 길이를 작성하는 대신 레코드 경계를 보존합니다
버전 2.132.13
수정됨
- XML 텍스트 파싱 시 완료되지 않은 엔티티를 자동으로 누락시키는 대신 &&와 같은 중첩된 엔티티 시작 부분을 거부합니다
- 디컴파일된 수식의 숫자 상수를 불변(invariant) 점 소수점 구분 기호로 작성하여 국가별 설정에 관계없이 수식 텍스트의 호환성을 유지합니다
버전 2.132.12
수정됨
- 팔레트 PNG 투명도 처리 시 임의의 팔레트 인덱스를 투명하게 표시하는 대신 이미지 팔레트에 존재하지 않는 투명 색상을 무시합니다
- 긴 범위 인수를 가진 SUMPRODUCT 수식에서 사용 중인 범위를 벗어난 첫 번째 행 이후의 나머지 행 스캔을 중단하여 불필요한 셀 읽기를 피하면서 계산 결과를 유지합니다
버전 2.132.11
수정됨
- TEXT 수식에서 유효하지 않거나 너무 큰 숫자 서식을 적용할 수 없을 때 빈 성공 결과로 처리되는 대신 #VALUE!를 반환합니다
- 공유 문자열 테이블 잘라내기 작업 시 올바른 꼬리 블록을 해제하여 대규모 삭제 주기 후에도 테이블을 재사용 가능하게 유지합니다
버전 2.132.10
수정됨
- MATCH 정확히 일치 조회 시 Excel 와일드카드를 적용하며, 기존 XLS 행 오프셋 메타데이터가 저장된 통합 문서 구조를 손상시키는 대신 블록 외부 행을 무시합니다
- PNG 압축 텍스트 메타데이터가 청크 처리 중 예외가 발생할 때 임시 버퍼를 안전하게 해제합니다
버전 2.132.9
수정됨
- PNG 압축 텍스트 메타데이터, 청크 목록 삽입 및 CRC 바이트 정렬 처리가 지원되는 Windows 플랫폼 전반에서 안정적으로 작동합니다
버전 2.132.8
수정됨
- LEFT 및 RIGHT 수식에서 num_chars를 유효한 정수로 변환할 수 없을 때 #VALUE!를 반환합니다
버전 2.132.7
수정됨
- SEARCH 수식이 Excel 스타일의 ?, *, ~ 와일드카드를 지원합니다
- 시트 이름 변경 시 유효하지 않은 Excel 시트 이름 문자를 거부하도록 시트 이름 유효성 검사를 제공합니다
- 기존 수동 페이지 나누기 앞에 페이지 나누기를 삽입한 후에도 수동 페이지 나누기 삭제가 정상 작동합니다
버전 2.132.6
수정됨
- DATE 수식이 DATE(2008,14,2)와 같은 호출을 포함하여 Excel과 호환되는 월 및 일 이월(rollover) 동작과 일치합니다
- 열 범위 Hidden 읽기 시 행의 가시성 상태와 섞이지 않고 각 열의 가시성을 올바르게 보고합니다
- Excel 97-2003 행 제한의 BIFF 행 메타데이터가 정상 로드되어 65536행에 대한 설정이 유지됩니다
버전 2.132.5
수정됨
- BIFF 통합 문서를 로드할 때 예외를 발생시키지 않고 잘못된 형식의 워크시트 탭 색상, 잘린 피벗 레이블 및 유효하지 않은 피벗 캐시 날짜 조각을 허용합니다
- 통합 문서 패키지 및 스트림 로드 시 실패한 아카이브 및 스토리지 설정 경로를 보다 일관되게 정리하여, 잘못된 형식의 입력 또는 스트림 기반 스토리지 열기 실패 시 리소스 누수가 발생하지 않도록 방지합니다
버전 2.132.4
수정됨
- ZIP 아카이브 처리 시 다른 패키지에 동일한 아카이브 개체를 재사용하기 전에 현재 패키지를 완료하며, 파일 기반 아카이브 열기에서 여러 판독기 간의 동시 공유 읽기를 허용합니다
버전 2.132.3
수정됨
- 통합 문서 패키지 작성 시 UTF-8 메타데이터를 사용하여 비ASCII ZIP 항목 이름을 보존하므로 패키지 부분 이름에 유니코드 텍스트가 포함될 때 글자 깨짐(mojibake) 현상이 발생하지 않습니다
- 이스케이프를 비활성화했을 때 XML 출력이 원시 텍스트와 특성 값을 UTF-8 바이트로 작성하여 선언된 문서 인코딩과 일치시킵니다
- 수식 계산 과정에서 콜백 예외가 발생한 후 진행 중 상태를 지우고, 유니코드 Delphi 빌드에서 큰 숫자 연산의 취소를 올바르게 처리합니다
- 배열 수식 행렬 추출 시 유효한 1부터 시작하는(one-based) 배열에 대해 예외를 발생하는 대신 0이 아닌 Variant 배열 하한을 준수합니다
버전 2.132.2
변경됨
- 범위 정렬 시 대용량 정렬 범위에 대해 안정적인 O(n log n) 순서 지정 패스를 사용하면서 기존 행 콘텐츠의 양방향 동작을 유지합니다
- ODS 및 XLSX 숫자 파싱 및 서식 지정 시 핫 패스(hot path)에서 반복적으로 생성하는 대신 불변(invariant) 서식 상태를 재사용합니다
수정됨
- XML 파싱 시 텍스트를 손상시키거나 유효한 마크업에서 실패하지 않고 유효한 CDATA 블록 및 UTF-8 처리 지시문을 수락합니다
- 수식 파싱 시 부호가 있는 과학적 표기법을 허용하고 잘못 구성되거나 잘린 수식 바이트를 깔끔하게 거부합니다
- 기존 통합 문서 열기 및 저장 경로에서 오류 발생 시 스트림과 스토리지를 신뢰성 있게 해제하여 임시 파일 잠금 상태가 지속되는 문제를 방지합니다
- 이진 버퍼 처리 시 복사 및 읽기 경계를 유효성 검사하고, 복사 전에 대상 버퍼 크기를 확장하며, 잘못된 형식의 VBA 압축 역참조를 깔끔하게 거부합니다
버전 2.132.1
수정됨
- 암호화된 통합 문서가 지원되지 않는 암호화 체계를 사용할 때 발생하는 오류 메시지를 수정했습니다: 이전에는 2.119.0부터 Agile 복호화(AES-128/192/256)를 지원해 왔음에도 ECMA-376 Agile Encryption을 읽을 수 없다고 잘못 보고했으나, 이제 실제로 지원되는 체계를 나열합니다
- Open 메서드가 암호화된 OOXML 패키지를 거부할 때 암호화된 통합 문서가 지원되지 않는다고 보고하는 대신 호출자를 TXLSXWorkbook.OpenEncrypted로 안내하도록 개선했습니다
버전 2.132.0
변경됨
- XLSX 로드 속도가 크게 향상되었습니다: XML 리더가 이제 반복되는 요소 이름을 인터닝(intern)하고 스캔 버퍼에서 직접 텍스트 및 특성 값을 변환하여 셀당 메모리 할당을 절반 이상 줄였습니다. 멀티스레드 로딩(2.128.0)에서 작업 스레드를 직렬화하던 메모리 할당이 제거됨으로써 가장 큰 혜택을 보았으며, 멀티코어 환경에서 다중 시트 통합 문서를 열 때 싱글스레드 경로에 비해 약 2배 빠른 속도를 냅니다; 싱글스레드 열기 속도 또한 몇 퍼센트 개선되었습니다
버전 2.131.0
추가됨
- HotXLS가 모델링하지 않는 워크시트 확장 블록(Excel이 x14 조건부 서식이나 슬라이서 같은 기능을 위해 작성하는 스파크라인 이외의 워크시트
<extLst>내<ext>항목)이 통합 문서를 열 때 원본 그대로 유지되고 저장할 때 다시 작성되므로, 파일을 열고 다시 저장해도 이러한 확장이 제거되지 않습니다. 캡처된 블록은Worksheet.RawWorksheetExts를 통해 읽기 전용으로 볼 수 있으며, 시트가 다른 통합 문서로 복사될 때 시트와 함께 이동합니다
버전 2.130.0
추가됨
- 수식이 포함된 저장된 통합 문서에
xl/calcChain.xml계산 체인 파트가 포함되어, Excel이 로드 시 처음부터 빌드하는 대신 기록된 순서에서 종속성 엔진을 초기화할 수 있습니다.Recalculate호출 후에는 체인이 종속성 그래프의 위상 정렬 순서를 따릅니다; 그렇지 않으면 수식 셀이 문서 순서대로 나열됩니다(Excel이 즉석에서 정제하는 유효한 힌트임). 파트, 해당 콘텐츠 유형 및 통합 문서 관계는 함께 내보내지며 열기/저장 양방향 작업(round-trip)에서 유지됩니다
버전 2.129.0
추가됨
- 새로운
Workbook.ParallelParseThreads속성을 통해 2.128.0에 도입된 멀티스레드 Open 경로의 작업 스레드 수를 튜닝할 수 있습니다(0 = 자동, CPU 코어당 작업 스레드 1개). 워크시트 파싱은 메모리를 많이 할당하고 메모리 할당이 스레드 간에 직렬화되므로, 일부 부하에서는 전체 코어 수를 사용하는 것만큼 또는 그보다 더 나은 명시적인 작은 한도가 적합할 수 있습니다; 통합 작성자(integrator)가 자사 파일에 가장 잘 맞는 수치를 선택할 수 있도록 이 속성을 제공합니다
버전 2.128.0
추가됨
- 멀티스레드 XLSX 로드: 통합 문서를 열 때 각 워크시트의 XML(대용량 파일에서 비용이 가장 많이 듦)을 작업 스레드에서 파싱하므로, 멀티코어 머신에서 다중 시트 통합 문서가 더 빠르게 로드됩니다. 시트 부분이 패키지에서 미리 추출되고 각 작업 스레드가 자체 시트만 다루므로 로드된 통합 문서는 순차(serial) 처리 결과와 완전히 동일합니다
- 새로운
Workbook.ParallelParse속성(기본값True)을Open호출 전에False로 설정하면 싱글스레드 파싱으로 전환할 수 있어 제약이 있는 환경을 위한 한 줄 옵트아웃 옵션을 제공합니다
변경됨
- 읽기 중의
OnProgress콜백은 호출 스레드에서 시트당 한 번씩 여전히 실행되지만, 이제 시트 간의 구분 시점 대신 각 시트가 파싱을 위해 디스패치될 때 실행됩니다
버전 2.127.0
추가됨
- XLSX 엔진의 증분 재계산: 새로운
Workbook.Recalculate메서드는 수식 종속성 그래프를 작성하고, 종속성 순서에 따라 모든 수식 셀을 한 번 평가한 다음, 각 결과를 셀의 캐시된 값에 저장합니다. 이후 호출에서는 마지막 패스 이후 값 변경의 영향을 받는 셀만 다시 평가합니다 — 연결된 모델(재무 시트, 보고서 연쇄 등)에서 하나의 입력을 편집할 때 전체 통합 문서 대신 하위 수식만 재계산됩니다 - 휘발성 함수(
NOW,TODAY,RAND,OFFSET,INDIRECT)와 정적으로 참조를 해석할 수 없는 수식(다중 영역 이름, 외부 통합 문서)은 매 패스마다 재계산됩니다 — 엔진은 오래된 결과의 위험을 감수하는 대신 과잉 재계산을 수행합니다 - 루프를 도는 대신 순환 참조가 감지됩니다: 수식이 순환 체인을 형성할 때
Recalculate가 오류 코드를 반환하고, 순환 참여 멤버를 건너뛰며, 순환 외부의 모든 수식은 여전히 평가합니다. 교차 시트 참조, 명명된 범위 및 CSE 배열 수식(결과가 기준 범위 전체로 분산됨)이 종속성 그래프에 완벽히 연동됩니다
변경됨
- 기존의 온디맨드
Calculate경로는 변경되지 않습니다;Recalculate는 별도의 선택형 API이며 이를 호출하지 않는 통합 문서는 이전과 완전히 동일하게 작동합니다
버전 2.126.0
추가됨
- XLSX 엔진의 스파크라인: 워크시트에 스파크라인 그룹(Excel이 데이터 범위로부터 렌더링하는 셀 내 미니 차트)이 지원되며, 3가지 Excel 유형(꺾은선형, 열, 승패 누적)이 포함됩니다.
Worksheet.AddSparklineGroup으로 생성하거나 새로운Worksheet.SparklineGroups컬렉션을 통해 그룹을 수동으로 구축할 수 있으며, 소스 범위와 표시 셀을 지정하여 그룹당 원하는 수만큼 스파크라인을 추가할 수 있습니다 - 스파크라인 그룹은 Excel이 제공하는 전체 옵션 세트를 제공합니다: 선 두께, 데이터 포인트 표식, 높음/낮음/음수/첫 번째/마지막 포인트 강조 토글, 8가지 ARGB 색상 슬롯(계열, 음수, 축, 표식, 첫 번째, 마지막, 높음, 낮음), 그룹별 또는 스파크라인별 세로축 크기 조정, 빈 소스 셀에 대한 공백/영(zero)/연결선 처리 등입니다
- 스파크라인이 저장 및 열기 양방향 작업(round-trip) 전체에서 보존됩니다: 저장 시 워크시트
extLst확장 블록([MS-XLSX] §2.3.6)을 발행하므로 Excel 2010 이상에서 스파크라인을 렌더링하며, HotXLS 또는 Excel에서 작성한 통합 문서를 열 때 모든 그룹, 옵션 및 범위를 재구축하여 편집 주기 동안 보존됩니다. 시트를 다른 통합 문서로 복사하면 해당 스파크라인 그룹도 함께 복제됩니다
버전 2.125.0
추가됨
- XLSSuit 갭 분석을 통해 확인된 7가지 DBCS 바이트 수 계산 텍스트 함수가 이제 양쪽 엔진에서 계산을 지원합니다:
LEFTB,RIGHTB,MIDB,LENB,FINDB,SEARCHB,REPLACEB. 각 함수는 시스템 ANSI 코드 페이지에서 입력을 바이트 문자열로 취급하여 CJK(중국어/일본어/한국어) 문자는 2바이트를 차지하고 ASCII는 1바이트를 차지합니다; DBCS 선행/후행 바이트 쌍을 분할하려는 작업은 Excel 동작과 일치하도록 가장 가까운 문자 경계로 스냅백됩니다
버전 2.124.0
추가됨
- XLSSuit 갭 분석에서 가져온 5가지 가설 검정 및 분포 함수가 이제 두 엔진 모두에서 지원됩니다: 귀무가설 하에서 표본 평균이 적어도
x일 단측 우측 꼬리 확률인Z.TEST, 대응 표본 t-검정 p-값인T.TEST(독립 표본 등분산/이분산 유형은 연기됨), 우측 chi-square CDF를 통해 계산되는 적합도 검정 p-값인CHISQ.TEST, 누적 플래그를 사용하는 초기하 분포 PMF/CDF인HYPGEOM.DIST, 음이항 PMF/CDF인NEGBINOM.DIST. p-값 연산은 자체적으로 포함된 중첩 루틴을 통해 엔진의 기존 정규/Student-t/chi-square CDF 도우미를 재사용하므로 기존 Calc 메서드는 변경되지 않습니다
버전 2.123.0
추가됨
- XLSSuit와의 비교를 통해 갭으로 식별된 14가지 수식 함수가 이제 두 엔진 모두에서 실행됩니다:
AVERAGEIF(단일 기준 평균, 엔진에 누락되어 있던 SUMIF/COUNTIF 자매 함수),WORKDAY.INTL및NETWORKDAYS.INTL(숫자 1-17 코드 또는 7자 월-일 문자열을 통한 사용자 지정 주말 마스크),XIRR및XNPV(브래킷 이분법으로 해결되는 불규칙한 날짜 현금 흐름의 내부수익률 및 순현재가치),CEILING.PRECISE/FLOOR.PRECISE/ISO.CEILING(부호에 관계없는 반올림),PERCENTRANK.INC/PERCENTRANK.EXC(포함/제외 보간법을 매칭한 백분위수 순위),MODE.MULT(가장 높은 빈도수로 묶인 모든 값을 결과로 출력함),ERF.PRECISE(교대 급수를 통한 Gauss 오차 함수),ACCRINT(미지급 이자),ISPMT(균등원금 분할 상환의 기간 이자)
버전 2.122.0
추가됨
- XLSX 엔진에서 스레드 댓글(Excel 365) 양방향 보존(round-trip)이 지원됩니다: 워크시트의
AddThreadedComment및AddThreadedReply가 셀에 고정된 부모-자식 댓글 트리를 빌드하고, 새로운 통합 문서 수준의Persons목록에 모든 작성자를 자동 등록하며, 시트당 전용xl/threadedComments/threadedCommentN.xml파트와 통합 문서 범위의xl/person/person.xml을 내보냅니다; 이러한 패키지를 다시 열 때 이 파트들을 기반으로 대화 트리 및 참여자 목록을 재구축하므로 댓글 체인, 식별자 및 표시 이름이 읽기/쓰기 주기 전체에서 유지됩니다
버전 2.121.0
추가됨
- 수식 계산기가 이미 지원 중인
XLOOKUP및FILTER에 이어 Excel 365 동적 배열 함수인XMATCH,SORT,UNIQUE,SEQUENCE를 계산합니다; 결과는 2차원 배열로 나타나SEQUENCE(3;2;1;1)은 3×2 그리드를 반환하고,SORT는 키 열을 기준으로 행을 오름차순 또는 내림차순으로 재정렬하며,UNIQUE는 첫 번째 항목을 유지하면서 중복 행을 제거하고,XMATCH는XLOOKUP과 동일한 정확히 일치/와일드카드/다음으로 작은 값/다음으로 큰 값의 일치 모드를 사용하여 조회 값의 1부터 시작하는 위치를 보고합니다
버전 2.120.0
추가됨
- 양쪽 엔진 워크시트의 새로운
PasteFromClipboard메서드는 Windows 클립보드로부터 탭으로 구분된 텍스트(범위를 복사할 때 Excel이 배치하는 페이로드 또는 기타 애플리케이션의 일반 선택 영역)를 읽어 지정된 행 및 열부터 셀에 기록하며, CSV 로더가 이미 사용하는 것과 동일한 숫자/날짜/부울 형식 판별을 사용합니다; 시작하는=텍스트는 라이브 수식으로 변환되어 Excel 자체의 붙여넣기 방식과 일치합니다
버전 2.119.0
추가됨
- Excel 2010 이상에서 기본적으로 적용하는 암호 보호 기능인 ECMA-376 Agile Encryption 읽기를 제공합니다:
OpenEncrypted가 이제 XML 암호화 설명자를 파싱하고, SHA-512 반복 횟수 해싱으로 키를 유도하며, 암호를 확인하고, AES-CBC 세그먼트 패키지(AES-128/192/256)를 복호화하여 Excel이 설치되어 있지 않아도 Excel에서 직접 암호로 보호된 통합 문서를 열 수 있습니다 OpenEncrypted는 일반 암호화되지 않은.xlsx, 표준 암호화(당사의SaveAsEncrypted왕복), Agile 암호화의 세 가지 경우를 모두 하나의 진입점을 통해 처리합니다; 잘못된 암호는 모든 체계에서 동일하게 알기 쉬운 오류를 발생시킵니다
수정됨
- 워크시트 XML이 약 116 KB(일반적인 문자열 데이터 기준 약 3,000행)를 초과하는
.xlsx통합 문서를 저장할 때 스택 오버플로로 충돌하던 현상이 수정되었습니다: ZIP 작성기의 CRC-32 체크섬이 이제 데이터를 64 KB 슬라이스로 처리하여, 압축 백엔드가 스택에 과도한 크기의 임시 버퍼를 할당하는 대용량 입력 코드 경로로 빠지는 일을 방지합니다. 체크섬 결과는 동일합니다
변경됨
- 공유 문자열 중복 제거가 문자열 목록을 스캔하는 대신 해시 테이블을 통해 수행되며,
sharedStrings.xml파트가 반복적인 결합 대신 미리 크기를 늘려 둔 문자열 빌더를 통해 병합됩니다 — 상수의 시간(constant-time) 복잡도를 가지는 셀 인덱스와 결합되어 120,000개의 문자열 셀 저장 소요 시간을 수십 초에서 약 1/3초 수준으로 대폭 단축시킵니다
버전 2.117.0
변경됨
- XLSX 셀 접근이 이제 상수 시간이 되었습니다: 워크시트 셀 컬렉션이 (행, 열)에 대한 해시 인덱스를 가져 기존의 선형 스캔을 대체합니다 — 덕분에 큰 시트를 채우거나 다시 읽거나 로드할 때 비용이 셀 수의 제곱이 아니라 셀 수에 선형으로 비례합니다. 100,000개 셀 채우기는 예전에는 수 분이 걸렸지만 이제 1초도 걸리지 않습니다
- 속도 향상은 엔진 전반에 적용됩니다:
Cells[r, c],HasCell, 통합 문서 로딩, 저장, 통합 문서 간 복사, 자동 맞춤, 위치로 셀을 다루는 모든 헬퍼가 혜택을 봅니다. 행과 열의 삽입 또는 삭제는 인덱스를 한 번의 패스로 재구축합니다
버전 2.116.0
추가됨
- 클래식 XLS 엔진의 PDF 내보내기: 워크시트와 통합 문서에 새로 생긴
SaveAsPDF메서드는 사용된 범위(또는TXLSPDFExport로 호출자가 지정한 범위)를 페이지로 나뉜 격자로 렌더링합니다 — 숫자 형식을 적용한 셀 표시 텍스트, 눈금선, Excel 너비에서 파생해 페이지에 맞게 조정한 열 너비, 자동 다중 페이지 넘김이 함께 나옵니다 - 출력은 외부 의존성이 없는 자체 완결형 PDF 1.4 파일로, 내장 Helvetica 글꼴과 WinAnsi 텍스트 인코딩을 사용합니다. 세로 또는 가로 A4 방향, 페이지 여백, 글꼴 크기는 내보내기에서 구성할 수 있습니다
- 이는 HTML 및 RTF와 나란히 있는 데이터 표현용 내보내기입니다. 셀별 완전한 스타일링보다는 보고서와 문서 전달을 위한 표 형태 콘텐츠와 레이아웃을 재현합니다
버전 2.115.0
추가됨
- XLSX 엔진에서 데이터 범위로 한 번 호출해 차트를 만드는 기능: 새
AddChartFromRange는 완전한 차트를 만들고 사각형 데이터 블록에서 계열을 자동으로 도출합니다. Excel의 "선택 영역에서 차트 삽입"에 해당하며, 열 단위 계열 또는 전치된 행 단위 계열 배치를 지원합니다 - 이름 붙은 단축 메서드
AddColumnChart,AddBarChart,AddLineChart,AddPieChart,AddAreaChart는 같은 단일 호출 흐름에서 이름으로 차트 유형을 고르며, 계열 이름은 헤더 행에서, 범주 레이블은 첫 열에서 읽습니다 - 계열 참조는 원본 시트의 따옴표 붙은 이름으로 한정되므로, 생성된 차트는 어떤 시트에 놓여도 계속 동작하고 저장과 다시 불러오기 후에도 유지됩니다
버전 2.114.0
추가됨
- RTF import 안의 클래식 XLS engine, inverse 의 기존
SaveAsRTFexport: newOpenRTF메서드 on 워크시트 및 통합 문서 read RTF document's table 안으로 워크시트 셀 —\celladvances 열,\rowadvances 행 — starting at A1 - Recovers tabular data 에서 파일 produced 통해
SaveAsRTF, Word, 또는 WordPad: numeric 텍스트 입니다 stored as 번호 so 수식 keep working, hex (\'hh) 및 Unicode (\uN) escapes decode correctly, 및 header groups (글꼴 table, 색 table, stylesheet, info) 입니다 skipped - Documents 사용 no table fall back 로 paragraph mode, importing each
\paras next 행 에서 열
버전 2.113.0
추가됨
- Reading 의 encrypted
.xlsx통합 문서:OpenEncryptednow decrypts ECMA-376 Standard Encryption (AES-128) packages, completing round trip 사용 기존SaveAsEncrypted— it reads compound-파일 container, derives key 에서 암호, verifies it, 및 loads recovered 통합 문서 - wrong 암호 raises clear "암호 입니다 incorrect" error, 및
OpenEncryptedon plain unencrypted.xlsxcontinues 로 load it directly, so callers 가능 route 모든 파일 통해 하나 항목 point
변경됨
- unsupported-encryption message now names ECMA-376 Agile Encryption specifically as remaining unsupported scheme, since Standard Encryption reading 및 writing 입니다 both 사용 가능
버전 2.112.0
추가됨
- New
TaggedText속성 on XLSX 셀 converts between rich 텍스트 및 lightweight markup:<b>,<i>,<u>,<s>,<sub>,<sup>,<color=#RRGGBB>,<font=Name>, 및<size=N>, 사용</>/&escapes — so multi-형식 셀 content 가능 be produced 에서 template String instead 의 assembling run 개체 통해 hand - 마크업을 쓸 때는 run 목록을 구성하고
Value는 연결된 일반 텍스트로 유지합니다. 태그 없는 마크업은 리치 페이로드 없이 일반 문자열을 저장하고, 읽을 때는 각 run의 속성을 완전한 태그 집합으로 직렬화하며, 알 수 없는 태그는 리터럴 텍스트로 그대로 통과합니다
수정됨
- rich-텍스트 run consisting entirely 의 whitespace (용 example single styled space between words) now survives save 및 reload; previously space was dropped 때 파일 was reopened
버전 2.111.0
추가됨
- New
OnProgress이벤트 on XLSX 통합 문서 reports load 및 save progress: it fires once per 워크시트 as it 입니다 parsed duringOpen또는 emitted duringSaveAs, carrying phase (reading 또는 writing), current 1-기반 시트 number, 및 total — so applications 가능 drive progress bar over long multi-시트 operations at negligible callback cost
버전 2.110.0
추가됨
- New
TXLSRowCursordataset-스타일 행 cursor 용.xlsx/.xlsm파일:Open,SelectSheet, thenFindFirst/FindNextwalk 워크시트 하나 행 at time 사용 만 current 행's 셀 에서 memory — pull-driven alternative 로TXLSDirectReader's callbacks 용 sequentially processing multi-million-행 시트 - Each 행 exposes its 1-기반 워크시트 행 number, populated 셀 에서 document order (형식화된 값, 수식 텍스트, 스타일 인덱스), 및
ValueByCollookup 반환합니다Null용 열 not populated on 행; 행 사용 no populated 셀 입니다 skipped - 시트 names 및 count 입니다 사용 가능 after
Open(파일 및 stream overloads), 사용 shared strings 및 date-형식 detection handled same way as streaming reader
버전 2.109.0
추가됨
- New
TXLSXCellFormat"형식 brush" 용 XLSX engine: describe 글꼴, fill, 테두리, alignment, number 형식, 및 protection once, then stamp any number 의 targets 사용Apply(single 셀),ApplyRange,ApplyRows,ApplyCols, 또는ApplySheet - 만 aspects actually touched 입니다 applied — brush 설정합니다 just
Font.Boldleaves targets' fills, 테두리, 및 number 형식 untouched — so brushes compose 사용 기존 formatting like Excel's 형식 painter - Each apply resolves touched aspects 안으로 통합 문서 스타일 pools once 및 then writes 만 pool indices per 셀, so formatting large 범위 costs 하나 pool lookup per aspect rather than per 셀;
ApplyRangematerializes missing 셀 동안 행/열/시트 forms stamp 기존 셀 만
버전 2.108.0
추가됨
- Localizable Boolean display 텍스트: new
XLSBooleanTrueText/XLSBooleanFalseTextvariables control how Boolean 셀 값 render wherever display 텍스트 입니다 produced —FormattedText, HTML export, 및 auto-fit measurement — so localized applications 가능 show 용 example WAHR/FALSCH 또는 VRAI/FAUX
변경됨
- Boolean 셀 now display as
TRUE/FALSE통해 default, matching Excel's grid, instead 의 runtime'sTrue/Falsecapitalization
버전 2.107.0
추가됨
- New
OnPassword이벤트 on 클래식 XLS 통합 문서: 때Openmeets encrypted 통합 문서 및 supplied 암호 입니다 missing 또는 wrong, 이벤트 asks application 용 암호 및 retries open (up 로 three attempts) — so interactive tools 가능 prompt user instead 의 pre-loading passwords 또는 inspecting error codes - 이벤트 receives current 암호 통해 참조 및
Retryflag; leavingRetryatFalsegives up 및 반환합니다 original 암호 error
버전 2.106.0
추가됨
- New
TXLSFileMonitor클래스 watches 통합 문서 파일 on disk 및 firesOnFileChanged때 another process — typically Excel — saves over it, so applications 가능 reload 및 refresh their view automatically - Polling-기반 (last-write time plus size,
IntervalMsconfigurable, 1 s default), so it works on local disks 및 network shares alike 없이 message loop;SynchronizeEventchooses between main-thread delivery 용 UI handlers (default) 및 direct watcher-thread delivery 용 console 또는 service code - 저장 주기 동안 잠시 사라지는 파일은 거짓 이벤트를 발생시키지 않습니다. 변경 사항은 새 내용이 자리를 잡은 뒤에 보고됩니다
버전 2.105.0
추가됨
- Bounded auto-fit 안의 클래식 XLS engine, matching limits XLSX engine already offers: new
AutoFit(Columns, AMin, AMax),ColumnsAutoFit(AMinWidth, AMaxWidth), 및RowsAutoFit(AMinHeight, AMaxHeight)overloads clamp 모든 fitted 열 너비 (Excel 너비 units) 또는 행 높이 (points) 로 given 범위 — 0 leaves side unbounded, 및 all-empty 열 또는 행 still receives requested minimum
버전 2.104.0
추가됨
- New 읽기 전용
FormattedText속성 반환합니다 셀's display 텍스트 — stored 값 rendered 통해 its number 형식, way Excel shows it 안의 grid — covering thousands separators, decimals, percentages, date 및 time masks, multi-section positive/negative/zero masks, 및 Boolean 형식 - 사용 가능 에서 both engines: on
IXLSRange안의 클래식 XLS engine (multi-셀 범위 render their anchor 셀) 및 onTXLSXCell안의 XLSX engine (rich-텍스트 셀 반환 their concatenated run 텍스트)
버전 2.103.0
추가됨
- New
DetectExcelContentFormat함수 (파일 이름 및 stream overloads) identifies 통합 문서's container 에서 its leading bytes rather than 파일 extension — reporting BIFF/OLE compound 파일, OOXML.xlsxpackage, OpenDocument.odspackage, 또는 plain delimited 텍스트 — so applications 가능 route renamed 또는 extension-less 파일 로 right loader
변경됨
TXLSWorkbook.Opennow sniffs content signature 및 rejects ZIP-기반 packages (.xlsx또는.odsrenamed 로.xls) 사용 clear message naming right loader, instead 의 failing 사용 opaque error codeTXLSXWorkbook.Opennow recognizes OLE compound-파일 content (legacy.xlsrenamed 로.xlsx, 또는 encrypted package) 및 reports what 파일 actually 입니다, instead 의 surfacing ZIP parser error
버전 2.102.0
추가됨
- 클래식 XLS(BIFF8) 엔진의 통합 문서 간 워크시트 복사는 이제 수식이 사용하는 통합 문서 수준 정의된 이름을 대상 쪽으로 함께 가져갑니다. Excel에서 시트가 통합 문서 사이를 이동할 때와 같은 동작입니다. 대상에 이미 있는 이름은 있는 그대로 바인딩되고(중복은 만들어지지 않음), 없는 이름은 원래 정의와 표시 여부로 등록되어 수식이 그 이름을 기준으로 다시 컴파일되며, 대상에서 정의를 해석할 수 없는 이름(예: 그곳에 존재하지 않는 시트를 가리키는 경우)이 있으면 수식은 이전과 같이 계산된 값을 유지합니다
버전 2.101.0
추가됨
- 클래식 XLS(BIFF8) 엔진의 통합 문서 간 워크시트 복사는, 참조된 이름의 시트가 대상에 없고 원본이 파일로 저장된 경우 수식을 외부 링크로 원본 통합 문서를 가리키도록 바꿉니다. 복사된 셀은 살아 있는 수식으로 남고(참조는 [SourceBook]Sheet 형식으로 전환됨), 원본의 계산 값은 캐시 결과로 유지되어 링크가 새로 고쳐질 때까지 읽기가 계속 동작하며, 외부 통합 문서 참조는 저장과 다시 불러오기로 라운드트립합니다. 정의된 이름 참조를 담은 수식과 저장되지 않은 원본 통합 문서에서 온 복사본은 이전과 같이 계산 값을 유지합니다
버전 2.100.0
추가됨
- Array 수식 now survive 워크시트 copies 안의 클래식 XLS (BIFF8) engine: each array 범위 입니다 rebuilt as whole 안의 copy — within same 통합 문서 및 across 통합 문서 alike — 사용 root 수식 recompiled against destination's 시트 names; array destination cannot recompile keeps its computed 값 instead
수정됨
- Copying 범위 포함합니다 array-수식 셀 between 클래식 XLS 워크시트 no longer risks crash on spill 셀 (which carry no 수식 tree 의 their own); such 셀 now transfer their computed 값
버전 2.99.0
추가됨
- Chart 시트 가능 now be copied between 클래식 XLS (BIFF8) 통합 문서: chart record stream 입니다 cloned 안으로 destination, series category / 값 / 이름 references 입니다 recompiled against destination's 시트 names (series whose 시트 has no same-이름 counterpart falls back 로 empty 참조 so 파일 still opens), chart 글꼴 references migrate 통해 값 안으로 destination 글꼴 table, 및 페이지 setup, tab 색, zoom, 및 visibility 의 chart 시트 come along; 이 removes last documented limitation 의 cross-통합 문서 워크시트 copy
버전 2.98.0
추가됨
- Cross-통합 문서 워크시트 copy 안의 클래식 XLS (BIFF8) engine now preserves rich-텍스트 formatting inside 셀: each formatting run's 글꼴 입니다 migrated 통해 값 안으로 destination 통합 문서's 글꼴 table 및 run 입니다 rewritten 로 point at it, so mixed-글꼴 strings keep their appearance instead 의 falling back 로 plain 텍스트; phonetic (Far-East) auxiliary data travels 사용 String as well
수정됨
- 글꼴 referenced 만 통해 rich-텍스트 runs (및 not 통해 any 셀 형식) 입니다 no longer dropped 에서 글꼴 table 때 saving 클래식 XLS 통합 문서, 및 runs now follow same 글꼴 reordering as 셀 형식 on save, so rich-텍스트 strings keep correct 글꼴 after save/reload cycle
버전 2.97.0
추가됨
- Cross-통합 문서 워크시트 copy 안의 클래식 XLS (BIFF8) engine now also clones embedded pictures: image bytes migrate 안으로 destination 통합 문서's picture store (identical images 입니다 shared rather than duplicated), 및 each picture frame keeps its 셀 anchor, size, visibility, 및 transparent 색; new CrossWorkbookCopyXls sample project demonstrates 클래식-engine copy end 로 end
변경됨
- 클래식 XLS cross-통합 문서 copy limitations 입니다 now documented: chart 시트 입니다 not copied (AddCopy 반환합니다 nil 용 them), 및 수식 whose 시트 참조 has no same-이름 시트 안의 destination keeps source's computed 값 instead 의 becoming external 참조
버전 2.96.0
추가됨
- Cross-통합 문서 워크시트 copy 안의 클래식 XLS (BIFF8) engine now also clones conditional 형식 (셀-입니다 및 expression rules, data bars, 색 scales, icon 설정합니다, 및 their differential styles), data validations (list, numeric, date, 텍스트-length, 및 custom rules 사용 prompt 및 error boxes), AutoFilter definition 사용 its per-열 criteria (dropdown buttons 입니다 rebuilt 안의 copy), 및 표 (ids 및 names 입니다 re-issued so they stay unique 안의 destination 통합 문서); rule 수식 입니다 recompiled against destination's 시트 names, matching behavior 의 셀 수식
버전 2.95.0
추가됨
- 클래식 XLS (BIFF8) 워크시트 가능 now be copied 에서 하나 통합 문서 안으로 another: TXLSWorksheets.AddCopy 추가합니다 new 시트 로 destination 통합 문서 및 copies source 시트's 셀 값, 수식 (re-encoded as 텍스트 so destination recompiles them against its own 시트 names, keeping same-이름 3D references live), merged 셀, 댓글, 하이퍼링크, 행 heights, 열 widths, outline levels, frozen panes, 시트 protection, 페이지 setup, manual 페이지 breaks, tab 색, 및 view settings; 셀, 행, 및 열 형식 입니다 migrated 통해 값 안으로 destination 통합 문서's 형식 table, so styled source produces independently styled copy
- Cross-통합 문서 형식 migration 안의 클래식 XLS engine now carries full-precision RGB 및 테마 색 alongside each 형식 항목, so fills, 글꼴, 및 테두리 keep their exact 색 instead 의 falling back 로 palette approximations; 이 also applies 로 범위-level paste between 통합 문서
버전 2.94.0
추가됨
- Cross-통합 문서 워크시트 copy now clones conditional 형식 (사용 their differential styles 및 dataBar / colorScale / iconSet visual payloads), 표, data validations, 및 charts (사용 모든 series); each sub-개체 deep-copies its own state 안으로 destination 워크시트
- Cross-통합 문서 수식 references 입니다 rewritten: 참조 whose 시트 이름 exists 안의 destination resolves as-입니다, otherwise it becomes external 참조 back 로 source 통합 문서 (which 입니다 registered as external link) 또는 #REF! 때 source has no 파일 identity; rewrite applies 로 셀 수식, conditional-형식 rules, data-validation 수식, 및 chart series 범위 alike
버전 2.93.0
추가됨
- 이제 워크시트를 한 통합 문서에서 다른 통합 문서로 복사할 수 있습니다. TXLSXSheets.AddCopy는 대상 통합 문서에 새 시트를 추가하고 원본 시트의 셀, 수식, 병합 범위, 열/행 크기, 숨김/축소/개요 플래그, 틀 고정, 보기 상태, 보호, 페이지 설정, AutoFilter 범위, 탭 색을 그곳에 복사합니다. 셀별 6개 스타일 인덱스는 값 동등성 조회로 대상 통합 문서 자체의 글꼴/채우기/테두리/NumberFormat/Alignment/Protection 풀에 다시 매핑되므로, 스타일이 있는 원본은 인덱스가 잘못된 풀을 가리키는 대신 독립적으로 스타일이 적용된 복사본을 만듭니다
- six per-attribute 스타일 pools (글꼴, Fills, 테두리, NumberFormats, Alignments, Protections) each expose 1-기반 LookupOrAdd deduplicates 통해 값; new CrossWorkbookCopy sample project demonstrates cross-통합 문서 copy 사용 스타일 보존
버전 2.92.0
추가됨
- XLSX 통합 문서 now 지원 피벗 테이블: TXLSXWorksheet.AddPivotTable scans flat source 범위, auto-builds pivot cache, 및 반환합니다 형식화된 피벗 테이블 용 행 / 열 / 페이지 / data-axis wiring, mirroring long-standing BIFF8 (XLS) engine API so same code targets either 형식; PivotSetDataFieldFormat assigns number 형식 로 each aggregated 값 field
- Excel-created 피벗 테이블 라운드트립 없이 loss 통해 Open then Save: XLSX engine preserves each pivot cache definition, cache records, 및 피벗 테이블 part verbatim 및 replays original bytes on save, so re-saving 통합 문서 never drops 또는 alters its pivots even 때 they use 기능 형식화된 모델 does not expose
버전 2.91.0
추가
- 워크시트 자동 필터(AutoFilter)를 데이터에 적용하여 일치하지 않는 행이 이미 숨겨진 상태로 저장된 통합 문서를 열 수 있습니다. 이는 필터 드롭다운에서 값을 선택할 때 Excel이 수행하는 작업과 동일합니다
- 포함된 이미지는 EMU 값과 함께 실제 단위(센티미터, 인치, 포인트)로 형상을 표시하며, 선택적 가로 세로 비율 잠금과 함께 배율(scale factor)로 크기를 조정할 수 있습니다
- 페이지 설정 여백을 직접 센티미터 단위로 설정할 수 있어, 인치 기반 여백보다 편리하게 미터법을 사용할 수 있습니다
- 보호된 XLSX 워크시트는 이제 Excel의 검토 > 시트 보호 확인란 목록과 일치하는 새로운 AllowOption 속성을 통해 15가지 세밀한 권한 토글(셀 서식, 행 및 열 삽입/삭제, 정렬, 자동 필터, 잠금/잠금 해제된 셀 선택 등)을 노출합니다. 항목별 설정은 파일 저장 시 유지됩니다
- XLSX 워크시트를 이제 복제할 수 있습니다(TXLSXSheets.Duplicate). 새 시트가 추가되고 소스의 셀, 병합된 범위, 열/행 크기 지정, 틀 고정, 보기 상태, 보호, 페이지 설정 및 탭 색상이 복사됩니다. 이는 Excel의 마우스 오른쪽 버튼 클릭 > 이동/복사 > 복사본 만들기와 동일합니다
- 라이브러리가 지원하는 기능을 다루는 22개의 새로운 샘플 프로젝트: 통합 문서 암호화, 셀 메모, 하이퍼링크, 정의된 이름, 자동 필터 평가, 포함된 그림, 송장 템플릿, 고급 XLSX 조건부 서식, 병합된 셀, 행/열 윤곽선, 틀 고정, 다중 시트 레이아웃, 배열 수식, 범위 복사/이동, 찾기/바꾸기, 날짜 체계, 서식 있는 텍스트, 고급 CSV, HTML 내보내기 옵션, 사용자 지정 숫자 형식, 숨겨진 행/열 및 워크시트 보호
버전 2.90.29
변경
- 스트리밍 직접 리더는 이제 셀별 핸들러가 연결되지 않은 경우에도 채워진 모든 셀을 계산하므로 일반적인 ReadFile 호출을 사용하여 워크시트 크기를 빠르게 파악할 수 있습니다. 반환된 개수와 CellCount 속성은 스캔된 채워진 셀의 수를 보고합니다
버전 2.90.28
추가
- 수식을 이제 단계별로 평가할 수 있으며, 이는 Excel의 수식 계산(Evaluate Formula) 명령과 동일합니다. 새 추적기는 식을 가장 안쪽부터 한 번에 한 하위 단계씩 줄이고, 각 축소 과정마다 원본 하위 식, 피연산자가 값으로 대체된 후의 동일한 하위 식, 결과 값을 보고하여 애플리케이션이 결과가 어떻게 도출되는지 보여줄 수 있도록 합니다. 연산자 우선 순위를 준수하고, SUM과 같은 함수에 대해 범위 참조를 그대로 유지하며, 워크시트 계산 엔진을 재사용하므로 모든 단계가 전체 재계산 결과와 일치합니다
버전 2.90.27
추가
- 새로운 스트리밍 직접 라이터를 통해 행이 도착하는 즉시 각 워크시트를 패키지로 직접 내보내어, 전체 셀 트리를 메모리에 빌드하지 않고도 셀 단위로 XLSX 통합 문서를 생성할 수 있으므로, 메모리 사용량을 거의 일정하게 유지하면서 매우 큰 파일을 생성할 수 있습니다. 이 라이터는 여러 시트에 걸쳐 인라인 문자열, 숫자, 부울, 날짜, 수식을 처리하며 스트리밍 직접 리더와 원활하게 연동됩니다
버전 2.90.26
추가
- 전체 셀 트리를 메모리에 빌드하지 않고 셀 및 시트별 이벤트를 발생시키는 새로운 스트리밍 직접 리더를 통해 셀 단위로 XLSX 통합 문서를 스캔할 수 있어, 매우 큰 파일에 대해 메모리 사용량을 거의 일정하게 유지합니다. 보고된 각 셀은 값, 종류(숫자, 문자열, 부울, 날짜, 또는 오류), 수식 텍스트 및 스타일 인덱스를 전달하며, 선택적으로 날짜 감지 및 조기 중단 기능을 지원합니다
버전 2.90.25
추가됨
- 클래식 XLS 워크시트는 이제 URL 정규화, 통합 문서 대상 하위 주소, 표시 텍스트 및 화면 설명(screen tips)을 유지하면서 A1 스타일의 셀 참조에서 하이퍼링크를 추가할 수 있습니다
버전 2.90.24
추가
- Classic XLS 페이지 나누기를 이제 페이지 나누기 컬렉션 및 워크시트 도우미 오버로드를 통해 1 기반 행 또는 열 위치와 A1 스타일 셀 참조에서 추가할 수 있습니다
버전 2.90.23
추가
- Classic XLS 워크시트 및 도형 컬렉션은 이제 A1 스타일 범위 문자열에서 직사각형, 타원, 선 및 형식화된 도형 그리기 개체를 만들 수 있습니다
버전 2.90.22
추가
- Classic XLS 도형 컬렉션은 이제 AddTextBox 오버로드를 통해 A1 스타일 범위 문자열에서 텍스트 상자를 만들 수 있습니다
버전 2.90.21
추가
- Classic XLS 텍스트 상자는 이제 새로운 SetArea 오버로드를 통해 A1 스타일 범위 문자열에서 위치를 재지정할 수 있습니다
버전 2.90.20
추가
- Classic XLS 워크시트 텍스트 상자는 이제 AddTextBox 오버로드를 통해 A1 스타일 범위 문자열에서 만들 수 있습니다
버전 2.90.19
추가
- Classic XLS 워크시트는 이제 새로운 AddTextBox 메서드를 통해 행 및 열 앵커에서 직접 그리기 텍스트 상자를 만들 수 있습니다
버전 2.90.18
추가
- Classic XLS 워크시트는 이제 새로운 AddComment 오버로드를 통해 행 및 열 좌표에서 직접 셀 메모를 만들 수 있습니다