Biblioteka Excel dla RAD Studio

Odczytuj, zapisuj, stylizuj i eksportuj skoroszyty Excel bez automatyzacji Office

HotXLS to natywna biblioteka Object Pascal dla aplikacji Delphi i C++Builder. Bezpośrednio obsługuje klasyczną fasadę XLS i obecną fasadę XLSX, dostarczając API skoroszytów, edycję arkuszy, bogate formatowanie, pomocników eksportu, dema i dokumentację offline w pakiecie

Migawka skoroszytu XLS + XLSX
Wartości
Style
Eksport
Liczby
Obramowania
CSV
Daty
Kolory motywu
HTML
Formuły
Walidacja
RTF

Migawka aktualnych możliwości

Obecna linia HotXLS łączy oryginalną fasadę XLS z dedykowanym silnikiem XLSX, dzięki czemu starszy kod może nadal korzystać z klasycznego API, podczas gdy nowe projekty mogą bezpośrednio celować w funkcje OOXML

Natywne operacje We/Wy skoroszytów

Twórz, otwieraj, modyfikuj i zapisuj skoroszyty Excel bezpośrednio z kodu Delphi lub C++Builder. Nie jest wymagana instalacja Microsoft Excel, automatyzacja COM, ani zewnętrzny proces arkusza kalkulacyjnego

Zapisuj szablony XLTX bez makr przez SaveAs(FileName, xlsxOpenXMLTemplate) lub odpowiadające przeciążenie strumieniowe, łącznie z wyjściem strumieniowym; domyślny format zapisu pozostaje bez zmian

Klasyczna fasada XLS

