RAD Studio용 Excel 라이브러리

Office 자동화 없이 Excel 통합 문서 읽기, 쓰기, 스타일 지정 및 내보내기

HotXLS는 Delphi 및 C++Builder 애플리케이션을 위한 네이티브 Object Pascal 라이브러리입니다. 클래식 XLS 워크플로와 최신 XLSX 퍼사드를 라이브러리가 직접 처리하므로 통합 문서 API, 워크시트 편집, 풍부한 서식, 내보내기 도우미, 데모, 오프라인 문서가 모두 패키지에 들어 있습니다

Workbook snapshot XLS + XLSX
Values
Styles
Export
Numbers
Borders
CSV
Dates
Theme colors
HTML
Formulas
Validation
RTF

현재 기능 스냅샷

현재 HotXLS 라인업은 레거시 코드가 클래식 API를 계속 사용할 수 있도록 오리지널 XLS 파사드와 전용 XLSX 엔진을 결합하고 있으며, 새 프로젝트는 OOXML 기능을 직접 타겟팅할 수 있습니다

네이티브 통합 문서 I/O

Delphi 또는 C++Builder 코드에서 직접 Excel 통합 문서를 생성하고, 열고, 수정하고, 저장할 수 있습니다. Microsoft Excel 설치, COM 자동화 또는 외부 스프레드시트 프로세스가 필요하지 않습니다

SaveAs(FileName, xlsxOpenXMLTemplate) 또는 대응하는 스트림 오버로드로 매크로 없는 XLTX 템플릿을 저장할 수 있습니다. 스트리밍 출력도 지원합니다. 기본 저장 형식은 기존과 같습니다

클래식 XLS 파사드

Excel 97-2003(.xls) 통합 문서를 위한 성숙한 API로, 고충실도 BIFF8 라운드트립과 함께 전체 클래식 개체 모델을 다루고, 레거시 Excel 2.0/3.0/4.0(BIFF2-4) 파일은 값만 읽어 들입니다

  • 큰 의존성 그래프를 다시 빌드할 때 인덱스화된 수식 출력 구간이 선행 행의 반복 스캔을 피해 줍니다. 배열 출력에 대한 참조와 워크시트에 걸친 의존성도 포함됩니다
  • 클래식 XLS 저장은 공유 및 배열 수식 루트를 포함해 로드되었거나 계산된 수식 캐시를 보존합니다. 캐시가 없으면 계산 Fallback이 그대로 유지되고, 명시적인 Recalculate는 기존 값을 새로 고칩니다
  • 스칼라 정의된 이름 참조는 수식 셀 위치에서 한 행 또는 한 열 범위와 교차하고, 집계 및 lookup 범위 인수는 전체 범위를 유지합니다. 재계산은 잘못된 범위 순환을 피하고, 완성된 lookup 캐시를 우선하며, 정수와 부동 소수점이 섞인 연산에서도 부동 소수점 정밀도를 보존합니다
  • XLSX 라운드트립은 동적 인쇄 영역 수식, 정규화된 범위 합집합, 필수인 값 0의 phonetic 폰트 인덱스를 유지합니다. 생성된 파트와 보존된 파트는 고유한 content-type 선언을 공유하고, 사용자 지정 속성과 불투명 루트 relationship은 별개의 relationship ID를 유지합니다
  • 클래식 XLS는 해당 여백을 명시적으로 설정할 때까지 가져온 여백 레코드가 없는 상태를 그대로 유지하며, 새 통합 문서의 기본 여백 출력은 바뀌지 않습니다
  • AGGREGATE는 캐시되지 않은 오류와 중첩 선택을 독립적으로 처리하며, 옵션 0~7에 대해 참조와 계산된 배열 각각의 의미론을 별도로 적용합니다
  • XLSX 라운드트립은 수정되지 않은 차트 XML과 차트 앵커 오프셋, 조건부 서식 폰트 이름·크기·scheme, 명시적 스타일 플래그와 RGB 색상, 그리고 여백만 설정된 경우의 미지정 페이지 방향을 유지합니다
  • 전체 개체 모델: 통합 문서, 워크시트, 범위, 수식, 서식, 이미지, 하이퍼링크, 정의된 이름, 보호, 페이지 설정, 보고서 내보내기를 다룹니다
  • 클래식 열 메타데이터는 윤곽선 축소 마커를 숨김 상태와 그룹 수준과 독립적으로 노출하고, raw XLS 라운드트립, 열 서식 복사, 워크시트 복사에서도 이를 보존합니다
  • 클래식 페이지 설정은 HasSetupRecord와 PrinterSettingsInitialized를 노출하고, 손대지 않은 BIFF Setup 레코드를 바이트 단위로 보존하며, 없는 레코드는 없는 채로 두고, 프린터 의존 필드는 해당 setter가 요구할 때만 초기화합니다
  • XLS→XLSX 및 XLSX→XLS 변환은 타입화된 페이지 설정과 불투명 프린터 드라이버 바이트를 독립적으로 운반하고, 표준 필드를 중복된 private 기본값보다 우선하며, 대상에 쓰기 전에 표현할 수 없는 BIFF8 설정은 거부합니다
  • 클래식 XLS와 XLSX 통합 문서는 동일한 SaveExternalLinkValues 및 UpdateLinks 정책을 노출합니다. 캐시된 외부 통합 문서 값은 링크 정의나 메모리 내 캐시를 지우지 않고도 생략할 수 있고, 잘못된 상태로 손대지 않은 소스 선언은 무손실로 유지되며, 교차 포맷 변환은 합법적인 정책 값을 유지하고, 업데이트 기본 설정이 파일이나 네트워크 접근을 시작하는 일은 없습니다
  • XLSX 통합 문서는 Web Add-in 작업 창(task pane)을 정확히 감지·계수하고 원자적으로 제거합니다. 제거는 변경 전에 상한 있는 내부 relationship 클로저를 검증하고, 다른 relationship이 공유하는 파트는 보존하며, 소유한 relationship 파트와 오래된 content-type 항목을 삭제하고, 압축 소스 복사본의 부활을 막고, 멱등(idempotent)하게 유지됩니다. 클래식 XLS와 ODS는 패키지를 훑지 않고 이 작업을 지원하지 않는 것으로 보고합니다
  • 클래식 XLS와 XLSX 워크시트는 TXLSPanePosition을 통해 분할창을 인식하는 동일한 선택 및 1 기반 스크롤 메서드를 노출합니다. TryGetWindowScroll과 ScrollWindow는 shared 상하좌우 축을 각 포맷의 네이티브 2단계 뷰 상태로 매핑하고, 저장·열기·워크시트 복사에서 이를 보존하며, 분할창이 없거나 좌표가 잘못되면 원자적으로 거부합니다. 선택 스냅샷은 순서·중복·호출자 소유가 유지되고, 행 전체·열 전체 구조 편집은 활성 영역 식별을 보존하면서 결정적인 생존 셀과 경계 셀 Fallback으로 모든 분할창을 재매핑하며, 대규모 영역 작업도 상각 선형(amortized linear)으로 유지됩니다. 클래식 XLS는 추가로 연속된 선택 레코드를 합치고, 손대지 않았거나 잘못된 레코드 본문을 보존하며, 잘못된 그룹은 xlsDiagnosticSelectionRecordInvalid로 보고하고, 1369개를 넘는 영역의 선택은 청크로 나눕니다
  • 엔진 중립적인 lxOutline 단위는 정렬된 희소 스팬에서 행/열 윤곽선 기하를 만들고, O(log n + k) 시간에 summary-before 또는 summary-after 노드를 찾으며, 사용하지 않는 워크시트 좌표를 훑지 않고도 노드 축소, 표시 수준 변경, 중첩 자식 보존, 재귀적 자식 상태 갱신을 위한 압축된 멱등 계획을 만듭니다. 두 워크시트 엔진은 동일한 노드 조회 및 제어 메서드를 노출하고, OpenDocument 그룹은 네이티브 표시 상태를 유지한 채 XLSX summary-node 마커로 변환됩니다
  • 클래식 XLS와 XLSX 통합 문서는 공개 색 인덱스, BIFF icv 값, OOXML 인덱스 색상에 대해 부작용 없는 동일한 ResolveIndexedColor 계약을 노출합니다. 팔레트·자동·시스템·잘못된 토큰은 서로 구분되고, 테두리 인덱스 0은 미지정 의미를 유지하며, ARGB 출력은 정규화되고, 운영체제 색은 명시적인 호출자 Callback을 통해서만 해석됩니다
  • 두 통합 문서 엔진 모두 변경을 인식하는 OKLab 캐시로 뒷받침되는 부작용 없는 NearestIndexedColor 조회를 노출합니다. 56개 물리 BIFF 팔레트 항목만 검색하고, 거리와 정확 일치 메타데이터를 함께 담아 공개/물리 인덱스를 반환하며, 부분 알파는 거부하고, 거리가 같으면 가장 낮은 공개 인덱스로 결정합니다
  • 두 통합 문서 엔진은 56개 물리 팔레트 슬롯 전체를 대상으로 결정적이고 부작용 없는 ScanIndexedColorUsage 인벤토리를 노출합니다. 정규화된 ARGB 값, 정의/참조 개수, consumer 종류, 그리고 스타일·희소 셀·워크시트 개체·차트·메모·조건부 서식에 걸친 보존 잠금이 포함되며, 사용하지 않는 셀을 실체화하지 않습니다
  • 두 통합 문서 엔진은 변경 없는 BuildBiffPalettePlan 미리보기를 노출합니다. 인덱스 consumer를 보호하고, 렌더링 빈도 기준으로 직접 색과 해석된 테마 색을 집계하며, 기존 정확 일치를 유지하고, OKLab으로 색을 결정적으로 매핑하고, 통합 문서나 저장 동작을 바꾸지 않으면서 소스 식별자, 슬롯 변경, 정확 커버리지, 가중 오차, 오버플로 양자화를 보고합니다
  • 두 통합 문서 엔진은 ApplyBiffPalettePlan으로 현재 56슬롯 계획을 검증해 원자적으로 적용할 수 있고, 어떤 변경보다 먼저 오래되거나 변조된 입력을 거부하며 지각 매처(perceptual matcher)를 한 번만 다시 만듭니다. 클래식 통합 문서는 추가로 명시적인 BiffPaletteSavePolicy를 제공합니다. 기본값은 기존 출력을 보존하고, 최적화 모드는 BIFF8에만 적용되며, 실패하거나 취소된 저장은 원래 팔레트를 복원합니다
  • 두 통합 문서 엔진은 너비, 높이, 다중 줄 간격, 셀 여백, 화면 배율, 측정 DPI 제어를 갖춘 검증된 TXLSRenderCalibration 값을 노출합니다. 대입은 원자적이고, 캡처는 독립적인 작업 스냅샷을 반환하며, 기본값은 결정적이고, 런타임 설정은 직렬화되지도 워크시트 기하 자체의 크기 조정에 쓰이지도 않습니다
  • 두 통합 문서 엔진은 작업이 소유하는 IXLSRenderGeometry 서비스를 만듭니다. 불변 캘리브레이션, 통합 문서 세대, 백엔드, 전체 폰트 시그니처, 줄바꿈 너비, 텍스트가 상한 있는 로컬 메트릭 캐시 식별자를 이룹니다. shared GDI 측정과 픽셀·포인트·열 너비·MDW·가용 셀 너비 변환은 AutoFit의 프로세스 전역 DPI·기본 너비 캐시를 없애면서도, 화면 배율이 출력 좌표 배율에 섞이지 않게 합니다
  • 클래식 XLS와 XLSX AutoFit은 작업당 하나의 렌더 기하 스냅샷을 잡아 캘리브레이션된 폰트 측정, 줄바꿈, 줄 간격, 셀 여백을 적용합니다. 페이지네이션은 빌드당 동일한 통합 문서 로컬 기하를 캡처하므로 기본 페이지 크기는 안정적으로 유지되고, 이후 캘리브레이션 변경에는 명시적인 재빌드가 필요하며, 페이지 계산이 저장된 행 높이나 열 너비를 쓰는 일은 없습니다
  • PDF, SVG, 비트맵, 인쇄 미리보기, 통합 문서 뷰어 페이지네이션은 자신의 렌더 백엔드를 식별하고 전체 작업 동안 불변 통합 문서 캘리브레이션을 유지합니다. shared 페이지 텍스트 맞춤과 SVG 줄바꿈은 프로세스 전역 측정 개체 대신 완전한 폰트 스타일과 문자셋 식별자를 갖춘 작업 로컬 상한 메트릭 캐시를 사용합니다
  • TDataToXLS 데이터셋 내보내기는 머리글, 데이터 행, Callback, 열 너비의 정렬을 유지하면서 선택한 필드만 포함하거나 민감한 필드를 제외할 수 있습니다
  • 자동 XLSX 동적 배열은 spill 셀의 크기를 조정하고 소유하며, #SPILL!로 사용자 장애물을 보존하고, A1#와 단항 @를 지원하고, 다시 열 때 소유권을 회복합니다. 고정 CSE 수식은 원시 범위 산술을 요소별로 평가합니다
  • 다중 배열 MAP과 계산 배열 FILTER는 요소별 오류를 보존하고, XLSX rich-value 메타데이터는 형식화된 #SPILL!과 #CALC! 오류를 유지합니다
  • GetConversionReport는 알려진 대상 포맷 손실을 변경 없이 목록화하고, 옵트인 SaveAsChecked는 쓰기 전에 이를 거부할 수 있습니다. 명시적 xlsxOpenXMLMacroEnabledTemplate 출력은 XLTM 패키지를 만들고 기존 VBA를 보존합니다
  • 호출자가 공급한 TXLSQueryTableProvider 구현은 고정 스키마 쿼리 테이블 데이터를 트랜잭션으로 새로 고치고, 상한이 있는 결과·진행률·취소·롤백으로 표와 필터 범위 크기를 조정합니다
  • 자동 데이터베이스 쿼리는 유니코드, 빈 텍스트, 날짜, null, 사용 가능한 수식 캐시를 포함해 명시적으로 형식화된 리터럴이나 저장된 워크시트 셀에서 상한이 있는 위치 매개변수를 바인딩합니다. Jet과 ACE는 로캘 의존 타임스탬프 변환 없이 형식화된 날짜를 보존하고, 새로 고침은 결과를 트랜잭션으로 적용합니다
  • 자동 Text 쿼리는 명시적 디코딩, 형식화된 필드, 건너뛴 열, 구성된 헤더·시작 행, 상한이 있는 트랜잭션 갱신으로 구분 또는 고정 폭 파일을 새로 고칩니다. 고정 폭 위치는 디코딩된 UTF-16 코드 단위를 쓰고, 패딩을 잘라내고, 짧은 레코드에서 선언된 열을 유지합니다
  • 가져오기 검증은 저장된 값과 수식 캐시를 기준으로 엄격한 스칼라 타입, 숫자·날짜 경계, 복합 유일성, 열 간 관계를 검사하며, 구조화된 셀 주소 위반과 명시적인 주석 또는 수정 통합 문서 작업을 제공합니다
  • CELL은 XLS와 XLSX 전반에서 실제 참조 파일 ID, 지원되는 기본 숫자 서식, 정렬, 잠금 상태, 열 폭을 읽습니다. INFO("recalc")는 통합 문서 계산 모드를 읽고, 사용할 수 없는 Excel 애플리케이션 환경 정보는 명시적인 오류를 반환합니다
  • 반복 보고서 밴드는 재매핑된 ID로 완전한 스레드 대화를 클론하고, 공유 네이티브 페이지 매김은 병합 셀 스팬을 렌더링하며, 편집과 재계산 뒤에 차트 캐시는 지원되는 로컬 범위에서 새로 고칩니다
  • 기본 제공 수식 계산은 프로세스 전역 및 통합 문서 로컬 사용자 함수 레지스트리, 로컬 이름 재정의 의미론, 락 없는 핸들러 호출, OnUserFunction 및 OnUserFunctionEx Callback과 함께, 셀별 오류가 가능한 broadcast 배열 연산자, 완전한 다변수 LINEST / LOGEST 행렬, 형태를 갖춘 TREND / GROWTH 예측, 안정적인 행/열 SORT, 방향과 배열 키를 독립적으로 지정하는 안정적인 다중 키 행/열 SORTBY, singleton broadcast와 로컬 오류가 있는 배열 인식 CEILING.MATH / FLOOR.MATH 반올림, 로컬 오류와 오버플로 안전 대입력 분기가 있는 안정적인 배열 인식 COT / ACOT / COTH / ACOTH / CSC / CSCH / SEC / SECH 평가, 오버플로 검사를 거치는 COMBINA / PERMUTATIONA 반복 계산, 메모리 상한이 있는 MUNIT 단위 행렬, Unicode 스칼라 UNICHAR 변환, BAHTTEXT를 통한 태국 통화 텍스트, 대상 재계산 없는 참조 보존 ISFORMULA 검사, 해시 인덱스 행/열 UNIQUE, spilling되는 FREQUENCY 결과, 로그 이진 XMATCH / XLOOKUP, ISOMITTED 선택 인자 감지, ARRAYTOTEXT / VALUETOTEXT 배열 변환, 검증된 XIRR / XNPV 계산, PDURATION / RRI 투자 기간·성장률, 기간을 나눈 VDB 감가상각을 포함한 흔한 Excel 텍스트·날짜·workday·엔지니어링/진수 변환·비트 연산·통계·집계·수학 함수를 다룹니다. 여기에 완전한 LET 바인딩과, 정의된 이름으로 호출하고 LET 안에서 어휘적으로 캡처되는 LAMBDA 클로저가 더해집니다
  • 엔진 중립적인 EvaluateFormulaAt는 명시적인 워크시트 셀 컨텍스트에서 A1 또는 R1C1 수식 텍스트를 평가하면서 셀 모델, 캐시, dirty 상태, 활성 시트, 의존성 그래프를 변경하지 않습니다. 타입화된 결과는 수식 오류, 배열, 빈 값, 휘발성, 취소, 외부 참조 권한 부여, 안정적인 실패 범주를 보존하고, IXLSFormulaEvaluationTemplate는 설정 가능한 수식 길이·단계·재귀·배열 메모리 예산 안에서 불변 컴파일 앵커를 대상 셀들에 걸쳐 재사용합니다
  • 클래식 XLS와 XLSX는 동일한 변경 없는 ValidateFormulaEntry 메서드, 통합 문서 수준 FormulaEntryPolicy, 셀과 정의된 이름 전체를 훑는 파싱 기반 AuditFormulaSymbols 스캔을 노출하며, 독립적인 함수·이름 발견 항목과 범위(scope), 중복 제거, 발견 순서를 보존하는 단일 심볼 순회로 희소한 클래식 XLS 스캔을 더 빠르게 수행합니다. 빈 입력, 빈 문자열을 반환하는 수식, 알 수 없는 함수, 알 수 없는 이름, 구문 오류, 잘못된 대상, 대상 포맷 제약은 정확히 구분되고, 일반 수식 대입은 엄격한 거부 또는 보존을 원자적으로 적용하며, 보존된 알 수 없는 심볼은 #NAME?로 평가·전파됩니다. UDF나 정의된 이름이 바뀌면 오래된 의존성을 무효화하고, 클래식 BIFF는 보존된 알 수 없는 호출을 애드인 사용자 함수로 저장하며, 검증은 등록된/Callback 사용자 함수, 어휘 및 정의된 이름 lambda, 보고서 자리표, 등록된 외부 링크, 유효한 structured reference를 핸들러를 호출하지 않고 인식하고, 위험한 외부/매크로 스타일 함수 Callback은 명시적으로 허용되지 않는 한 인수 평가 전에 차단된 채로 유지됩니다
  • TXLSFormulaTokenStream, ParseFormulaTokens, GetFormulaTokens, FormulaTokensToText, SetFormulaTokens로 두 통합 문서 엔진 모두에 무손실 수식 토큰 검사와 보호된 변경을 제공합니다. 호출자 소유 스트림, 읽기 전용 토큰 프로젝션, raw BIFF 페이로드, 독립 참조 플래그, 복제, 원자적 참조 교체, 컨텍스트 출처 추적, 쓰기 되돌리기 전 검증이 포함됩니다
  • 단일 변수 행, 단일 변수 열, 두 변수 What-If 데이터 테이블을 지원하며, 격리된 의존성 재계산, 삭제된 입력 오류, 구조 편집, 워크시트 복사, BIFF8 라운드트립을 다룹니다
  • 셀 스캔, 템플릿 찾기/바꾸기, Callback 범위 채우기, ForEachCell, FindText, ReplaceText, WriteCells와 숫자·문자열·variant 행/열 writer 메서드를 통한 직접 타입화 배열 쓰기를 제공하고, 워크시트 전체 또는 단일 셀 ConvertFormulasToValues는 캐시된 값을 유지하면서 수식을 계산 결과로 고정합니다
  • IXLSFormulaCacheReader와 각 통합 문서 엔진의 CreateFormulaCacheReader를 통한 엔진 중립 수식 캐시 검사는 수식을 평가하거나 사용자 함수를 호출하거나 토큰을 디컴파일하거나 통합 문서 상태를 바꾸지 않으면서, 존재 여부, 로드/계산 출처, blank·숫자·날짜-시간·문자열·Boolean·오류 종류를 보고합니다. 수명 lease는 통합 문서 파괴 후 리더를 안전하게 무효화하고, 공유 수식 멤버는 독립 캐시를 유지하며, XLSX와 ODS는 다시 열어도 타입화된 오류와 명시적 빈 캐시를 보존합니다
  • 클래식 IXLSWorkbook.CreateReadOnlyView와 XLSX IXLSXWorkbookOwner.CreateReadOnlyView는 상수 시간에 shared 모델 IXLSReadOnlyWorkbookView 인스턴스를 만듭니다. 뷰 로컬 활성 시트, 값 기반 저장 셀 스냅샷, 쓰기 가능 개체 미노출, 기본으로 캐시된 수식 결과, 옵트인 수식 텍스트 또는 격리된 수식 평가가 그 대상입니다. 동시 뷰는 재귀 상태, 스칼라/배열 캐시, XLSX 컴파일 수식을 private으로 유지하고, XLSX 외부 평가는 파일 로컬 링크 캐시만 읽으며, packed 셀은 실체화되지 않은 채 남고, 모든 뷰는 변경 전 모델 쓰기를 거부하는 읽기 lease를 쥡니다
  • 2.384.51부터 TXLSReadOnlyCellSnapshot.SheetName은 공유 UnicodeString 저장소로 뒷받침되는 읽기/쓰기 가능 WideString 속성이 되어 셀당 이름 할당을 줄입니다. 일반 읽기/대입 구문은 그대로이지만, raw 필드 주소와 이전 레코드 레이아웃은 지원되지 않으므로 호출자는 재컴파일해야 합니다
  • TXLSWorkbookWorkspace는 각 엔진의 CreateWorkspaceWorkbook이 돌려주는 철회 가능한 클래식 XLS/XLSX/ODS 어댑터를 받아들입니다. 완전한 경로 또는 IRI 식별자를 보존하고, 위치보다 이름으로 외부 워크시트를 해석하며, 명시적 live 등록, 선택적인 호출자 제어 identity당 1회 로더, 타입화 파일 캐시, #REF!를 통해 외부 수식을 평가합니다. 동시 로드 요청은 하나의 결과를 공유하고, 타입화 진단이 실패와 리소스 한계를 노출하며, 호환 등록 메서드는 두 통합 문서 파사드에서 계속 쓸 수 있고, 파괴된 대상은 안전하게 연결이 끊기며, 재계산이 파일이나 네트워크 리소스를 암시적으로 여는 일은 없습니다
  • TXLSWorkbookWorkspace.BuildDependencyGraph는 등록된 클래식 XLS, XLSX, ODS 모델에서 하나의 교차 통합 문서 수식 그래프를 추출합니다. 완전한 통합 문서/워크시트 식별자를 유지하고, 기호화된 로컬 및 외부 정의된 이름을 보존하며, 가능하면 로컬 이름을 구체적 의존성으로 해석하고, 큰 사각형 범위를 압축된 구간으로 저장합니다. 행 구간 트리가 간선 생성과 종속 조회를 가속하고, 그래프 생성은 packed XLSX 저장소를 실체화하지 않고 읽습니다
  • TXLSWorkbookWorkspace.Recalculate는 shared 의존성 그래프를 유지하면서 점진적으로 dirty 표시하고, 비순환 수식 노드를 교차 통합 문서 위상 순서로 스케줄링하며, 무해한 쌍방향 통합 문서 링크는 거부하지 않으면서 진짜 강연결 수식 순환은 거부하고, 명시적인 히트·미스·무효화·차단 노드 진단과 함께 패스 로컬 외부 셀 캐시를 공유합니다. 같은 워크스페이스 호출은 직렬화되고, 패스 도중 제거는 안전한 어댑터 스냅샷으로 workspace-changed 상태를 반환하며, 파괴는 진행 중 계산을 기다리고, 실패한 노드는 명시적 재시도를 위해 dirty 상태로 남습니다
  • CalculateAndVerify는 저장된 수식 결과를 새로 계산한 비휘발성 결과와 비교하고, 캐시를 교체하지 않으면서 워크시트·셀·수식·기대값·실제값 진단을 보고합니다. RecalcAndVerifyEx는 격리된 의존성 그래프 결과 오버레이가 있는 심층 감사에, 상한 호출 스택이 있는 타입화 실패 범주, 진행 취소, 재계산 값의 옵트인 원자적 적용을 더합니다
  • 심층 감사 허용 오차는 새로운 중간 결과를 억제하지 않으면서 불일치 보고를 필터링합니다. 종속 수식은 감사된 값을 사용하고, 불일치가 보고되지 않은 경우에도 명시적인 적용은 변경된 캐시를 새로 고칩니다. 절대 허용 오차와 상대 허용 오차는 모두 배정밀도 결과에 적용됩니다
  • 클래식 XLS 심층 수식 감사는 순회 용량을 미리 확보하고 연속된 plain-double 캐시 스냅샷을 효율적으로 복사하며, 다른 Variant 타입과 격리된 평가 오버레이는 그대로 유지합니다
  • 클래식 재계산은 지연 생성되는 의존성 그래프를 사용하고, dirty 입력을 전이적 종속자에게만 전파하며, 매 패스마다 휘발성 수식을 다시 계산하고, 비순환 수식을 의존성 순서로 평가하고, 순환 참조에 강연결 요소 반복을 적용합니다. 전체 정밀도를 끄면 수식과 What-If 데이터 테이블 캐시가 종속자가 소비하기 전에 유효 표시 숫자 정밀도로 반올림됩니다
  • AutoFilter, 목록 데이터 유효성 검사, 머리글 없는 레이아웃과 테이블별 메모, structured reference 수식 평가(Table[Col], 열 범위, [#Data] / [#All] / [#Headers] / [#Totals])를 갖춘 Excel 테이블, 음수 값 채우기·테두리 색이 있는 데이터 막대, 색상 눈금, 아이콘 집합 같은 조건부 서식 확장(저장 시 시트 고유 우선순위, 피벗 테이블 범위 규칙은 Excel 2010+ 확장 버킷으로 라우팅), 차트 시트를 제공합니다
  • 텍스트 상자, OfficeArt 드로잉, relationship 기반 타입화 피벗 가져오기, 필터·그룹화된 다중 값 실체화, 계산 필드, 항목과 멤버, 부분합, 총합계, 안정 정렬, 클래식 및 확장 ShowDataAs 계산, 서식 있는 텍스트 메모를 제공합니다
  • 트랜잭션 로컬 피벗 캐시 새로 고침은 사각형, 워크시트 범위 정의된 이름, 표 소스를 현재 지오메트리에서 해석하고, 물리적 표 합계를 제외하며, 워크시트 이동과 이름 변경을 거쳐 소스 ID를 유지하고, 소스 재정렬·제거·재도입에 걸쳐 기존 필드와 멤버 ID를 보존하고, 공유 뷰 선택을 안정적으로 두고, 형식화된 오류 값을 처리하며, 캐시를 바꾸기 전에 지원되지 않는 스키마나 새로 등장한 매핑되지 않은 이산 그룹 멤버를 거부합니다
  • 안전한 피벗 워크시트 구체화는 격리된 캐시를 평가하고 안전하지 않은 겹침을 거부하며 셀 개체와 서식을 보존하고, 크기 조정·이동·XLSX 다시 열기에 걸쳐 정확한 소유 값을 추적합니다
  • 형식화된 비-OLAP 피벗 Slicer 선택은 가져온 공유 멤버 선택을 검사·변경하고 연결된 뷰 필터와 교차하며, 다른 필드의 독립 제한을 보존하고, 변경 전에 모호하거나 지원되지 않는 바인딩을 거부합니다
  • 고충실도 BIFF8 라운드트립은 Excel이 작성한 레코드, 정확한 RGB·테마 색상, 사용자 지정 보기, 공유/수정(revision) 메타데이터를 보존합니다
  • BIFF8 RC4 암호화로 암호 보호 통합 문서를 다루고, 암호화 패키지 전체의 검증된 데이터 무결성 HMAC과 함께 Agile 암호화 XLSX 저장/로드를 지원하며, 읽기 전용 권장 플래그, 암호 해시, 예약 사용자 이름을 담는 클래식 쓰기 예약(SetModifyPassword)도 제공합니다
  • 병합 셀 AutoFit 오버로드는 필요한 행/열 확장을 첫 멤버나 마지막 멤버에 할당하거나 병합 범위 전체에 고르게 분배할 수 있고, 숨김 상태를 유지하며 멤버별 경계를 존중합니다
  • 통합 문서 간 워크시트 복사(TXLSWorksheets.AddCopy)는 셀 값, 수식(대상 시트 이름 기준으로 재컴파일), 정확한 RGB/테마 색상의 서식, 병합 셀, 메모, 하이퍼링크, 행/열 레이아웃, 틀 고정, 보호, 페이지 설정, 탭 색상, 조건부 서식, 데이터 유효성 검사, AutoFilter 조건, 테이블, 포함된 그림, 서식 있는 텍스트 런(폰트를 값으로 이식), 차트 시트(시리즈 참조는 대상 기준으로 재컴파일)를 다른 통합 문서로 복제합니다. 대상에 없는 시트를 참조하는 수식은 소스 통합 문서가 파일 식별자를 가지면 외부 링크로 소스 통합 문서를 다시 가리킵니다
  • 공유 캐시 피벗 뷰, 로컬 피벗 Slicer 생성과 선택을 인식하는 명시적 제거, 고정된 그룹 캐시 새로 고침, 네이티브 컴팩트 레이아웃 메타데이터 미리보기를 제공합니다
  • 트랜잭션 네이티브 피벗 워크시트 출력은 그룹화된 레이아웃과 사용자 지정 행 부분합을 지원합니다. 로컬 SUM 계산 필드와 캐시 소유 항목은 컨텍스트 합계, 풀이 순서, 지원되는 표시 계산과 필터링을 보존하며, 지원되지 않는 상태는 변경 전에 거부합니다
  • 피벗 타임라인과 Slicer 데이터 상태는 보호된 로컬 날짜 필터링, 공유 뷰 수명 주기, 명시적인 네이티브 무데이터 항목 새로 고침을 제공합니다
  • 자동 쿼리 공급자는 지원되는 Text, ADO, ODBC, Web 쿼리를 상한이 있는 결과와 등록된 사용자 공급자로 명시적으로 새로 고칩니다
  • 클래식 차트 검사는 지원되는 네이티브 OfficeArt 채우기 테이블을 디코딩하고, 마커 지름을 포인트 단위로 노출하며, 형식화된 상태를 적용하기 전에 저장된 텍스트와 주석 범위를 검증합니다. 원시 차트 저장소는 유지되고 포터블 클래식 차트 모양은 별도로 검증됩니다
  • 포터블 헤드리스 출력은 지원되는 클래식 XLS 또는 XLSX 사각형을 불변 스냅샷으로 캡처하고, 명시적 폰트 지오메트리, 리치 텍스트, 모델링된 드로잉 개체, 셀 내 이미지, Boolean 체크박스, 지원되는 캐시 XLSX 차트, 호출자 선언 레이아웃과 유효 범례 크기를 갖춘 상한이 있는 코어 BIFF8 캐시 차트를 Linux와 macOS에서 PDF, SVG, PNG로 렌더링합니다
  • 텍스트 및 통계 계산 배열 인수는 함수별 강제 변환과 오류를 보존하고, 원래 위치로 공분산을 짝지으며, 계산 예산을 존중합니다
  • 집계 계산의 정의된 이름은 스칼라·배열·참조 강제 변환, 형식화된 오류, 의존성, 리소스 한도를 보존합니다

최신 XLSX 파사드

Excel 2007 이상(.xlsx) 통합 문서를 위해 TXLSXWorkbook을 중심으로 구축된 전용 OOXML 엔진입니다

  • 공유 문자열, 스타일, 드로잉, 시트 기능, ZIP/XML 패키징, 라운드트립 메타데이터를 다룹니다. 제어 문자와 literal _xHHHH_ 토큰을 수식 구문을 재작성하지 않고 보존하는 필드 인식 SpreadsheetML Xstring 처리가 포함됩니다
  • 워크시트 페이지 설정은 pageSetup relationship과 시트별 printerSettingsN.bin 파트를 통해 바이트 단위로 동일한 바이너리 프린터 설정을 유지하고, 비표준 소스 파트 위치도 받아들이며, 결정적인 정규(canonical) 대상에 쓰고, 같은 통합 문서 내 및 통합 문서 간 워크시트 복사에서 페이로드를 깊은 복사하며, 관련 없는 바이너리 파트를 묶지 않으면서 누락·유형 불일치·dangling 프린터 relationship을 보고합니다
  • 타입화된 숫자·문자열·variant 행/열 writer는 반복 배치에서 셀 용량을 기하급수적으로 늘리고, forward 행 배치를 사이즈를 미리 잡은 희소 행 벡터에 바로 추가하며, 워크시트 한계에서 안전하게 잘라내고, 겹침 시 안정적인 핸들을 유지하고, Callback 디스패치를 피합니다
  • OpenDocument(.ods) 읽기/쓰기: 기존 스프레드시트는 Open / OpenODS로 가져오고, SaveAsODS 또는 SaveAs(xlsxOpenDocumentSpreadsheet)로 내보내며, TODSExportOptions로 출력을 조정하고, 스타일, 서식 있는 텍스트, 이미지, 차트, 유효성 검사, 조건부 서식, 페이지 설정, 인쇄 범위, 윤곽선 그룹, 시트 구조, 통합 문서 메타데이터를 라운드트립합니다. 내보내기 옵션은 일반적인 재계산, 진행 상황 취소, 진단, 쓰기 보호를 그대로 유지하고, 파일 출력은 직렬화가 실패하거나 취소되면 기존 대상을 보존합니다
  • ODS 셀 비교 및 수식 규칙은 압축된 반복 빈 셀 캐리어로 행 전체·열 전체·넓은 대상의 완전한 범위에 걸쳐 차등 폰트 스타일, 단색 또는 투명 배경, 지원되는 숫자 서식을 유지합니다. 명시적으로 지운 속성도 살아남고, 무관한 기본 서식은 각 셀에 남으며, 테마 색과 인덱스 색은 해석된 색으로 내보내집니다
  • 다중 포맷 가져오기: 구분자 스니핑, BOM 감지, 선택적 값 유형 추론이 있는 OpenDocument(.ods)와 CSV / TSV를 지원합니다
  • 콘텐츠 시그니처 감지: DetectExcelContentFormat은 파일이나 스트림의 선행 바이트를 검사해 파일 확장자와 무관하게 BIFF compound 파일, OOXML 패키지, OpenDocument 패키지, 일반 구분 텍스트를 구분하고, 양쪽 통합 문서 엔진은 맞지 않는 컨테이너를 올바른 로더 이름을 밝히는 명확한 메시지로 거부합니다
  • 서식 지정된 표시 텍스트: 읽기 전용 FormattedText 속성(IXLSRange와 TXLSXCell에 있음)은 셀 값을 숫자 서식 — 구분자, 백분율, 날짜/시간 마스크, 다중 섹션 마스크, Boolean 서식 — 으로 렌더링해 그리드에서 Excel이 보여주는 것과 일치시킵니다
  • 파일 변경 모니터링: TXLSFileMonitor는 디스크의 통합 문서를 감시하다가 다른 프로세스가 그 파일을 덮어써 저장하면 OnFileChanged를 발생시키며, 폴링 간격을 설정할 수 있고 이벤트는 메인 스레드 또는 워처(watcher) 스레드로 전달됩니다. 핸들러 안에서 모니터를 정지하거나 파괴하거나 감시 중인 파일을 다른 파일로 전환할 수도 있습니다
  • 암호 확인: 클래식 XLS 엔진의 OnPassword 이벤트는 Open이 암호가 없거나 틀린 암호화 통합 문서를 만나면 애플리케이션에 암호를 요청하고 열기를 다시 시도합니다
  • 포맷 브러시: TXLSXCellFormat은 폰트, 채우기, 테두리, 정렬, 숫자 서식, 보호를 한 번만 기술한 뒤 셀, 범위, 행, 열, 시트 전체에 찍어 줍니다. 실제로 지정된 속성만 적용되고, 풀 인덱스는 적용마다 한 번만 해석되어 대량 서식 지정이 빠릅니다
  • 통합 스트리밍 행: TXLSRowCursor는 .xls, .xlsx, .xlsm, .ods, CSV, TSV 소스를 행 단위로(FindFirst / FindNext) 순회하면서 현재 프로젝션된 행 또는 ODS 반복 템플릿만 메모리에 유지하고, 값 할당 전에 행 경계와 열 선택을 밀어 넣으며, 캐시된 수식 결과와 저장된 스타일 빈 셀을 보존하고, 수식 존재와 수식 텍스트 가용성을 구분하고, 수식 텍스트를 선택적으로 억제하고, ODF covered 셀을 건너뛰고, 반복되는 ODS 스팬에서 선택된 열 사이를 바로 이동하고, UTF-8/UTF-16 BOM과 여러 줄 quoted 텍스트 레코드를 디코딩하고, 쉼표·세미콜론·탭·파이프 구분자를 스니핑하며, 상수 시간 ValueByCol 조회를 제공합니다. 명시적 수명 주기 상태, 멱등 취소, 빌리거나 이전하는 스트림 소유권, 세대 검사 zero-copy 행 뷰, PeakRowBufferedBytes, SheetPassesStarted 덕분에 긴 스캔도 관측 가능하고 안전합니다. TXLSForwardReader는 같은 백엔드를 건너뛴 워크시트 파트를 열지 않으면서 1 기반 시트/셀 Callback에 어댑팅합니다
  • 진행률과 진단: 클래식 XLS와 XLSX 통합 문서는 작업 Callback과 취소 가능한 begin/work/end Callback을 제공하고, IXLSWorkbookProgress와 TXLSXWorkbook.Diagnostics는 안정적인 코드, 심각도, 작업, 시트/패키지 컨텍스트, 네이티브 반환 값, 예외 세부 정보를 노출합니다
  • 실패 안전 저장: 클래식 워크시트, 차트, 스타일 확장, VBA, 컨트롤 스트림, 저장소, 출력 커밋 실패는 호출자에게 전파되고, XLS, XLSX, ODS 디스크 출력은 대상이 원자적으로 교체되기 전에 스테이징됩니다
  • Windows 대상 교체는 POSIX rename을 지원하는 파일 시스템에서 삭제를 허용하는 메타데이터·리더 핸들을 용인하고, 기존 리더는 원본 바이트를 유지합니다. 삭제 접근, 삭제 비공유 잠금, 읽기 전용 보호는 단일 커밋 전에 검사하고 저장 재시도는 없으며, 구형 또는 미지원 파일 시스템은 레거시 커밋 경로를 유지합니다
  • 파악 가능한 파일 저장 진단: TXLSXWorkbook.SaveAs(FileName)와 명시적 형식 오버로드는 대상 교체가 실패하면 네이티브 Windows 오류를 보존하고, 진단 코드 1005를 보고하며, 원래 대상은 그대로 유지됩니다
  • 압축 셀·스타일 저장소: XLSX 셀은 안정적인 공개 핸들과 row-major 캐시 친화적 직렬화를 갖춘 256행 블록에 들어갑니다. 행 항목에는 중복 페이로드 태그가 없고, 값·수식·서식 있는 텍스트 변경이 인덱스 재분류를 피하며, 가져온 셀 스타일은 하나의 불변 direct-index cellXf 배열로 해석되고, 자동 스타일 풀 압축이 저장마다 참조되지 않는 폰트·채우기·테두리·숫자 서식·정렬·보호를 제거합니다
  • 구간 스타일 오버레이: 행, 열, 사각형 서식이 빈 셀 개체를 실체화하지 않고도 압축 상태를 유지하고, 셀 접근 시 지연 해석되며, 구조 편집에서 살아남고, 압축된 열/행/스타일 전용 셀 항목으로 라운드트립됩니다
  • 행 스트리밍 일반 저장: StreamingWrite(기본값)는 각 워크시트 행을 패키지 deflate 스트림에 바로 쓰므로 최대 메모리가 가장 큰 단일 행을 따라갑니다. 공유 문자열과 보조 XML 파트는 재사용 가능한 단일 UTF-8 직렬화기를 통해 한 번에 한 항목씩 스트리밍됩니다
  • 메타데이터 전용 열기: TXLSXWorkbook.MetadataOnly는 통합 문서 속성, 정의된 이름, 시트 이름과 표시 상태, 스타일, 테마, 연결, 외부 링크를 파싱하되, 워크시트 셀 XML과 공유 문자열, 메모·사람 데이터, 워크시트 relationship, 드로잉, 차트, 테이블, 쿼리 테이블, 피벗, 워크시트에서 닿는 불투명 페이로드는 건너뛰어 큰 통합 문서에서 속성과 이름을 빠르게 적은 메모리로 찾습니다
  • XLSX 외부 통합 문서 슬롯은 workbook.xml 선언 순서를 따르고, 깨진 relationship에도 빈 자리표를 유지해서 이후 [N] 수식 참조가 로드와 저장에서 안정적으로 유지됩니다
  • 선택적 워크시트 로딩: TXLSXWorkbook.SelectedSheets를 쓰면 Open이 이름 붙은 시트의 셀 XML만 파싱하고, 다른 시트는 셀 없이 이름과 표시 상태만 유지합니다. LoadSheet(Index)를 호출하면 건너뛴 시트를 원본 아카이브에서 필요할 때 실체화합니다
  • 증분 압축 파트 복사: TXLSXWorkbook.PreserveRawParts는 SaveAs 작업마다 private 검증 소스 아카이브를 하나 열어, 변경되지 않은 테마, VBA 프로젝트, 연결, 외부 링크, 이미지, 차트, 피벗 테이블, 피벗 캐시, relationship으로 닿는 불투명 항목을 원본 압축 페이로드 그대로 복사합니다. 성공한 파일 저장이 다음 클린 베이스라인이 되고, 스트림 기반 통합 문서, 변경된 소스 파일, 수정된 페이로드, 지원되지 않는 압축 방식, 압축 크기 불일치는 트랜잭션 직렬화 Fallback이나 거부 경로를 씁니다
  • 통합 문서 확장 보존: XLSX 열기/저장은 외래 workbook-root 네임스페이스 선언, markup-compatibility 속성, 완전한 통합 문서 수준 <extLst> 페이로드, 그리고 그 알 수 없는 relationship을 유지하는 동안 타입화된 시트, 이름, 뷰, 계산 속성, 피벗 캐시는 계속 편집할 수 있습니다. relationship 참조는 생성된 ID가 충돌하면 재매핑됩니다
  • Slicer: Worksheet.Slicers.Add(Table, ColumnName)는 테이블 슬라이서(Excel 2013+)를 처음부터 끝까지 만들어 줍니다 — 슬라이서 캐시, 예약된 정의된 이름, 워크시트 확장, 드로잉 앵커가 모두 포함되며, 위치, 캡션, 열 개수, 스타일, 행 높이를 제어할 수 있습니다. Excel이 만들어 둔 슬라이서(테이블 또는 피벗)를 담은 통합 문서는 열기와 저장을 거쳐도 슬라이서가 그대로 유지되고, 손대지 않은 파트와 앵커는 바이트 단위로 그대로 재생되는 동안 주변 통합 문서는 계속 온전히 편집할 수 있습니다
  • 다중 통합 문서 창: TXLSXWorkbook.WorkbookViews는 추가·삽입·삭제·이동·지우기 작업이 가능한 순서 컬렉션, 타입화된 표시 여부와 기하 상태, 편집 가능한 알 수 없는 속성과 확장, 워크시트 workbookViewId 재매핑을 노출합니다. 기존 단일 창 속성은 첫 번째 뷰의 호환 프로젝션으로 유지됩니다
  • 외부 정의된 이름과 새로 고침 실패: TXLSXExternalLink는 링크된 통합 문서의 <definedNames> 항목을 파싱·저장·라운드트립하고, 각 TXLSXExternalSheetData는 살아 있는 데이터 소스 없이도 새로 고침 실패 상태를 나타내는 RefreshError 플래그를 추적합니다
  • 다중 포맷 클립보드 가져오기: XLSPasteFromClipboardRich는 일반 Unicode 텍스트보다 XML Spreadsheet 클립보드 포맷(수식, 스타일, 병합)을 선호하며, 전용 포맷 감지·추출·SpreadsheetML 2003 파싱 함수가 함께 제공됩니다
  • 네이티브 Biff8 클립보드 교환: 두 엔진 모두의 CopyToClipboard는 텍스트와 HTML 옆에 Excel 고유의 "Biff8" compound-document 페이로드를 게시하고, PasteFromClipboard는 이를 가장 먼저 소비합니다. 값이 로캘 의존 재파싱 없이 도착하고, 상대 수식 참조는 붙여넣기 대상에 다시 고정되며, 숫자 서식·폰트·채우기·테두리·정렬·병합 셀이 HotXLS 통합 문서 간은 물론 Excel 복사본에서도 라운드트립됩니다
  • XLS와 XLSX PasteFromClipboard는 BIFF8과 fallback 텍스트를 클립보드 잠금 한 번으로 함께 담아 오고, 기존 재시도 정책을 유지하면서 BIFF8을 사용할 수 없거나 파싱할 수 없을 때 클립보드를 다시 열지 않고 읽을 수 있는 캡처 텍스트를 사용합니다. 텍스트를 가져오지 못해도 읽을 수 있는 BIFF8은 계속 쓸 수 있고, 텍스트만 사용할 수 없을 때는 셀을 전혀 삽입하지 않습니다
  • 필수 텍스트와 BIFF8 클립보드 게시 실패 시 원래의 Win32 GetLastError 진단이 정리 과정 전체에서 보존되어 호출자가 곧바로 확인할 수 있습니다
  • 서식 있는 텍스트 마크업: TaggedText 셀 속성은 서식 있는 텍스트 런과 가벼운 태그(<b>, <i>, <u>, <s>, <sub>, <sup>, <color=#RRGGBB>, <font=Name>, <size=N>)를 양방향으로 변환합니다
  • 경쟁 재시도가 있는 64비트 안전 클립보드 리더, 절대 참조·뒤집힌 범위·행 전체·열 전체·공백 구분 영역을 대상으로 하는 캐시된 조건부 서식과 데이터 유효성 검사 대상 매칭, 일관된 규칙 조회·삭제·조건부 평가·유효성 검사, 그리고 이진 탐색으로 찾는 PDF 하이퍼링크 인덱스를 제공합니다
  • 계산 확장성: 이름 기반 사용자 함수 등록, 알 수 없는 함수 감사 API, 손상된 파트를 건너뛰는 복구 모드 열기, 네이티브 Biff8 클립보드 교환, 캐시된 데이터 유효성 검사 범위 매칭을 제공합니다
  • PDF 이미지: 워크시트 그림은 JPEG 패스스루와 PNG 스트림 재사용(재인코딩 없음, 소프트 마스크로 알파 채널 보존)이 가능한 Flate RGB XObject로 들어가고, 바이트 단위로 같은 이미지는 한 번만 들어가며, keep-together 블록과 XlsxAutoPageBreaks가 페이지네이션을 맞추고, ZipCompressionLevel과 DeterministicOutput이 저장 출력을 제어합니다
  • PDF 출력 파이프라인: 페이지 콘텐츠 스트림은 Flate 압축되고, 연속된 텍스트 연산은 중복 제거된 폰트·색 선택과 함께 배치 텍스트 블록을 공유하며, 같은 인접 채우기는 하나의 사각형으로 합쳐지고, 일직선상의 테두리 세그먼트는 병합된 run으로 스트로크됩니다 — 파일은 작아지고 생성은 빨라집니다. OnProgress와 중단 가능한 OnProgressEx가 begin/page/end 상태를 보고하고, Cancel은 부분 PDF를 대상 스트림에 커밋하지 않고 긴 내보내기를 멈춥니다
  • PDF 셀 텍스트 충실도: 세로 블록 정렬과 양쪽/분산 줄이 있는 실제 단어 줄바꿈, 회전·세로 쌓기 텍스트, shrink-to-fit, 잘라내기가 있는 빈 이웃 셀로의 Excel 스타일 넘침, general 정렬에서의 숫자 오른쪽 맞춤, 들여쓰기, run별 스타일·크기·색·밑줄·취소선·위첨자/아래첨자가 있는 서식 있는 텍스트 런, 대각선·이중 테두리, 병합 셀에 걸친 텍스트가 모두 GDI 캘리브레이션 Helvetica 전진 폭으로 배치됩니다
  • PDF 인쇄 충실도: Excel의 폰트 크기·색·굵게/이탤릭/밑줄/취소선·위/아래첨자 코드를 담은 스타일 머리글/바닥글, 흑백 인쇄 모드, 인쇄 행/열 제목, 가로·세로 인쇄 중앙 정렬, 메모 표시기와 PrintCommentsAtEnd를 통한 문서 끝 메모 목록 페이지, 내부 하이퍼링크용 문서 내 GoTo 링크, XMP 메타데이터가 있는 뷰어 PageLayout 기본 설정, Excel과 동일한 MDW 열 너비, Unicode 페이스의 합성 굵게/이탤릭 컷이 있는 TrueType 컬렉션 임베딩을 제공합니다
  • PDF 차트: 워크시트 차트가 네이티브 벡터로 그려집니다 — 묶은/누적/백분율 누적 세로·가로 막대, 마커가 있는 꺾은선, 영역, 백분율 레이블이 있는 원형과 도넛, 분산형, 레이더가 그 대상이며, 제목 프레임, 자동 배율 축과 눈금 레이블, 눈금선, 범례, 데이터 레이블, 시리즈별 채우기, Excel 기본 강조 팔레트가 함께 제공됩니다. 마지막 데이터 셀 너머에 앵커된 차트는 인쇄 면을 확장합니다
  • 대화형 PDF: 워크시트 하이퍼링크가 클릭 가능한 링크 주석이 되고, 내보낸 모든 시트에 문서 아웃라인 책갈피가 붙습니다
  • 패키지 수준 확장성: 타입화된 사용자 지정 문서 속성, 사용자 지정 XML 데이터 파트, SVG 이미지 컴패니언, 인덱스 캐시와 점별 표시 여부 재정의가 있는 셀 소스 차트 데이터 레이블, 섹션별 색상이 있는 사용자 정의 테이블 스타일, 위반 셀을 모두 나열하는 데이터 유효성 검사 감사 API를 제공합니다
  • 포맷 충실도 향상: 경과 시간 [h]:mm:ss와 분수 # ??/?? 숫자 서식이 모든 곳에서 렌더링되고, [Red] 괄호가 PDF 텍스트 색을 바꾸고, 셀 그라디언트 채우기가 라운드트립되어 HTML/PDF/뷰어에서 렌더링되며, 틀 고정과 분할창 스크롤이 읽혀지고, DispBlanksAs/PlotVisibleOnly는 차트 속성이며, 메모 상자는 WidthPt/HeightPt/AutoSizeFromText로 크기가 정해지고, ValidateNumberFormat이 사용자 지정 서식 문자열을 검사합니다
  • Excel 의미론 검색: FindText / ReplaceText는 와일드카드(*, ?, ~ 이스케이프), 셀 전체 매칭, 대소문자 구분, 수식 텍스트 검색, 역방향 스캔, 열 우선 스캔 순서, 검색을 사각형 범위로 제한하는 windowed FindTextIn / ReplaceTextIn, match별 바꾸기 Callback을 지원합니다. AddSubtotals를 통한 Excel 의미론 그룹화(SUBTOTAL 레이블 행, 총합계, 윤곽선 수준, 페이지 나누기, 바꾸기 모드), A1과 R1C1 참조 스타일을 양방향으로 변환하는 A1ToR1C1과 R1C1ToA1, Excel 스타일 텍스트 타입 스니핑용 WriteAutoValue(ISO, US m/d/yyyy, 유럽 d.m.yyyy 날짜와 선택적 AM/PM 시간), GetRangeStatistics 범위 집계, Excel 참조 의미론($ 부분은 유지, 상대 참조는 재고정)으로 수식을 보존하는 대소문자 무시 SortRange, GetHtmlFromCell 단일 셀 HTML 조각, 서식 있는 런으로서의 SetCellFromHtml HTML 조각도 제공됩니다
  • 시트 배경: SetBackgroundImage가 두 통합 문서 엔진 모두에서 타일링 그림을 만듭니다. XLSX는 워크시트 복사에서도 패키지 미디어 소유권을 유지하고, 클래식은 연속 페이로드 분할, 알 수 없는 포맷의 정확한 보존, 복사 격리, 엔진 간 알려진 포맷 변환과 함께 타입화된 BIFF8 배경 레코드를 읽고 씁니다. 통합 문서 뷰어는 채워지지 않은 셀 뒤에 유효한 배경을 표시하고, 인쇄, PDF, SVG, 비트맵, 메타파일, 양쪽 HTML 내보내기는 기본으로 배경을 끈 채 유지하며, 교차 페이지 페이즈 연속성과 세션별 리소스 재사용이 가능한 명시적 출력을 위한 ExportSheetBackgroundImages를 노출합니다
  • 포맷 엔진 깊이: 조건부 숫자 서식 섹션([>=100])이 값으로 고르고, 텍스트 섹션(@)이 문자열을 템플릿으로 삼고, TaggedText가 <br>, <strong>/<em>, <font color=...> 속성 형식을 받아들이며, ConvertFormulasToValues가 양쪽 파사드에서 only-external 모드를 제공하고, 열 keep-together 블록이 행 블록을 보완하며, 클래식 Spinner/ScrollBar 폼 컨트롤을 XLS로 작성할 수 있고, 행 AutoFit이 병합 셀을 다룹니다
  • 클립보드 교환: PasteFromClipboard는 숫자/날짜/Boolean 승격과 수식 인식이 있는 탭 구분 텍스트를 셀로 읽어 들이고, 범위 수준 CopyToClipboard는 수식, 병합 셀, 링크, 표시 서식, 포함된 구분자 보존이 있는 Unicode 표 형태 텍스트와 스타일 HTML을 모두 게시합니다
  • 편집 가능한 통합 문서 뷰어: TXLSWorkbookViewer는 어느 통합 문서 엔진에나 바로 바인딩되어 XLS, XLSX, XLSM, XLTX, XLTM, ODS 파일을 로드하고, 희소 XLSX 셀을 실체화하지 않고 스타일과 조건부 서식을 렌더링하며, 보호 셀을 인식하는 제자리 편집, 수식 입력줄 입력, 자동 재계산, 사각형 선택, 수식 참조 이벤트, O(1) 상한 실행 취소/다시 실행을 더합니다
  • 클래식 XLS 피벗 테이블 캐시는 고유 식별자가 있는 독립 저장소 스트림, 워크시트 또는 명명 소스 참조, Unicode 시트 이름, 암호화 캐시 읽기/쓰기를 사용합니다. 기존 캐시 확장은 저장될 때 원본 바이트를 유지합니다
  • 재사용 가능한 피벗 레이아웃 디자이너: TXLSPivotDesigner는 사용 가능/행/열/필터/값 영역, 결정적 필드 재정렬, 타입 인식 기본 집계, 명시적 집계 변경, 레이아웃 검증, 그리고 XLS 또는 XLSX 피벗 모델 모두에 대한 결과 적용을 노출합니다
  • 클래식 폼 컨트롤: 워크시트와 도형 컬렉션은 버튼, 라디오 버튼, 체크박스, 콤보 박스, 리스트 박스 컨트롤을 타입화된 레이블, 체크 상태, 플랫/3D 렌더링, 매크로 바인딩, 연결 셀, 소스 범위, 컨트롤 종류, 셀 앵커와 함께 만들고, 열거하고, 편집하고, 삭제하고, 라운드트립할 수 있습니다
  • GetChartModel을 통한 클래식 XLS 차트 검사는 차트 종류, 3-D 상태, 차트·축 제목, 범례, 주/보조 축 그룹별 축, 시리즈 이름, 범주, 값 수식, 구분자가 있는 시리즈별 데이터 레이블 표시 플래그, 시리즈별 주/보조 차트 그룹 바인딩, 명명 또는 외부 범주·값 참조, GelFrame OfficeArt 테마 색 확장(테마 색 인덱스와 tint로 전달되는 테마 색 채우기)이 실린 시리즈별 선·채우기·마커 스타일, 차트 스트림의 전체 3-D 장면 매개변수, SXViewLink / PivotChartBits 레코드를 통한 피벗 차트 링크(소스 피벗 테이블 뷰 이름과 필드 캡션 숨기기 플래그), AddChartObject로 일반 워크시트에 앵커된 내장 차트 개체, 시리즈별 추세선(회귀 종류, 차수 또는 기간, 자동/고정 절편, 수식과 R-제곱 표시, forecast와 backcast, 표시 이름)과 오차 막대(방향 측면, 값 유형, 끝 단, 크기)를 디코딩합니다
  • TXLSXWorksheet.HeaderFooterImages를 통한 타입화된 XLSX 머리글/바닥글 이미지는 홀수·짝수·첫 페이지의 모든 왼쪽·가운데·오른쪽 슬롯을 이미지 바이트, 포맷, 제목, 포인트 크기, 포인트 여백, 자동 그림 필드 코드, 워크시트 복사, 메모와 함께 relationship 안전 열기/저장 라운드트립으로 다룹니다
  • TXLSXImage를 통한 편집 가능한 XLSX 그림 효과: 백분율 자르기 가장자리, 투명도, 밝기, 대비, stretch 또는 tile 채우기, 각도 기반 회전, 관련 없는 가져온 DrawingML의 구조 보존을 포함합니다
  • 순서가 있는 세로·가로 막대, 꺾은선, 원형, 영역, 분산형, 거품형, 레이더, 주식형, 표면형, 3D 플롯 그룹, 명시적 플롯 그룹 그리기 순서가 있는 진짜 조합 차트, 주/보조 축 쌍, 타입화된 날짜·시리즈 축, 설정 가능한 3D 뷰, Excel 갤러리 스타일, 제목·범례·축 텍스트 스타일, 수동 플롯·제목·범례·축 제목 레이아웃, 희소 문자열/숫자 시리즈 캐시, 실시간 2차원 범위 해석이 있는 희소 다중 수준 범주 캐시, 알 수 없는 ChartML 확장과 서식의 편집 가능한 보존으로 고급 XLSX 차트 구성과 라운드트립을 제공합니다
  • 선택적 서식 패치: TXLSXRange.ApplyFormatPatch는 요청된 폰트, 채우기, 테두리, 숫자 서식, 정렬, 보호 구성 요소만 복사하고, 작은 소스 패턴을 큰 대상에 타일링하며, 셀 값은 손대지 않습니다
  • master-detail 데이터 내보내기: TDataToXLS.ReadDetailTables는 각 마스터 레코드 아래의 활성 연결 detail 데이터셋을 재귀적으로 내보내고, IndentDetailTables는 relationship 수준마다 한 열의 들여쓰기를 더하며, 상속된 내보내기 설정이 계층을 시각적으로 일관되게 유지합니다. 저장 전 레코드·값 이벤트는 데이터셋 커서를 흔들지 않고 레코드를 걸러내고 필드 값을 변환할 수 있습니다
  • WordArt 만들기: TXLSXWorksheet.AddWordArt는 설정 가능한 프리셋 warp, 텍스트 채우기 색, 외곽선 색으로 셀에 앵커된 DrawingML 텍스트를 만들고, 이후 열기/저장 주기가 완전한 도형 앵커를 보존합니다
  • 지원되지 않는 OOXML 패키지 보존: 알 수 없는 package-root, 통합 문서, 워크시트, 드로잉 relationship에서 닿는 사용자 지정 파트는 충돌 안전 relationship ID, 콘텐츠 유형, 자식 relationship, 압축 선택, 정확한 페이로드 바이트를 열기/저장 라운드트립에서 유지하며, TXLSXWorkbook에서 옵트아웃과 보존 파트 진단을 제공합니다
  • Excel 스타일 테이블: 스타일, 필터 범위와 조건, 정렬 상태, 안정적인 열 식별자, 합계 행 레이블과 함수, 계산 열 수식, 합계 행 수식, 구조를 인식하는 행/열 편집, 라운드트립 컬렉션 도우미를 갖춥니다
  • TXLSXWorksheet.IgnoredErrors를 통한 타입화된 워크시트 오류 무시 규칙은 모든 표준 오류 범주, 다중 영역 셀 참조, 워크시트 복사, 행/열 편집, 열기/저장 라운드트립을 다룹니다
  • TXLSXWorksheet.Scenarios를 통한 타입화된 What-If 시나리오 관리자 작성은 활성/표시 시나리오, 변경 셀 범위, 잠금/숨김 상태, 사용자 메모, 입력 값과 숫자 서식, 워크시트 복사, 구조 편집, 수리 없는 열기/저장 라운드트립을 포함합니다
  • TXLSXWorksheet.AddDataTable과 DataTables를 통한 타입화된 What-If 데이터 테이블은 행 입력, 열 입력, 두 변수, 삭제된 입력, 계산 순서, 워크시트 복사, 구조 편집, SpreadsheetML 라운드트립 의미론을 다룹니다
  • TXLSXWorkbook.Connections를 통한 타입화된 외부 데이터 연결과 TXLSXWorksheet.QueryTables를 통한 워크시트 쿼리 결과는 새로 고침 정책, 자격 증명, 데이터베이스·웹·텍스트 설정, 정확한 타입화 매개변수 값, 테이블·필드 바인딩, 구조 편집, 워크시트 복사, 확장 안전 OOXML 라운드트립을 포함합니다
  • CalcMode, RefMode, 반복 설정, 재계산 플래그, 전체 정밀도 제어, 동시 계산 설정으로 완전한 통합 문서 계산 정책을 제공하며, 스키마 기본값과 기본값이 아닌 값의 독립적 유지가 함께합니다. 옵트인 RecalcLookupCache와 RecalcAggregateCache 메모는 반복되는 XLOOKUP/XMATCH, VLOOKUP/HLOOKUP/MATCH, SUMIF/COUNTIF/AVERAGEIF 스캔과 조건 없는 SUM/AVERAGE/MIN/MAX/COUNT가 하나의 단순 범위를 대상으로 할 때 재계산 패스 동안 첫 결과를 재사용하게 하고, 의존성 그래프가 참조적으로 안정하다고 증명될 때만 작동하므로 결과가 달라지지 않습니다
  • RecalcBeforeSave(manual, if-dirty, always)와 RecalcNeeded dirty 상태 검사, 전체 재계산 후 단일 셀 RecalcCell 값 조회를 통한 저장 시 재계산 정책을 제공합니다
  • {{name;default}} Fallback이 있는 보고서 값 자리표, 등록된 DataContext와 격리된 실행별 데이터 세션 위의 dbvalue/dbcount/tonumber/ref 식, live 수식으로 쓰이는 bare {{=formula(...)}} 셀, {{#imgsize}}, {{#comment}}, {{#html}}, {{#sheetvisible}}, {{#deletesheet}} 구조 지시문을 제공합니다
  • 정확한 {{#usertable(alias, logicalName, providerKey, name=expression)}} 셀을 통한 타입화된 지연 사용자 테이블은 컴파일 타임 구문 검사, resolver 없는 정적 사전 점검, 동적 타입화 매개변수, 등록 provider 강제, 대소문자 무시 충돌 진단, 선언 한계, dbvalue 또는 dbcount를 통한 첫 사용 시 로딩을 제공합니다. TXLSReportGenerator.DataContext와 TXLSReportTemplateChecker.DataContext는 같은 레지스트리를 생성과 검증까지 운반합니다
  • 지연 Filter, 안정적인 다중 키 Sort, Distinct 조합기를 통한 보고서 데이터 셰이핑을 제공합니다. FromDataSet과 FromObjects 어댑터는 열린 데이터셋과 게시 속성 개체 목록을 보고서 테이블로 바인딩하고, RunBidirectional 밴드는 마스터 행마다 자식 주도 열을 따로 주며, PreprocessAndRun은 최종 채우기 전에 템플릿이 데이터를 대상으로 스스로 수정될 수 있게 합니다
  • 양쪽 통합 문서 엔진의 클립보드 붙여넣기 옵션(값만, 행/열 삽입)과 직접 리더·행 커서·forward 리더의 OnSkippedRecord 진단(건너뛴 잘못된 셀 참조와 중단된 BIFF 시트 스캔 노출)을 제공합니다
  • SharedRevisionProtected와 SharedRevisionPasswordHash를 통한 클래식 XLS shared-revision 보호 라운드트립을 제공하고, 암호화 처리를 처음부터 끝까지 다룹니다. 암호화된 템플릿은 암호로 열리고, RunToEncryptedFile은 한 단계로 암호화된 결과를 만들어 냅니다
  • 통합 문서 간 CopyRangeTo/CloneRangeTo는 풀 간에 셀 스타일을 값 기준으로 재매핑하고, 클래식 XLS CreatedDate, LastSavedDate, RevisionNumber, EditTimeMinutes는 OLE 요약 스트림으로 라운드트립됩니다
  • 차트 렌더링은 막대 플롯 그룹의 GapWidth, Overlap, 누적/백분율 누적 그룹화를 소비하므로 렌더링된 막대·세로 막대 차트가 모델의 레이아웃 의미론과 일치합니다
  • 차트는 차트 공간 서식(둥근 모서리, 배경/테두리/플롯 영역 색)과 다섯 가지 차트 보호 스위치를 라운드트립하며 렌더러가 그 색을 소비합니다. 시리즈 수준 Smooth와 마커 채우기/테두리 색은 라운드트립되어 곡선 세그먼트로 렌더링됩니다. 축은 교차 모드와 눈금 표시 스타일을 갖고, AutoTitleDeleted는 파생 제목을 억제합니다
  • TXLSPDFWriter는 스프레드시트 없이 PDF를 만듭니다. 명시적 페이지 크기, 다중 페이지 흐름, 사각형/선/타원, 측정 텍스트, 변환, 클리핑, 그래픽 상태 제어를 제공합니다
  • AutoFit은 검사 가능한 보류 측정, 맞춤 영역 경계, IgnoreStrings, KeepHeightAutomatic, DefaultRowHeightVisual 하한, 한 번 호출하는 FitWorkbook이 있는 2단계 MarkSheet/ApplyMarked 흐름을 제공합니다
  • PDF Unicode 폰트는 자동·필수 서브셋·완전 프로그램·맵 전용 임베딩 정책, 독립형 OpenType CFF 프로그램, 측정과 드로잉을 위한 shared GPOS/kern 위치 지정, 사전 해석 OnFontEmbed Callback, 재귀 캐시 OnGetFontDirectories 패밀리/스타일 resolver를 지원합니다. PDF/A 출력에는 계속 폰트 프로그램 임베딩이 필요합니다
  • 컬렉션 도우미로 시트, 테이블, 차트, 이미지, 병합 범위, 외부 링크를 이름이나 위치로 조회, 삭제, 재정렬합니다
  • 데이터 범위에서 한 번 호출 차트 만들기: AddChartFromRange와 AddColumnChart / AddBarChart / AddLineChart / AddPieChart / AddAreaChart 단축 메서드는 데이터 블록에서 시리즈와 범주를 자동으로 유도합니다. Excel의 선택 범위에서 차트 삽입과 같습니다
  • 행/열 삽입과 삭제는 수식, 테이블 열과 그 필터·정렬 메타데이터를 조정하고, 수식 consumer에서 삭제된 테이블 열 structured reference를 무효화하며, 편집 영역이 다른 수식 앵커를 요구하면 셀 값·식 조건부 서식과 데이터 유효성 검사를 분할하고, 집계 조건부 서식 도메인은 온전히 유지하며, 정의된 이름, 하이퍼링크, bubble 크기를 포함한 차트 시리즈, 이미지·차트·텍스트 상자·WordArt 앵커를 자동으로 이동합니다
  • 클래식 XLS 평가기를 공유하는 수식 계산은 프로세스 전역·통합 문서 로컬 사용자 함수 레지스트리, 통합 문서 로컬 재정의 의미론, 병렬 안전 락 없는 핸들러 호출, broadcast 배열 연산자와 셀별 오류, 완전한 다변수 LINEST / LOGEST 행렬, 형태를 갖춘 TREND / GROWTH 예측, 텍스트·날짜·workday·엔지니어링/진수 변환·비트 연산·통계·집계·수학 함수 커버리지, 대상 재계산 없는 참조 보존 ISFORMULA 검사, 로그 이진 XMATCH / XLOOKUP, ISOMITTED 선택 인자 감지, ARRAYTOTEXT / VALUETOTEXT 배열 변환, 검증된 XIRR / XNPV 계산, PDURATION / RRI 투자 기간·성장률, 기간을 나눈 VDB 감가상각, OnUserFunction 사용자 함수 Callback을 제공합니다. AnalyzeFormulaIssues는 누락된 함수, 외부 참조, 정확한 순환 의존성 컴포넌트에 대한 구조화된 사전 점검을 제공합니다
  • 현재 행 형식(Table[@Col])의 structured reference는 직렬·병렬 재계산에서 수식 셀 자신의 행을 기준으로 평가됩니다
  • 의존성 분석은 다중 영역 참조를 포함한 범위가 지정되고 중첩된 수식 정의 이름을 확장하고, 정적 의존성 해석이 불가능할 때만 순환 가드를 사용합니다
  • Excel이 작성한 공유 수식은 전체 통합 문서, 스트리밍 직접 리더, 행 커서 경로에서 모든 follower가 올바른 셀 상대 식으로 확장되어 열리고, CSE 배열 앵커와 follower는 안전한 전체 배열 구조 편집, 전체 범위 복사, 워크시트 복제, 통합 문서 간 시트 복사에서 살아남습니다
  • 동적 배열은 TXLSXRange.SetDynamicArrayFormula로 작성할 수 있고, 열기/저장 주기에서 수식 범위와 XLDAPR 메타데이터를 유지하며, 루트 간에 하나의 중복 제거 메타데이터 레코드를 공유하고, 통합 문서 간 복사에서 그 레코드를 재매핑하며, 마지막 루트가 지워지면 제거합니다
  • 계산 배열 조합에는 형식화된 TRANSPOSE, 계산 행렬 곱셈, 행렬식과 역행렬, CHOOSECOLS / CHOOSEROWS의 음수·벡터 선택자, XLOOKUP / XMATCH / MATCH의 계산 조회 벡터와 배열 요청, 평가 단계와 배열 메모리 한도가 있는 stack·reshape 작업이 포함됩니다
  • XLSX 워크시트 폼 컨트롤 작성(AddFormButton / AddFormCheckBox / AddFormRadioButton / AddFormComboBox / AddFormListBox)은 VML 도형, ctrlProps 파트, 컨트롤 포함 파일의 그대로 라운드트립을 제공합니다
  • 경로를 보존하는 ExternalWorkspace와 호환 RegisterExternalWorkbook 파사드를 통한 live XLSX 교차 통합 문서 평가: 완전한 relationship 대상과 확장이 구분되어 유지되고, 모호한 별칭은 명시적으로 실패하며, 대상 파괴 시 live 어댑터가 안전하게 철회되고, 파일 로컬 타입화 캐시가 암시적 파일·네트워크 접근 없이 Fallback으로 유지됩니다
  • TXLSXWorkbookCompare를 통한 통합 문서 비교는 시트, 셀, 수식, 병합 차이를 구조화된 목록이나 차이당 한 줄 보고서로 보고합니다
  • TXLSCodeGen(Delphi 및 C++Builder 다이얼렉트)을 통한 통합 문서→코드 생성과 빨간 글꼴·주석 표기와 위반 항목만 유지하는 압축이 있는 TXLSImportCheck 열 규칙 가져오기 검증을 제공합니다
  • 인식되지 않는 XLS 워크시트 레코드는 그대로 라운드트립됩니다 — 벤더별 또는 최신 사양 레코드가 읽을 때 포착되어 저장할 때 재생됩니다
  • AddPresetShape를 통한 프리셋 기하 도형 — 모든 OOXML ST_ShapeType 토큰이 드로잉에 그대로 실려 라운드트립됩니다
  • 템플릿 처리: ApplyTemplate은 {{key}} 자리표를 시트 전체에서 치환하고, FillTemplateBand는 레코드별로 템플릿 블록을 수식 번역, 의존 조건부 서식, 유효성 검사, 링크, 메모, 그림, 차트, 병합 복제, 행 수준 #skip 조건과 함께 복제합니다. CloneRangeTo는 선택 가능한 페이로드로 동일한 의존성 인식 복사 경로를 노출합니다. TXLSCompiledReportTemplate은 자리표 위치와 텍스트 조각을 한 번 컴파일해 셀, 서식 있는 텍스트, 메모, 하이퍼링크, 드로잉 텍스트, 머리글/바닥글, 시트 이름, 정의된 이름, 문서 속성에 걸친 반복 실행에서 통합 문서를 다시 훑지 않고 재사용하며, 주소 지정 사전 점검 진단, 변경 전 엄격 검증, 진단 워크시트를 지원합니다. TXLSCompiledReportRunner는 대상 수준 진행률, 취소, 결정적 적용 개수, 재사용 가능한 완료/실패 상태, 짝을 이루는 통합 문서·워크시트 수명 주기 이벤트, 복구 가능한 문제 스냅샷, 원자적 스트림·파일·암호화 파일 출력을 더합니다. TXLSReportGenerator는 템플릿 읽기 이벤트, 통합 문서·파일·스트림·암호화 파일 소스, 제자리 또는 원자적 복제 수정을 더합니다. IXLSReportTable, IXLSReportCursor, 실행별 지연 provider와 resolver, 복합 키 관계 인덱스는 참조되지 않은 테이블의 로딩을 강제하지 않는 재사용 가능한 가상/메모리 데이터 소스를 공급하고, TXLSReportTableFactory는 완전한 중간 행 페이로드를 복사하지 않고 top, projected, counted, minimum, aggregate, unioned, split, hash-joined 뷰를 조합합니다. 실행 가능한 Delphi/C++Builder 갤러리는 동일한 데이터 컨텍스트, 컴파일 러너, 진단 워크시트, LastResult, RunToFile 경로를 시연합니다
  • 명명된 구조 보고서 밴드: TXLSCompiledReportBand는 정확한 통합 문서 또는 워크시트 범위 사각형 정의 이름을 해석해 1회성 상한 행/열 스냅샷에서 아래로, 오른쪽으로, 양축으로 확장하며, 값 유형, 혼합 참조 수식, 병합, 규칙, 유효성 검사, 하이퍼링크, 메모, 드로잉, 명시적 행/열 레이아웃 메타데이터를 보존하고 변경 전에 지원되지 않는 부분 구조는 거부합니다
  • 범위와 보고서 밴드의 반복 복사는 범위가 지정된 정의된 이름 접미사 검색을 재사용하고, 삭제·이름 바꾸기·범위 변경 후에도 처음 사용 가능한 이름 붙이기를 유지합니다
  • TXLSCompiledTableReportBand를 통한 확장형 Excel 테이블 보고서 밴드는 하나의 상한 커서 스냅샷으로 단일 데이터 템플릿 행을 확장하면서 머리글, 합계, 테이블·AutoFilter 범위, 필터·정렬 상태, 열 메타데이터, 계산·합계 수식, 스타일, structured reference, 의존 워크시트 개체를 유지합니다. 표현 가능한 빈 결과는 데이터 템플릿 행을 제거하고, 쿼리 기반 테이블과 안전하지 않은 레이아웃은 구조 쓰기 전에 거부됩니다
  • 범위 및 Excel 테이블 보고서 밴드는 ErrorMode, StrictDataAccess, RuntimeLimits, 불변 LastResult 진단을 공유합니다. WriteAndContinue는 명시적으로 복구 가능한 행 실패를 입력 행과 실제 출력 주소와 함께 literal 텍스트로 저장한 뒤 나머지 대상과 행을 계속 처리하고, 치명적인 구조·리소스 실패는 확장을 롤백합니다
  • raw 값 또는 표시 텍스트 Callback이 있는 셀/행 스캔, 템플릿 찾기/바꾸기, 대량 쓰기를 제공합니다
  • 중앙 스크래치 파일 관리(마무리 때 등록된 임시 파일 청소), 옵트인 VerifyEncryptedSave 저장 후 복호화 검사, 데이터셋 내보내기의 OnExportLimit 이벤트가 있는 포맷별 그리드 한계 상수를 제공합니다
  • 문자열 배열에서 한 번 호출 목록 드롭다운, 클래식 XLS와 XLSX에 공유되는 타입화 IME 모드, 독립 배열 속성을 유지하는 테이블 수식, 조건부 서식 확장, 중앙화된 CSS 스타일 클래스가 있는 구성 가능한 HTML 내보내기, AES 암호화 저장/로드 — AES-NI 가속이 있는 ECMA-376 표준 암호화(AES-128)와 Excel 기본 Agile Encryption(SHA-512 키 유도, AES-128/192/256) 읽기를 제공합니다
  • 클래식과 XLSX HTML 내보내기는 작업 소유 xlsrgbHtml 기하 스냅샷으로 Normal 폰트 최대 자릿수 너비 메트릭의 문자 너비를 고정 CSS 길이로 변환하고, 다중 시트 작업마다 하나의 상한 캐시를 재사용하며, 진단을 위해 활성 스냅샷을 노출하고, 저장된 워크시트 크기를 보존합니다
  • 준비된 XLSX 조건부 서식 평가는 우선순위와 StopIfTrue 계층, 상대 수식, shared 다중 영역 통계, Top/Bottom과 평균 규칙, 중복·고유 값, 상대 날짜 기간, 테마 인식 차등 스타일, 색상 눈금, 방향성 데이터 막대, 모든 기본 제공 아이콘 집합 패밀리를 다룹니다
  • 관용적인 XLSX 열기: 네임스페이스 접두사가 파싱 중 정규화되므로 비표준 또는 ISO 29500 strict 네임스페이스에 묶인 워크시트, 차트, 드로잉, 문서 속성이 일반 파일처럼 로드되고, 행이나 셀이 위치 속성을 생략한 워크시트는 스캔 순서상 앞 셀 뒤에 각 셀을 추론합니다
  • StrictOOXML을 통한 Strict Open XML 출력: XLSX 패키지 전체 — 워크시트, 공유 문자열, 스타일, 테마, 드로잉, 차트, 메모, 문서 속성, 보존된 파트 — 가 purl.oclc.org 어휘와 함께 ISO/IEC 29500 strict 적합성으로 저장되고, strict relationship 유형은 transitional과 마찬가지로 열 때 해석됩니다
  • 전체 통합 문서 XLSX 열기는 워크시트 ZIP 항목을 worker 로컬 inflater와 XML 리더로 바로 스트리밍하고, inflate된 워크시트 XML 스테이징 복사본을 유지하지 않으며, 임시 워크시트 입력 메모리를 활성 파싱 worker로 제한합니다
  • 스트리밍 직접 리더(TXLSDirectReader): .xlsx / .xlsm을 셀 단위로 훑으며 셀별·시트별 이벤트와 거의 일정한 메모리 사용량으로 매우 큰 통합 문서를 다루고, 선택적 날짜 감지, ZIP 입력과 압축 해제로 전파되는 조기 중단, 행 범위 pushdown, 값 디코딩 전 상수 시간 열 프로젝션과 함께 각 셀의 값, 종류, 수식 텍스트, 스타일 인덱스를 보고합니다. 옵트인 레이아웃 이벤트는 의존 셀보다 먼저 워크시트 크기, 기본 크기, 열 범위, 행 메타데이터, 틀 고정/분할 창, 병합 범위를 노출합니다. 상한 병렬 파싱은 worker 로컬 워크시트 inflater를 독립 예산의 producer-consumer 큐로 스트리밍하면서 호출 스레드의 Callback 순서를 유지하고, 서식 있는 문자열(rich string) 보존은 서식 런, 발음(phonetic) 범위, 발음 속성을 노출하며, 상한 공유 문자열 저장소는 작은 테이블을 메모리에 두고 큰 테이블과 풍부한 페이로드는 인덱스화된 닫을 때 삭제 임시 저장소로 옮깁니다
  • 스트리밍 직접 writer(TXLSDirectWriter): .xlsx 통합 문서를 셀 단위로 만들어 행이 도착하는 대로 각 워크시트를 패키지에 바로 기록하므로 매우 큰 파일도 거의 일정한 메모리로 생성됩니다. inline 또는 중복 제거 공유 문자열, 서식·발음 런이 있는 rich string, 숫자, Boolean, 날짜, 수식, 복제된 핸들이 있는 재사용 패키지 수준 셀 스타일, 중복 제거 폰트/채우기/테두리/숫자 서식, 폰트 강조, 밑줄, 윤곽선·그림자, 19가지 채우기 패턴, 다섯 가장자리의 14가지 테두리 스타일, 가로·세로 정렬, 줄바꿈, 축소, 들여쓰기, 회전, quote 접두사, 잠금/숨김 보호, 기본·사용자 지정 숫자 서식, 열 너비, 행 높이, 숨겨진 행/열, 병합 범위, 값·빈 셀·날짜 그룹·사용자 지정·동적·상위/하위 필터와 정렬 상태가 있는 워크시트·테이블 AutoFilter 범위, 세분화된 권한의 워크시트 보호, 레거시/현대 암호 메타데이터와 편집 가능한 보호 범위, 통합 문서 구조·창 보호, 틀 고정, 시트 탭 색상, 오른쪽에서 왼쪽 시트 뷰, 시트 뷰 표시 토글, 페이지 여백, 머리글/바닥글 텍스트, 인쇄 옵션, 페이지 설정, 페이지 맞춤 설정, 수동 페이지 나누기, 여러 시트에 걸친 워크시트 하이퍼링크, 통합 문서·시트 로컬 정의된 이름, 생성된 정의 범위, 인쇄 영역, 인쇄 제목 행/열, 프롬프트와 오류 경고가 있는 데이터 유효성 검사, 여덟 가지 셀 값 연산자·식·텍스트 매칭·상위/하위 순위·평균·중복/고유·빈 셀/오류 술어·데이터 막대·2색/3색 눈금·17가지 아이콘 집합 패밀리·차등 폰트/채우기 스타일·우선순위와 stop-if-true 제어가 있는 조건부 서식, 열 이름, 머리글/합계 행 플래그, 테이블 메모, 합계 행 열 레이블과 함수, 계산 열 수식, 합계 행 수식, 테이블 스타일 표시 옵션이 있는 Excel 테이블 파트, 그리고 클래식 메모, 스트리밍 이미지 소스, 앵커된 DrawingML, 타입화된 수식 기반 차트, 호출자 제공 ChartML을 위한 현재 시트 사이드 채널까지 다룹니다
  • 옵트인 오버플로 연속(AutoSplitRows)은 워크시트 한계를 넘는 행이 도착하면 <name>_2 시트로 내보내기를 나누고, FillTableCalculatedColumn은 Excel 작성 방식 그대로 테이블 열 수식을 모든 데이터 행에 밀어 넣습니다
  • BeginPatch를 통한 제자리 워크시트 패치: 스트리밍 writer가 기존 패키지의 워크시트 하나를 다시 쓰는 동안 손대지 않은 모든 파트는 압축 바이트 그대로 복사됩니다 — 템플릿을 다시 작성하지 않고 데이터 시트를 교체하거나 새 시트를 추가합니다. 초기화와 마무리가 실패해도 소스 핸들은 해제되고, 임시 소스 등록의 처리는 호출자 책임으로 남지만, 초기화 실패 이후에도 writer를 재사용할 수 있습니다
  • AddCamera를 통한 카메라 개체: 셀 범위에 묶인 live 스냅샷 그림이 문서화된 카메라 도구 드로잉 확장을 따릅니다. 바인딩은 저장과 다시 열기에서 라운드트립됩니다
  • AddAttachment를 통한 PDF 첨부 — 파일이 이름 트리가 있는 /EmbeddedFiles 항목으로 내보내기에 실리고, IXLSPDFAttachmentSource는 상한 스풀을 통해 저장당 한 번씩 페이로드를 지연 제공할 수 있습니다. 최종 조립은 개체를 대상에 순차적으로 스트리밍하므로 첨부 페이로드가 간접 길이 개체와 함께 고정 청크로 복사되고 최대 메모리가 평평하게 유지됩니다
  • PDFAProfile을 통한 명시적 PDF/A-1a, 1b, 2a, 2b, 3a, 3b 출력: 프로필별 식별, 색 관리, 태깅, 첨부, 원자적 검증 규칙이 포함됩니다. UsePDFA는 PDF/A-2b용 호환 스위치로 남습니다
  • PDF 내보내기는 클래식 레이아웃 또는 압축 개체 스트림과 이진 교차 참조 스트림(UseXRefStream, 더 작은 파일용)이 있는 옵트인 PDF 1.5 레이아웃으로 실행됩니다
  • PDF 내보내기는 취소와 부분 스트림 커밋 금지가 있는 재사용 가능한 begin/page/end 진행 Callback과, 문서 끝 메모 페이지와 공존할 수 있는 선택적 셀 위치 Unicode 메모 주석을 지원합니다
  • PDF 그라디언트와 투명도는 이어붙인 multi-stop 함수, stop별 알파 마스크, 셀 채우기 패턴, 이미지 그림자, 페이지 수준 클리핑, 문서 수준 리소스 캐시가 있는 네이티브 축성/방사성 셰이딩을 사용합니다. 선택된 PDF/A 프로필은 출력 커밋 전에 그래픽 제한을 적용합니다
  • SetFontFallbackChain, AddFontFallback, ClearFontFallbackChains를 통한 스타일 인식 PDF 폰트 Fallback 체인은 소스 패밀리, 스타일 등급, 글리프 커버리지로 임베딩 페이스를 고르고, 로드된 페이스와 선택을 캐시하며, 보조 스칼라와 교차 run 그래핌 클러스터를 보존하고, shared 글리프 Unicode 시퀀스를 CID 매핑으로 구분하고, 임베딩되지 않은 폰트를 쓰는 대신 PDF/A 출력을 원자적으로 거부합니다
  • TXLSPageImageExporter는 페이지네이션을 한 번 만들고 선택된 XLS/XLSX 페이지를 설정 가능한 DPI, 배율, 품질, 진행률, 취소, 페이지별 비트맵 수명으로 PNG 또는 JPEG로 점진적으로 내보냅니다. ExportRange는 꼭 맞는 셀 사각형 하나를 쓰고, 전/후 paint 이벤트는 픽셀 경계, 페이지 크기, 해상도, 배율, 페이지 번호, 원본 워크시트가 있는 읽기 전용 컨텍스트로 실제 페이지 캔버스를 노출하며, multipage TIFF 프레임을 포함해 렌더링 프레임마다 정확히 한 번 발생합니다
  • TXLSCellImageExporter는 페이지네이션 인공물 없이 클래식 또는 XLSX 셀 사각형을 측정·렌더링·저장해 하나의 압축 이미지로 만들며, 설정 가능한 해상도·배율·포맷·JPEG 품질, 투명 PNG 또는 색 있는 배경, 독립적인 개체·눈금선·셀 테두리 스위치, 할당 전 검증되는 픽셀·바이트 예산, 실패해도 기존 대상을 훼손하지 않는 같은 폴더 원자적 교체 파일 저장을 제공합니다
  • ODS 내보내기는 지원되는 스칼라 수식, 한정된 A1 참조, 사용자 지정 Boolean 유효성 검사, 수식 값 경계, 목록 소스를 OpenFormula로 번역합니다. 지원되지 않는 셀 수식 방언은 호환성 폴백을 유지하고, 지원되지 않는 유효성 검사 정의와 참조는 함께 생략됩니다
  • 반복되는 ODS 행 높이와 빈 셀 스타일은 압축 범위를 사용합니다. ODS 출력은 행 높이와 반복되는 스타일 꼬리를 유지하고, 단일 행 편집, 지우기, 워크시트 복사, 행 이동, tiling, XLSX 내보내기는 유효 높이를 보존합니다
  • 풀 모드 행 공급(OnNeedRow + RunRows)이 데이터 파이프라인에서 스트리밍 writer를 한 번에 한 행씩 구동합니다
  • 오른쪽에서 왼쪽 워크시트는 PDF 내보내기에서 미러링되고 HTML에서 dir="rtl"로 뒤집혀, 표시 플래그 라운드트립을 완성합니다
  • 워크시트 0 표시 모드는 실제 숫자 0(수식 결과, 통화 값, 날짜 기준 0 포함)을 숫자 서식이나 텍스트 측정 이전의 뷰어·시각적 내보내기에서 숨깁니다. 수식 표시 모드가 우선하고, 조건부 서식 시각 효과와 하이퍼링크는 활성 상태로 남으며, 저장된 값, 공개 서식 텍스트, CSV, ODS 출력은 기존 계약을 유지합니다
  • 옵트인 추적 폭 스트리밍 모드(TrackColumnWidths)는 워크시트를 메모리에 스테이징해 완성된 파일이 사용된 범위 <dimension> 힌트와 열별 가장 긴 값에 맞춘 열 너비를 갖게 하므로, 스트리밍 중에만 알 수 있는 데이터에 대해 autofit을 근사합니다
  • 참조 안전 XLSX 행/열 구조 편집은 하나의 보호된 트랜잭션에서 수식, 정의된 이름, 규칙, 링크, 드로잉, 인쇄 설정, 보호 범위, 클래식·스레드 메모 앵커, 스파크라인, 타입화된 피벗 소스와 뷰, 인식 가능한 보존 확장 참조를 갱신하고, 애플리케이션 소유 메타데이터를 위한 순서 있는 참여자 API를 제공합니다
  • 압축 랜덤 접근 XML 트리(TSimpleDomReader)는 같은 풀 리더에서 한 번에 만들어져 대소문자 구분 QName이나 로컬 이름 경로로 통합 문서 메타데이터, relationship, 테마, 기타 패키지 파트를 조회합니다
  • TXLSFormulaTracer를 통한 단계별 수식 평가는 정확한 피연산자 스택 전이를 제공하고, TXLSFormulaDebugger를 통한 대화형 진단은 파싱 노드, 피연산자 값, 평가 순서, 셀·범위 의존성, 지연 분기 선택, 건너뛴 식, 전파된 오류 출처를 노출합니다
버전 2.384.120

통합 문서, 보고, 렌더링 전체 기능 세트

이번 릴리스는 실행 경로에 상한을 두고 포맷 안전 규칙을 명시하는 방식으로, 지원하는 통합 문서·보고·렌더링 API를 확장합니다

통합 문서 포맷과 계산

  • TXLSXXmlMaps와 TXLSXXmlCellBindings로 편집 가능한 XML 맵과 셀 단위 스키마 바인딩을 다룹니다. 관계(relationship) 라운드트립과 저장 전 검증도 포함됩니다
  • TXLSXWorkbookViews로 순서가 있는 다중 창 통합 문서 상태를 다룹니다. 활성 탭, 기하 구조, 표시 여부, 표시 플래그, 확장, 안전한 시트 인덱스 재매핑이 포함됩니다
  • XLS와 XLSX 모두에서 다중 영역 선택과 분할창별 독립 활성 셀을 지원하며, 구조 편집 시 재매핑과 잘못된 범위의 원자적 거부를 제공합니다
  • TXLSFormulaTokenStream, ParseFormulaTokens, GetFormulaTokens, FormulaTokensToText, SetFormulaTokens로 호출자가 소유하는 무손실 수식 토큰을 제공합니다
  • 클래식 XLS 수식 고정은 수식 텍스트를 디컴파일하지 않고 컴파일된 BIFF 참조를 분류하고, OnlyExternal 모드에서는 확인된 외부 통합 문서 참조만 변환하며, 불확실한 수식은 그대로 두고, 문자열 리터럴 결과를 온전히 보존한 채 배열 그룹을 원자적으로 고정합니다
  • XLSX 외부 통합 문서 수식은 문법을 인식하는 숫자 슬롯 lexer 하나로 엄격한 변환, 진단, 재계산, 통합 문서 간 복사, 생성 저장을 처리하고, 파일명 호환성은 등록된 대상이 정확히 하나 일치할 때만 정규화합니다
  • TXLSXExternalLink는 소스 relationship ID, 1 기반 슬롯, workbook/DDE/OLE/미확인 링크 종류를 노출하고, 대상이나 시트 목록이 바뀌면 상수 시간 revision 갱신으로 컴파일된 외부 바인딩을 무효화합니다
  • ConvertExternalDefinedNamesToRefErrors는 클래식 XLS와 XLSX에서 확인된 외부 통합 문서 정의를 네이티브 #REF!로 원자적으로 바꾸되, 이름 식별자, 범위, 표시 여부, 주석, 매크로 및 기본 제공 메타데이터, 알 수 없는 XLSX 속성, 일반 셀 수식, 외부 링크 파트는 그대로 유지합니다
  • TXLSSortFormulaMode로 안정적인 행/열 정렬을 제공하며, 가로 키, 사용자 정의 비교자(comparer), 논리 의존성 보존과 물리적 수식 이동 중 선택을 지원합니다
  • 편집 가능한 BIFF2~BIFF4 글꼴, 숫자 서식, XF 스타일, 수식은 로드 시 현재 통합 문서 모델과 계산 모델로 변환됩니다
  • XLS, XLSX, CSV, TSV를 위한 단일 TXLSForwardReader 콜백 파사드는 백엔드 수준 컬럼 프로젝션, 행 범위, 수식 존재 상태, 선택적 수식 텍스트 억제, 포맷 감지, 취소를 제공합니다
  • 분할창, 선택 영역, 필터, 페이지 설정, 페이지 나누기를 위한 타입화된 사용자 지정 보기를 제공하며, 알 수 없는 BIFF 레코드는 원본 페이로드를 그대로 유지합니다
  • 타입화된 OLAP 속성, 웹 테이블 선택자, 고정폭 필드, 연결 매개변수를 다루며 확장 콘텐츠는 그대로 보존합니다
  • AnalyzeFormulaIssues가 누락된 함수, 외부 통합 문서 참조, 정확한 순환 참조 컴포넌트를 진단합니다
  • 스레드 안전한 전역 및 통합 문서 로컬 UDF 레지스트리는 로컬 재정의, 평균 O(1) 조회, 락 밖에서의 핸들러 호출을 제공합니다
  • XLSBidiVisualOrder는 아랍어/히브리어 혼합 텍스트, 라틴 텍스트, 숫자, 결합 기호, 미러링된 문장 부호를 다루면서 논리 셀 텍스트는 바꾸지 않습니다
  • 병합 셀 AutoFit 전략으로 늘어날 크기를 첫/마지막 멤버에 할당하거나 병합 범위 전체에 균등 분배할 수 있으며, XLS와 XLSX 모두 지원합니다
  • 타입화된 Excel 4 매크로 시트 보존과 함께, 워크시트 주소를 포함한 검사 전용 ScanMacroCommands 결과를 제공합니다
  • ISOMITTED, ARRAYTOTEXT, VALUETOTEXT, PDURATION, RRI를 계산에서 지원하며 저장과 오류 동작은 Excel과 호환됩니다
  • TXLSXWorksheet.Subtotal로 그룹화된 워크시트 요약을 제공합니다. 삽입되는 수식, 설정 가능한 총계, 상속된 표시 서식, 윤곽선 계층이 포함됩니다
  • GetCellVisibleFormat으로 셀을 실체화하지 않고 유효 스타일을 검사하고, CheckDataValidation으로 후보 수준 검증과 원자적 커밋을 제공합니다
  • 클래식 XLS의 메타데이터 전용 열기와 선택 시트 열기는 BOUNDSHEET 오프셋과 상한이 있는 SST spill 저장소를 사용하고, XLSX, CSV, TSV와 하나의 forward-reading 계약을 공유합니다
  • 동적 배열은 스칼라 집계로 바로 스트리밍되고, 반복 조회는 타입화된 증분 범위 캐시를 재사용하며, 불변 수식 토큰은 상태 없는 객체를 컴파일 간에 공유합니다
  • 네이티브 로컬 피벗 구체화는 캐시된 셀과 와이어 메타데이터를 Excel 열기 및 명시적 새로 고침으로 검증하면서, 컴팩트·tabular·outline 보고 그리드, 반복 레이블, 기본 부분합 위치, 다중 측정값 축을 지원합니다
  • 네이티브 피벗 표시 계산은 네이티브 캐시 출력과 새로 고침 메타데이터로 기준 항목 비교, 누적 합계, 행·열 백분율, 부모 백분율, 누적 백분율, 밀집 순위를 다룹니다
  • REGEXTEST, REGEXEXTRACT, REGEXREPLACE는 공유 수식 예산을 갖춘 번들 UTF-16 백엔드를 사용합니다. GROUPBY와 PIVOTBY는 범위 지정 콜백, 다중 측정값, 필터, 정렬, 계층 합계, 상대 백분율을 지원합니다
  • 범위 지우기와 유니코드 텍스트 붙여넣기는 보호 검사, 희소 콘텐츠 스냅샷, 복원된 최신 셀 메타데이터를 갖춘 상한이 있는 undo/redo 트랜잭션 하나를 사용합니다
  • 형식화된 로컬 PNG/JPEG 셀 내 이미지와 희소 셀·행·열 Checkbox 서식은 접근성 메타데이터, 우선순위, 스타일, 콘텐츠 소유권, 구조 편집을 XLSX 라운드트립 전반에 유지합니다
  • 확장된 XLSB 읽기/쓰기는 지원되는 수식과 캐시, 이름, 병합, 하이퍼링크, 분할창, 테이블, 필터를 유지하며 지원되지 않는 기능에 대한 명시적 사전 검사를 제공합니다
  • 네이티브 Linux x64와 macOS ARM64 통합 문서 API는 실제 플랫폼 서비스를 사용해 지원되는 XLSX, XLSB, ODS 파일을 로드·편집·계산·저장합니다
  • 네이티브 클래식 BIFF8 통합 문서는 Linux x64와 macOS ARM64에서 편집, 계산, 큰 중첩 컴파운드 컨테이너, 문서 속성, 표준 RC4 또는 128비트 CryptoAPI 출력을 지원합니다
  • 네이티브 피벗 출력은 지원되는 보고 레이아웃에서 숫자·날짜·수동 그룹화와 11가지 사용자 지정 부분합 함수를 지원합니다
  • 통합 문서 비교는 엄격한 값 타입과 정확한 큰 정수, 유한한 숫자 허용 오차, 선택적 수식 캐시, 유효 스타일, 지오메트리, 리치 텍스트, 상한이 있는 지원 기능 정의(로컬 피벗, Slicer, 타임라인 상태 포함)를 유지하며, 실패 시 희소 저장소와 이전 결과를 보존합니다
  • ODS는 일반 메모 텍스트와 작성자, 표현 가능한 값·사용자 지정 필터, 동등한 암호 없는 보호를 정확한 변환 손실 보고와 함께 보존합니다. 취소된 스트림 저장은 대상을 보존하고, 0이 아닌 위치의 저장은 유효한 ZIP 오프셋을 유지합니다
  • FORMULATEXT는 대상을 평가하지 않고 저장된 식을 읽고, GETPIVOTDATA는 XLS, XLSX, 격리 평가기에서 상한이 있는 분리 로컬 캐시의 지원되는 표시 집계를 조회합니다. 네이티브 XLS 인라인 캐시 값과 보고서 필터 참조는 ID를 유지하고, 불완전하거나 지원되지 않는 캐시는 명시적인 오류를 만듭니다
  • INDEX, SORT, UNIQUE는 계산 배열과 상수를 받으므로 필터링, 정렬, 중복 제거, 행/열 추출이 자동 XLSX spill 크기 조정과 고정 범위 CSE 계산과 바로 조합됩니다. INDEX는 방향 인식 브로드캐스팅과 셀별 형식화 오류를 갖춘 행·열·영역 선택자 배열을 받고, 계산 소스에 영역 1을 받아들이며, 정의된 이름, LET, 스칼라 CHOOSE를 거치는 지원되는 스칼라 다중 영역 참조 ID를 유지합니다. 예제와 경계는 INDEX 영역 선택을 참고하세요
  • 명명된 스타일은 연결된 서식 파트와 로컬 재정의를 유지하고, 기본 제공 light/medium/dark 테이블 스타일은 편집 및 내보내기 경로가 사용하는 유효 서식으로 해석됩니다
  • 통합 드로잉 파사드는 DrawingML 개체를 그룹화/그룹 해제하고 이미지, 차트, 텍스트 상자, 보존된 앵커, 중첩 그룹이 뒤섞인 순서를 관계 손실 없이 재배치합니다
  • TXLSFormatSnapshot은 소스 통합 문서와 독립적으로 완전한 클래식 서식을 캡처하고, IXLSRange.ApplyFormat이 셀, 행, 열에 적용합니다
  • 클래식과 XLSX 통합 문서는 동일한 스트리밍 SaveSemanticSnapshot 및 증분 SHA-256 ComputeSemanticHash API를 노출하며, Content/SecurityComplete 프로필과 뷰어 상태, 휘발성 메타데이터, 수식 캐시 옵션을 명시적으로 지정할 수 있습니다
  • 새 XLSX 시트는 packed RLE 저장소에 호환되는 행 우선 타입화 벌크 쓰기를 유지하고, 실체화 없이 존재 여부와 저장소 통계 질의에 답하며, 개체 수준 접근이 필요해질 때 한 번만 안정적인 셀 개체로 확장됩니다
  • 클래식과 XLSX 셀 저장소와 워크시트 컬렉션은 독립적인 구조 세대(structural generation)를 노출해서, 오래 실행되는 리더도 값·수식·서식·이름 변경·활성화 편집을 구조 무효화로 취급하지 않고 토폴로지 변경을 감지할 수 있습니다
  • 셀 핸들은 기본 스타일 상태를 할당 없이 유지하고, 동일한 스타일 전용 빈 셀은 참조 카운트 페이로드를 공유하며 이후 로컬 편집을 위한 copy-on-write 격리와 저장소 통계에 기록되는 절감 바이트 수를 제공합니다

컴파일형 보고와 데이터 조합

  • TXLSCompiledReportTemplate은 셀, 서식 있는 텍스트, 메모, 스레드된 메모, 하이퍼링크, 드로잉, 차트, 머리글/바닥글, 시트 이름, 정의된 이름, 문서 속성 전반의 자리표(placeholder)를 한 번만 컴파일합니다
  • TXLSCompiledReportBand는 상한이 있는 1회성 데이터 스냅샷에서 정의된 이름 기반 행/열/크로스탭 밴드를 확장하면서 수식, 의존 개체, 명시적 축 메타데이터를 보존합니다
  • TXLSCompiledTableReportBand는 한 행 Excel 테이블 템플릿을 확장하면서 머리글, 합계, 필터, 정렬, 수식, 스타일, 구조화된 참조를 유지하고, 실제 0행 결과도 안전하게 처리합니다
  • IXLSReportTable, IXLSReportCursor, IXLSReportRandomAccessTable, TXLSReportMemoryTable은 가상 소스와 메모리 소스를 위한 하나의 계약을 제공합니다
  • TXLSReportRelationIndex는 타입화된 복합 키 버킷을 한 번만 만들어 평균 O(1) master-detail 조회를 제공하고, 행 페이로드는 복사하지 않습니다
  • IXLSReportTableProvider와 TXLSReportDataContext는 명시적/지연 테이블을 등록하고, BeginRun은 대소문자 무시 해시 조회, 네거티브 캐싱, 결정적 provider 오류 캐싱, 동일 별칭 재귀 즉시 감지를 갖춘 고립된 IXLSReportDataSession을 만듭니다. 컴파일된 템플릿, 러너, 범위 밴드, Excel 테이블 밴드는 논리 실행당 하나의 세션을 자동으로 사용하고, 두 PreprocessAndRun 패스는 같은 스냅샷을 공유하며, 동시 실행은 서로 격리되고, 성공/취소/실패 어떤 경로든 반환 전에 자기 스냅샷을 해제합니다
  • TXLSReportDataRequest와 IXLSReportDataResolver는 순서 있는 타입화 매개변수, 소스 메타데이터, 읽기 전용 실행 제어, 그리고 미처리/해결됨/찾지 못함/데이터 오류라는 명시적 결과로 명명된 요청 또는 사용자 요청을 추가합니다. resolver는 O(1) 디스패치를 위해 대소문자 무시 provider 키로 등록하고, 레거시 provider는 어댑터로 호환을 유지하며, 명시적 테이블이 계속 우선하고, 실행은 두 번째 resolver 호출 전에 같은 별칭의 상충하는 지문(fingerprint)을 거부합니다
  • TXLSReportDataLimits는 캐시된 별칭, 명명/레거시 provider, 테이블 스키마, 이름, 매개변수, 문자열, 오류 메시지에 상한을 둡니다. 잘못된 소스 좌표, 제어 문자, 중복 매개변수 이름, 지원되지 않는 Variant 컨테이너, 잘못된 결과 조합, 재귀, 해결 도중 취소는 대상 커밋 전에 실패 처리되고, 취소 시 미완료 캐시 항목을 제거해 깨끗하게 재시도할 수 있습니다
  • TXLSReportTableFactory는 지연 평가되는 top/projection/union/split 커서와 행 수, 최솟값, 집계, 중복 보존 해시 조인을 제공합니다
  • TXLSReportQueryProvider는 등록된 읽기 전용 쿼리 정의만 템플릿에 노출하고, 타입화된 매개변수와 상한 있는 타임아웃을 호스트 실행기에 전달합니다
  • TXLSCompiledSheetReportBand와 TXLSCompiledOverflowReportBand는 forward 커서에서 의존성을 인식하는 레코드별 시트와 상한 있는 연속 시트를 만듭니다
  • TXLSReportIncludeLibrary는 재귀적인 명명 include를 해석하고, 순환을 결정적으로 보고하며, 불변의 재사용 가능한 라이브러리로 고정됩니다
  • 컴파일형 보고서의 조건, 조회, 정규식, 동적 수식은 파싱된 식 노드와 해석된 열 인덱스를 재사용합니다
  • TXLSReportDynamicFormat과 TXLSReportFormatEvent는 레코드를 인식하는 숫자 서식, 행 높이, 열 너비를 컴파일된 대상 단위로 적용합니다
  • IXLSReportImageDataProviderV2와 TXLSReportImageBinder는 상한 있는 바이트 또는 소유 스트림에서 타입화된 이미지 대상을 해석하며, 워크시트, 밴드, 테이블, 논리 행, 커서 행, 읽기 전용 현재 행, 앵커, 변환, 취소, 크기 제한 컨텍스트가 안정적으로 제공됩니다. 러너, 제너레이터, 범위 밴드, Excel 테이블 밴드는 생성된 워크시트 셀을 훑지 않고 각 대상을 직접 바인딩합니다
  • V2 보고서 이미지는 상한 있는 PNG/JPEG/GIF/BMP/EMF/WMF 헤더에서 실제 크기와 DPI를 얻고, Natural, 중앙 정렬 Contain, 잘라내기 Cover, Stretch 맞춤을 지원하며, 변경 전에 안전하지 않은 래스터 기하를 거부하고, XLSX와 ODS 라운드트립에서 앵커 기준 오프셋을 유지합니다
  • IXLSXImageBlob과 TXLSXImageBlob은 반복되는 이미지가 불변 래스터와 SVG 페이로드를 1회 SHA-256 다이제스트와 선택적 캐시 키와 함께 공유하게 합니다. XLSX와 ODS는 서로 다른 미디어 페이로드를 시트 간에 재사용하고 다시 열 때 공유 페이로드를 복원합니다
  • 의존성을 인식하는 차트 재바인딩은 범위/시트 밴드가 확장될 때 시리즈, 수식, 이름, 앵커를 변환합니다
  • TXLSCompiledReportRunner는 begin/target/saving/end 단계를 보고하고 취소, 스트림 및 원자적 파일 출력, 정확한 적용 수, 격리된 데이터 세션 간 재사용 가능한 실행을 지원합니다. ErrorMode는 호환 정지 동작 또는 명시적으로 타입화된 데이터/provider/0 나눔/잘못된 정규식 실패의 계속 처리 중 하나를 고를 수 있고, StrictDataAccess는 레거시 빈 값이나 센티널 개수 대신 누락된 데이터를 노출하며, 불변 LastResult 스냅샷은 러너 재사용 전체에서 순서 있는 런타임 문제와 최종 상태를 유지합니다
  • 보고서의 스트림/파일/암호화 파일 출력은 하나의 단계적 트랜잭션을 사용합니다. 치명적 오류, 취소, 직렬화, 부분 스트림 쓰기, 파일 교체 실패 시 이전 대상 전체가 보존되고, 성공한 비암호화 출력은 소스 통합 문서 형식을 유지하며, 대형 스트림 롤백 스냅샷은 관리되는 임시 저장소로 넘칩니다(spill)
  • 보고서 출력은 비어 있는 대상 스트림에 대해 백업 스냅샷을 생략하되, 출력이 실패하면 대상 내용과 위치의 롤백은 그대로 유지합니다
  • 컴파일된 대상은 동적 서식보다 먼저 평가된 다음, 콘텐츠, 숫자 서식, 행 높이, 열 너비를 정확한 롤백과 함께 원자적으로 커밋합니다. 복구 가능한 셀 진단은 수식을 지우고 나머지 기본 스타일을 유지하며 같은 기본 글꼴끼리 풀링된 빨강 글꼴/노랑 채우기 파생 스타일을 공유하고, 안전한 비셀 대상은 원래 값을 유지하며 구조 대상은 fail-fast를 유지합니다
  • TXLSReportRuntimeLimits는 대상 변경 전에 보관 문제 수, 살균된 메시지 길이, 문제 메모리에 상한을 둡니다. 메시지는 한 줄이며 흔한 자격 증명을 가리고, RuntimeDiagnosticsSheetName을 지정하면 생성된 통합 문서와 함께 라운드트립되는 구조화된 진단 워크시트를 하나 쓸 수 있습니다
  • TXLSReportGenerator는 통합 문서/파일/스트림/암호화 파일 템플릿의 읽기와 생성 전체 수명 주기를 소유하며, 쌍을 이루는 이벤트, 안정적인 워크시트 컨텍스트, 안전한 취소, 원자적 복제 출력 격리, 그리고 컴파일형 러너와 동일한 복구 가능 오류 및 불변 결과 계약을 제공합니다
  • CloneRangeTo는 혼합 참조 변환, 겹침 사전 검사, 고정 소스 선형 반복 타일링과 함께 선택된 셀과 식별자 의존성을 복제합니다. 전체 축 조건부 서식과 유효성 검사 대상은 각 대상을 완전히 품는 구조 편집과 클론을 따라가고, 행 전체·열 전체·시트 전체 셀 복사는 희소 저장소와 안전한 겹침 소스 스냅샷을 유지합니다. 교차하는 가상 스타일 오버레이도 빈 좌표를 늘리지 않고 복사와 재매핑을 하며, 복사된 사각형 밖의 대상 오버레이 서식은 그대로 유지됩니다
  • TXLSReportPaginationPlanner는 고정 바닥글, keep-together 그룹, 행 분할, 유사 범위 병합, 균형 잡힌 보고서 열을 제공합니다
  • 컴파일형 보고서 분석, 엄격 실행, WriteDiagnostics는 잘못된 자리표와 누락된 값을 대상 종류와 정확한 주소와 함께 보고합니다
  • TXLSReportTemplateChecker와 TXLSReportTemplateMigrator는 컴파일러 의미론을 재사용해 템플릿을 검증하고 지원되는 레거시 자리표 형식을 변환합니다

접근성, 벡터, 이미지, 웹 출력

  • TXLSPDFTagMode와 DocumentLanguage는 테이블, 행, 의미론적 머리글/데이터 셀, Unicode 대체 텍스트를 갖춘 정보 제공용 XLSX 그림 Figure, 페이지당 조밀한 marked-content 식별자, 병합 셀 범위, 정확한 부모 트리, 장식용 그림과 기타 비의미론적 드로잉의 artifact 격리를 갖춘 자동 PDF 구조 트리를 생성합니다
  • TXLSPDFSignature는 보이는/보이지 않는 서명 필드, contained/covered/stretched PNG 외관, 호스트가 제공하는 CMS 데이터, 다이제스트 콜백, 패치된 바이트 범위, 그리고 개인 키 저장 없이 변경 금지, 양식 작성+서명, 양식 작성+서명+주석을 위한 명시적 DocMDP 인증 정책을 지원합니다
  • TXLSPDFAProfile은 출력 커밋 전 프로필 검증과 함께 PDF/A-1a, 1b, 2a, 2b, 3a, 3b를 선택합니다. PDF/A-3 연관 파일은 상세 AddAttachment 오버로드를 통해 Unicode 이름, MIME 타입, 설명, 바이트 크기, 수정 시간과 Source/Data/Alternative/Supplement/Unspecified 관계를 함께 담습니다
  • 재사용 가능한 PDF begin/page/end 진행 콜백과 취소로 부분적으로만 쓰인 대상 스트림을 막습니다
  • 스타일 인식 PDF 폰트 Fallback 체인은 글리프 커버리지와 임베드된 폰트 페이스를 캐시하면서 보조 문자, 그래핌 클러스터, 추출 매핑을 보존합니다
  • 문맥 기반 복합 텍스트 셰이핑은 리가처, 결합 기호 위치, 아랍어 접합, 소스 클러스터 매핑을 글리프 출력 전에 적용합니다
  • 네이티브 축성/방사형 multi-stop PDF 그라디언트, stop별 알파 마스크, 셀 채우기 패턴, 클리핑, 이미지 그림자는 캐시된 그래픽 리소스를 재사용합니다
  • 셀 메모를 위치가 지정된 Unicode PDF 텍스트 주석으로 바꿀 수 있으며, 문서 끝 메모 목록 출력도 계속 사용할 수 있습니다
  • TXLSSvgExport는 범위, 워크시트, 통합 문서, 페이지, 명명된 개체를 벡터 텍스트, 옵트인 안전 링크, 차트, 도형, 그림과 함께 렌더링합니다. 페이지 콜백은 한 번에 완전한 SVG 하나를 반환하고, 결정적 ID 접두사가 내장 문서를 격리하며, 공유 페이지 렌더러가 Excel 셀 채우기, 축소된 테두리, 셀별 글꼴과 정렬, shrink-to-fit, 이웃 셀 넘침을 그립니다
  • TXLSPageImageExporter는 하나의 페이지네이션 세션을 재사용하면서 선택된 페이지를 PNG 또는 JPEG로 점진적으로 만들거나, 선택된 페이지를 LZW 압축 multipage TIFF 하나로 원자적으로 씁니다
  • TXLSGraphicsBackend와 공유 페이지네이션 기하는 미리보기, 인쇄, PDF, SVG, 이미지, HTML, 개체 배치를 정렬하고, 직렬화기는 포맷별 인코딩을 유지합니다
  • 상한 있는 EMF/WMF 디코더는 레코드 봉투를 검증하고 escape 레코드를 거부한 뒤, 공유 Canvas와 SVG 기하를 통해 안전한 부분집합만 재생합니다. DC 상태 스택, 창/뷰포트/월드 변환, stock 개체를 포함한 펜/브러시/확장 펜 개체 테이블, 사각형, 타원, 선 체인, 다각형, 베지어 곡선, fill/stroke/결합 패스가 있는 path 괄호, 둥근 사각형, 호, 현, 파이, 각도 호, 영역 채우기와 프레임, 글꼴과 정렬이 있는 상한 텍스트 런, PNG로 다시 인코딩되는 stretch-DIB 이미지가 그 대상입니다. 클리핑과 private 레코드는 화이트리스트 밖이며 상한 있는 래스터 Fallback으로 안전하게 실패합니다
  • 클래식과 XLSX HTML 내보내기는 의미론적 행/열 머리글과 타입화된 pure-CSS hot tracking을 갖춘 명시적 스프레드시트 뷰를 제공합니다. 외부 링크는 script, data, blob, file, UNC, 제어 문자 대상을 거부하는 하나의 URI sanitizer를 공유합니다
  • XLSX 날짜 축 차트는 통합 문서 serial을 연속 좌표로 쓰고, 1900 윤날 호환 슬롯을 보존하며, 1904 날짜 체계를 존중하고, 공유 페이지네이션, SVG, PDF, 이미지, 미리보기, 인쇄, 뷰어, HTML 렌더링 전체에서 눈금을 실제 달력 일/월/년 단위로 전진시킵니다. 생략된 단위는 보이는 모든 시리즈에서 한 번 추론하고, 자동 밀도는 표시 범위, 축 너비, 측정된 레이블 글꼴, 숫자 서식, 회전을 사용하며, 설정된 주/보조 눈금선은 같은 상한 눈금 컬렉션을 재사용합니다
  • XLSX 날짜 축 모델은 base/major/minor 달력 단위와 날짜 축 자동 범주 플래그의 독립적인 존재 여부를 보존해서, 생략된 ChartML 요소는 생략된 채로 남고 명시적 일 단위와 false Boolean 값은 라운드트립됩니다. 타입화된 클래식 날짜 축 확장 필드는 모든 원본 값과 플래그를 유지하면서 활성 값은 XLSX 축 모델로 매핑할 수 있습니다
  • 다중 수준 범주 축은 leaf 우선 희소 캐시와 실시간 2차원 범위를 보존하고, 생략된 레이블은 상속하되 명시적 빈 레이블은 경계로 취급하며, 같은 레이블은 부모 범위 안에서만 병합하고, 역순/오른쪽에서 왼쪽 순서와 숨겨진 범주를 존중하고, 단일 수준 출력을 위한 NoMultiLevelLabels를 노출합니다
  • 셀에서 가져오는 차트 데이터 레이블은 시리즈별 독립 수식과 인덱스 캐시를 보존하고, 통합 문서 세대당 한 번 로컬 워크시트 표시 텍스트를 새로 고치며, 암시적 접근 없이 외부 캐시를 유지하고, 워크시트 복사와 보고서 확장에서 수식을 변환하며, 페이지네이션, SVG, PDF, 이미지, 미리보기, 인쇄, 뷰어, HTML 렌더링 전체에서 공유 및 점별 표시 여부를 존중합니다
  • 클래식 XLS와 XLSX 통합 문서는 무손실 3상태 개체 표시 정책을 공유합니다. 숨겨진 개체는 범위 확장과 미디어 작업 전에 제외되고, 뷰어는 가벼운 명명 자리표를 렌더링하며, PDF, SVG, 비트맵, 인쇄, HTML 내보내기는 기본 전체 개체 출력을 유지하면서 자리표 출력을 선택할 수 있습니다
  • 수동 차트 레이아웃은 필드 존재 여부와 잘못된 소스 토큰을 독립적으로 보존하고, 상한 있는 크기 보존 배치로 factor와 edge 모드를 해석하며, 안쪽/바깥쪽 플롯 대상을 구분하고, 제목, 범례, 플롯 영역, 축 제목 기하를 페이지네이션, SVG, PDF, 이미지, 미리보기, 인쇄, 뷰어, HTML 출력 전체에서 공유하고, 지원되는 ODF 위치를 절대 차트 거리로 변환합니다
  • XLSX 날짜 축은 레이블 숫자 서식과 소스 링크 상태를 보존하고, 축 텍스트 스타일과 시계 방향 회전을 적용하며, 역방향을 존중하고, 페이지네이션, SVG, PDF, 이미지, 미리보기, 인쇄, 뷰어, HTML 렌더링 전체에서 중복/희소 날짜의 연속 간격을 유지합니다
  • 수식 표시 모드는 저장된 값, 수식 캐시, 열 너비를 바꾸지 않으면서 통합 문서 뷰어, 미리보기, 인쇄, 이미지, EMF, SVG, PDF, 클래식 HTML, XLSX HTML 경로 전체에서 보호 셀을 인식하는 동일한 최종 텍스트, 정렬, 상한 있는 2배 유효 레이아웃 너비를 해석합니다
  • flatness 기반 적응형 3차 베지어 호는 PDF, SVG, 이미지 출력에서 하나의 정밀도 계약을 공유하고, 스케일이나 이심률이 요구할 때만 추가 세그먼트를 할당합니다
  • PDF 아웃라인은 중첩 Unicode 책갈피, 색상, 굵은/이탤릭 텍스트, 펼침/접힘 하위 항목을 지원하며, 배경과 오버레이를 위한 페이지 콜백을 제공합니다
  • 해석된 명명/기본 제공 테이블 스타일은 빈 셀을 실체화하지 않고 공유 HTML, PDF, 이미지, 미리보기, 뷰어 서식으로 흐릅니다
  • TXLSSvgExport.SaveObjectAsSVG는 전체 페이지를 잘라내지 않고 명명된 차트, 이미지, 도형 하나를 정확한 개체 경계로 렌더링합니다
  • HTML 내보내기는 차트와 도형을 인라인 SVG로 출력하고 SVG 그림, 드로잉 앵커, 링크, 지원되는 효과를 시트 전체 래스터화 없이 보존합니다
  • TXLSXHtmlExportSession은 공유 스타일을 한 번 훑은 다음 진행률, 취소, 리셋과 함께 워크시트를 점진적으로 내보냅니다
  • TXLSImageRenderEffects는 자르기, 밝기, 대비, 감마, 회전, 불투명도, 그림자를 그래픽 백엔드 전체에서 일관되게 적용합니다
  • 프리셋 도형, 조절점, 콜아웃, 순서도, 텍스트 상자, WordArt는 출력 포맷 전체에서 공유 벡터 기하를 사용합니다
  • 고급 차트 렌더링은 오차 막대, 추세선, 날짜 축, 숫자 간격, custom-first 구성 요소 순서를 따르는 셀 소스 레이블, 금융 high-low 및 up-down 막대를 다룹니다
  • 조밀한 차트 레이블과 파이 차트 레이블은 최종 벡터 출력 전에 결정적 충돌 조정과 리더선 라우팅을 거칩니다

애플리케이션 코드에 사용할 수 있는 XLSX 기능

XLSX API는 단순한 셀 쓰기뿐만 아니라 실용적인 통합 문서 생성, 보고서 출력 및 통합 문서 수정 시나리오를 지원합니다

  • 워크시트 구조 셀, 수식 계산, 병합 범위 직접 조회/제거가 있는 전체 범위 및 가로 병합 범위, 상한 AutoFit이 적용되는 행·열 크기, 윤곽선, 숨겨진 행/열, 틀 고정, 활성 시트 상태, 숨김 및 매우 숨김 시트
  • 스타일 및 표현 글꼴, 채우기, 테두리, 숫자 서식, 정렬, 서식 있는 텍스트, 테마 색상, 인덱스 색상, tint와 shade, 대각선 테두리, 재사용 가능한 스타일 풀
  • Excel 개체 셀 조회와 범위 삭제 도우미가 있는 하이퍼링크·메모, 앵커 조회·범위 삭제 도우미가 있는 이미지와 독립형 드로잉 텍스트 상자, 범위 인식 조회·삭제 도우미가 있는 조건부 서식과 데이터 유효성 검사, 이름 기반 조회·삭제 도우미가 있는 Excel 스타일 테이블, 직접 열 조회·삭제 도우미가 있는 AutoFilter 조건, 제목 조회·삭제 도우미가 있는 차트 개체, 차트 시트, 범위 지정 조회·삭제 도우미가 있는 정의된 이름, HasVbaProject / VbaProjectDefined 쿼리와 기존 모듈 소스 검사·편집이 있는 VBA 프로젝트 보존, 대상 조회·삭제 도우미가 있는 외부 통합 문서 링크
  • 페이지 및 메타데이터 지원 워크시트 보기 모드, 인쇄 영역, 제목 행과 열, 눈금선·제목 행 인쇄 옵션, 인덱스 조회·범위 제거 도우미가 있는 수동 페이지 나누기, Date1904 통합 문서, 문서 속성, 애플리케이션 메타데이터, 스트림 기반 저장/열기

같은 통합 문서 데이터로 내보내는 출력 형식

HotXLS는 바이너리 통합 문서 파일에 국한되지 않습니다. 현재 API는 일반적인 연동 및 보고 대상으로의 직접 내보내기 경로를 제공합니다

XLS 클래식 Excel 97-2003 통합 문서 읽기, 쓰기, 수정, 소유 스냅샷·선택적 독립 스타일 빈 셀·fail-fast 토폴로지 검증을 갖춘 constant-state 로드 셀 커서, 파일이나 스트림에서 빠른 시트 이름 감지, 이름 기반 시트 조회, 분할창 도우미, 통합 문서 활성 탭, 저장한 사용자 메타데이터, VBA 페이로드 로드/저장/지우기 도우미와 기존 모듈 소스 검사/편집, 창 기하/상태 제어, 탭·스크롤바·AutoFilter 날짜 그룹화 제어, 워크시트 보기, 눈금선 색상, 틀 고정 Window2 플래그 충실도, 윤곽선 스타일 제어, 워크시트 보호 권한, 상한 있는 바이트 단위 BIFF 프린터 드라이버 페이로드 보존과 복사 격리 공개 페이로드 접근, XLSX로의 타입 필드 우선 변환을 갖춘 페이지 설정 플래그, 다중 키 범위 정렬, 기본 제공 셀 스타일, 문서 속성, 내보내기 워크플로
XLSX OOXML 통합 문서 생성, 확장된 함수 커버리지와 1,048,576 × 16,384 전체 시트 그리드를 지원하는 A1 참조, 그리고 OnUserFunction/OnUserFunctionEx가 있는 수식 계산, 실체화된 희소 블록 또는 packed 저장소 위에서 동작하는 소유 스냅샷·선택적 독립 스타일 빈 셀·fail-fast 수명 검증을 갖춘 constant-state 로드 셀 커서, 로드 셀 스캔과 Callback 쓰기, 보고서 열 너비·행 높이를 위한 상한 AutoFit 한계, 잠긴 인덱스 색 보존, 가중 OKLab 팔레트 양자화, 사전 점검된 타입화 프린터 설정이 있는 SaveXLSXWorkbookAsXLS를 통한 결정적 희소 XLSX→BIFF8 변환, 복사 격리 공개 페이로드 접근, 정확한 지우기 의미론, dangling relationship 진단을 갖춘 바이트 단위 워크시트 프린터 설정 파트 보존, AES-NI 가속과 소프트웨어 Fallback이 있는 Excel 호환 AES 암호화 저장/로드(ECMA-376 표준 암호화), HasVbaProject / VbaProjectDefined 쿼리와 기존 모듈 소스 검사/편집이 있는 VBA 프로젝트 보존, 템플릿 텍스트 찾기/바꾸기, 구성 가능한 통합 문서/범위 HTML 내보내기, 직접 AutoFilter 조건 조회/제거와 미리보기 평가, 직접 내장 이미지 앵커 조회/제거, 범위 인식 조건부 서식·데이터 유효성 검사 조회/제거, 전용 lxHandleX 파사드를 통한 라운드트립
XLSB XLSX 파사드를 통한 검증된 값과 기본 스타일로, 형식화된 숫자, Boolean 값, 유니코드 텍스트, 일반 오류, 스타일 빈 셀, 워크시트 표시 여부, 일반 뷰, 행·열 크기, 페이지 여백, ZIP 압축, 결정적 타임스탬프를 다룹니다. 완전한 패키지 스테이징과 필수 기능 검사가 대상 커밋 전에 지원되지 않는 수식·이름·기능 개체·기본값이 아닌 계산 설정을 거부합니다
ODS styles.xml 데이터, 행/열 크기, 상속된 셀 스타일, 기본 수식 변환, 시트 보호, 명명된 범위, 타입화되지 않은 캐시 스칼라 값, 날짜의 소수 초, 음수 시간 길이가 있는 OpenDocument 스프레드시트 가져오기입니다. SaveAsODS를 통한 전체 내보내기는 타입화된 셀 값, 수식, 서식 있는 텍스트, 병합 범위, 하이퍼링크, 이미지, 차트, 조건부 서식, 데이터 유효성 검사, 틀 고정, 인쇄 영역, 윤곽선 그룹과 선택적 TODSExportOptions 제어를 유효한 ODF 패키지로 씁니다
CSV / TSV 자동 구분자 스니핑, BOM 인코딩 감지, RFC 4180 quoting, 선택적 값 유형 추론, 열별 가져오기 지시문, 고정폭 슬라이싱이 있는 OpenCSV를 통한 구분 텍스트 가져오기와, 스트림·파일 오버로드와 공백 패딩 고정폭 출력이 있는 통합 문서·워크시트·범위 내보내기 도우미를 제공합니다
HTML / RTF / PDF 보고서, 미리보기, 이메일 본문, 문서 전달을 위한 테이블 지향 내보내기로, 선택된 범위 조각, 구성 가능한 HTML 제목, 테이블 레이아웃 속성, 하이퍼링크 앵커, 메모 툴팁, 세로 정렬 스타일, 서식 있는 텍스트 런 스타일, 조건부 차등 스타일과 숫자 서식, 색상 눈금, 방향성 데이터 막대, 아이콘 패밀리 글리프, 최소 테이블 출력이 포함됩니다. TXLSHTMLImport는 명시적 소수점 구분자와 함께 1 기반 대상 셀에 선택된 하나의 최상위 테이블 또는 모든 테이블을 가져오며, 기존 전체 테이블 오버로드는 그대로 유지됩니다. SaveWorkbookAsHTML은 모든 보이는 XLSX 워크시트를 안정적인 시트별 앵커와 이스케이프된 시트 이름으로 하나의 탐색 가능한 문서에 게시합니다. RTF도 OpenRTF로 역가져오며, 테이블 셀이나 단락 목록을 기본적으로 A1에, 확장 오버로드를 통해서는 명시적 1 기반 대상 행/열에 매핑합니다. 통합 문서 SaveAsPDF는 모든 보이는 워크시트를 하나의 문서로 결합하고, 단색·조건부 채우기, 색상 눈금, 데이터 막대, 조건부 아이콘, 폰트 색상·크기·굵게·이탤릭·밑줄 강조, 정렬, 명시적 테두리, 선택적 눈금선을 렌더링하며, 인쇄 영역, 용지 크기 또는 포인트 정밀 사용자 지정 용지 크기, 방향, 여백, 배율, 너비 맞춤 설정, 열 너비, 행 높이, 수동 페이지 나누기, 반복 제목 행/열, &F 파일 이름과 &Z 경로 필드 코드와 선택적 머리글/바닥글 밴드 억제를 포함한 왼쪽·가운데·오른쪽 머리글/바닥글을 따르고, 가로·세로 양축으로 넓고 긴 범위의 페이지를 나눕니다. CalculatePageCount는 PDF 개체를 만들지 않고 전체 논리 페이지 수를 보고하고, 1 기반 FirstPage와 LastPage는 전체 페이지 필드를 유지하면서 출력 범위를 고릅니다. TXLSPaginationModel은 이러한 결정을 반복 제목, over-then-down/down-then-over 순서, 10%~400% 맞춤 배율, 드로잉 배치를 포함해 VCL 인쇄 미리보기, PDF 내보내기, 사용자 지정 캔버스, EMF 출력용 재사용 가능한 XLS·XLSX 논리 페이지로 노출합니다
Portable PDF / SVG / PNG 네이티브 포터블 렌더링은 분리된 스칼라·씬 스냅샷을 전송하고 드로잉 순서와 클리핑을 보존하며, 명시적 폰트 파일로 경계가 있는 Cairo 렌더링을 사용합니다. 통합 문서 인쇄 계획은 재계산이나 소스 변경 없이 인쇄 영역, 제목, 페이지 설정, 나누기, 맞춤 배율을 적용합니다

Why use it

HotXLS는 Delphi 또는 C++Builder 프로세스 내부에서 스프레드시트 생성을 유지합니다. 이에 따라 Office 자동화가 취약하거나 사용할 수 없는 데스크톱 유틸리티, 배치 도구, 서비스 및 설치 프로그램에 적합합니다

RAD Studio 커버리지

패키지는 버전별 패키지 프로젝트 및 버전별 출력 폴더와 함께 XE5부터 RAD Studio 13.1 Florence까지 Delphi 및 C++Builder를 지원합니다

Windows Win32와 Win64에서는 런타임 패키지 Lib/FPC/HotXLSLaz.lpk를 통해 Free Pascal 3.2.2와 Lazarus/LCL도 지원합니다. XLS/XLSX 통합 문서 API, 직접 스트리밍, 수식, 그리고 LCL 데이터셋과 TDBGrid용 TDataToXLS·TGridToXLS 내보내기 컴포넌트가 포함됩니다

패키지를 컴파일하려면 build-FPC-Lib.cmd Win64 또는 build-FPC-Lib.cmd Win32를 실행하고, 통합 문서와 압축 라운드트립을 검증하려면 Tests/Lazarus/Run-HotXLSLazarusSmoke.cmd Win64 또는 그에 대응하는 Win32 스크립트를 실행하십시오. 직접 설치한 Lazarus를 쓸 때는 LAZARUS_DIR을 설정합니다

Windows LCL 애플리케이션은 HotXLS 단위보다 먼저 LCL Interfaces 단위를 uses에 포함해야 하고, unit 검색 경로에 Lib와 Lib/FPC를, include 검색 경로에 Lib를 추가해야 합니다. VCL 데모 폼, VCL 통합 문서 뷰어, DevExpress 그리드 어댑터는 계속 Delphi/C++Builder 컴포넌트로 남습니다

네이티브 Linux x64와 macOS ARM64 애플리케이션은 지원되는 클래식 XLS, XLSX, XLSB, ODS 모델을 로드·편집·계산·저장합니다. 클래식 BIFF5 텍스트는 명시적으로 선언된 코드페이지를 사용하고, BIFF8 압축 유니코드는 정확한 UTF-16 코드 단위를 유지하며, 네이티브 계산과 검색은 유니코드 대소문자 매칭을 지킵니다

지원되는 레거시 차트 텍스트는 코드페이지가 바뀔 때 트랜스코딩되고, 표현 불가능하거나 지원되지 않는 바이트 텍스트 이식은 호출자 출력을 바꾸기 전에 거부합니다. 반복 ZIP 읽기는 이전 헤더 메타데이터를 해제하고, 명명된 스타일 조회에 첫 저장 항목이 포함됩니다

애플리케이션 설정, 레거시 인코딩 계약, regex 호환성 세부 사항은 Free Pascal 및 Lazarus 지원 문서를 참조하십시오

포터블 출력 하위 시스템은 Linux와 macOS에서 FPC, Cairo, FreeType, HarfBuzz, FriBidi로 네이티브 PDF, SVG, PNG를 렌더링합니다. 지원되는 네이티브 통합 문서 코어의 불변 스냅샷을 소비하며 명시적 폰트 지오메트리와 리소스 예산을 갖춥니다

배포 친화적

소스, 패키지, 빌드 스크립트, 데모, 로컬 HTML 문서, 설치 관리자 통합이 모두 포함되어 있어 팀이 웹 서비스에 의존하지 않고도 빌드, 테스트, 배포를 진행할 수 있습니다

Start points

라이브러리를 평가하거나 프로젝트에 연결할 때 아래의 로컬 파일을 먼저 참조하십시오