Dojrzałe API dla skoroszytów Excel 97-2003 (.xls), pokrywające pełny klasyczny model obiektów z round-tripem BIFF8 o wysokiej wierności, oraz odczytujące starsze pliki Excel 2.0/3.0/4.0 (BIFF2-4) dla ich wartości

  • Zaindeksowane interwały wyjściowe formuł unikają powtarzanych skanowań poprzedzających wierszy przy przebudowywaniu dużych grafów zależności, w tym odwołań do wyników tablicowych oraz zależności rozciągających się między arkuszami
  • Zapis klasycznego XLS zachowuje wczytane lub obliczone pamięci podręczne formuł, w tym korzenie formuł współdzielonych i tablicowych; brakujące pamięci podręczne zachowują fallback obliczania, a jawne Recalculate odświeża istniejące wartości
  • Skalarne odwołania nazw zdefiniowanych przecinają zakresy jednowerszowe lub jednokolumnowe w komórce formuły, podczas gdy argumenty zakresowe agregacji i wyszukiwania zachowują pełne zakresy; przeliczanie unika fałszywych cykli zakresów, nadaje priorytet ukończonym pamięciom podręcznym wyszukiwania i zachowuje precyzję zmiennoprzecinkową w mieszanej arytmetyce całkowitoliczbowej i zmiennoprzecinkowej
  • Round-trip XLSX zachowuje dynamiczne formuły obszaru wydruku, kwalifikowane unie zakresów i wymagany indeks czcionki fonetycznej o wartości zero; generowane i zachowywane części współdzielą unikalne deklaracje typów zawartości, a właściwości niestandardowe i nieprzejrzyste relacje korzenia pakietu zachowują odrębne identyfikatory relacji
  • Klasyczny XLS zachowuje brakujące zaimportowane rekordy marginesów do momentu jawnego ustawienia odpowiadającego marginesu, bez zmieniania domyślnego wyjścia marginesów dla nowych skoroszytów
  • AGGREGATE obsługuje nieprzechowane błędy i zagnieżdżony wybór niezależnie, z osobnymi semantykami odwołań i obliczonych tablic dla opcji od 0 do 7
  • Round-trip XLSX zachowuje niemodyfikowany XML wykresów i przesunięcia zakotwiczeń wykresów, nazwy, rozmiary i schematy czcionek formatowania warunkowego, jawne flagi stylów i kolory RGB oraz nieokreśloną orientację strony, gdy ustawiono tylko marginesy
  • Pełny model obiektów: skoroszyt, arkusz, zakres, formuła, formatowanie, obraz, hiperłącze, zdefiniowana nazwa, ochrona, ustawienia strony i eksport raportów
  • Metadane kolumn klasycznego XLS ujawniają znaczniki zwinięcia konspektu niezależnie od stanu ukrycia i poziomu grupowania, zachowując je przez surowe round-tripy XLS, kopie formatów kolumn i kopie arkuszy
  • Ustawienia strony klasycznego XLS ujawniają HasSetupRecord i PrinterSettingsInitialized, zachowują nietknięty rekord BIFF Setup bajt po bajcie, pozostawiają rekord nieobecny, gdy go nie było, a pola zależne od drukarki inicjalizują tylko wtedy, gdy wymagają tego ich settery
  • Konwersja XLS-to-XLSX i XLSX-to-XLS przenosi typowane ustawienia strony i nieprzejrzyste bajty sterownika drukarki niezależnie, trzyma pola standardowe jako rozstrzygające nad zduplikowanymi prywatnymi wartościami domyślnymi i odrzuca przed zapisem celu ustawienia BIFF8, których nie da się w nim przedstawić
  • Skoroszyty klasycznego XLS i XLSX ujawniają zgodne polityki SaveExternalLinkValues i UpdateLinks; zapamiętane wartości zewnętrznych skoroszytów można pominąć bez usuwania definicji łączy ani pamięci podręcznych w pamięci, nieprawidłowe nietknięte deklaracje źródeł pozostają bezstratne, konwersja między formatami zachowuje dozwolone wartości polityk, a preferencje aktualizacji nigdy samodzielnie nie inicjują dostępu do plików ani sieci
  • Skoroszyty XLSX udostępniają dokładne wykrywanie, zliczanie i atomowe usuwanie okienek zadań Web Add-in; usunięcie waliduje ograniczone domknięcia relacji wewnętrznych przed mutacją, zachowuje każdą część współdzieloną przez inną relację, usuwa należne części relacji i nieaktualne wpisy typów zawartości, zapobiega odradzaniu się części ze skompresowanych kopii źródła i pozostaje idempotentne, podczas gdy klasyczny XLS i ODS zgłaszają operację jako nieobsługiwaną, bez skanowania pakietu
  • Arkusze klasycznego XLS i XLSX udostępniają zgodne, świadome okienek metody zaznaczania i przewijania o indeksach od 1 przez TXLSPanePosition; TryGetWindowScroll i ScrollWindow mapują współdzielone osie górne, dolne, lewe i prawe na natywny dwupoziomowy stan widoku każdego formatu, zachowują je przez zapis, otwarcie i kopię arkusza oraz atomowo odrzucają brakujące okienka lub nieprawidłowe współrzędne; migawki zaznaczeń pozostają uporządkowane, nakładające się i należące do wywołującego, strukturalne edycje całych wierszy lub kolumn przemapowują każde okienko, zachowując tożsamość obszaru aktywnego z deterministycznymi fallbackami komórki ocalałej i komórki brzegowej, a duże operacje na obszarach pozostają zamortyzowanie liniowe; klasyczny XLS dodatkowo agreguje kolejne rekordy zaznaczeń, zachowuje nietknięte lub nieprawidłowe treści rekordów, zgłasza zniekształcone grupy przez xlsDiagnosticSelectionRecordInvalid i dzieli zaznaczenia większe niż 1369 obszarów na fragmenty
  • Jednostka lxOutline, neutralna wobec silnika, buduje geometrię konspektu wierszy lub kolumn z posortowanych rzadkich rozpiętości, znajduje węzły summary-before i summary-after w czasie O(log n + k) oraz tworzy skompresowane, idempotentne plany zwijania węzłów, zmian poziomu wyświetlania, zachowania zagnieżdżonych potomków i rekurencyjnych aktualizacji stanu potomków, bez skanowania nieużywanych współrzędnych arkusza; oba silniki arkuszy udostępniają te same metody zapytań i sterowania węzłami, grupy OpenDocument zachowują natywny stan wyświetlania i konwertują się na znaczniki węzłów podsumowań XLSX
  • Skoroszyty klasycznego XLS i XLSX udostępniają ten sam kontrakt ResolveIndexedColor bez efektów ubocznych dla publicznych indeksów kolorów, wartości BIFF icv i indeksowanych kolorów OOXML; tokeny paletowe, automatyczne, systemowe i nieprawidłowe pozostają rozróżnialne, indeks obramowania zero zachowuje swoje znaczenie nieokreśloności, wyjście ARGB jest normalizowane, a kolory systemowe systemu operacyjnego są rozwiązywane wyłącznie przez jawny callback wywołującego
  • Oba silniki skoroszytów udostępniają zapytanie NearestIndexedColor bez efektów ubocznych, wsparte świadomą mutacji pamięcią podręczną OKLab; przeszukuje wyłącznie 56 fizycznych wpisów palety BIFF, zwraca indeksy publiczne i fizyczne wraz z metadanymi odległości i trafienia dokładnego, odrzuca częściową alfę i rozstrzyga remisy o równej odległości na rzecz najniższego indeksu publicznego
  • Oba silniki skoroszytów udostępniają deterministyczny, wolny od efektów ubocznych inwentarz ScanIndexedColorUsage dla wszystkich 56 fizycznych slotów palety, obejmujący znormalizowane wartości ARGB, liczniki definicji i odwołań, rodzaje konsumentów oraz blokady zachowania w stylach, rzadkich komórkach, obiektach arkusza, wykresach, komentarzach i formatowaniu warunkowym, bez materializowania nieużywanych komórek
  • Oba silniki skoroszytów udostępniają podgląd BuildBiffPalettePlan bez mutacji, który chroni konsumentów indeksowanych, agreguje bezpośrednie i rozwiązywane kolory motywu według częstości renderowania, zachowuje istniejące trafienia dokładne, mapuje kolory deterministycznie przez OKLab oraz raportuje tożsamość źródła, zmiany slotów, pokrycie dokładne, błąd ważony i kwantyzację przepełnienia, nie zmieniając skoroszytu ani zachowania zapisu
  • Oba silniki skoroszytów potrafią walidować i atomowo stosować aktualny plan 56 slotów przez ApplyBiffPalettePlan, odrzucając nieaktualne lub naruszone dane wejściowe przed jakąkolwiek mutacją i jednorazowo przebudowując dopasowanie percepcyjne; skoroszyty Classic dodatkowo dostarczają jawną BiffPaletteSavePolicy, której domyślne ustawienie zachowuje historyczne wyjście, której tryb optymalizacji dotyczy wyłącznie BIFF8, a której nieudane lub anulowane zapisy przywracają oryginalną paletę
  • Oba silniki skoroszytów udostępniają zwalidowaną wartość TXLSRenderCalibration z kontrolami szerokości, wysokości, odstępów wielowierszowych, marginesów komórek, skalowania ekranu i DPI pomiaru; przypisanie jest atomowe, przechwycenie zwraca niezależną migawkę operacji, wartości domyślne są deterministyczne, a ustawienie środowiska wykonawczego nigdy nie jest serializowane ani samo w sobie nie służy do zmiany geometrii arkusza
  • Oba silniki skoroszytów tworzą należące do operacji usługi IXLSRenderGeometry, których niezmienna kalibracja, generacja skoroszytu, backend, pełny podpis czcionek, szerokość zawijania i tekst tworzą ograniczoną, lokalną tożsamość pamięci podręcznej metryk; współdzielony pomiar GDI oraz konwersje pikseli, punktów, szerokości kolumn, MDW i użytecznej szerokości komórki eliminują procesowo-globalne pamięci podręczne DPI i szerokości bazowej AutoFitu, utrzymując jednocześnie skalowanie ekranu poza skalowaniem współrzędnych wyjściowych
  • AutoFit klasycznego XLS i XLSX przechwytuje jedną migawkę geometrii renderowania na operację i stosuje skalibrowany pomiar czcionek, zawijanie, odstępy między wierszami i marginesy komórek; paginacja przechwytuje tę samą geometrię lokalną skoroszytu na każdą budowę, dzięki czemu domyślne rozmiary stron pozostają stabilne, późniejsze zmiany kalibracji wymagają jawnej przebudowy, a obliczanie stron nigdy nie zapisuje przechowywanych wysokości wierszy ani szerokości kolumn
  • Paginacja PDF, SVG, bitmapy, podglądu wydruku i przeglądarki skoroszytów identyfikuje własny backend renderowania i zachowuje niezmienną kalibrację skoroszytu dla całej operacji; współdzielone dopasowywanie tekstu stron i zawijanie SVG używają lokalnej dla operacji, ograniczonej pamięci podręcznej metryk z pełnymi stylami czcionek i tożsamością zestawu znaków zamiast procesowo-globalnych obiektów pomiarowych
  • Eksporty zbiorów danych TDataToXLS mogą obejmować tylko wybrane pola albo wykluczać pola wrażliwe, zachowując spójność nagłówków, wierszy danych, callbacków i szerokości kolumn
  • Automatyczne tablice dynamiczne XLSX zmieniają rozmiar i posiadają własne komórki spill, zachowują przeszkody użytkownika z #SPILL!, wspierają A1# i unarne @ oraz odzyskują własność po ponownym otwarciu; stałe formuły CSE wyliczają surową arytmetykę zakresów element po elemencie
  • Wielotablicowe MAP i obliczane tablicowo FILTER zachowują błędy per element, a metadane rich-value XLSX zachowują typowane błędy #SPILL! i #CALC!
  • GetConversionReport sporządza inwentarz znanych strat formatu docelowego bez mutacji, a opt-in SaveAsChecked może je odrzucić przed zapisem; jawne wyjście xlsxOpenXMLMacroEnabledTemplate tworzy pakiety XLTM i zachowuje istniejące VBA
  • Dostarczone przez wywołującego implementacje TXLSQueryTableProvider odświeżają dane tabel zapytań o stałym schemacie transakcyjnie, zmieniając rozmiary tabeli i zakresów filtru z ograniczonymi wynikami, postępem, anulowaniem i rollbackiem
  • Automatyczne zapytania bazodanowe wiążą ograniczone parametry pozycyjne z jawnie typowanych literałów albo zapisanych komórek arkusza, włącznie z Unicode, pustym tekstem, datami, nullami i dostępnymi pamięciami podręcznymi formuł; Jet i ACE zachowują typowane daty bez konwersji znaczników czasu zależnej od locale, a odświeżanie stosuje wyniki transakcyjnie
  • Automatyczne zapytania Text odświeżają pliki rozdzielane albo o stałej szerokości z jawnym dekodowaniem, typowanymi polami, pomijanymi kolumnami, skonfigurowanym nagłówkiem i wierszem startowym oraz ograniczonymi transakcyjnymi aktualizacjami; pozycje o stałej szerokości używają zdekodowanych jednostek kodowych UTF-16, przycinają wypełnienie i zachowują zadeklarowane kolumny przy krótkich rekordach
  • Walidacja importu sprawdza ścisłe typy skalarne, granice numeryczne i datowe, unikatowość kompozytową oraz relacje między kolumnami względem zapisanych wartości i pamięci podręcznych formuł, z ustrukturyzowanymi naruszeniami adresowanymi komórkowo i jawnymi operacjami adnotacji albo skoroszytu poprawek
  • CELL odczytuje rzeczywistą tożsamość wskazywanego pliku, obsługiwane bazowe formaty liczbowe, wyrównanie, stan zablokowania i szerokość kolumny w XLS i XLSX; INFO("recalc") odczytuje tryb obliczeń skoroszytu, a niedostępne informacje o środowisku aplikacji Excel zwracają jawny błąd
  • Powtarzane pasma raportów klonują kompletne wątkowe konwersacje z przemapowanymi tożsamościami, a współdzielona natywna paginacja renderuje rozpiętości scalonych komórek, podczas gdy pamięci podręczne wykresów odświeżają się z obsługiwanych lokalnych zakresów po edycjach i przeliczeniu
  • Wbudowane obliczanie formuł z procesowo-globalnymi i lokalnymi per skoroszyt rejestrami funkcji użytkownika, semantyką nadpisań nazw lokalnych, wywoływaniem handlerów bez blokad, callbackami OnUserFunction i OnUserFunctionEx, a także popularnymi funkcjami Excela: tekstowymi, daty, dnia roboczego, inżynierskimi/konwersji podstaw, bitowymi, statystycznymi, agregującymi, matematycznymi i tablic dynamicznych — w tym operatorami tablicowymi broadcast z błędami per komórka, kompletnymi macierzami wielozmiennymi LINEST / LOGEST, ukształtowanymi predykcjami TREND / GROWTH, stabilnym SORT wiersza lub kolumny, stabilnym wielokluczowym SORTBY wiersza lub kolumny z niezależnymi kierunkami i kluczami tablicowymi, świadomym tablic zaokrąglaniem CEILING.MATH / FLOOR.MATH z broadcastingiem singletonów i błędami lokalnymi, stabilnym, świadomym tablic obliczaniem COT / ACOT / COTH / ACOTH / CSC / CSCH / SEC / SECH z błędami lokalnymi i gałęziami bezpiecznymi względem przepełnienia dla dużych danych wejściowych, obliczeniami powtórzeń COMBINA / PERMUTATIONA z kontrolą przepełnienia, ograniczonymi pamięciowo macierzami jednostkowymi MUNIT, konwersją skalara Unicode przez UNICHAR, tekstem waluty tajskiej przez BAHTTEXT, inspekcją ISFORMULA zachowującą odwołania bez przeliczania celu, indeksowanym hashowo UNIQUE wiersza lub kolumny, rozlanymi wynikami FREQUENCY, logarytmicznie binarnym XMATCH / XLOOKUP, wykrywaniem argumentów opcjonalnych ISOMITTED, konwersją tablic ARRAYTOTEXT / VALUETOTEXT, walidowanymi obliczeniami XIRR / XNPV, terminami inwestycji i stopami wzrostu PDURATION / RRI oraz amortyzacją VDB w okresach ułamkowych, plus pełne wiązania LET i domknięcia LAMBDA wywoływalne przez nazwy zdefiniowane i leksykalnie przechwytywane wewnątrz LET
  • Neutralne wobec silnika EvaluateFormulaAt wylicza tekst formuły A1 lub R1C1 w jawnym kontekście komórki arkusza, bez mutowania modelu komórki, pamięci podręcznej, stanu dirty, arkusza aktywnego ani grafu zależności; typowane wyniki zachowują błędy formuł, tablice, wartości puste, ulotność, anulowanie, autoryzację odwołań zewnętrznych i stabilne kategorie awarii, a IXLSFormulaEvaluationTemplate ponownie używa niemutowalnej, skompilowanej kotwicy między komórkami celu przy konfigurowalnych budżetach długości formuły, kroków, rekursji i pamięci tablic
  • Klasyczny XLS i XLSX udostępniają zgodne, wolne od mutacji metody ValidateFormulaEntry, politykę poziomu skoroszytu FormulaEntryPolicy i parsowane skany AuditFormulaSymbols w komórkach i nazwach zdefiniowanych, z szybszymi skanami rzadkich skoroszytów Classic XLS i pojedynczym przejściem po symbolach, które zachowuje niezależne znaleziska funkcji i nazw, zasięg, deduplikację i kolejność znalezisk; dokładnie puste dane wejściowe, formuły zwracające pusty ciąg, nieznane funkcje, nieznane nazwy, awarie składni, nieprawidłowe cele i ograniczenia formatu celu pozostają rozróżnialne, zwykłe przypisanie formuły stosuje atomowo ścisłe odrzucenie albo zachowanie, zachowane nieznane symbole wyliczają się i propagują jako #NAME?, zmiany UDF i nazw zdefiniowanych unieważniają nieaktualne zależności, klasyczny BIFF przechowuje zachowane nieznane wywołania jako funkcje użytkownika dodatków, walidacja rozpoznaje zarejestrowane lub callbackowe funkcje użytkownika, lambdy leksykalne i nazw zdefiniowanych, placeholdery raportów, zarejestrowane łącza zewnętrzne i poprawne odwołania strukturalne bez wywoływania handlerów, a niebezpieczne callbacki funkcji zewnętrznych lub w stylu makr pozostają zablokowane przed wyliczeniem argumentów, chyba że zostały jawnie autoryzowane
  • Bezstratna inspekcja tokenów formuł i strzeżona mutacja dla obu silników skoroszytów przez TXLSFormulaTokenStream, ParseFormulaTokens, GetFormulaTokens, FormulaTokensToText i SetFormulaTokens, ze strumieniami należącymi do wywołującego, projekcjami tokenów tylko do odczytu, surowymi ładunkami BIFF, niezależnymi flagami odwołań, klonowaniem, atomową wymianą odwołań, proweniencją kontekstu i walidacją przed zapisem zwrotnym
  • Tabele danych What-If z jedną zmienną w układzie wierszowym, z jedną zmienną w układzie kolumnowym oraz z dwiema zmiennymi, z izolowanym przeliczaniem zależności, błędami usuniętych danych wejściowych, edycjami strukturalnymi, kopiami arkuszy i obsługą round-tripu BIFF8
  • Skanowanie komórek, znajdowanie i zamiana z użyciem szablonu, wypełnianie zakresów callbackiem, bezpośrednie typowane zapisy tablicowe przez ForEachCell, FindText, ReplaceText, WriteCells oraz metod zapisujących wiersze i kolumny w wariantach numerycznym, tekstowym i Variant, plus ConvertFormulasToValues dla całego arkusza lub pojedynczej komórki, zamrażające formuły w ich obliczonych wynikach z zachowaniem wartości z pamięci podręcznej
  • Neutralna wobec silnika inspekcja pamięci podręcznej formuł przez IXLSFormulaCacheReader i CreateFormulaCacheReader każdego silnika skoroszytów raportuje obecność, pochodzenie (wczytane albo obliczone) oraz rodzaj: pusty, liczba, data-czas, ciąg, wartość logiczną lub błąd, bez wyliczania formuł, wywoływania funkcji użytkownika, dekompilowania tokenów i zmieniania stanu skoroszytu; dzierżawy okresu życia bezpiecznie unieważniają czytniki po zniszczeniu skoroszytu, członkowie formuł współdzielonych zachowują niezależne pamięci podręczne, a XLSX i ODS zachowują typowane błędy i jawne puste pamięci podręczne między ponownymi otwarćmi
  • Klasyczny IXLSWorkbook.CreateReadOnlyView i XLSX-owy IXLSXWorkbookOwner.CreateReadOnlyView tworzą w czasie stałym instancje IXLSReadOnlyWorkbookView współdzielące model, z lokalnymi dla widoku arkuszami aktywnymi, migawkami zapisanych komórek przez wartość, brakiem ekspozycji obiektów zapisywalnych, zapamiętanymi wynikami formuł domyślnie oraz opcjonalnym tekstem formuł albo izolowanym wyliczaniem formuł; równoległe widoki utrzymują prywatny stan rekursji, pamięci podręczne skalarne i tablicowe oraz skompilowane formuły XLSX, zewnętrzne wyliczanie XLSX czyta wyłącznie lokalne dla pliku pamięci podręczne łączy, spakowane komórki pozostają niezmaterializowane, a każdy widok trzyma dzierżawę odczytu, która odrzuca zapisy do modelu przed mutacją
  • Od 2.384.51 właściwość TXLSReadOnlyCellSnapshot.SheetName jest odczytywalną i zapisywalną właściwością WideString wspartą współdzielonym magazynem UnicodeString, co ogranicza alokacje nazw per komórka; zwykła składnia odczytu i przypisania się nie zmienia, ale surowy adres pola i poprzedni układ rekordu przestały być wspierane, więc wywołujący muszą przekompilować kod
  • TXLSWorkbookWorkspace przyjmuje odwoływalne adaptery Classic XLS, XLSX lub ODS z CreateWorkspaceWorkbook każdego silnika, zachowuje pełne tożsamości ścieżek lub IRI, rozwiązuje zewnętrzne arkusze według nazwy przed pozycją i wylicza formuły zewnętrzne przez jawne rejestracje na żywo, opcjonalny kontrolowany przez wywołującego loader ładowania raz na tożsamość, typowane pamięci podręczne plików oraz #REF!; równoległe żądania ładowania współdzielą jeden wynik, typowana diagnostyka ujawnia awarie i limity zasobów, metody rejestracji dla kompatybilności pozostają dostępne na obu fasadach skoroszytów, zniszczone cele odłączają się bezpiecznie, a przeliczanie nigdy nie otwiera pliku ani zasobu sieciowego w sposób domniemany
  • TXLSWorkbookWorkspace.BuildDependencyGraph wyciąga jeden graf formuł między skoroszytami z zarejestrowanych modeli Classic XLS, XLSX i ODS, zachowuje pełne tożsamości skoroszytów i arkuszy, chroni symboliczne lokalne i zewnętrzne nazwy zdefiniowane, rozwiązuje nazwy lokalne do konkretnych zależności, gdy to możliwe, i przechowuje duże prostokątne zakresy jako zwarte przedziały; drzewa przedziałów wierszy przyspieszają budowę krawędzi i wyszukiwanie zależnych, a budowa grafu czyta spakowany magazyn XLSX bez materializowania go
  • TXLSWorkbookWorkspace.Recalculate utrzymuje współdzielony graf zależności i przyrostowo oznacza go jako dirty, planuje acykliczne węzły formuł w topologicznym porządku między skoroszytami, odrzuca prawdziwe silnie spójne cykle formuł, nie odrzucając nieszkodliwych dwukierunkowych łączy skoroszytów, i współdzieli lokalną dla przebiegu pamięć podręczną komórek zewnętrznych z jawną diagnostyką trafień, pudeł, unieważnień i zablokowanych węzłów; wywołania w obrębie tego samego workspace'u są serializowane, usunięcie w trakcie przebiegu zwraca status zmiany workspace'u przez bezpieczne migawki adapterów, zniszczenie czeka na aktywne obliczenia, a węzły, które zawiodły, pozostają dirty dla jawnego ponowienia
  • CalculateAndVerify porównuje zapisane wyniki formuł ze świeżymi obliczeniami nieulotnymi i raportuje diagnostyki arkusza, komórki, formuły, wartości oczekiwanej i wartości rzeczywistej bez wymieniania pamięci podręcznej; RecalcAndVerifyEx dodaje głęboki audyt z izolowaną nakładką wyników grafu zależności, typowanymi kategoriami awarii z ograniczonymi stosami wywołań, anulowaniem postępu oraz opcjonalnym atomowym zastosowaniem przeliczonych wartości
  • Tolerancje pogłębionego audytu filtrują raporty o niezgodnościach bez tłumienia świeżych wyników pośrednich: formuły zależne korzystają z poddanych audytowi wartości, a jawne zastosowanie odświeża zmienione pamięci podręczne nawet wtedy, gdy żadna niezgodność nie zostanie zgłoszona; tolerancja bezwzględna i względna dotyczą obu wyników o podwójnej precyzji
  • Głębokie audyty formuł Classic XLS rezerwują pojemność traversalu i wydajnie kopiują sąsiadujące ze sobą zapamiętane migawki czystych double, zachowując pozostałe typy Variant oraz izolowaną nakładkę wyliczeń
  • Przeliczanie klasyczne używa leniwie budowanego grafu zależności, propaguje dane wejściowe oznaczone jako dirty wyłącznie do przechodnich zależnych, przelicza formuły ulotne przy każdym przebiegu, wylicza formuły acykliczne w porządku zależności i stosuje iterację silnie spójnych składowych dla odwołań cyklicznych; wyłączenie pełnej precyzji zaokrągla pamięci podręczne formuł i tabel danych What-If do ich efektywnej wyświetlanej precyzji numerycznej, zanim skorzystają z nich zależni
  • AutoFiltr, sprawdzanie poprawności danych list, tabele Excel z układami bez nagłówka i komentarzami per tabela plus wyliczaniem formuł z odwołaniami strukturalnymi (Table[Col], rozpiętości kolumn, [#Data] / [#All] / [#Headers] / [#Totals]), rozszerzenia formatowania warunkowego (pasek danych z wypełnieniem i kolorami obramowania wartości ujemnych, skala kolorów, zestaw ikon) z priorytetami unikalnymi per arkusz przy zapisie i regułami o zasięgu tabeli przestawnej kierowanymi do kubełka rozszerzeń Excel 2010+ oraz arkusze wykresów
  • Pola tekstowe, rysunki OfficeArt, typowany import tabel przestawnych sterowany relacjami, materializacja wielu wartości z filtrowaniem i grupowaniem, pola obliczeniowe, elementy i członkowie, sumy częściowe, sumy całkowite, stabilne sortowanie, klasyczne i rozszerzone obliczenia ShowDataAs plus komentarze z tekstem sformatowanym
  • Transakcyjne odświeżanie lokalnej pamięci podręcznej tabel przestawnych rozwiązuje źródła prostokątne, nazwy zdefiniowane z zasięgiem arkusza i źródła tabelaryczne w ich bieżącej geometrii, wyklucza fizyczne sumy tabel, zachowuje tożsamość źródła przez przenoszenie i zmiany nazw arkuszy, utrzymuje tożsamości istniejących pól i członków przy zmianie kolejności, usunięciu i ponownym wprowadzeniu źródła, utrzymuje stabilność zaznaczeń współdzielonych widoków, obsługuje typowane wartości błędów i odrzuca nieobsługiwane schematy albo nowe niezmapowane członków grup dyskretnych przed zmianą pamięci podręcznej
  • Bezpieczna materializacja arkusza tabeli przestawnej wylicza izolowaną pamięć podręczną, odrzuca niebezpieczne nakładanie się, zachowuje obiekty komórek i formatowanie oraz śledzi dokładne posiadané wartości przez zmiany rozmiaru, przenoszenie i ponowne otwarcie XLSX
  • Typowane zaznaczenia slicerów tabel przestawnych bez OLAP przegląda i zmienia zaimportowane zaznaczenia współdzielonych członków, przecina filtry połączonych widoków, zachowuje niezależne ograniczenia na innych polach i odrzuca niejednoznaczne albo nieobsługiwane powiązania przed mutacją
  • Wysokiej dokładności round-trip BIFF8, który zachowuje rekordy utworzone przez Excela, dokładne kolory RGB i motywu, widoki niestandardowe i metadane udostępniania / rewizji
  • Skoroszyty chronione hasłem przez szyfrowanie BIFF8 RC4, plus zapis i odczyt XLSX szyfrowany Agile ze zweryfikowanym HMAC integralności danych nad zaszyfrowanym pakietem oraz klasyczne rezerwacje zapisu (SetModifyPassword) niosące flagę zalecenia tylko-do-odczytu, skrót hasła i nazwę użytkownika rezerwującego
  • Przeciążenia AutoFit scalonych komórek mogą przypisać wymagany wzrost wiersza lub kolumny pierwszemu członowi, ostatniemu członowi albo rozłożyć go równomiernie na scalonej rozpiętości, zachowując stan ukrycia i respektując ograniczenia poszczególnych członów
  • Kopiowanie arkusza między skoroszytami (TXLSWorksheets.AddCopy) klonujące do innego skoroszytu wartości komórek, formuły (rekompilowane względem nazw arkuszy celu), formaty z dokładnymi kolorami RGB / motywu, scalone komórki, komentarze, hiperłącza, układ wierszy i kolumn, zablokowane okienka, ochronę, ustawienia strony, kolor karty, formatowanie warunkowe, sprawdzanie poprawności danych, kryteria AutoFiltra, tabele, osadzone obrazy, bloki tekstu sformatowanego (z czcionkami migrowanymi przez wartość) i arkusze wykresów (z odwołaniami serii rekompilowanymi względem celu); formuły, których arkuszy brakuje w celu, wskazują ponownie skoroszyt źródłowy jako łącze zewnętrzne, gdy ten ma tożsamość pliku
  • Widoki tabel przestawnych ze współdzieloną pamięcią podręczną, lokalne tworzenie slicerów tabel przestawnych i jawne usuwanie uwzględniające zaznaczenia, stałe odświeżanie pamięci podręcznej grupowanej oraz podglądy natywnych metadanych kompaktowego układu
  • Transakcyjne natywne wyjście arkusza tabeli przestawnej obsługuje układy grupowane i własne sumy częściowe wierszy; lokalne obliczeniowe pola SUMA i elementy posiadane przez pamięć podręczną zachowują sumy kontekstowe, kolejność rozwiązywania, obsługiwane obliczenia wyświetlania i filtrowanie, a nieobsługiwane stany są odrzucane przed mutacją
  • Osie czasu tabel przestawnych i stany danych slicerów dostarczają strzeżone lokalne filtrowanie dat, cykl życia współdzielonych widoków i jawne natywne odświeżanie elementów bez danych
  • Automatyczni dostawcy zapytań odświeżają obsługiwane zapytania Text, ADO, ODBC i Web jawnie, z ograniczonymi wynikami i zarejestrowanymi własnymi dostawcami
  • Inspekcja wykresów klasycznych dekoduje obsługiwane natywne tabele wypełnień OfficeArt, ujawnia średnice znaczników w punktach i waliduje zapisany tekst oraz rozpiętości adnotacji przed zastosowaniem typowanego stanu; surowy magazyn wykresów pozostaje zachowany, a przenośny wygląd wykresów klasycznych pozostaje walidowany osobno
  • Przenośne wyjście bezgłowe przechwytuje obsługiwane prostokąty klasycznego XLS albo XLSX do niemutowalnych migawek i renderuje PDF, SVG oraz PNG na Linux i macOS z jawną geometrią czcionek, tekstem sformatowanym, modelowanymi obiektami rysunków, obrazami w komórkach, polami wyboru logicznymi, obsługiwanymi zapamiętanymi wykresami XLSX i ograniczonymi zapamiętanymi wykresami BIFF8 z zadeklarowanym przez wywołującego układem i efektywnym rozmiarem legendy
  • Tekstowe i statystyczne argumenty tablic obliczeniowych zachowują koercję i błędy specyficzne dla funkcji, parują kowariancję według oryginalnych pozycji i respektują budżety obliczeń
  • Nazwy zdefiniowane w obliczeniach agregujących zachowują koercję skalarną, tablicową i odwołań, typowane błędy, zależności i limity zasobów

Nowoczesna fasada XLSX

Dedykowany silnik OOXML zbudowany wokół TXLSXWorkbook dla skoroszytów Excel 2007+ (.xlsx)

  • Współdzielone ciągi znaków, style, rysunki, funkcje arkusza, pakowanie ZIP/XML i metadane round-tripu, w tym świadoma pól obsługa Xstring SpreadsheetML, która zachowuje znaki sterujące i dosłowne tokeny _xHHHH_ bez przepisywania składni formuł
  • Ustawienia strony arkusza zachowują bajt-dokładne binarne ustawienia drukarki przez relację pageSetup i część printerSettingsN.bin per arkusz, akceptują niestandardowe lokalizacje części źródłowych, zapisują deterministyczne kanoniczne cele, głęboko kopiują ładunek przy kopiach arkuszy w tym samym skoroszycie i między skoroszytami oraz zgłaszają brakujące, źle otypowane albo wiszące relacje drukarki, bez wiązania niepowiązanej części binarnej
  • Typowane zapisujące wiersze i kolumny w wariantach numerycznym, tekstowym i Variant powiększają pojemność komórek geometrycznie przy powtarzanych partiach, dopisują partie wierszy bezpośrednio do prealokowanych rzadkich wektorów wierszy, bezpiecznie przycinają na limitach arkusza, zachowują stabilne uchwyty przy nakładaniu i omijają dyspozycję callbacków
  • Odczyt i zapis OpenDocument (.ods): importuj istniejące arkusze kalkulacyjne poprzez Open / OpenODS, eksportuj przez SaveAsODS lub SaveAs(xlsxOpenDocumentSpreadsheet), dostosuj wyjście za pomocą TODSExportOptions, i zachowuj dwukierunkowo style, sformatowany tekst, obrazy, wykresy, walidacje, formaty warunkowe, ustawienia strony, obszary wydruku, grupy konturów, strukturę arkusza i metadane skoroszytu; opcje eksportu zachowują normalne przeliczanie, anulowanie postępu, diagnostykę i ochronę zapisu, a wyjście plikowe zachowuje istniejący cel przy porażce serializacji lub anulowaniu
  • Reguły porównania komórek i wyrażeń ODS zachowują różnicowe formatowanie czcionki, jednolite lub przezroczyste tła oraz obsługiwane formaty liczbowe na pełnych celach całego wiersza, całej kolumny i szerokich, z użyciem zwartych nośników powtórzonych pustych; jawne wyzerowane atrybuty przetrwają, niepowiązane formatowanie bazowe zostaje na każdej komórce, a kolory motywu i indeksowane eksportują się jako rozwiązane kolory
  • Import z wielu formatów: OpenDocument (.ods) i CSV / TSV z wykrywaniem separatorów, wykrywaniem kodowania BOM i opcjonalnym wnioskowaniem typu wartości
  • Wykrywanie podpisu zawartości: DetectExcelContentFormat bada początkowe bajty pliku lub strumienia, by odróżnić pliki złożone BIFF, pakiety OOXML, pakiety OpenDocument i zwykły tekst rozdzielany niezależnie od rozszerzenia pliku, a oba silniki skoroszytów odrzucają niedopasowane kontenery z jasnym komunikatem wskazującym właściwy loader
  • Sformatowany tekst wyświetlany: właściwość tylko do odczytu FormattedText (na IXLSRange i TXLSXCell) renderuje wartość komórki przez jej format liczbowy — separatory, procenty, maski daty/czasu, maski wielosekcyjne, formaty logiczne — zgodnie z tym, co Excel pokazuje w siatce
  • Monitorowanie zmian pliku: TXLSFileMonitor obserwuje skoroszyt na dysku i odpala OnFileChanged, gdy inny proces zapisze go nadpisując, z konfigurowalnym interwałem odpytywania i dostarczaniem zdarzeń w wątku głównym albo wątku obserwatora; handlery mogą zatrzymać lub zniszczyć monitor, albo przełączyć obserwowany plik
  • Pytanie o hasło: zdarzenie OnPassword silnika klasycznego XLS pyta aplikację o hasło, gdy Open napotka zaszyfrowany skoroszyt z brakującym lub błędnym hasłem, i ponawia otwarcie
  • Szczotka formatów: TXLSXCellFormat opisuje jednokrotnie czcionkę, wypełnienie, obramowanie, wyrównanie, format liczbowy i ochronę, po czym stempluje komórki, zakresy, wiersze, kolumny lub całe arkusze — stosują się tylko dotknięte aspekty, a indeksy puli są rozwiązywane raz na zastosowanie dla szybkiego formatowania masowego
  • Zunifikowane strumieniowe wiersze: TXLSRowCursor przechodzi źródła .xls, .xlsx, .xlsm, .ods, CSV lub TSV wiersz po wierszu (FindFirst / FindNext), trzymając w pamięci wyłącznie bieżący projektowany wiersz albo szablon powtórzeń ODS, wypychając granice wierszy i wybór kolumn przed alokacją wartości, zachowując zapamiętane wyniki formuł i zapisane ostylowane puste komórki, odróżniając obecność formuły od dostępności tekstu formuły, opcjonalnie tłumiąc tekst formuły, pomijając komórki pokryte ODF, przeskakując bezpośrednio między wybranymi kolumnami w powtarzanych rozpiętościach ODS, dekodując BOM-y UTF-8 lub UTF-16 i wielowierszowe rekordy tekstu w cudzysłowach, węsząc separatory przecinka, średnika, tabulatora lub pionowej kreski oraz udostępniając wyszukiwanie ValueByCol w czasie stałym; jawne stany cyklu życia, idempotentne anulowanie, pożyczone albo przeniesione właścicielstwo strumienia, widoki wierszy zero-copy weryfikowane generacją, PeakRowBufferedBytes i SheetPassesStarted czynią długotrwałe skany obserwowalnymi i bezpiecznymi, a TXLSForwardReader adaptuje te same backendy do callbacków arkuszy i komórek indeksowanych od 1, bez otwierania pomijanych części arkuszy
  • Postęp i diagnostyka: skoroszyty klasycznego XLS i XLSX dostarczają callbacki pracy plus callbacki begin/work/end z anulowaniem, a IXLSWorkbookProgress i TXLSXWorkbook.Diagnostics ujawniają stabilne kody, wagę, operację, kontekst arkusza lub pakietu, natywne wartości zwrotne i szczegóły wyjątków
  • Zapisy bezpieczne wobec awarii: awarie zatwierdzania arkusza, wykresu, rozszerzeń stylów, VBA, strumienia kontrolek, magazynu i wyjścia w klasycznym formacie propagują się do wywołującego, a wyjście dyskowe XLS, XLSX i ODS jest najpierw etapowane, zanim plik docelowy zostanie atomowo podmieniony
  • Podmiana celu na Windows toleruje uchwyty metadanych i czytników pozwalające na usunięcie w systemach plików wspierających POSIX rename, podczas gdy istniejące czytniki zachowują oryginalne bajty; dostęp do usunięcia, blokady bez współdzielenia usuwania i ochrona tylko do odczytu są sprawdzane przed pojedynczym commitom, bez ponawiania zapisu, a starsze albo nieobsługiwane systemy plików zachowują historyczną ścieżkę commitu
  • Diagnostyki zapisu do pliku, które pozwalają działać: TXLSXWorkbook.SaveAs(FileName) i jego przeciążenie z jawnym formatem zachowują natywny błąd Windows, gdy podmiana pliku docelowego zawiedzie, z kodem diagnostycznym 1005 i nietkniętym oryginalnym plikiem docelowym
  • Kompaktowy magazyn komórek i stylów: komórki XLSX żyją w blokach po 256 wierszy ze stabilnymi publicznymi uchwytami i przyjazną cache serializacją w porządku wierszowym; wpisy wierszy nie niosą redundantnego tagu ładunku, a zmiany wartości, formuł i tekstu sformatowanego omijają rekalsyfikację indeksów; zaimportowane style komórek rozwiązują się przez jeden niemutowalny array cellXf o bezpośrednim indeksie; a automatyczna kompakcja puli stylów przed każdym zapisem wyrzuca niepowołane czcionki, wypełnienia, obramowania, formaty liczbowe, wyrównania i ochrony
  • Nakładki stylów przedziałowe: formatowanie wierszy, kolumn i prostokątów pozostaje kompaktowe bez materializowania pustych obiektów komórek, rozwiązuje się leniwie przy dostępie do komórki, przeżywa edycje strukturalne i przechodzi round-trip jako zwarte wpisy kolumn, wierszy i komórek tylko ze stylem
  • Zwykły zapis ze strumieniowaniem wierszy: StreamingWrite (domyślny) zapisuje każdy wiersz arkusza bezpośrednio do strumienia deflate pakietu, dzięki czemu szczytowe zużycie pamięci podąża za największym pojedynczym wierszem, a współdzielone ciągi i pomocnicze części XML strumieniują po jednym wpisie przez pojedynczy, wielokrotnego użytku serializator UTF-8
  • Otwieranie tylko dla metadanych: TXLSXWorkbook.MetadataOnly parsuje właściwości skoroszytu, nazwy zdefiniowane, nazwy i stany widoczności arkuszy, style, motyw, połączenia i łącza zewnętrzne, ale pomija XML komórek arkuszy plus współdzielone ciągi, dane komentarzy i osób, relacje arkuszy, rysunki, wykresy, tabele, tabele zapytań, tabele przestawne i osiągalne z arkuszy nieprzejrzyste ładunki — dla szybkiego, małopamięciowego odkrywania właściwości i nazw w dużych skoroszytach
  • Sloty zewnętrznych skoroszytów XLSX podążają za porządkiem deklaracji w workbook.xml i zachowują puste placeholdery dla uszkodzonych relacji, utrzymując stabilność dalszych odwołań formuł [N] między odczytem i zapisem
  • Selektywne ładowanie arkuszy: TXLSXWorkbook.SelectedSheets pozwala Open parsować XML komórek tylko dla wskazanych arkuszy, podczas gdy pozostałe arkusze zachowują nazwy i widoczność, ale nie komórki; wywołaj LoadSheet(Index), by zmaterializować pominięty arkusz na żądanie z oryginalnego archiwum
  • Przyrostowa kopia części skompresowanych: TXLSXWorkbook.PreserveRawParts otwiera jedno prywatne, zwalidowane archiwum źródłowe na operację SaveAs i kopiuje niezmienione wpisy motywu, projektu VBA, połączeń, łączy zewnętrznych, obrazów, wykresów, tabel przestawnych, pamięci podręcznych tabel przestawnych oraz osiągalne z relacji wpisy nieprzejrzyste z ich oryginalnymi skompresowanymi ładunkami; udane zapisy do pliku stają się następnym czystym baseline'em, podczas gdy skoroszyty oparte na strumieniu, zmienione pliki źródłowe, zmodyfikowane ładunki, nieobsługiwane metody kompresji i niezgodności rozmiarów skompresowanych korzystają z transakcyjnego fallbacku serializacji albo ścieżek odrzucenia
  • Zachowywanie rozszerzeń skoroszytu: otwarcie i zapis XLSX zachowują obce deklaracje przestrzeni nazw korzenia skoroszytu, atrybuty zgodności znaczników, kompletne ładunki <extLst> poziomu skoroszytu i ich nieznane relacje, podczas gdy typowane arkusze, nazwy, widoki, właściwości obliczeń i pamięci podręczne tabel przestawnych pozostają edytowalne; odwołania relacji są przemapowywane przy konfliktach generowanych identyfikatorów
  • Slicery: Worksheet.Slicers.Add(Table, ColumnName) tworzy slicery tabel (Excel 2013+) end-to-end — w zestawie pamięć podręczna slicera, zarezerwowana nazwa zdefiniowana, rozszerzenie arkusza i zakotwiczenie rysunku — z kontrolą pozycjonowania, podpisu, liczby kolumn, stylu i wysokości wiersza; skoroszyty niosące slicery utworzone przez Excela (tabelowe albo przestawne) przechodzą otwarcie i zapis z nimi bez uszczerbku, odtwarzając niemodyfikowane części i zakotwiczenia bajt po bajcie, podczas gdy reszta skoroszytu pozostaje w pełni edytowalna
  • Wiele okien skoroszytu: TXLSXWorkbook.WorkbookViews ujawnia uporządkowaną kolekcję z operacjami dodawania, wstawiania, usuwania, przenoszenia i czyszczenia, typowanym stanem widoczności i geometrii, edytowalnymi nieznanymi atrybutami i rozszerzeniami oraz przemapowaniem workbookViewId arkuszy; ustalone właściwości pojedynczego okna pozostają zgodnymi projekcjami pierwszego widoku
  • Zewnętrzne nazwy zdefiniowane i awarie odświeżania: TXLSXExternalLink parsuje, przechowuje i przenosi w round-tripie wpisy <definedNames> z powiązanych skoroszytów, a każdy TXLSXExternalSheetData śledzi flagę RefreshError stanu nieudanego odświeżenia, bez wymagania żywego źródła danych
  • Import ze schowka w wielu formatach: XLSPasteFromClipboardRich przedkłada format schowka XML Spreadsheet (formuły, style, scalenia) nad zwykły tekst Unicode, z dedykowanymi funkcjami wykrywania formatu, ekstrakcji i parsowania SpreadsheetML 2003
  • Natywna wymiana Biff8 przez schowek: CopyToClipboard na obu silnikach publikuje obok tekstu i HTML własny ładunek dokumentu złożonego „Biff8" Excela, a PasteFromClipboard konsumuje go w pierwszej kolejności — wartości przychodzą bez ponownego parsowania zależnego od locale, względne odwołania formuł zakotwiczają się ponownie względem celu wklejenia, a formaty liczbowe, czcionki, wypełnienia, obramowania, wyrównanie i scalone komórki przechodzą round-trip zarówno między skoroszytami HotXLS, jak i z kopii Excela
  • XLS-owy i XLSX-owy PasteFromClipboard przechwytują BIFF8 i tekst zastępczy razem, pod jedną blokadą schowka, zachowując dotychczasową politykę ponawiania i korzystając z odczytywalnego, przechwyconego tekstu bez ponownego otwierania schowka, gdy BIFF8 jest niedostępny albo nie daje się sparsować; gdy nie da się pobrać towarzyszącego tekstu, czytelny BIFF8 pozostaje użyteczny, a sama niedostępność tekstu nie wstawia żadnych komórek
  • Awarie publikacji wymaganego tekstu i BIFF8 w schowku zachowują oryginalną diagnostykę Win32 GetLastError przez cały kod sprzątający, tak aby wywołujący mógł obejrzeć ją od razu
  • Znaczniki tekstu sformatowanego: właściwość komórki TaggedText konwertuje w obie strony między blokami tekstu sformatowanego a lekkimi tagami (<b>, <i>, <u>, <s>, <sub>, <sup>, <color=#RRGGBB>, <font=Name>, <size=N>)
  • Czytniki schowka bezpieczne na 64 bitach z ponawianiem przy kontencji, zapamiętanym dopasowywaniem obszarów docelowych formatowania warunkowego i walidacji danych dla obszarów bezwzględnych, odwróconych, całych wierszy, całych kolumn i rozdzielonych białymi znakami, konsekwentnym wyszukiwaniem reguł, usuwaniem, obliczaniem warunkowym i sprawdzaniem walidacji oraz indeksem hiperłączy PDF wyszukiwanym binarnie
  • Rozszerzalność obliczeń: rejestracja funkcji użytkownika po nazwie, API audytu nieznanych funkcji, otwieranie w trybie odzyskiwania pomijające uszkodzone części, natywna wymiana Biff8 przez schowek i zapamiętane dopasowywanie zakresów sprawdzania poprawności danych
  • Obrazy PDF: obrazy arkuszy osadzają się jako Flate RGB XObjects z JPEG passthrough i ponownym użyciem strumieni PNG (bez ponownego kodowania, kanał alfa zachowany przez miękkie maski), obrazy identyczne bajt w bajt osadzane są raz, bloki keep-together i XlsxAutoPageBreaks synchronizują paginację, a ZipCompressionLevel i DeterministicOutput sterują wyjściem zapisu
  • Potok wyjścia PDF: strumienie zawartości stron są kompresowane Flate, kolejne operacje tekstowe współdzielą wsadowe bloki tekstu z deduplikowanym wyborem czcionek i kolorów, równe sąsiednie wypełnienia scalają się w pojedyncze prostokąty, a współliniowe segmenty obramowań rysują się jako scalone biegi — mniejsze pliki i szybsza generacja; OnProgress i zdolny do przerwania OnProgressEx raportują stany begin, page i end, a Cancel zatrzymuje długie eksporty, nie zatwierdzając częściowego PDF w strumieniu docelowym
  • Wierność tekstu komórek PDF: prawdziwe zawijanie wierszy z pionowym wyrównaniem bloku i liniami justyfikowanymi lub rozproszonymi, tekst obrócony i pionowo ułożony w stos, shrink-to-fit, przepełnienie w stylu Excela do pustych sąsiednich komórek z przycinaniem, wyrównanie liczb do prawej przy wyrównaniu ogólnym, wcięcia, bloki tekstu sformatowanego ze stylem, rozmiarem, kolorem, podkreśleniem, przekreśleniem, indeksami górnym i dolnym per blok, obramowaniami ukośnymi i podwójnymi oraz tekstem rozpiętym na scalonych komórkach — wszystko pozycjonowane przez skalibrowane GDI szerokości znaków Helvetica
  • Wierność wydruku PDF: stylowane nagłówki i stopki z kodami Excela dla rozmiaru czcionki, koloru, bold/kursywa/podkreślenie/przekreślenie oraz indeksów górnych/dolnych, tryb wydruku czarno-białego, drukowane nagłówki wierszy i kolumn, centrowanie wydruku poziome i pionowe, wskaźniki komentarzy plus strona wykazu komentarzy na końcu przez PrintCommentsAtEnd, łącza GoTo w dokumencie dla hiperłączy wewnętrznych, preferencja PageLayout przeglądarki z metadanymi XMP, szerokości kolumn MDW zgodne z Excelem oraz osadzanie kolekcji TrueType z syntezowanymi cięciami bold/kursywa kroju Unicode
  • Wykresy PDF: wykresy arkuszy rysują się jako natywne wektory — kolumnowe/słupkowe zgrupowane, skumulowane i procentowo skumulowane, liniowe ze znacznikami, warstwowe, kołowe i pierścieniowe z etykietami procentowymi, punktowe oraz radarowe — z ramkami z tytułami, automatycznie skalowanymi osiami i etykietami podziałki, liniami siatki, legendami, etykietami danych, wypełnieniami per seria i domyślną paletą akcentów Excela; wykresy zakotwiczone za ostatnią komórką danych rozszerzają powierzchnię wydruku
  • Interaktywny PDF: hiperłącza arkuszy stają się klikalnymi adnotacjami łączy, a każdy eksportowany arkusz dostaje zakładkę w konspekcie dokumentu
  • Rozszerzalność na poziomie pakietu: typowane niestandardowe właściwości dokumentu, części z niestandardowymi danymi XML, towarzysze obrazów SVG, etykiety danych wykresów per seria pobierane z komórek z indeksowanymi pamięciami podręcznymi i nadpisaniami widoczności punktów, style tabel zdefiniowane przez użytkownika z kolorami per sekcja oraz API audytu sprawdzania poprawności danych wyliczające każdą łamiącą reguły komórkę
  • Ulepszenia wierności formatów: formaty liczbowe czasu upływającego [h]:mm:ss i ułamka # ??/?? renderują się wszędzie, nawiasy [Red] przemalowują tekst PDF, gradientowe wypełnienia komórek przechodzą round-trip i renderują się w HTML/PDF/przeglądarce, zablokowane okienka i przewijanie okienek odczytują się z powrotem, DispBlanksAs/PlotVisibleOnly są właściwościami wykresów, ramki komentarzy mają rozmiar przez WidthPt/HeightPt/AutoSizeFromText, a ValidateNumberFormat sprawdza niestandardowe ciągi formatów
  • Wyszukiwanie o semantyce Excela: FindText / ReplaceText wspierają symbole wieloznaczne (*, ?, ~ jako escape), dopasowanie całych komórek, rozróżnianie wielkości liter, wyszukiwanie tekstu formuł, skanowanie od tyłu, porządek skanowania kolumna po kolumnie, okienkowe FindTextIn / ReplaceTextIn zawężające wyszukiwanie do prostokątnego zakresu i callback zamiany per trafienie; grupowanie w stylu Excela przez AddSubtotals (oznaczone wiersze SUBTOTAL, suma całkowita, poziomy konspektu, podziały stron i tryb zamiany), A1ToR1C1 i R1C1ToA1 konwertujące formuły między stylami odwołań A1 i R1C1 w obie strony, plus WriteAutoValue do węszenia typów tekstowych jak w Excelu (daty ISO, amerykańskie m/d/yyyy i europejskie d.m.yyyy z opcjonalnymi czasami AM/PM), agregacja zakresu GetRangeStatistics, nierozróżniająca wielkości liter SortRange zachowująca formuły z semantyką odwołań Excela (części $ zostają, odwołania względne zakotwiczają się ponownie), fragmenty HTML pojedynczej komórki GetHtmlFromCell oraz fragmenty HTML jako bloki tekstu sformatowanego SetCellFromHtml
  • Tła arkuszy: SetBackgroundImage tworzy kafelkowane obrazy w obu silnikach skoroszytów; XLSX zachowuje własność mediów pakietu między kopiami arkuszy, a Classic odczytuje i zapisuje typowane rekordy teł BIFF8 z ciągłym dzieleniem ładunku, dokładnym zachowaniem nieznanego formatu, izolacją kopii i konwersją znanego formatu między silnikami; przeglądarka skoroszytów wyświetla poprawne tła za niewypełnionymi komórkami, podczas gdy wydruk, PDF, SVG, bitmapa, metaplik i oba eksporterzy HTML domyślnie trzymają tła wyłączone i udostępniają ExportSheetBackgroundImages dla jawnego wyjścia z ciągłością faz między stronami i ponownym użyciem zasobów per sesja
  • Głębia silnika formatów: warunkowe sekcje formatów liczbowych ([>=100]) wybierają według wartości, sekcje tekstowe (@) szablonują ciągi, TaggedText akceptuje <br>, <strong>/<em> i formy atrybutowe <font color=...>, ConvertFormulasToValues oferuje tryb tylko-zewnętrzny na obu fasadach, bloki keep-together kolumn uzupełniają bloki wierszy, klasyczne kontrolki formularzy Spinner/ScrollBar zapisują się do XLS, a auto-dopasowanie wierszy obsługuje scalone komórki
  • Wymiana przez schowek: PasteFromClipboard czyta tekst rozdzielany tabulatorami do komórek z awansowaniem typów liczba/data/logiczny i rozpoznawaniem formuł, a poziom zakresu CopyToClipboard publikuje zarówno tabelaryczny tekst Unicode, jak i ostylowany HTML z formułami, scalonymi komórkami, łączami, formatowaniem wyświetlania i zachowaniem osadzonych separatorów
  • Edytowalna przeglądarka skoroszytów: TXLSWorkbookViewer wiąże się bezpośrednio z każdym z silników skoroszytów, ładuje pliki XLS, XLSX, XLSM, XLTX, XLTM lub ODS, renderuje style i formatowanie warunkowe bez materializowania rzadkich komórek XLSX i dodaje edycję w miejscu świadomą komórek chronionych, wprowadzanie przez pasek formuły, automatyczne przeliczanie, zaznaczanie prostokątne, zdarzenia odwołań formuł oraz ograniczone undo i redo o złożoności O(1)
  • Pamięci podręczne tabel przestawnych klasycznego XLS używają niezależnych strumieni magazynu z unikalnymi identyfikatorami, odwołaniami źródeł do arkusza lub nazwy, nazwami arkuszy Unicode i szyfrowanym odczytem/zapisem pamięci podręcznej; istniejące rozszerzenia pamięci podręcznej zachowują swoje oryginalne bajty przy zapisie
  • Wielokrotnego użytku projektant układów przestawnych: TXLSPivotDesigner ujawnia strefy dostępne, wierszy, kolumn, filtrów i wartości, deterministyczne zmienianie kolejności pól, świadomą typów domyślną agregację, jawne zmiany agregacji, walidację układu i zastosowanie wyniku dla modeli przestawnych XLS albo XLSX
  • Klasyczne kontrolki formularzy: arkusze i kolekcje kształtów potrafią tworzyć, wyliczać, edytować, usuwać i przenosić w round-tripie kontrolki przycisków, przycisków opcji, pól wyboru, list rozwijanych i list, z typowanymi etykietami, stanami zaznaczenia, renderowaniem płaskim lub 3D, powiązaniami makr, powiązanymi komórkami, zakresami źródłowymi, rodzajami kontrolek i zakotwiczeniami komórek
  • Inspekcja wykresów klasycznego XLS przez GetChartModel dekoduje rodzinę wykresu, stan 3-D, tytuły wykresu i osi, legendę, osie z ich grupą osi głównej lub pomocniczej, nazwy serii, kategorie, formuły wartości i flagi wyświetlania etykiet danych serii z separatorami, wiązanie serii do głównej lub pomocniczej grupy wykresu, nazwane lub zewnętrzne odwołania kategorii i wartości, stylowanie linii, wypełnień i znaczników per seria z wypełnieniami w kolorach motywu niesionymi przez rozszerzenie koloru motywu GelFrame OfficeArt (indeks koloru motywu plus odcień), pełne parametry sceny 3-D ze strumienia wykresu oraz łącza wykresów przestawnych (nazwa widoku źródłowej tabeli przestawnej plus flaga ukrywania podpisów pól przez rekordy SXViewLink / PivotChartBits), a także osadzone obiekty wykresów zakotwiczone na zwykłych arkuszach przez AddChartObject, wraz z liniami trendu per seria (rodzaj regresji, rząd lub okres, przecięcie automatyczne lub stałe, wyświetlanie równania i R-squared, prognoza i wsteczna prognoza, nazwa wyświetlana) oraz słupkami błędów (strona kierunku, typ wartości, końcówki, wielkość)
  • Typowane obrazy nagłówków i stopek XLSX przez TXLSXWorksheet.HeaderFooterImages, obejmujące wszystkie sloty lewe, środkowe i prawe na stronach nieparzystych, parzystych i pierwszej, z bajtami obrazów, formatami, tytułami, wymiarami w punktach, marginesami w punktach, automatycznymi kodami pól obrazów, kopiami arkuszy i bezpiecznymi dla relacji round-tripami otwarcia/zapisu obok komentarzy
  • Edytowalne efekty obrazów XLSX przez TXLSXImage, w tym krawędzie kadrowania w procentach, przezroczystość, jasność, kontrast, wypełnienie stretch albo tile, rotację w stopniach i strukturalne zachowywanie niepowiązanych zaimportowanych DrawingML
  • Zaawansowana budowa wykresów XLSX i round-tripy z uporządkowanymi grupami wykresów: kolumnowymi, słupkowymi, liniowymi, kołowymi, warstwowymi, punktowymi, bąbelkowymi, radarowymi, giełdowymi, powierzchniowymi i 3D, prawdziwymi wykresami kombinowanymi z jawną kolejnością rysowania grup, parami osi głównych i pomocniczych, typowanymi osiami dat i serii, konfigurowalnymi widokami 3D, stylami galerii Excela, stylami tekstu tytułów, legend i osi, ręcznymi układami wykresu, tytułu, legendy i tytułów osi, rzadkimi pamięciami podręcznymi serii tekstowych lub liczbowych, rzadkimi wielopoziomowymi pamięciami podręcznymi kategorii z żywym rozwiązywaniem dwuwymiarowych zakresów oraz edytowalnym zachowywaniem nieznanych rozszerzeń i formatowania ChartML
  • Selektywne łatki formatów: TXLSXRange.ApplyFormatPatch kopiuje tylko żądane komponenty czcionki, wypełnienia, obramowania, formatu liczbowego, wyrównania lub ochrony, kafelkuje mniejsze wzorce źródłowe po większych celach i zostawia wartości komórek nietknięte
  • Eksport danych master-detail: TDataToXLS.ReadDetailTables rekurencyjnie eksportuje aktywne powiązane zbiory szczegółów pod każdym rekordem głównym, a IndentDetailTables dodaje jedną kolumnę wcięcia na poziom relacji, przy czym odziedziczone ustawienia eksportu utrzymują hierarchię spójną wizualnie; zdarzenia rekordów i wartości wyzwalane przed zapisem mogą filtrować rekordy i przekształcać wartości pól, nie niepokojąc kursorów zbiorów danych
  • Tworzenie WordArt: TXLSXWorksheet.AddWordArt tworzy tekst DrawingML zakotwiczony w komórce z konfigurowalnym presetem warp, kolorem wypełnienia tekstu i kolorem konturu, a kolejne cykle otwarcia/zapisu zachowują kompletne zakotwiczenie kształtu
  • Zachowywanie nieobsługiwanych części pakietu OOXML: niestandardowe części osiągalne z nieznanych relacji korzenia pakietu, skoroszytu, arkusza lub rysunku zachowują kolizyjnie bezpieczne identyfikatory relacji, typy zawartości, relacje potomne, wybór kompresji i dokładne bajty ładunku przez round-tripy otwarcia/zapisu, z możliwością rezygnacji i diagnostyką zachowanych części na TXLSXWorkbook
  • Tabele w stylu Excela ze stylami, zakresem i kryteriami filtru, stanem sortowania, stabilnymi identyfikatorami kolumn, etykietami i funkcjami wiersza sum, formułami kolumn obliczeniowych, formułami wiersza sum, świadomymi struktury edycjami wierszy i kolumn oraz pomocnikami kolekcji przechodzącymi round-trip
  • Typowane reguły ignorowanych błędów arkusza przez TXLSXWorksheet.IgnoredErrors, obejmujące każdą standardową kategorię błędów, odwołania komórek wielu obszarów, kopie arkuszy, edycje wierszy i kolumn oraz round-tripy otwarcia/zapisu
  • Typowane tworzenie scenariuszy What-If (Menedżer scenariuszy) przez TXLSXWorksheet.Scenarios, w tym scenariusze aktywne i pokazywane, zakresy komórek zmiennych, stany zablokowane i ukryte, komentarze użytkownika, wartości wejściowe i formaty liczbowe, kopie arkuszy, edycje strukturalne i round-tripy otwarcia/zapisu bez napraw
  • Typowane tabele danych What-If przez TXLSXWorksheet.AddDataTable i DataTables, pokrywające semantykę wejścia wierszowego, wejścia kolumnowego, dwuzmienną, usuniętego wejścia, kolejności obliczeń, kopii arkusza, edycji strukturalnej i round-tripu SpreadsheetML
  • Typowane zewnętrzne połączenia danych przez TXLSXWorkbook.Connections i wyniki zapytań arkuszy przez TXLSXWorksheet.QueryTables, w tym politykę odświeżania, poświadczenia, ustawienia bazy danych, web i tekstu, dokładne typowane wartości parametrów, powiązania tabel i pól, edycje strukturalne, kopie arkuszy oraz bezpieczne dla rozszerzeń round-tripy OOXML
  • Kompletna polityka obliczeń skoroszytu przez CalcMode, RefMode, ustawienia iteracji, flagi przeliczania, kontrolę pełnej precyzji i ustawienia obliczeń współbieżnych, z domyślnymi wartościami ze schematu i niezależnym utrwalaniem wartości niedomyślnych, plus opcjonalne memosy RecalcLookupCache i RecalcAggregateCache, dzięki którym powtarzane skany XLOOKUP/XMATCH, VLOOKUP/HLOOKUP/MATCH i SUMIF/COUNTIF/AVERAGEIF plus bezwarunkowe SUM/AVERAGE/MIN/MAX/COUNT po jednym prostym zakresie ponownie używają pierwszego wyniku w trakcie przebiegu przeliczania, włączane tylko wtedy, gdy graf zależności jest dowodliwie stabilny odwołaniowo, tak by wyniki nigdy się nie różniły
  • Polityka przeliczania przy zapisie przez RecalcBeforeSave (manual, if-dirty, always) plus inspekcja stanu dirty RecalcNeeded i pobieranie wartości pojedynczej komórki RecalcCell po pełnym przeliczeniu
  • Placeholdery wartości raportów z fallbackami {{name;default}}, wyrażeniami dbvalue/dbcount/tonumber/ref nad zarejestrowanym DataContext i izolowaną sesją danych per uruchomienie, gołymi komórkami {{=formula(...)}} zapisywanymi jako żywe formuły oraz strukturalnymi dyrektywami {{#imgsize}}, {{#comment}}, {{#html}}, {{#sheetvisible}}, {{#deletesheet}}
  • Typowane leniwe tabele użytkownika przez dokładne komórki {{#usertable(alias, logicalName, providerKey, name=expression)}}, z kontrolami składni w czasie kompilacji, statycznym preflightem bez resolverów, dynamicznymi typowanymi parametrami, wymuszaniem zarejestrowanych dostawców, diagnostyką konfliktów bez rozróżniania wielkości liter, limitami deklaracji i ładowaniem przy pierwszym użyciu przez dbvalue lub dbcount; TXLSReportGenerator.DataContext i TXLSReportTemplateChecker.DataContext niosą ten sam rejestr do generacji i walidacji
  • Kształtowanie danych raportu przez leniwe kombinatory Filter, stabilne wielokluczowe Sort i Distinct; adaptery FromDataSet i FromObjects wiążą otwarte zbiory danych i listy obiektów z opublikowanymi właściwościami jako tabele raportu; pasma RunBidirectional dają każdemu wierszowi głównemu własne kolumny sterowane przez potomków; PreprocessAndRun pozwala szablonom modyfikować się samodzielnie względem danych przed finalnym wypełnieniem
  • Opcje wklejania ze schowka (tylko wartości, wstawianie wierszy/kolumn) na obu silnikach skoroszytów oraz diagnostyka OnSkippedRecord na czytniku bezpośrednim, kursorze wierszy i czytniku sekwencyjnym, ujawniająca pominięte zniekształcone odwołania komórek i przerwane skany arkuszy BIFF
  • Ochrona współdzielonych rewizji klasycznego XLS przechodzi round-trip przez SharedRevisionProtected i SharedRevisionPasswordHash, a raporty obsługują szyfrowanie end-to-end: zaszyfrowane szablony otwierają się hasłem, a RunToEncryptedFile emituje zaszyfrowany wynik w jednym kroku
  • Między skoroszytami CopyRangeTo/CloneRangeTo przemapowują style komórek przez wartość między pulami, a klasyczne XLS CreatedDate, LastSavedDate, RevisionNumber i EditTimeMinutes przechodzą round-trip przez strumień podsumowania OLE
  • Renderowanie wykresów uwzględnia GapWidth, Overlap i grupowanie skumulowane / procentowo skumulowane grupy wykresu słupkowego, więc renderowane wykresy słupkowe i kolumnowe odpowiadają semantyce układu modelu
  • Wykresy przechodzą round-trip z formatowaniem przestrzeni wykresu (zaokrąglone narożniki, kolory tła/obramowania/obszaru wykresu) i pięcioma przełącznikami ochrony wykresu, przy czym renderer konsumuje kolory; poziom serii Smooth i kolory wypełnienia/obramowania znaczników przechodzą round-trip i renderują się jako segmenty krzywych; osie niosą tryb przecinania i style znaczników podziałki, a AutoTitleDeleted tłumi tytuły pochodne
  • TXLSPDFWriter buduje PDF-y bez żadnego arkusza kalkulacyjnego: jawny rozmiar strony, przepływ wielostronicowy, prostokąty/linie/elipsy, mierzony tekst, transformacje, przycinanie i kontrola stanu grafiki
  • AutoFit oferuje dwufazowy przepływ MarkSheet/ApplyMarked z dającymi się podejrzeć oczekującymi pomiarami, granicami regionu dopasowania, IgnoreStrings, KeepHeightAutomatic, podłogą DefaultRowHeightVisual i jednym wywołaniem FitWorkbook
  • Czcionki Unicode PDF wspierają polityki osadzania automatic, required-subset, complete-program i map-only, samodzielne programy OpenType CFF, współdzielone pozycjonowanie GPOS/kern dla pomiaru i rysowania, callback OnFontEmbed przed rozwiązywaniem oraz rekurencyjnie cache'owany resolver rodzin/stylów OnGetFontDirectories; wyjście PDF/A nadal wymaga osadzonych programów czcionek
  • Pomocnicy kolekcji do wyszukiwania, usuwania i zmiany kolejności arkuszy, tabel, wykresów, obrazów, scalonych zakresów i łączy zewnętrznych według nazwy lub pozycji
  • Tworzenie wykresu jednym wywołaniem z zakresu danych: AddChartFromRange i skróty AddColumnChart / AddBarChart / AddLineChart / AddPieChart / AddAreaChart wyprowadzają serie i kategorie z bloku danych automatycznie, jak wstawianie wykresu z zaznaczenia w Excelu
  • Wstawianie i usuwanie wierszy oraz kolumn, które koryguje formuły, kolumny tabel i ich metadane filtra lub sortowania, unieważnia usunięte odwołania strukturalne kolumn tabel u konsumentów formuł, partycjonuje formatowanie warunkowe wartości komórek i wyrażeń plus sprawdzanie poprawności danych, gdy edytowane obszary wymagają innych kotwic formuł, utrzymuje w całości domeny agregującego formatowania warunkowego i automatycznie przenosi nazwy zdefiniowane, hiperłącza, serie wykresów wraz z rozmiarami bąbelków oraz zakotwiczenia obrazów, wykresów, pól tekstowych i WordArt
  • Obliczanie formuł współdzielące ewaluator klasycznego XLS z procesowo-globalnymi i lokalnymi per skoroszyt rejestrami funkcji użytkownika, semantyką nadpisań lokalnych skoroszytu, bezpiecznym równolegle wywoływaniem handlerów bez blokad, operatorami tablicowymi broadcast i błędami per komórka, kompletnymi macierzami wielozmiennymi LINEST / LOGEST, ukształtowanymi predykcjami TREND / GROWTH, pokryciem funkcji tekstowych, daty, dnia roboczego, inżynierskich/konwersji podstaw, bitowych, statystycznych, agregujących i matematycznych, inspekcją ISFORMULA zachowującą odwołania bez przeliczania celu, logarytmicznie binarnym XMATCH / XLOOKUP, wykrywaniem argumentów opcjonalnych ISOMITTED, konwersją tablic ARRAYTOTEXT / VALUETOTEXT, walidowanymi obliczeniami XIRR / XNPV, terminami inwestycji i stopami wzrostu PDURATION / RRI, amortyzacją VDB w okresach ułamkowych oraz callbackami funkcji niestandardowych OnUserFunction; AnalyzeFormulaIssues dostarcza ustrukturyzowany preflight brakujących funkcji, odwołań zewnętrznych i dokładnych komponentów zależności cyklicznych
  • Odwołania strukturalne w formie bieżącego wiersza (Table[@Col]) wyliczają się względem własnego wiersza komórki formuły w przeliczaniu szeregowym i równoległym
  • Analiza zależności rozwija nazwy zdefiniowane formułowe, o zasięgu i zagnieżdżone, w tym odwołania wielu obszarów, i używa strażników cykli tylko wtedy, gdy statyczne rozwiązywanie zależności jest niemożliwe
  • Współdzielone formuły utworzone przez Excela otwierają się z każdym następcą rozwiniętym do poprawnego wyrażenia względnego komórki na ścieżkach pełnego skoroszytu, strumieniowego czytnika bezpośredniego i kursora wierszy, podczas gdy kotwice tablic CSE i następcy przeżywają bezpieczne strukturalne edycje całych tablic, kopie pełnych zakresów, duplikowanie arkuszy i kopie arkuszy między skoroszytami
  • Tablice dynamiczne można tworzyć przez TXLSXRange.SetDynamicArrayFormula, zachowują zakresy formuł i metadane XLDAPR przez cykle otwarcia i zapisu, współdzielą jeden zdeduplikowany rekord metadanych między korzeniami, przemapowują ten rekord podczas kopii między skoroszytami i usuwają go po wyczyszczeniu ostatniego korzenia
  • Kompozycja tablic obliczeniowych obejmuje typowane TRANSPOSE, obliczane mnożenie macierzowe, wyznaczniki i inwersję, ujemne oraz wektorowe selektory dla CHOOSECOLS / CHOOSEROWS, obliczane wektory wyszukiwań i żądania tablicowe dla XLOOKUP / XMATCH / MATCH oraz operacje stackowania i przekształcania kształtu z limitami kroków wyliczania i pamięci tablic
  • Tworzenie kontrolek formularzy na arkuszach XLSX (AddFormButton / AddFormCheckBox / AddFormRadioButton / AddFormComboBox / AddFormListBox) z kształtami VML, częściami ctrlProps i dosłownym round-tripem plików z kontrolkami
  • Żywe wyliczanie między skoroszytami XLSX przez zachowującą ścieżki ExternalWorkspace i zgodną fasadę RegisterExternalWorkbook: pełne cele relacji i rozszerzenia pozostają rozróżnialne, niejednoznaczne aliasy zawodzą jawnie, zniszczenie celu bezpiecznie odwołuje żywy adapter, a lokalne dla pliku typowane pamięci podręczne pozostają fallbackiem bez domniemanego dostępu do plików lub sieci
  • Porównywanie skoroszytów przez TXLSXWorkbookCompare raportujące różnice arkuszy, komórek, formuł i scaleń jako ustrukturyzowaną listę albo raport jednej linii na różnicę
  • Generowanie kodu ze skoroszytu przez TXLSCodeGen (dialekty Delphi i C++Builder) i walidacja importu reguł kolumn przez TXLSImportCheck z adnotacją czerwoną czcionką i komentarzem plus kompakcją keep-only-violations
  • Nierozpoznane rekordy arkuszy XLS przechodzą round-trip dosłownie — rekordy specyficzne dla dostawców lub nowszych specyfikacji przechwytywane przy odczycie i odtwarzane przy zapisie
  • Kształty o geometrii predefiniowanej przez AddPresetShape — dowolny token ST_ShapeType OOXML jedzie z rysunkiem dosłownie i przechodzi round-trip
  • Przetwarzanie szablonów: ApplyTemplate podstawia placeholdery {{key}} w całym arkuszu, a FillTemplateBand klonuje bloki szablonu per rekord z tłumaczeniem formuł, zależnym formatowaniem warunkowym, sprawdzaniem poprawności danych, łączami, komentarzami, obrazami, wykresami, klonowaniem scaleń i warunkami #skip na poziomie wiersza; CloneRangeTo ujawnia tę samą ścieżkę kopi świadomą zależności z wybieralnymi ładunkami; TXLSCompiledReportTemplate kompiluje raz lokalizacje placeholderów i fragmenty tekstu dla powtarzanych uruchomień w komórkach, tekście sformatowanym, komentarzach, hiperłączach, tekście rysunków, nagłówkach i stopkach, nazwach arkuszy, nazwach zdefiniowanych i właściwościach dokumentu, bez ponownego skanowania skoroszytu, i wspiera adresowaną diagnostykę preflight, ścisłą walidację przed mutacją oraz arkusze diagnostyczne; TXLSCompiledReportRunner dodaje postęp na poziomie celu, anulowanie, deterministyczne liczby zastosowań, stan wielokrotnego użycia zakończenia lub awarii, sparowane zdarzenia cyklu życia skoroszytu i arkusza, odwracalne migawki problemów oraz atomowe wyjście do strumienia, pliku lub pliku zaszyfrowanego; TXLSReportGenerator dodaje zdarzenia odczytu szablonu, źródła skoroszytowe, plikowe, strumieniowe i zaszyfrowane pliki plus modyfikację w miejscu albo przez atomowy klon; IXLSReportTable, IXLSReportCursor, leniwe dostawcy i resolvery per uruchomienie oraz indeksy relacji kluczy złożonych dostarczają wielokrotnego użytku wirtualne lub pamięciowe źródła danych bez wymuszania ładowania tabel niepowołanych, a TXLSReportTableFactory komponuje widoki top, projekcje, counted, minimum, agregaty, union, split i hash-join bez kopiowania kompletnych pośrednich ładunków wierszy; gotowe do uruchomienia galerie Delphi i C++Builder demonstrują ten sam kontekst danych, skompilowany runner, arkusz diagnostyczny, LastResult i ścieżkę RunToFile
  • Nazwane strukturalne pasma raportów: TXLSCompiledReportBand rozwiązuje dokładną prostokątną nazwę zdefiniowaną o zasięgu skoroszytu lub arkusza i rozwija ją w dół, w prawo albo po obu osiach z jednobiegowych, ograniczonych migawek wierszy i kolumn, zachowując typy wartości, formuły o odwołaniach mieszanych, scalenia, reguły, sprawdzanie poprawności danych, hiperłącza, komentarze, rysunki i jawne metadane układu wierszy lub kolumn, odrzucając przed mutacją nieobsługiwane struktury częściowe
  • Powtarzane kopie zakresów i pasm raportów ponownie używają wyszukiwań przyrostka nazw zdefiniowanych z uwzględnieniem zasięgu, zachowując przy tym nazewnictwo pierwszego wolnego po usunięciu, zmianie nazwy lub zmianach zasięgu
  • Rozwijalne pasma raportów tabel Excela przez TXLSCompiledTableReportBand używają jednej ograniczonej migawki kursora, by rozwinąć pojedynczy wiersz szablonu danych, zachowując nagłówki, sumy, zakresy tabeli i AutoFiltra, stan filtra i sortowania, metadane kolumn, formuły kolumn obliczeniowych i sum, style, odwołania strukturalne i zależne obiekty arkusza; puste wyniki, które da się przedstawić, usuwają wiersz szablonu danych, a tabele oparte na zapytaniach i niebezpieczne układy są odrzucane przed zapisami strukturalnymi
  • Pasma raportów zakresów i tabel Excela współdzielą ErrorMode, StrictDataAccess, RuntimeLimits i niemutowalne diagnostyki LastResult; WriteAndContinue zapisuje jawnie odwracalną awarię wiersza jako tekst literalny z jego wierszem wejściowym i rzeczywistym adresem wyjściowym, po czym kontynuuje pozostałe cele i wiersze, podczas gdy fatalne awarie strukturalne i zasobowe wycofują rozwinięcie
  • Skanowanie komórek i wierszy z callbackami surowej wartości lub tekstu wyświetlanego, znajdowanie i zamiana z szablonem oraz zapis masowy
  • Centralne zarządzanie plikami roboczymi (zarejestrowane pliki tymczasowe sprzątane przy finalizacji), opcjonalna kontrola odszyfrowania po zapisie VerifyEncryptedSave oraz stałe limitów siatki per format ze zdarzeniem OnExportLimit na eksporterze zbiorów danych
  • Pomocnicy sprawdzania poprawności danych z listami rozwijanymi jednym wywołaniem z tablicy ciągów, współdzielonymi typowanymi trybami IME między Classic XLS i XLSX, formułami tabel zachowującymi niezależne atrybuty tablicowe, rozszerzeniami formatowania warunkowego, konfigurowalnym eksportem HTML ze scentralizowanymi klasami stylów CSS oraz zapisem i odczytem szyfrowanym AES — ECMA-376 Standard Encryption (AES-128) z akceleracją AES-NI, plus odczyt domyślnego Agile Encryption Excela (wyprowadzanie klucza SHA-512, AES-128/192/256)
  • Eksporterzy HTML Classic i XLSX używają należących do operacji migawek geometrii xlsrgbHtml, by konwertować szerokości znakowe przez metryki maksymalnej szerokości cyfry czcionki Normal na stałe długości CSS, ponownie używają jednej ograniczonej pamięci podręcznej na operację wieloarkuszową, ujawniają aktywną migawkę dla diagnostyki i zachowują zapisane wymiary arkuszy
  • Przygotowane wyliczanie formatowania warunkowego XLSX z warstwami priorytetu i StopIfTrue, formułami względnymi, współdzielonymi statystykami wielu obszarów, regułami Top/Bottom i średniej, wartościami duplikatów i unikatów, względnymi okresami dat, świadomymi motywu stylami różnicowymi, skalami kolorów, kierunkowymi paskami danych i wszystkimi wbudowanymi rodzinami zestawów ikon
  • Tolerancyjne otwieranie XLSX: prefiksy przestrzeni nazw są normalizowane w trakcie parsowania, więc arkusze, wykresy, rysunki i właściwości dokumentu związane z niekanonicznymi albo ścisłymi przestrzeniami nazw ISO 29500 ładują się jak zwykłe pliki, a arkusze, których wiersze lub komórki pomijają atrybuty pozycji, wnioskują każdą komórkę po jej poprzedniczce w porządku skanowania
  • Ścisłe wyjście Open XML przez StrictOOXML: cały pakiet XLSX — arkusze, współdzielone ciągi, style, motyw, rysunki, wykresy, komentarze, właściwości dokumentu i zachowane części — jest zapisywany w zgodności z ISO/IEC 29500 strict ze słownikami purl.oclc.org, a ścisłe typy relacji rozwiązują się przy otwarciu tak samo jak przejściowe
  • Otwieranie XLSX całego skoroszytu strumieniuje wpisy ZIP arkuszy bezpośrednio do lokalnych dla workerów inflaterów i czytników XML, nie utrzymuje żadnych pośrednich kopii nadętego XML arkuszy i ogranicza przejściową pamięć wejściową arkuszy do aktywnych workerów parsowania
  • Strumieniowy czytnik bezpośredni (TXLSDirectReader), który skanuje .xlsx / .xlsm komórka po komórce ze zdarzeniami per komórka i per arkusz oraz niemal stałym zużyciem pamięci dla bardzo dużych skoroszytów, raportując wartość, rodzaj, tekst formuły i indeks stylu każdej komórki z opcjonalnym wykrywaniem dat, wczesnym przerywaniem propagującym się do wejścia ZIP i dekompresji, wypychaniem zakresów wierszy i projekcją kolumn w czasie stałym przed dekodowaniem wartości; opcjonalne zdarzenia układu ujawniają wymiary arkusza, rozmiary domyślne, rozpiętości kolumn, metadane wierszy, okienka zamrożone lub podzielone i scalone zakresy przed komórkami zależnymi; ograniczony równoległy parsing strumieniuje lokalne dla workerów inflatery arkuszy do niezależnie budżetowanych kolejek producent-konsument przy zachowaniu porządku callbacków na wątku wywołującym, zachowywanie rich stringów ujawnia sformatowane bloki, rozpiętości fonetyczne i właściwości fonetyczne, a ograniczony magazyn współdzielonych ciągów trzyma małe tabele w pamięci, przenosząc większe tabele i bogate ładunki do indeksowanego magazynu tymczasowego usuwanego przy zamknięciu
  • Strumieniowy zapis bezpośredni (TXLSDirectWriter), który produkuje skoroszyty .xlsx komórka po komórce, wysyłając każdy arkusz prosto do pakietu w miarę napływania wierszy, dzięki czemu bardzo duże pliki powstają przy niemal stałym zużyciu pamięci; obejmuje współdzielone ciągi inline lub zdeduplikowane, rich stringi ze sformatowanymi i fonetycznymi blokami, liczby, wartości logiczne, daty, formuły, wielokrotnego użytku style komórek poziomu pakietu z klonowanymi uchwytami, zdeduplikowane czcionki/wypełnienia/obramowania/formaty liczbowe, wyróżnienia czcionki, podkreślenie, kontur i cień, 19 wzorów wypełnień, 14 stylów obramowań na pięciu krawędziach, wyrównanie poziome i pionowe, zawijanie, zmniejszanie, wcięcia, rotację, prefiksy cudzysłowów, ochronę locked/hidden, wbudowane i niestandardowe formaty liczbowe, szerokości kolumn, wysokości wierszy, ukryte wiersze i kolumny, scalone zakresy, zakresy AutoFiltra arkusza i tabeli z filtrami wartości, pustych, grup dat, niestandardowymi, dynamicznymi, top/bottom oraz stanami sortowania, ochronę arkusza z uprawnieniami drobnoziarnistymi, metadanymi haseł legacy lub modern i edytowalnymi chronionymi zakresami, ochronę struktury skoroszytu i okien, zablokowane okienka, kolory kart arkuszy, widoki arkuszy od prawej do lewej, przełączniki wyświetlania widoku arkusza, marginesy strony, tekst nagłówka/stopki, opcje wydruku, ustawienia strony, dopasowanie do strony, ręczne podziały stron, hiperłącza arkuszy między wieloma arkuszami, nazwy zdefiniowane skoroszytu i lokalne per arkusz, generowane zdefiniowane zakresy, obszary wydruku, wiersze lub kolumny tytułów wydruku, sprawdzanie poprawności danych z podpowiedziami i alertami błędów, formatowanie warunkowe z ośmioma operatorami wartości komórek, wyrażeniami, dopasowaniem tekstu, rankingiem top/bottom, średnią, predykatami duplikat/unikat i pusty/błąd, paskami danych, skalami dwu- i trójkolorowymi, 17 rodzinami zestawów ikon, różnicowymi stylami czcionek/wypełnień, priorytetami i kontrolą stop-if-true, części tabel Excela z nazwami kolumn, flagami wiersza nagłówka/sum, komentarzami tabel, etykietami kolumn i funkcjami wiersza sum, formułami kolumn obliczeniowych, formułami wiersza sum i opcjami wyświetlania stylu tabeli, plus kanały boczne bieżącego arkusza dla klasycznych komentarzy, strumieniowanych źródeł obrazów, zakotwiczonego DrawingML, typowanych wykresów opartych na formułach i dostarczanego przez wywołującego ChartML
  • Opcjonalna kontynuacja przepełnienia (AutoSplitRows) dzieli eksporty na arkusze <name>_2, gdy nadchodzi wiersz za limitem arkusza, a FillTableCalculatedColumn wpycha formułę kolumny tabeli do każdego wiersza danych tak, jak robi to autorowanie Excela
  • Łatanie arkusza w miejscu przez BeginPatch: zapisujący strumieniowo przepisuje jeden arkusz istniejącego pakietu, podczas gdy każda nietknięta część jest kopiowana dalej z jej skompresowanymi bajtami dosłownie — zamień arkusz danych albo dopisz nowy bez przeautoryzowywania szablonu; nieudana inicjalizacja i finalizacja zwalniają uchwyty źródeł, odpowiedzialność za tymczasowe rejestracje źródeł pozostaje po stronie wywołującego, a pisarz daje się ponownie użyć po nieudanej inicjalizacji
  • Obiekty Camera przez AddCamera: obrazy żywych migawek związane z zakresem komórek, zgodnie z udokumentowanym rozszerzeniem rysunkowym narzędzia kamery; wiązanie przechodzi round-trip przez zapis i ponowne otwarcie
  • Załączniki PDF przez AddAttachment — pliki jadą z eksportem jako wpisy /EmbeddedFiles z drzewem nazw, a IXLSPDFAttachmentSource może dostarczać każdy ładunek leniwie raz na zapis przez ograniczony bufor; finalny montaż strumieniuje obiekty sekwencyjnie do celu, więc ładunki załączników kopiują się w stałych fragmentach z pośrednim obiektem długości, a szczytowe zużycie pamięci pozostaje płaskie
  • Jawne wyjście PDF/A-1a, 1b, 2a, 2b, 3a i 3b przez PDFAProfile, w tym identyfikację specyficzną dla profilu, zarządzanie kolorem, tagowanie, załączniki i atomowe reguły walidacji; UsePDFA pozostaje przełącznikiem kompatybilności dla PDF/A-2b
  • Eksport PDF działa w klasycznym układzie albo w opcjonalnym układzie PDF 1.5 ze skompresowanymi strumieniami obiektów i binarnym strumieniem odwołań krzyżowych (UseXRefStream) dla mniejszych plików
  • Eksport PDF wspiera wielokrotnego użytku callbacki postępu begin, page i end z anulowaniem i bez zatwierdzania częściowego strumienia, plus opcjonalne adnotacje komentarzy Unicode pozycjonowane w komórkach, mogące współistnieć ze stronami komentarzy na końcu
  • Gradienty i przezroczystość PDF używają natywnych cieniowań osiowych lub promieniowych ze zszywanych funkcji wieloprzystankowych, masek alfa per przystanek, wzorów wypełnień komórek, cieni obrazów, przycinania na poziomie strony i pamięci podręcznych zasobów na poziomie dokumentu; wybrane profile PDF/A stosują swoje ograniczenia graficzne przed zatwierdzeniem wyjścia
  • Świadome stylu łańcuchy fallback czcionek PDF przez SetFontFallbackChain, AddFontFallback i ClearFontFallbackChains wybierają osadzone kroje według rodziny źródłowej, poziomu stylu i pokrycia glifów, cache'ują wczytane kroje i wybory, zachowują skalary uzupełniające i międzyblokowe klastry grafemów, utrzymują współdzielące glify sekwencje Unicode rozróżnialne przez mapowania CID i atomowo odrzucają wyjście PDF/A, zamiast używać nieosadzonej czcionki
  • TXLSPageImageExporter buduje paginację raz i eksportuje wybrane strony XLS lub XLSX przyrostowo jako PNG lub JPEG z konfigurowalnym DPI, skalą, jakością, postępem, anulowaniem i okresem życia bitmapy per strona; ExportRange zapisuje jeden ciasny prostokąt komórek, a zdarzenia przed lub po malowaniu ujawniają faktyczne płótno strony przez kontekst tylko do odczytu z granicami pikselowymi, rozmiarem strony, rozdzielczością, skalą, numerami stron i arkuszem źródłowym, odpalając się dokładnie raz na wyrenderowaną klatkę, włącznie z klatkami wielostronicowego TIFF
  • TXLSCellImageExporter mierzy, renderuje i zapisuje dowolny prostokąt komórek klasyczny lub XLSX jako jeden kompaktowy obraz bez artefaktów paginacji, z konfigurowalną rozdzielczością, skalą, formatem i jakością JPEG, przezroczystym PNG albo kolorowym tłem, niezależnymi przełącznikami obiektów, linii siatki i obramowań komórek, budżetami pikseli i bajtów walidowanymi przed alokacją oraz zapisem do pliku przez atomową zamianę w tym samym folderze, która przy awarii nigdy nie uszkadza istniejącego celu
  • Eksport ODS tłumaczy wspierane formuły skalarne, kwalifikowane odwołania A1, własną walidację Boolean, granice będące formułami oraz źródła list do OpenFormula; niewspierane dialekty formuł komórek zachowują zgodny fallback, podczas gdy niewspierane definicje walidacji i odwołania są pomijane razem
  • Powtarzane wysokości wierszy ODS i style pustych komórek używają zwartych zakresów; wyjście ODS zachowuje wysokości wierszy i powtarzane ostylowane ogony, podczas gdy edycje pojedynczych wierszy, czyszczenie, kopiowanie arkuszy, przesunięcia wierszy, tiling i eksport XLSX zachowują efektywne wysokości
  • Dostawa wierszy w trybie pull (OnNeedRow + RunRows) napędza zapisującego strumieniowo z potoku danych po jednym wierszu
  • Arkusze od prawej do lewej lustrzają się w eksporcie PDF i odwracają przez dir="rtl" w HTML, domykając round-trip flagi wyświetlania
  • Tryb zerowego wyświetlania arkusza ukrywa rzeczywiste zero numeryczne, włącznie z wynikami formuł, wartościami walutowymi i zerem bazy dat, w przeglądarkach i eksportach wizualnych przed formatowaniem liczbowym lub pomiarem tekstu; tryb wyświetlania formuł ma pierwszeństwo, wizualia formatowania warunkowego i hiperłącza pozostają aktywne, a zapisane wartości, publiczny sformatowany tekst oraz wyjście CSV i ODS zachowują swoje istniejące kontrakty
  • Opcjonalny strumieniowy tryb śledzonych szerokości (TrackColumnWidths) etapuje arkusz w pamięci, dzięki czemu gotowy plik niesie podpowiedź <dimension> użytego zakresu i szerokości kolumn dopasowane do najdłuższej wartości widzianej per kolumna, przybliżając autofit dla danych znanych tylko w trakcie strumieniowania
  • Bezpieczne dla odwołań strukturalne edycje wierszy i kolumn XLSX, które w jednej strzeżonej transakcji aktualizują formuły, nazwy zdefiniowane, reguły, łącza, rysunki, ustawienia wydruku, chronione zakresy, zakotwiczenia komentarzy klasycznych i wątkowych, sparkline, typowane źródła i widoki przestawne oraz rozpoznawalne zachowane odwołania rozszerzeń, z uporządkowanym API uczestników dla metadanych należących do aplikacji
  • Kompaktowe drzewo XML o dostępie swobodnym (TSimpleDomReader), budowane z tego samego pull czytnika w jednym przebiegu, do odpytywania metadanych skoroszytu, relacji, motywów i innych części pakietu ścieżką QName lub nazwy lokalnej z rozróżnianiem wielkości liter
  • Wyliczanie formuł krok po kroku przez TXLSFormulaTracer z dokładnymi przejściami stosu operandów, plus interaktywna diagnostyka przez TXLSFormulaDebugger ujawniającą sparsowane węzły, wartości operandów, kolejność wyliczania, zależności komórek i zakresów, leniwe wybory gałęzi, pominięte wyrażenia i źródła propagowanych błędów
Wersja 2.384.120

Kompletny zestaw możliwości skoroszytów, raportowania i renderowania

Bieżące wydanie rozszerza obsługiwane API skoroszytów, raportowania i renderowania o ograniczone ścieżki wykonania i jawne reguły bezpieczeństwa formatu

Formaty skoroszytów i obliczenia

  • Edytowalne mapy XML i powiązania schematu pojedynczej komórki przez TXLSXXmlMaps i TXLSXXmlCellBindings, w tym round-trip relacji i walidację przed zapisem
  • Uporządkowany stan skoroszytu z wieloma oknami przez TXLSXWorkbookViews, obejmujący aktywne karty, geometrię, widoczność, flagi wyświetlania, rozszerzenia i bezpieczne przemapowanie indeksów arkuszy
  • Zaznaczenia wielu obszarów i niezależne aktywne komórki per okienko dla XLS i XLSX, ze strukturalnym przemapowaniem i atomowym odrzucaniem nieprawidłowych zakresów
  • Bezstratne tokeny formuł należące do wywołującego przez TXLSFormulaTokenStream, ParseFormulaTokens, GetFormulaTokens, FormulaTokensToText i SetFormulaTokens
  • Zamrażanie formuł klasycznego XLS klasyfikuje skompilowane odwołania BIFF bez dekompilacji tekstu formuły, w trybie OnlyExternal konwertuje wyłącznie potwierdzone odwołania do zewnętrznych skoroszytów, zachowuje wątpliwe formuły i atomowo zamraża grupy tablicowe z nienaruszonymi wynikami literałów tekstowych
  • Formuły zewnętrznych skoroszytów XLSX używają jednego leksera slotów liczbowych świadomego gramatyki do ścisłej konwersji, diagnostyki, przeliczania, kopiowania między skoroszytami i generowanych zapisów, przy czym zgodność nazw plików jest normalizowana tylko wtedy, gdy pasuje dokładnie jeden zarejestrowany cel
  • TXLSXExternalLink ujawnia identyfikatory relacji źródłowych, sloty numerowane od jedynki oraz rodzaje łączy: skoroszytowe, DDE, OLE albo nierozwiązane, a zmiany celu i listy arkuszy unieważniają skompilowane powiązania zewnętrzne przez aktualizację rewizji w czasie stałym
  • ConvertExternalDefinedNamesToRefErrors atomowo zastępuje potwierdzone definicje zewnętrznych skoroszytów natywnymi #REF! w klasycznym XLS i XLSX, zachowując tożsamość nazwy, jej zasięg, widoczność, komentarze, metadane makr i wbudowane, nieznane atrybuty XLSX, zwykłe formuły komórek i części łączy zewnętrznych
  • Stabilne sortowanie wierszy lub kolumn z TXLSSortFormulaMode, kluczami poziomymi, własnymi komparatorami i wyborem między zachowaniem zależności logicznych a fizycznym przesuwaniem formuł
  • Edytowalne czcionki BIFF2–BIFF4, formaty liczbowe, style XF i formuły konwertowane podczas wczytywania do bieżących modeli skoroszytu i obliczeń
  • Jedna fasada wywołań zwrotnych TXLSForwardReader dla XLS, XLSX, CSV i TSV z projekcją na poziomie zaplecza, ograniczeniami wierszy, stanem obecności formuły, opcjonalnym tłumieniem tekstu formuły, wykrywaniem formatu i anulowaniem
  • Typowane widoki niestandardowe dla okienek, zaznaczeń, filtrów, ustawień strony i podziałów strony, podczas gdy nieznane rekordy BIFF zachowują swoje oryginalne ładunki
  • Typowane właściwości OLAP, selektory tabel internetowych, pola o stałej szerokości i parametry połączeń z zachowaną zawartością rozszerzeń
  • Diagnostyka AnalyzeFormulaIssues dla brakujących funkcji, odwołań do zewnętrznych skoroszytów i dokładnych komponentów zależności cyklicznych
  • Bezpieczne wątkowo rejestry UDF globalne i lokalne per skoroszyt, z nadpisaniem lokalnym, wyszukiwaniem o średniej złożoności O(1) i wywoływaniem handlerów poza blokadami
  • XLSBidiVisualOrder dla zmieszanego tekstu arabskiego lub hebrajskiego, tekstu łacińskiego, cyfr, znaków łączonych i lustrzanej interpunkcji, bez zmieniania logicznego tekstu komórki
  • Strategie AutoFit scalonych komórek, które przypisują wzrost pierwszemu albo ostatniemu członkowi lub równoważą go na całej rozpiętości, dla XLS i XLSX
  • Typowane zachowywanie arkuszy makr Excel 4 plus wyniki skanowania ScanMacroCommands w trybie wyłącznie inspekcyjnym, z adresami arkuszy
  • Obsługa obliczeń dla ISOMITTED, ARRAYTOTEXT, VALUETOTEXT, PDURATION i RRI ze zgodnym z Excelem zapisem i zachowaniem błędów
  • Grupowane podsumowania arkuszy przez TXLSXWorksheet.Subtotal, w tym wstawiane formuły, konfigurowalną sumę całkowitą, odziedziczone widoczne formatowanie i hierarchię konspektu
  • Inspekcja efektywnego stylu bez materializowania przez GetCellVisibleFormat plus walidacja na poziomie kandydata i atomowy commit przez CheckDataValidation
  • Otwieranie klasycznego XLS wyłącznie dla metadanych i wybranych arkuszy używa przesunięć BOUNDSHEET, ograniczonego magazynu nadwyżek SST i wspólnego kontraktu odczytu sekwencyjnego współdzielonego z XLSX, CSV i TSV
  • Tablice dynamiczne płyną bezpośrednio do agregatów skalarnych, powtarzane wyszukiwania ponownie używają typowanych przyrostowych pamięci podręcznych zakresów, a niezmienne tokeny formuł współdzielą bezstanowe obiekty między kompilacjami
  • Natywna lokalna materializacja tabel przestawnych obsługuje siatki raportów kompaktowe, tabularne i konspektowe, powtarzane etykiety, domyślne pozycje sum częściowych i wiele osi miar z komórkami pamięci podręcznej oraz metadanymi wire zweryfikowanymi względem otwierania w Excelu i jawnego odświeżenia
  • Natywne obliczenia wyświetlania tabel przestawnych obejmują porównania z elementem bazowym, sumy narastające, procenty wiersza i kolumny, procenty rodzica, procenty narastające oraz gęste rangi z natywnym wyjściem z pamięci podręcznej i metadanymi odświeżenia
  • REGEXTEST, REGEXEXTRACT i REGEXREPLACE używają dołączonego backendu UTF-16 ze współdzielonymi budżetami formuł; GROUPBY i PIVOTBY wspierają strzeżone callbacki, wiele miar, filtry, sortowanie, hierarchiczne sumy i procenty względne
  • Czyszczenie zakresu i wklejanie tekstu Unicode używają jednej ograniczonej transakcji undo albo redo z kontrolami ochrony, rzadkimi migawkami zawartości i przywróconymi nowoczesnymi metadanymi komórek
  • Typowane lokalne obrazy PNG/JPEG w komórkach oraz rzadkie formaty Checkbox komórek, wierszy i kolumn zachowują metadane dostępności, pierwszeństwo, style, własność zawartości i edycje strukturalne przez round-tripy XLSX
  • Rozszerzone odczyty i zapisy XLSB zachowują obsługiwane formuły i pamięci podręczne, nazwy, scalenia, hiperłącza, okienka, tabele i filtry z jawnym preflightem funkcji nieobsługiwanych
  • Natywne API skoroszytów Linux x64 i macOS ARM64 ładują, edytują, obliczają i zapisują obsługiwane pliki XLSX, XLSB i ODS używając rzeczywistych usług platformowych
  • Natywne skoroszyty Classic BIFF8 wspierają edycję, obliczenia, duże zagnieżdżone kontenery złożone, właściwości dokumentu oraz standardowe wyjście RC4 albo 128-bitowe CryptoAPI na Linux x64 i macOS ARM64
  • Natywne wyjście tabel przestawnych obsługuje grupowanie numeryczne, datowe i ręczne oraz jedenaście własnych funkcji sum częściowych w obsługiwanych układach raportów
  • Porównywanie skoroszytów zachowuje ścisłe typy wartości i dokładne duże liczby całkowite, skończone tolerancje numeryczne, opcjonalne pamięci podręczne formuł, efektywne style, geometrię, tekst sformatowany i ograniczone definicje obsługiwanych funkcji, włącznie ze stanem lokalnych tabel przestawnych, slicerów i osi czasu, przy zachowaniu rzadkiego magazynu i poprzednich wyników w razie awarii
  • ODS zachowuje zwykły tekst notatek i autorów, reprezentowalne wartości oraz własne filtry i równoważną ochronę bez hasła, z dokładnymi raportami strat konwersji; anulowane zapisy strumieniowe zachowują cel, a zapisy na pozycję różną od zera zachowują poprawne przesunięcia ZIP
  • FORMULATEXT odczytuje zapisane wyrażenia bez wyliczania celu, a GETPIVOTDATA odpytuje obsługiwane widoczne agregaty z ograniczonych odłączonych lokalnych pamięci podręcznych w XLS, XLSX i izolowanych wyliczaczach; natywne wartości wbudowanej pamięci podręcznej XLS i odwołania filtrów raportów zachowują swoje tożsamości, a niekompletne albo nieobsługiwane pamięci podręczne produkują jawne błędy
  • INDEX, SORT i UNIQUE przyjmują obliczane tablice i stałe, więc filtrowanie, sortowanie, deduplikacja oraz ekstrakcja wierszy lub kolumn komponują się bezpośrednio z automatycznym zmienianiem rozmiaru spill XLSX i obliczeniem CSE na stałych zakresach; INDEX przyjmuje tablice selektorów wiersza, kolumny i obszaru z broadcastingiem uwzględniającym orientację i typowanymi błędami per komórka, przyjmuje obszar 1 dla obliczonego źródła i zachowuje obsługiwaną tożsamość odwołań wieloobszarowych skalarnych przez nazwy zdefiniowane, LET i skalarny CHOOSE; zobacz wybór obszaru INDEX, aby poznać przykłady i granice
  • Style nazwane zachowują powiązane części formatów i nadpisania lokalne, a każdy wbudowany styl tabeli light, medium i dark rozwiązuje się do efektywnego formatu używanego przez ścieżki edycji i eksportu
  • Ujednolicona fasada rysowania grupuje i rozgrupowuje obiekty DrawingML oraz zmienia kolejność mieszanych obrazów, wykresów, pól tekstowych, zachowanych zakotwiczeń i zagnieżdżonych grup bez gubienia relacji
  • TXLSFormatSnapshot przechwytuje kompletny format klasyczny niezależnie od skoroszytu źródłowego, a IXLSRange.ApplyFormat stosuje go do komórek, wierszy lub kolumn
  • Skoroszyty klasyczne i XLSX udostępniają te same strumieniowe API SaveSemanticSnapshot i przyrostowe ComputeSemanticHash oparte na SHA-256, z profilami Content i SecurityComplete oraz jawnymi opcjami stanu przeglądarki, metadanych ulotnych i pamięci podręcznej formuł
  • Nowe arkusze XLSX zachowują zgodne, typowane zapisy masowe w porządku wierszowym w spakowanym magazynie RLE, odpowiadają na zapytania o istnienie i statystyki magazynu bez materializacji i rozwijają się jednorazowo do stabilnych obiektów komórek dopiero wtedy, gdy wymagają tego dostępy na poziomie obiektów
  • Klasyczne i XLSX magazyny komórek oraz kolekcje arkuszy udostępniają niezależne generacje strukturalne, dzięki czemu długo żyjące czytniki wykrywają zmiany topologii bez traktowania edycji wartości, formuł, formatów, nazw lub aktywacji jako unieważnienia strukturalnego
  • Uchwyty komórek utrzymują domyślny stan stylu bez alokacji, a identyczne puste komórki tylko ze stylem współdzielą ładunek z licznikiem odwołań i izolacją copy-on-write na potrzeby późniejszych lokalnych edycji, z mierzalnymi zaoszczędzonymi bajtami w statystykach magazynu

Skompilowane raportowanie i kompozycja danych

  • TXLSCompiledReportTemplate kompiluje placeholdery jednorazowo w komórkach, tekście sformatowanym, komentarzach, komentarzach wątkowych, hiperłączach, rysunkach, wykresach, nagłówkach, stopkach, nazwach arkuszy, zdefiniowanych nazwach i właściwościach dokumentu
  • TXLSCompiledReportBand rozwija pasma wierszy, kolumn i cross-tab ze zdefiniowanych nazw na podstawie ograniczonych migawek danych o jednym przebiegu, zachowując przy tym formuły, obiekty zależne i jawne metadane osi
  • TXLSCompiledTableReportBand rozwija jednowerszowe szablony tabel Excela, zachowując nagłówki, sumy, filtry, sortowanie, formuły, style, odwołania strukturalne i bezpieczne wyniki faktycznie zerowej liczby wierszy
  • IXLSReportTable, IXLSReportCursor, IXLSReportRandomAccessTable i TXLSReportMemoryTable dostarczają jeden kontrakt dla źródeł wirtualnych i pamięciowych
  • TXLSReportRelationIndex buduje raz dokładne, typowane kubełki kluczy złożonych dla wyszukiwania master-detail o średniej złożoności O(1), bez kopiowania ładunków wierszy
  • IXLSReportTableProvider i TXLSReportDataContext rejestrują tabele jawne i leniwe, a BeginRun tworzy izolowaną IXLSReportDataSession z wyszukiwaniem hashowanym bez rozróżniania wielkości liter, cache'owaniem negatywnym, deterministycznym cache'owaniem błędów dostawcy i natychmiastowym wykrywaniem rekursji tego samego aliasu; skompilowane szablony, runnery, pasma zakresów i pasma tabel Excela automatycznie używają jednej sesji na logiczne uruchomienie, oba przebiegi PreprocessAndRun współdzielą tę samą migawkę, równoległe uruchomienia pozostają odizolowane, a każda ścieżka sukcesu, anulowania lub awarii zwalnia swoją migawkę przed powrotem
  • TXLSReportDataRequest i IXLSReportDataResolver dodają żądania nazwane lub użytkownika z uporządkowanymi typowanymi parametrami, metadanymi źródła, kontrolą uruchomienia tylko do odczytu i jawnymi wynikami: nieobsłużono, rozwiązano, nie znaleziono albo błąd danych; resolvery rejestrują się pod kluczem dostawcy bez rozróżniania wielkości liter dla dyspozycji O(1), starsi dostawcy pozostają kompatybilni przez adapter, tabele jawne pozostają rozstrzygające, a uruchomienie odrzuca sprzeczne odciski dla tego samego aliasu przed drugim wywołaniem resolvera
  • TXLSReportDataLimits ogranicza cache'owane aliasy, dostawców nazwanych i starszych, schematy tabel, nazwy, parametry, ciągi i komunikaty błędów; zniekształcone współrzędne źródła, znaki sterujące, zduplikowane nazwy parametrów, nieobsługiwane kontenery Variant, nieprawidłowe kombinacje wyników, rekursja i anulowanie w trakcie rozwiązywania zawodzą przed commitem do celu, przy czym anulowanie usuwa niedokończony wpis z cache dla czystej ponownej próby
  • TXLSReportTableFactory dostarcza leniwe kursory top, projekcji, union i split plus złączenia hash zachowujące duplikaty, zliczanie wierszy, minimum i agregaty
  • TXLSReportQueryProvider ujawnia szablonom wyłącznie zarejestrowane definicje zapytań tylko do odczytu i przekazuje typowane parametry plus ograniczone limity czasu do executora hosta
  • TXLSCompiledSheetReportBand i TXLSCompiledOverflowReportBand tworzą świadome zależności arkusze per rekord oraz ograniczone arkusze kontynuacji z kursora sekwencyjnego
  • TXLSReportIncludeLibrary rozwiązuje rekurencyjne nazwane dołączenia, raportuje cykle deterministycznie i zamraża się w niemutowalną bibliotekę do ponownego użycia
  • Warunki raportów skompilowanych, wyszukiwanie, wyrażenia regularne i formuły dynamiczne ponownie używają sparsowanych węzłów wyrażeń i rozwiązanych indeksów kolumn
  • TXLSReportDynamicFormat i TXLSReportFormatEvent stosują formaty liczbowe, wysokości wierszy i szerokości kolumn świadome rekordu, z granularnością celu skompilowanego
  • IXLSReportImageDataProviderV2 i TXLSReportImageBinder rozwiązują typowane cele obrazów z ograniczonych bajtów lub posiadanych strumieni, ze stabilnym kontekstem arkusza, pasma, tabeli, wiersza logicznego, wiersza kursora, bieżącego wiersza tylko do odczytu, zakotwiczenia, transformacji, anulowania i limitu rozmiaru; runnery, generatory, pasma zakresów i pasma tabel Excela wiążą każdy cel bezpośrednio, bez skanowania wygenerowanych komórek arkusza
  • Obrazy raportów V2 wyprowadzają fizyczny rozmiar i DPI z ograniczonych nagłówków PNG, JPEG, GIF, BMP, EMF lub WMF, wspierają dopasowanie Natural, wyśrodkowane Contain, przycięte Cover i Stretch, odrzucają niebezpieczną geometrię rastra przed mutacją i zachowują przesunięcia względem zakotwiczenia w round-tripach XLSX i ODS
  • IXLSXImageBlob i TXLSXImageBlob pozwalają powtarzanym obrazom współdzielić jeden niemutowalny raster i ładunek SVG z jednorazowym skrótem SHA-256 i opcjonalnym kluczem cache; XLSX i ODS ponownie używają odrębnych ładunków mediów między arkuszami i przywracają współdzielone ładunki przy ponownym otwarciu
  • Ponowne wiązanie wykresów świadome zależności tłumaczy serie, formuły, nazwy i zakotwiczenia, gdy rozwijają się pasma zakresów i arkuszy
  • TXLSCompiledReportRunner raportuje fazy begin, target, saving i end, wspiera anulowanie, wyjście strumieniowe i atomowe plikowe, dokładne liczby zastosowań oraz wielokrotnego użycia wykonanie w izolowanych sesjach danych; ErrorMode wybiera zgodne zachowanie stop albo kontynuowaną obsługę jawnie typowanych awarii danych, dostawcy, dzielenia przez zero i nieprawidłowego wyrażenia regularnego, StrictDataAccess ujawnia brakujące dane zamiast starszych pustych wartości lub liczb sentineli, a niemutowalne migawki LastResult zachowują uporządkowane problemy środowiska wykonawczego i stan końcowy między kolejnymi użyciami runnera
  • Wyjście raportu do strumienia, pliku i pliku zaszyfrowanego używa jednej transakcji etapowanej; awarie fatalne, anulowania, serializacji, częściowe zapisy strumienia i zamiany pliku zachowują kompletny wcześniejszy cel, udane wyjście nieszyfrowane zachowuje format skoroszytu źródłowego, a duże migawki rollback strumienia wylewają się do zarządzanego magazynu tymczasowego
  • Wyjście raportu pomija migawki zapasowe dla pustych strumieni docelowych, zachowując rollback zawartości i pozycji celu, gdy wyjście zawiedzie
  • Cele skompilowane są wyliczane przed formatowaniem dynamicznym, po czym atomowo commitują zawartość, formaty liczbowe, wysokości wierszy i szerokości kolumn z dokładnym rollbackiem; odwracalne diagnostyki komórek czyszczą formuły, zachowują pozostały styl bazowy i współdzielą pulowane pochodne czerwonej czcionki i żółtego wypełnienia między równymi czcionkami bazowymi, bezpieczne cele niekomórkowe zachowują swoją oryginalną wartość, a cele strukturalne pozostają fail-fast
  • TXLSReportRuntimeLimits ogranicza liczbę zatrzymywanych problemów, długość zdezynfekowanych komunikatów i pamięć problemów przed mutacją celu; komunikaty są jednolinijkowe i redagują typowe poświadczenia, a RuntimeDiagnosticsSheetName opcjonalnie zapisuje jeden ustrukturyzowany arkusz diagnostyki, który przechodzi round-trip z wygenerowanym skoroszytem
  • TXLSReportGenerator posiada pełny cykl życia odczytu i generowania dla szablonów skoroszytowych, plikowych, strumieniowych i szyfrowanych plików, z sparowanymi zdarzeniami, stabilnym kontekstem arkusza, bezpiecznym anulowaniem, izolacją wyjścia przez atomowy klon oraz tym samym kontraktem błędów odwracalnych i niemutowalnych wyników co runner skompilowany
  • CloneRangeTo klonuje wybrane komórki i zależności niosące tożsamość, z tłumaczeniem odwołań mieszanych, preflightem nakładania i liniowym powtarzanym kafelkowaniem ze stałym źródłem; warunkowe i walidacyjne cele całych osi nadążają za edycjami strukturalnymi i klonami w pełni obejmującymi każdy cel, a kopie komórek całego wiersza, całej kolumny i całego arkusza zachowują rzadkie przechowywanie i bezpieczne, nakładające się migawki źródeł; przecinające się wirtualne nakładki stylów także się kopiują i przemapowują bez rozszerzania pustych współrzędnych, a formatowanie nakładkowe celu poza kopiowanym prostokątem pozostaje nietknięte
  • TXLSReportPaginationPlanner dostarcza stałe stopki, grupy keep-together, dzielenie wierszy, scalanie podobnych rozpiętości i zbalansowane kolumny raportu
  • Analiza raportów skompilowanych, ścisłe wykonanie i WriteDiagnostics raportują zniekształcone placeholdery i brakujące wartości z rodzajami celów i dokładnymi adresami
  • TXLSReportTemplateChecker i TXLSReportTemplateMigrator ponownie używają semantyki kompilatora do walidacji szablonów i konwersji wspieranych starszych form placeholderów

Wyjście dostępnościowe, wektorowe, obrazowe i internetowe

  • TXLSPDFTagMode i DocumentLanguage generują automatyczne drzewa struktury PDF z tabelami, wierszami, semantycznymi komórkami nagłówkowymi i danych, informacyjnymi figurami obrazów XLSX z alternatywnym tekstem Unicode, gęstymi identyfikatorami marked-content per strona, rozpiętościami scalonych komórek, dokładnymi drzewami rodziców i izolacją artefaktów dla obrazów dekoracyjnych i innego rysunku niesemantycznego
  • TXLSPDFSignature wspiera widoczne lub niewidoczne pola podpisu, wyglądy PNG contained, covered albo stretched, dane CMS dostarczane przez hosta, wywołania zwrotne skrótów, łatkane zakresy bajtów i jawne polityki certyfikacji DocMDP: brak zmian, wypełnianie formularzy i podpisywanie albo wypełnianie formularzy, podpisywanie i adnotacje, bez przechowywania kluczy prywatnych
  • TXLSPDFAProfile wybiera PDF/A-1a, 1b, 2a, 2b, 3a lub 3b z walidacją profilu przed commitem wyjścia; pliki skojarzone PDF/A-3 niosą nazwę Unicode, typ MIME, opis, rozmiar w bajtach, czas modyfikacji oraz relację Source, Data, Alternative, Supplement albo Unspecified przez szczegółowe przeciążenie AddAttachment
  • Wielokrotnego użytku postępy begin, page i end PDF plus anulowanie zapobiegają częściowym strumieniom docelowym
  • Świadome stylów łańcuchy fallback czcionek PDF cache'ują pokrycie glifów i osadzone kroje, zachowując znaki uzupełniające, klastry grafemów i mapowania ekstrakcji
  • Kontekstowe kształtowanie złożonego tekstu stosuje ligatury, pozycjonowanie znaków łączonych, łączenie arabskie i mapowania klastrów źródłowych przed wyjściem glifów
  • Natywne gradienty PDF osiowe i promienne z wieloma przystankami, maski alfa per przystanek, wzory wypełnień komórek, przycinanie i cienie obrazów ponownie używają cache'owanych zasobów graficznych
  • Komentarze komórek mogą stać się pozycjonowanymi adnotacjami tekstowymi PDF w Unicode, przy czym wyjście komentarzy na końcu pozostaje dostępne
  • TXLSSvgExport renderuje zakresy, arkusze, skoroszyty, strony i nazwane obiekty z tekstem wektorowym, jawnie włączanymi bezpiecznymi łączami, wykresami, kształtami i obrazami; wywołania zwrotne stron zwracają za każdym razem jedną kompletną SVG, deterministyczne prefiksy identyfikatorów izolują osadzone dokumenty, a współdzielony renderer stron maluje wypełnienia komórek Excela, zwinięte obramowania, czcionki i wyrównania per komórka, shrink-to-fit oraz przepełnienie na sąsiada
  • TXLSPageImageExporter ponownie używa jednej sesji paginacji, przyrostowo produkując wybrane strony PNG lub JPEG, albo zapisuje wybrane strony atomowo jako jeden wielostronicowy TIFF skompresowany LZW
  • TXLSGraphicsBackend i współdzielona geometria paginacji wyrównują podgląd, wydruk, PDF, SVG, obraz, HTML i rozmieszczanie obiektów, podczas gdy serializery zachowują kodowanie specyficzne dla formatu
  • Ograniczony dekoder EMF i WMF waliduje koperty rekordów i odrzuca rekordy escape przed odtworzeniem swojego bezpiecznego podzbioru przez współdzieloną geometrię Canvas i SVG: stosy stanu DC, transformacje okna, viewportu i świata, tabele obiektów piór, pędzli i piór rozszerzonych z obiektami stockowymi, prostokąty, elipsy, łańcuchy linii, wielokąty, krzywe Béziera, nawiasy ścieżek z przebiegami fill, stroke i łączonymi, prostokąty zaokrąglone, łuki, cięciwy, wycinki koła i łuki kątowe, wypełnienia i ramki regionów, ograniczone biegi tekstu z czcionkami i wyrównaniem oraz obrazy stretch-DIB przekodowane do PNG; przycinanie i rekordy prywatne pozostają poza whitelistą i zawodzą bezpiecznie w ograniczony fallback rastra
  • Eksporterzy HTML klasyczny i XLSX dostarczają jawny widok arkusza z semantycznymi nagłówkami wierszy i kolumn oraz typowanym hot trackingiem w czystym CSS; łącza zewnętrzne współdzielą jeden sanityzer URI odrzucający cele script, data, blob, file, UNC i zawierające znaki sterujące
  • Wykresy XLSX z osią dat używają numerów seryjnych skoroszytu jako współrzędnych ciągłych, zachowują slot zgodności z przestępnym dniem 1900, respektują system dat 1904 i przesuwają znaczniki o rzeczywiste dni, miesiące lub lata kalendarzowe na wspólnym wyjściu paginacji, SVG, PDF, obrazu, podglądu, wydruku, przeglądarki i HTML; pominięte jednostki są wnioskowane raz na wszystkich widocznych seriach, automatyczna gęstość używa widocznej rozpiętości, szerokości osi, zmierzonej czcionki etykiet, formatu liczbowego i rotacji, a skonfigurowane główne i pomocnicze linie siatki ponownie używają tych samych ograniczonych kolekcji znaczników
  • Modele osi dat XLSX zachowują niezależną obecność jednostek kalendarzowych base, major i minor plus flagę automatycznych kategorii osi dat, więc pominięte elementy ChartML pozostają pominięte, podczas gdy jawne jednostki dni i fałszywe wartości logiczne przechodzą round-trip; typowane pola rozszerzeń osi dat Classic zachowują każdą surową wartość i flagę, a wartości aktywne można mapować do modelu osi XLSX
  • Wielopoziomowe osie kategorii zachowują rzadkie pamięci podręczne z liśćmi na pierwszym planie i żywe dwuwymiarowe zakresy, dziedziczą pominięte etykiety, traktując jawne puste etykiety jako granice, scalają równe etykiety tylko wewnątrz rozpiętości rodzica, respektują porządek odwrócony i od prawej do lewej plus ukryte kategorie oraz ujawniają NoMultiLevelLabels dla wyjścia jednopopoziomowego
  • Etykiety danych wykresów pobierane z komórek zachowują niezależne formuły i indeksowane pamięci podręczne per seria, odświeżają lokalny tekst wyświetlany arkusza raz na generację skoroszytu, zatrzymują zewnętrzne pamięci podręczne bez dostępu domniemanego, tłumaczą formuły przez kopie arkuszy i rozwijanie raportów oraz respektują widoczność współdzieloną i per punkt na wyjściu paginacji, SVG, PDF, obrazu, podglądu, wydruku, przeglądarki i HTML
  • Skoroszyty klasyczne XLS i XLSX współdzielą bezstratną trójstanową politykę wyświetlania obiektów; obiekty ukryte są wykluczane przed rozwijaniem zakresów i pracą na mediach, przeglądarka renderuje lekkie nazwane placeholdery, a eksporterzy PDF, SVG, bitmap, wydruku i HTML mogą jawnie włączyć wyjście placeholderowe, zachowując domyślnie wyjście pełnoobiektowe
  • Ręczne układy wykresów zachowują niezależną obecność pól i nieprawidłowe tokeny źródłowe, rozwiązują tryby factor i edge ograniczonym rozmieszczaniem zachowującym rozmiar, rozróżniają cele wewnętrznego i zewnętrznego obszaru wykresu, współdzielą geometrię tytułu, legendy, obszaru wykresu i tytułów osi na wyjściu paginacji, SVG, PDF, obrazu, podglądu, wydruku, przeglądarki i HTML oraz konwertują wspierane pozycje ODF przez absolutne odległości wykresu
  • Osie dat XLSX zachowują formaty liczbowe etykiet i stan łącza do źródła, stosują stylowanie tekstu osi i rotację zgodnie z ruchem wskazówek zegara, respektują odwrócony kierunek i utrzymują ciągłe odstępy dla zduplikowanych i rzadkich dat na wyjściu paginacji, SVG, PDF, obrazu, podglądu, wydruku, przeglądarki i HTML
  • Tryb wyświetlania formuł rozwiązuje ten sam tekst końcowy z uwzględnieniem komórek chronionych, to samo wyrównanie i ograniczoną dwukrotną efektywną szerokość układu na ścieżkach przeglądarki skoroszytów, podglądu, wydruku, obrazu, EMF, SVG, PDF, klasycznego HTML i XLSX HTML, bez zmieniania zapisanych wartości, pamięci podręcznych formuł ani szerokości kolumn
  • Adaptacyjne łuki sześciennych krzywych Béziera sterowane flatness współdzielą jeden kontrakt precyzji na wyjściu PDF, SVG i obrazu, przydzielając dodatkowe segmenty tylko wtedy, gdy wymagają tego skala albo mimośród
  • Konspekty PDF wspierają zagnieżdżone zakładki Unicode, kolory, tekst pogrubiony lub kursywny oraz rozwiniętych albo zwiniętych potomków, z wywołaniami zwrotnymi stron dla teł i nakładek
  • Rozwiązane nazwane i wbudowane style tabel płyną przez współdzielone formatowanie HTML, PDF, obrazu, podglądu i przeglądarki bez materializowania pustych komórek
  • TXLSSvgExport.SaveObjectAsSVG renderuje jeden nazwany wykres, obraz albo kształt w jego dokładnych granicach obiektu, bez kadrowania pełnej strony
  • Eksport HTML emituje wykresy i kształty jako wbudowaną SVG oraz zachowuje obrazy SVG, zakotwiczenia rysunków, łącza i wspierane efekty bez rasteryzacji całego arkusza
  • TXLSXHtmlExportSession skanuje style współdzielone raz, po czym eksportuje arkusze przyrostowo z postępem, anulowaniem i resetem
  • TXLSImageRenderEffects stosuje kadrowanie, jasność, kontrast, gammę, rotację, krycie i cień spójnie na zapleczach graficznych
  • Kształty predefiniowane, adjustacje, dymki, schematy blokowe, pola tekstowe i WordArt używają współdzielonej geometrii wektorowej między formatami wyjściowymi
  • Zaawansowane renderowanie wykresów obejmuje słupki błędów, linie trendu, osie dat, odstępy liczbowe, etykiety pobierane z komórek z porządkiem komponentów custom-first oraz finansowe słupki high-low i up-down
  • Gęste etykiety wykresów i kołowe otrzymują deterministyczną korektę kolizji i wyznaczanie tras linii prowadzących przed finalnym wyjściem wektorowym

Funkcje XLSX gotowe na kod aplikacji

Interfejs API XLSX obejmuje teraz praktyczne scenariusze generowania skoroszytów, wyprowadzania raportów i mutacji skoroszytów zamiast tylko prostego pisania w komórkach

  • Struktura arkusza Komórki, obliczanie formuł, pełne zakresy i scalane w poprzek zakresy z bezpośrednim wyszukiwaniem/usuwaniem scalonych zakresów, wymiary wierszy i kolumn z ograniczonym automatycznym dopasowaniem, kontury, ukryte wiersze i kolumny, zablokowane okienka, stan aktywnego arkusza, ukryte i głęboko ukryte arkusze
  • Style i prezentacja Czcionki, wypełnienia, obramowania, formaty liczbowe, wyrównanie, sformatowany tekst, kolory motywu, kolory indeksowane, odcień i cień, ukośne obramowania oraz pule stylów wielokrotnego użytku
  • Obiekty Excel Hiperłącza i komentarze z wyszukiwaniem komórek i pomocnikami usuwania zakresu, obrazy i samodzielne pola tekstowe z wyszukiwaniem punktu zaczepienia i pomocnikami usuwania zakresu, formaty warunkowe i walidacje danych z wyszukiwaniem uwzględniającym zakres oraz pomocnikami usuwania, tabele w stylu Excel z wyszukiwaniem po nazwie i pomocnikami usuwania, kryteria Autofiltra z bezpośrednim wyszukiwaniem kolumn i pomocnikami usuwania, obiekty wykresów z wyszukiwaniem tytułu i pomocnikami usuwania, arkusze wykresów, zdefiniowane nazwy z wyszukiwaniem po zasięgu i pomocnikami usuwania, zachowywanie projektów VBA z zapytaniami HasVbaProject / VbaProjectDefined oraz inspekcją i edycją kodu źródłowego istniejących modułów, a także łącza do zewnętrznych skoroszytów z wyszukiwaniem celów i pomocnikami usuwania
  • Obsługa stron i metadanych Tryby widoku arkusza kalkulacyjnego, obszary wydruku, wiersze i kolumny tytułów, opcje drukowania linii siatki i nagłówków, ręczne podziały stron z wyszukiwaniem indeksu i pomocnikami usuwania zakresu, skoroszyty z datą od 1904, właściwości dokumentu, metadane aplikacji oraz strumieniowy zapis/odczyt

Formaty wyjściowe z tych samych danych skoroszytu

HotXLS nie ogranicza się do plików binarnych skoroszytów. Obecne API ujawniają bezpośrednie ścieżki eksportu dla typowych celów integracji i raportowania

XLS Odczyt, zapis i modyfikacja klasycznego skoroszytu Excel 97-2003, kursor wczytanych komórek o stanie stałym z należącymi do wywołującego migawkami, opcjonalnymi niezależnie ostylowanymi pustymi komórkami i walidacją topologii fail-fast, szybkie wykrywanie nazw arkuszy z plików lub strumieni, wyszukiwanie arkuszy według nazwy, pomocnicy okienek, aktywna karta skoroszytu, metadane zapisującego, pomocnicy ładowania/zapisu/czyszczenia ładunku VBA plus inspekcja i edycja kodu źródłowego istniejących modułów, kontrole geometrii/stanu okna, wierność karty, paska przewijania, kontrole grupowania dat AutoFiltra, widoku arkusza, koloru linii siatki i flagi Window2 zablokowanych okienek, kontrole stylu konspektu, uprawnienia ochrony arkusza, flagi ustawień strony z ograniczonym, bajt-dokładnym zachowywaniem ładunku sterownika drukarki BIFF, dostęp publiczny do ładunku z izolacją kopii oraz typowana konwersja do XLSX z priorytetem pól, sortowanie zakresów wielokluczowe, wbudowane style komórek, właściwości dokumentu i przepływy eksportu
XLSX Generowanie skoroszytów OOXML, obliczanie formuł z rozszerzonym pokryciem funkcji oraz odwołaniami A1 po całej siatce arkusza 1,048,576 × 16,384 i OnUserFunction/OnUserFunctionEx, kursor wczytanych komórek o stanie stałym nad zmaterializowanymi rzadkimi blokami albo spakowanym magazynem, z należącymi do wywołującego migawkami, opcjonalnymi niezależnie ostylowanymi pustymi komórkami i walidacją okresu życia fail-fast, skanowanie wczytanych komórek i zapis callbackiem, ograniczone limity AutoFit dla szerokości kolumn raportu i wysokości wierszy, deterministyczna rzadka konwersja XLSX-to-BIFF8 przez SaveXLSXWorkbookAsXLS z zachowywaniem zablokowanych kolorów indeksowanych, ważoną kwantyzacją palety OKLab i preflightowanymi typowanymi ustawieniami drukarki, bajt-dokładne zachowywanie części ustawień drukarki arkusza z dostępem publicznym do ładunku z izolacją kopii, dokładną semantyką czyszczenia i diagnostyką wiszących relacji, zgodny z Excelem szyfrowany AES zapis i odczyt (ECMA-376 Standard Encryption) z akceleracją AES-NI i programowym fallbackiem, zachowywanie projektu VBA z zapytaniami HasVbaProject / VbaProjectDefined plus inspekcją i edycją kodu źródłowego istniejących modułów, znajdowanie/zamiana tekstu szablonu, konfigurowalny eksport HTML skoroszytu/zakresu, bezpośrednie wyszukiwanie/usuwanie kryteriów AutoFiltra i ocena podglądu, bezpośrednie wyszukiwanie/usuwanie zakotwiczeń osadzonych obrazów, uwzględniające zakresy wyszukiwanie/usuwanie formatowania warunkowego i sprawdzania poprawności danych oraz round-trip przez dedykowaną fasadę lxHandleX
XLSB Walidowane wartości i podstawowe style przez fasadę XLSX, włącznie z typowanymi liczbami, wartościami logicznymi, tekstem Unicode, zwykłymi błędami, ostylowanymi pustymi komórkami, widocznością arkuszy, zwykłymi widokami, wymiarami wierszy i kolumn, marginesami strony, kompresją ZIP i deterministycznymi znacznikami czasu; kompletna etapacja pakietu i obowiązkowe kontrole funkcji odrzucają nieobsługiwane formuły, nazwy, obiekty funkcji i niedomyślne ustawienia obliczeń przed commitem do celu
ODS Import arkuszy kalkulacyjnych OpenDocument z danymi styles.xml, wymiarami wierszy/kolumn, odziedziczonymi stylami komórek, podstawową konwersją formuł, ochroną arkuszy, nazwanymi zakresami, beztypowymi zapamiętanymi wartościami skalarnymi, ułamkowymi sekundami dat i ujemnymi czasami trwania. Pełny eksport przez SaveAsODS zapisujący typowane wartości komórek, formuły, tekst sformatowany, scalone zakresy, hiperłącza, obrazy, wykresy, formatowanie warunkowe, sprawdzanie poprawności danych, zablokowane okienka, obszary wydruku, grupy konspektu oraz opcjonalną kontrolę TODSExportOptions do poprawnego pakietu ODF
CSV / TSV Import tekstu rozdzielanego przez OpenCSV z automatycznym węszeniem separatorów, wykrywaniem kodowania BOM, cytowaniem RFC 4180, opcjonalnym wnioskowaniem typów wartości, dyrektywami importu per kolumna i cięciem o stałej szerokości, plus pomocnicy eksportu skoroszytu, arkusza i zakresu z przeciążeniami strumieniowymi i plikowymi oraz wyjściem stałej szerokości z dosypywaniem spacji
HTML / RTF / PDF Zorientowane na tabele eksporty do raportów, podglądów, treści e-maili i przekazania dokumentów, w tym wybrane fragmenty zakresów, konfigurowalne tytuły HTML, atrybuty układu tabeli, kotwice hiperłączy, dymki komentarzy, style wyrównania w pionie, style bloków tekstu sformatowanego, warunkowe style różnicowe i formaty liczbowe, skale kolorów, kierunkowe paski danych, glify rodzin ikon i minimalne wyjście tabelaryczne. TXLSHTMLImport importuje jedną wybraną tabelę najwyższego poziomu albo wszystkie tabele do komórki celu indeksowanej od 1, z jawnym separatorem dziesiętnym, zachowując pierwotne przeciążenia wszystkich tabel. SaveWorkbookAsHTML publikuje wszystkie widoczne arkusze XLSX w jednym nawigowalnym dokumencie ze stabilnymi kotwicami per arkusz i escapowanymi nazwami arkuszy. RTF importuje się też z powrotem przez OpenRTF, mapując komórki tabel albo listy akapitów domyślnie na A1 albo na jawny wiersz i kolumnę celu indeksowane od 1 przez rozszerzone przeciążenia. SaveAsPDF skoroszytu łączy wszystkie widoczne arkusze w jeden dokument, renderuje wypełnienia pełne i warunkowe, skale kolorów, paski danych, warunkowe ikony, kolory czcionek, rozmiary, wyróżnienia bold, italic i underline, wyrównanie, jawne obramowania i opcjonalne linie siatki, oraz respektuje obszary wydruku, rozmiar papieru albo własne wymiary papieru dokładne do punktu, orientację, marginesy, powiększenie, dopasowanie do szerokości, szerokości kolumn, wysokości wierszy, ręczne podziały stron, powtarzane wiersze i kolumny tytułów oraz nagłówki i stopki lewe, środkowe lub prawe — włącznie z kodami pól &F nazwy pliku i &Z ścieżki oraz opcjonalnym tłumieniem pasm nagłówka lub stopki — paginując przy tym szerokie i wysokie zakresy po obu osiach; CalculatePageCount raportuje kompletną liczbę stron logicznych bez budowania obiektów PDF, a indeksowane od 1 FirstPage i LastPage wybierają zakres wyjścia z zachowaniem pól łącznej liczby stron. TXLSPaginationModel ujawnia te decyzje jako wielokrotnego użytku strony logiczne XLS i XLSX dla podglądu wydruku VCL, eksportu PDF, własnych płócien i wyjścia EMF, włącznie z powtarzanymi tytułami, porządkiem najpierw-w-prawo-potem-w-dół albo najpierw-w-dół-potem-w-prawo, skalowaniem dopasowania od 10% do 400% i rozmieszczeniem rysunków
Przenośny PDF / SVG / PNG Natywne renderowanie przenośne przenosi odłączone migawki skalarne i scen, zachowuje porządek rysowania i przycinanie oraz używa ograniczonego renderowania Cairo z jawnymi plikami czcionek; plany wydruku skoroszytów stosują obszary wydruku, tytuły, ustawienia strony, podziały i skalowanie dopasowania bez przeliczania ani mutowania źródła

Dlaczego warto tego używać

HotXLS utrzymuje generowanie arkuszy kalkulacyjnych wewnątrz procesu Delphi lub C++Builder. Dzięki temu jest odpowiedni dla narzędzi biurkowych, narzędzi wsadowych, usług i instalatorów, gdzie automatyzacja Office jest krucha lub niedostępna

Pokrycie RAD Studio

Pakiet celuje w Delphi i C++Builder od XE5 do RAD Studio 13.1 Florence, z wersjonowanymi projektami pakietów i folderami wyjściowymi dla każdej wersji

Free Pascal 3.2.2 z Lazarus/LCL jest również wspierany na Windows Win32 i Win64 przez pakiet runtime Lib/FPC/HotXLSLaz.lpk, włącznie z API skoroszytów XLS/XLSX, bezpośrednim strumieniowaniem, formułami oraz komponentami eksportu TDataToXLS i TGridToXLS dla zbiorów danych LCL i TDBGrid

Uruchom build-FPC-Lib.cmd Win64 albo build-FPC-Lib.cmd Win32, by skompilować pakiet, a potem Tests/Lazarus/Run-HotXLSLazarusSmoke.cmd Win64 lub jego odpowiednik Win32, by zweryfikować round-tripy skoroszytów i kompresji; ustaw LAZARUS_DIR dla niestandardowej instalacji

Aplikacje LCL na Windows muszą dołączać jednostkę Interfaces LCL przed jednostkami HotXLS oraz dodać Lib i Lib/FPC do ścieżek wyszukiwania jednostek, a Lib także do ścieżki wyszukiwania include; formy dem VCL, przeglądarka skoroszytów VCL i adapter siatki DevExpress pozostają komponentami Delphi/C++Builder

Aplikacje natywne Linux x64 i macOS ARM64 ładują, edytują, obliczają i zapisują obsługiwane modele Classic XLS, XLSX, XLSB i ODS; tekst klasycznego BIFF5 używa jawnie zadeklarowanych stron kodowych, podczas gdy skompresowany Unicode BIFF8 zachowuje dokładne jednostki kodowe UTF-16, a natywne obliczenia i wyszukiwanie zachowują dopasowanie wielkości liter Unicode

Tekst obsługiwanych wykresów legacy jest przekodowywany, gdy zmienia się jego strona kodowa, a migracja tekstu bajtowego nieprzestawialnego albo nieobsługiwanego odrzuca się przed zmianą wyjścia wywołującego; powtarzane odczyty ZIP zwalniają wcześniejsze metadane nagłówków, a wyszukiwanie stylów nazwanych obejmuje pierwszy zapisany wpis

Zobacz wsparcie Free Pascal i Lazarus, aby poznać konfigurację aplikacji, kontrakty starszych kodowań i zgodność wyrażeń regularnych

Podsystem wyjścia przenośnego renderuje natywny PDF, SVG i PNG na Linux i macOS z FPC, Cairo, FreeType, HarfBuzz i FriBidi; konsumuje niemutowalne migawki z obsługiwanego natywnego rdzenia skoroszytów, z jawną geometrią czcionek i budżetami zasobów

Przyjazny dystrybucji

Zestaw zawiera źródła, pakiety, skrypty budujące, przykłady, lokalną dokumentację HTML i integrację instalatora, dzięki czemu zespoły mogą kompilować, testować i wdrażać aplikacje bez konieczności polegania na usługach sieciowych

Punkty startowe

Użyj tych lokalnych plików w pierwszej kolejności podczas oceniania biblioteki lub dołączania jej do projektu