Knihovna pro práci s Excelem v RAD Studiu

Čtěte, zapisujte, formátujte a exportujte sešity Excelu bez automatizace Office

HotXLS je nativní knihovna v Object Pascalu pro aplikace v Delphi a C++Builderu. Zpracovává klasické pracovní postupy XLS i současnou fasádu XLSX napřímo, přičemž balíček obsahuje API pro sešity, úpravy listů, bohaté formátování, pomocníky pro export, ukázky a offline dokumentaci

Snímek sešituXLS + XLSX
Hodnoty
Styly
Export
Čísla
Okraje
CSV
Data
Barvy motivu
HTML
Vzorce
Ověření
RTF

Aktuální přehled možností

Současná řada HotXLS kombinuje původní fasádu XLS se specializovaným jádrem XLSX, takže starší kód může nadále používat klasické API, zatímco nové projekty mohou přímo cílit na funkce OOXML

Nativní I/O pro sešity

Vytvářejte, otevírejte, upravujte a ukládejte sešity Excelu přímo z kódu v Delphi nebo C++Builderu. Není vyžadována instalace Microsoft Excel, automatizace COM ani žádný externí proces pro tabulky

Ukládejte šablony XLTX bez maker pomocí SaveAs(FileName, xlsxOpenXMLTemplate) nebo odpovídající stream overload varianty, včetně streamovaného výstupu; výchozí formát ukládání zůstává nezměněn

Klasická fasáda XLS

Zralé API pro sešity Excel 97-2003 (.xls), pokrývající celý klasický objektový model s vysoce věrným obousměrným zpracováním BIFF8, a čtení starších souborů Excel 2.0/3.0/4.0 (BIFF2-4) kvůli jejich hodnotám

  • Indexované intervaly výstupů vzorců zabraňují opakovanému průchodu předchozími řádky při znovuvybudování velkých grafů závislostí, včetně odkazů na výstupy maticových vzorců a závislostí přesahujících do dalších listů
  • Ukládání klasického XLS zachovává načtené i spočítané cache vzorců, včetně kořenů sdílených a maticových vzorců; chybějící cache si drží calculation fallback a explicitní Recalculate obnoví existující hodnoty
  • Skalární reference přes definované názvy se v buňce se vzorcem protínají s oblastmi jednoho řádku či sloupce, zatímco agregační a lookup argumenty oblastí si ponechávají celé oblasti; přepočet se vyhne falešným cyklům oblastí, upřednostní dokončené lookup cache a zachová přesnost plovoucí desetinné čárky ve smíšené aritmetice celých čísel a hodnot s plovoucí desetinnou čárkou
  • Round-tripy XLSX zachovávají dynamické vzorce oblastí tisku, kvalifikovaná sjednocení oblastí a vyžadovaný fonetický index písma s nulovou hodnotou; generované i zachované části sdílejí jednoznačné deklarace content-type, zatímco vlastní vlastnosti a neprůhledné kořenové relace si drží odlišná relationship ID
  • Klasické XLS si drží chybějící importované záznamy okrajů, dokud se daný okraj explicitně nenastaví, aniž změní výchozí výstup okrajů u nových sešitů
  • AGGREGATE zpracovává chyby bez cache a vnořené výběry nezávisle, s oddělenou sémantikou pro reference a spočítaná pole u voleb 0 až 7
  • Round-tripy XLSX zachovávají nemodifikované XML grafů a posuny kotev grafů, názvy, velikosti a scheme písem v podmíněném formátování, explicitní příznaky stylů a barvy RGB a nespecifikovanou orientaci stránky, když jsou nastaveny jen okraje
  • Kompletní objektový model: sešit, list, oblast, vzorec, formátování, obrázek, hypertextový odkaz, definovaný název, ochrana, vzhled stránky a export sestav
  • Metadata sloupců klasického XLS vystavují značky sbalení osnovy nezávisle na skrytém stavu a úrovni seskupení a zachovávají je napříč raw round-tripy XLS, kopiemi formátů sloupců a kopiemi listů
  • Nastavení stránky v klasickém XLS vystavuje HasSetupRecord a PrinterSettingsInitialized, zachovává nedotčený BIFF záznam Setup bajt po bajtu, chybějící záznam nechává chybět a pole závislá na tiskárně inicializuje jen tehdy, když to vyžadují jejich setttery
  • Konverze XLS na XLSX a XLSX na XLS přenáší typované nastavení stránky a neprůhledné bajty tiskového ovladače nezávisle, dává standardním polím autoritu před duplicitními soukromými výchozími hodnotami a odmítne nezobrazitelná nastavení BIFF8 před zápisem cíle
  • Sešity klasického XLS i XLSX vystavují shodné politiky SaveExternalLinkValues a UpdateLinks ; cacheované hodnoty externích sešitů lze vynechat bez smazání definic odkazů nebo cache v paměti, neplatné nedotčené deklarace zdrojů zůstávají bezztrátové, konverze mezi formáty zachovává legální hodnoty politik a preference aktualizace nikdy samy nespustí přístup k souboru ani síti
  • Sešity XLSX poskytují přesnou detekci, počítání a atomické odstranění task pane webových doplňků; odstranění před mutací validuje ohraničené interní uzávěry relací, zachová každou část sdílenou jinou relací, smaže vlastněné části relací a zastaralé položky content-type, zabrání oživení z komprimované kopie zdroje a zůstává idempotentní, zatímco klasické XLS a ODS označí operaci za nepodporovanou, aniž by skenovaly balíček
  • Listy klasického XLS i XLSX vystavují shodné metody výběru respektující podokna a posouvání číslované od jedničky přes TXLSPanePosition; TryGetWindowScroll a ScrollWindow mapují sdílené horní, dolní, levé a pravé osy do nativního dvouúrovňového stavu zobrazení daného formátu, zachovávají je napříč uložením, otevřením a kopií listu a atomicky odmítnou chybějící podokna či neplatné souřadnice; snapshoty výběru zůstávají uspořádané, překrývající se a ve vlastnictví volajícího, strukturální úpravy celých řádků či sloupců přemapují každé podokno a přitom zachovají identitu aktivní oblasti s deterministickými fallbacky pro přežívající a hraniční buňky a velké operace s oblastmi zůstávají amortizovaně lineární; klasické XLS navíc agreguje po sobě jdoucí záznamy výběru, zachovává nedotčená či neplatná těla záznamů, hlásí poškozené skupiny přes xlsDiagnosticSelectionRecordInvalida výběry větší než 1369 oblastí dělí na bloky
  • Engine-neutrální jednotka lxOutline staví geometrii osnovy řádků či sloupců z setříděných řídkých rozpětí, najde uzly summary-before či summary-after v čase O(log n + k) a vytvoří komprimované idempotentní plány pro sbalení uzlů, změny úrovní zobrazení, zachování vnořených potomků a rekurzivní aktualizace stavu potomků, aniž by skenovala nepoužívané souřadnice listu; oba enginy listů vystavují stejné metody dotazů a řízení uzlů, přičemž skupiny OpenDocument si drží nativní stav zobrazení a převedou se na značky summary-node XLSX
  • Sešity klasického XLS i XLSX vystavují stejný kontrakt ResolveIndexedColor bez vedlejších efektů pro veřejné barevné indexy, hodnoty BIFF icv a indexované barvy OOXML; tokeny palety, automatické, systémové a neplatné zůstávají rozlišené, ohraničení s indexem nula si drží svůj nespecifikovaný význam, výstup ARGB je normalizovaný a barvy operačního systému se rozpoznají jen přes explicitní callback volajícího
  • Oba enginy sešitů vystavují dotaz NearestIndexedColor bez vedlejších efektů, podložený cache OKLab citlivou na mutace; prohledává jen 56 fyzických položek palety BIFF, vrací veřejné i fyzické indexy s metadaty vzdálenosti a přesné shody, odmítá částečnou alfu a při stejných vzdálenostech vybere nejnižší veřejný index
  • Oba enginy sešitů vystavují deterministický inventář ScanIndexedColorUsage bez vedlejších efektů pro všech 56 fyzických slotů palety, včetně normalizovaných hodnot ARGB, počtů definic a referencí, druhů konzumentů a zámků zachování napříč styly, řídkými buňkami, objekty listu, grafy, komentáři a podmíněnými formáty, aniž by materializoval nepoužívané buňky
  • Oba enginy sešitů vystavují náhled BuildBiffPalettePlan bez mutací, který chrání indexované konzumenty, agreguje přímé a rozpoznané barvy motivů podle frekvence vykreslení, zachovává existující přesné shody, mapuje barvy deterministicky přes OKLab a hlásí identitu zdroje, změny slotů, přesné pokrytí, váženou chybu a kvantizaci přetečení, aniž změní sešit nebo chování ukládání
  • Oba enginy sešitů umí validovat a atomicky aplikovat aktuální 56slotový plán přes ApplyBiffPalettePlan, odmítnout zastaralý či pozměněný vstup před jakoukoli mutací a jednorázově znovu postavit perceptuální matcher; klasické sešity navíc nabízejí explicitní BiffPaletteSavePolicy , jejíž výchozí chování zachovává historický výstup, jejíž optimalizační režim se týká jen BIFF8 a jejíž neúspěšná či zrušená uložení obnoví původní paletu
  • Oba enginy sešitů vystavují validovanou hodnotu TXLSRenderCalibration s ovládáním šířky, výšky, rozestupu více řádků, okrajů buněk, škálování obrazovky a měřicího DPI; přiřazení je atomické, zachycení vrací nezávislý snapshot operace, výchozí hodnoty jsou deterministické a běhové nastavení se nikdy neserializuje ani samo nepoužije ke změně geometrie listu
  • Oba enginy sešitů vytvářejí služby IXLSRenderGeometry ve vlastnictví operace, jejichž neměnná kalibrace, generace sešitu, backend, plný podpis písem, šířka zalamování a text tvoří ohraničenou identitu lokální cache metrik; sdílené GDI měření a převody pixelů, bodů, šířek sloupců, MDW a použitelné šířky buňky eliminují procesově globální DPI a base-width cache AutoFitu, přičemž škálování obrazovky se nevleče do škálování výstupních souřadnic
  • AutoFit v klasickém XLS i XLSX zachytí jeden snapshot renderovací geometrie na operaci a aplikuje kalibrované měření písem, zalamování, rozestupy řádků a okraje buněk; stránkování zachytí stejnou geometrii lokální pro sešit při každém buildu, takže výchozí velikosti stránek zůstávají stabilní, pozdější změny kalibrace vyžadují explicitní rebuild a výpočet stránek nikdy nezapisuje uložené výšky řádků ani šířky sloupců
  • Stránkování PDF, SVG, bitmap, náhledu tisku i prohlížeče sešitů rozpozná vlastní renderovací backend a drží neměnnou kalibraci sešitu po celou operaci; sdílené přizpůsobování textu stránky a zalamování SVG používá lokální ohraničenou cache metrik operace s kompletními styly písem a identitou znakové sady místo procesově globálních měřicích objektů
  • TDataToXLS mohou zahrnovat jen vybraná pole nebo citlivá pole vyloučit, a přesto zůstanou záhlaví, datové řádky, callbacky a šířky sloupců ve vzájemném souladu
  • Vestavěný výpočet vzorců s registry uživatelských funkcí napříč procesem i lokálními v rámci sešitu, sémantikou přepisů lokálních názvů, lock-free voláním handlerů, callbacky OnUserFunction a OnUserFunctionEx , a navíc běžnými textovými, datovými, pracovními, inženýrskými/konverzními, bitovými, statistickými, agregačními, matematickými a pole zpracovávajícími funkcemi Excelu — včetně broadcast operátorů polí s chybami po jednotlivých buňkách, kompletních matic LINEST / LOGEST pro více proměnných, tvarovaných predikcí TREND / GROWTH , stabilního řazení řádků či sloupců SORT, stabilního vícekličového řazení řádků či sloupců SORTBY s nezávislými směry a polem klíčů, za pole citlivého zaokrouhlování CEILING.MATH / FLOOR.MATH s singleton broadcastingem a lokálními chybami, stabilního vyhodnocování COT / ACOT / COTH / ACOTH / CSC / CSCH / SEC / SECH citlivého na pole s lokálními chybami a bezpečnými větvemi pro velké vstupy při přetečení, kontrolou přetečení u opakovaných výpočtů COMBINA / PERMUTATIONA , pamětí ohraničenými identickými maticemi MUNIT , konverzí UNICHAR na Unicode skalárech, thajským textem měny přes BAHTTEXT, prohlídkou ISFORMULA zachovávající reference bez přepočtu cíle, hash-indexovaným UNIQUEpo řádcích či sloupcích, rozlitémi výsledky FREQUENCY , logaritmickým binárním XMATCH / XLOOKUP, detekcí volitelných argumentů ISOMITTED , konverzí polí ARRAYTOTEXT / VALUETOTEXT , validovanými výpočty XIRR / XNPV , načasováním investic a tempem růstu PDURATION / RRI a odpisy VDB ve zlomkových obdobích, plus kompletními vazbami LET a closures LAMBDA volatelnými přes definované názvy a lexikálně zachycenými uvnitř LET
  • Engine-neutrální EvaluateFormulaAt vyhodnotí text vzorce A1 či R1C1 v explicitním kontextu buňky listu, aniž by mutoval model buňky, cache, dirty stav, aktivní list nebo graf závislostí; typované výsledky zachovají chyby vzorců, pole, prázdné hodnoty, těkavost, zrušení, autorizaci externích referencí a stabilní kategorie selhání, zatímco IXLSFormulaEvaluationTemplate znovu použije neměnnou zkompilovanou kotvu napříč cílovými buňkami v rámci konfigurovatelných rozpočtů na délku vzorce, kroky, rekurzi a paměť polí
  • Klasické XLS i XLSX nabízejí shodné metody ValidateFormulaEntry bez mutací, politiky FormulaEntryPolicyna úrovni sešitu a naparsované prohlídky AuditFormulaSymbols napříč buňkami a definovanými názvy; přesně prázdný vstup, vzorce vracející prázdný řetězec, neznámé funkce, neznámé názvy, syntaktická selhání, neplatné cíle i omezení cílového formátu zůstávají rozlišené, běžné přiřazení vzorce atomicky aplikuje přísné odmítnutí nebo zachování, zachované neznámé symboly se vyhodnocují a šíří jako #NAME?, změny UDF či definovaných názvů zneplatní zastaralé závislosti, klasické BIFF ukládá zachovaná neznámá volání jako uživatelské funkce doplňků, validace rozpozná registrované či callbackové uživatelské funkce, lexikální lambdy a lambdy z definovaných názvů, placeholdery sestav, registrované externí odkazy a platné strukturované reference bez volání handlerů a nebezpečné externí či makrovolání funkcí zůstávají blokované před vyhodnocením argumentů, pokud nejsou explicitně autorizované
  • Bezztrátová prohlídka tokenů vzorců a hlídaná mutace pro oba enginy sešitů přes TXLSFormulaTokenStream, ParseFormulaTokens, GetFormulaTokens, FormulaTokensToTexta SetFormulaTokens, se streamy ve vlastnictví volajícího, projekcemi tokenů jen pro čtení, raw payloady BIFF, nezávislými referenčními příznaky, klonováním, atomickou výměnou referencí, dohledatelností kontextu a validací před zpětným zápisem
  • What-If datové tabulky s jednou proměnnou po řádcích, s jednou proměnnou po sloupcích a se dvěma proměnnými, s izolovaným přepočtem závislostí, chybami smazaných vstupů, strukturálními úpravami, kopiemi listů a podporou round-tripu BIFF8
  • Skenování buněk, hledání a nahrazování podle šablon, plnění oblastí přes callbacky, přímé typované zápisy polí přes ForEachCell, FindText, ReplaceText, WriteCellsa číselné, řetězcové a variantové metody zápisu řádků a sloupců, plus celolistové či jednobuněčné ConvertFormulasToValues , které zmrazí vzorce do jejich spočítaných výsledků a přitom zachovají cacheovanou hodnotu
  • Engine-neutrální prohlídka cache vzorců přes IXLSFormulaCacheReader a CreateFormulaCacheReader každého enginu sešitů hlásí přítomnost, původ (načteno či spočítáno) a druh prázdná hodnota, číslo, datum a čas, řetězec, Boolean či chyba, aniž by vyhodnocovala vzorce, volala uživatelské funkce, dekompilovala tokeny nebo měnila stav sešitu; lifetime lease bezpečně zneplatní čtenáře po zničení sešitu, členové sdílených vzorců si drží nezávislé cache a XLSX i ODS zachovají typované chyby a explicitní prázdné cache i po opětovném otevření
  • Klasické IXLSWorkbook.CreateReadOnlyView a XLSX IXLSXWorkbookOwner.CreateReadOnlyView vytvářejí v konstantním čase instance IXLSReadOnlyWorkbookView nad sdíleným modelem s aktivními listy lokálními pro pohled, snapshoty uložených buněk po hodnotě, bez vystavení zapisovatelných objektů, s cacheovanými výsledky vzorců jako výchozím a volitelným textem vzorců či izolovaným vyhodnocováním vzorců; souběžné pohledy si drží stav rekurze, skalární i pole cache a zkompilované vzorce XLSX v soukromí, externí vyhodnocování XLSX čte jen cache odkazů lokální pro soubor, zabalené buňky zůstávají nematerializované a každý pohled drží read lease, která před mutací odmítne zápisy do modelu
  • TXLSWorkbookWorkspace přijímá odvolatelné adaptéry klasického XLS, XLSX či ODS z CreateWorkspaceWorkbookkaždého enginu, zachovává kompletní identity cest či IRI, rozpoznává externí listy podle názvu dřív než podle pozice a vyhodnocuje externí vzorce přes explicitní živé registrace, volitelný volajícím řízený loader spouštěný jednou na identitu, typované souborové cache a #REF!; souběžné požadavky na načtení sdílí jeden výsledek, typovaná diagnostika odhalí selhání a limity zdrojů, kompatibilní registrační metody zůstávají dostupné na obou fasádách sešitů, zničené cíle se bezpečně odpojí a přepočet nikdy implicitně neotevře soubor ani síťový zdroj
  • TXLSWorkbookWorkspace.BuildDependencyGraph vytěží jeden graf vzorců napříč sešity z registrovaných modelů klasického XLS, XLSX a ODS, drží kompletní identity sešitů i listů, zachovává symbolické lokální i externí definované názvy, rozpozná lokální názvy na jejich konkrétní závislosti, když to jde, a velké obdélníkové oblasti ukládá jako kompaktní intervaly; stromy řádkových intervalů urychlí stavění hran a lookup závislých a stavba grafu čte zabalené úložiště XLSX, aniž by ho materializovala
  • TXLSWorkbookWorkspace.Recalculate drží sdílený graf závislostí a inkrementálně ho označuje jako neaktuální, plánuje acyklické uzly vzorců v topologickém pořadí napříč sešity, odmítne skutečné silně souvislé cykly vzorců, aniž by odmítl neškodné obousměrné odkazy mezi sešity, a sdílí cache externích buněk lokální pro jeden průchod s explicitní diagnostikou zásahu, minulu, zneplatnění a blokovaných uzlů; volání v rámci téhož workspace se serializují, odstranění během průchodu vrátí stav workspace-changed přes bezpečné snapshoty adaptérů, zničení počká na aktivní výpočet a selhané uzly zůstávají neaktuální pro explicitní opakování
  • CalculateAndVerify porovná uložené výsledky vzorců s čerstvými netěkavými výpočty a hlásí diagnostiku listu, buňky, vzorce, očekávané i skutečné hodnoty, aniž nahradí cache; RecalcAndVerifyEx přidá hloubkový audit s izolovaným překryvem výsledků grafu závislostí, typovanými kategoriemi selhání s ohraničenými call stacky, zrušením průběhu a volitelnou atomickou aplikací přepočítaných hodnot
  • Tolerance hloubkového auditu filtrují hlášení neshod, aniž by přitom potlačily čerstvé mezivýsledky: závislé vzorce používají auditované hodnoty a explicitní aplikace obnoví změněné cache, i když se žádná neshoda nehlásí; absolutní i relativní tolerance platí obě pro výsledky s dvojitou přesností
  • Klasický přepočet používá graf závislostí stavěný lazy, propaguje neaktuální vstupy jen na tranzitivně závislé, přepočítá těkavé vzorce v každém průchodu, vyhodnocuje acyklické vzorce v pořadí závislostí a u kruhových referencí nasadí iteraci silně souvislých komponent; vypnutí plné přesnosti zaokrouhlí cache vzorců a What-If datových tabulek na jejich efektivní zobrazovanou číselnou přesnost, než je spotřebují závislé
  • Automatický filtr, ověřování dat v seznamech, excelové tabulky s rozvržením bez záhlaví a komentáři u každé tabulky plus vyhodnocováním vzorců se strukturovanými referencemi (Table[Col], rozpětí sloupců, [#Data] / [#All] / [#Headers] / [#Totals]), rozšíření podmíněného formátování (datové pruhy s výplní a ohraničením záporných hodnot, barevné škály, sady ikon) s prioritami unikátními v rámci listu při ukládání a pravidly v rozsahu kontingenčních tabulek směrovanými do bucketu rozšíření Excel 2010+, a listy s grafy
  • Textová pole, kresby OfficeArt, typovaný import kontingenčních tabulek řízený relacemi, materializace filtrovaných a seskupených vícehodnotových dat, počítaná pole, položky a členy, mezisoučty, celkové součty, stabilní řazení, klasické i rozšířené výpočty ShowDataAs , plus komentáře s RTF textem
  • Vysoce věrné obousměrné zpracování BIFF8, které zachovává záznamy vytvořené Excelem, přesné barvy RGB i barvy motivů, vlastní zobrazení a metadata sdílení a revizí
  • Sešity chráněné heslem pomocí šifrování BIFF8 RC4, plus ukládání a načítání XLSX šifrovaného přes Agile s ověřeným HMAC integrity dat nad šifrovaným balíčkem, a klasické write rezervace (SetModifyPassword) nesoucí příznak doporučeného režimu jen pro čtení, hash hesla a jméno rezervujícího uživatele
  • Overloady AutoFitu pro sloučené buňky mohou přidělit požadovaný růst řádku či sloupce prvnímu členu, poslednímu členu, nebo ho rovnoměrně rozložit po sloučeném rozpětí, přičemž zachovají skrytý stav a respektují meze jednotlivých členů
  • Kopie listu mezi sešity (TXLSWorksheets.AddCopy), která do jiného sešitu naklonuje hodnoty buněk, vzorce (překompilované na názvy listů cíle), formáty s přesnými barvami RGB / motivů, sloučené buňky, komentáře, hypertextové odkazy, rozložení řádků a sloupců, ukotvené příčky, ochranu, nastavení stránky, barvu záložky, podmíněné formáty, ověřování dat, kritéria automatického filtru, tabulky, vložené obrázky, RTF běhy (s písmy přenášenými po hodnotě) a listy s grafy (s referencemi řad překompilovanými na cíl); vzorce, jejichž listy v cíli chybí, se přesměrují na zdrojový sešit jako externí odkaz, když má identitu souboru

Moderní fasáda XLSX

Specializované jádro OOXML postavené na TXLSXWorkbook pro sešity Excel 2007+ (.xlsx)

  • Sdílené řetězce, styly, kresby, funkce listů, balení ZIP/XML a metadata obousměrného zpracování, včetně field-aware zpracování Xstring ve SpreadsheetML, které zachovává řídicí znaky a literální tokeny _xHHHH_ , aniž by přepisovalo syntaxi vzorců
  • Nastavení stránky listu si drží binární nastavení tiskárny bajt po bajtu přes relaci pageSetup a část printerSettingsN.bin pro každý list, přijme nestandardní umístění zdrojové části, zapíše deterministické kanonické cíle, deep-copy payload napříč kopiemi listů v rámci sešitu i mezi sešity a hlásí chybějící, špatně typované či visící relace tiskárny, aniž by navázal nesouvisející binární část
  • Typované číselné, řetězcové a variantové zapisovače řádků a sloupců rozšiřují kapacitu buněk geometricky přes opakované dávky, připojují dopředné dávky řádků přímo do předdimenzovaných řídkých vektorů řádků, bezpečně se zastaví na limitech listu, zachovávají stabilní handly při překryvu a vyhýbají se dispatchi callbacků
  • Čtení a zápis formátu OpenDocument (.ods): import stávajících tabulek pomocí Open / OpenODS, export přes SaveAsODS nebo SaveAs(xlsxOpenDocumentSpreadsheet), vyladění výstupu pomocí TODSExportOptionsa obousměrné zpracování stylů, RTF textu, obrázků, grafů, ověření, podmíněných formátů, nastavení stránky, oblastí tisku, skupin osnovy, struktury listů a metadat sešitů
  • Import více formátů: OpenDocument (.ods) a CSV / TSV s detekcí oddělovačů, detekcí BOM a volitelným odvozováním typů hodnot
  • Detekce podle podpisu obsahu: DetectExcelContentFormat prohlédne úvodní bajty souboru nebo streamu a rozezná BIFF compound soubory, balíčky OOXML, balíčky OpenDocument a prostý text s oddělovači bez ohledu na příponu souboru, přičemž oba enginy sešitů odmítnou neodpovídající kontejnery s jasnou zprávou, která pojmenuje správný loader
  • Formátovaný zobrazovaný text: vlastnost FormattedText jen pro čtení (na IXLSRange a TXLSXCell) vykreslí hodnotu buňky přes její formát čísel — oddělovače, procenta, masky data a času, vícesekční masky, boolean formáty — přesně tak, jak ji Excel ukazuje v mřížce
  • Monitorování změn souboru: TXLSFileMonitor sleduje sešit na disku a spustí OnFileChanged , když ho jiný proces přepíše uložením, s konfigurovatelným intervalem dotazování a doručováním událostí v hlavním vlákně nebo ve vlákně sledujícího; handlery můžou monitor zastavit nebo zničit, případně přepnout sledovaný soubor
  • Dotazování na heslo: událost OnPassword klasického enginu XLS vyzve aplikaci k zadání hesla, když Open narazí na šifrovaný sešit s chybějícím či chybným heslem, a otevření zopakuje
  • Formátovací štětec: TXLSXCellFormat jednou popíše písmo, výplň, ohraničení, zarovnání, formát čísel a ochranu a pak ho aplikuje na buňky, oblasti, řádky, sloupce nebo celé listy — aplikují se jen dotčené aspekty a indexy poolu se řeší jednou za aplikaci, což urychlí hromadné formátování
  • Jednotné streamované řádky: TXLSRowCursor projde zdroje .xls, .xlsx, .xlsm, .ods, CSV či TSV řádek po řádku (FindFirst / FindNext) a v paměti drží jen aktuální projektovaný řádek nebo ODS repeat šablonu, s pushem mezí řádků a výběru sloupců před alokací hodnot, zachovává cacheované výsledky vzorců a uložené naformátované prázdné buňky, rozlišuje přítomnost vzorce od dostupnosti textu vzorce, volitelně potlačí text vzorce, přeskočí krycí buňky ODF, skáče přímo mezi vybranými sloupci v opakovaných ODS rozpětích, dekóduje BOM UTF-8 či UTF-16 a víceřádkové textové záznamy v uvozovkách, čuchá oddělovače čárka, středník, tabulátor či svislítko a poskytuje lookup ValueByCol v konstantním čase; explicitní stavy životního cyklu, idempotentní zrušení, vypůjčené či převzaté vlastnictví streamu, zero-copy pohledy na řádky kontrolované generací, PeakRowBufferedBytesa SheetPassesStarted dělají dlouhé skeny pozorovatelné a bezpečné, zatímco TXLSForwardReader adaptuje stejné backendy na callbacky listů a buněk číslované od jedničky, aniž by otevíral přeskočené části listů
  • Průběh a diagnostika: sešity klasického XLS i XLSX poskytují pracovní callbacky plus callbacky begin/work/end se zrušením, zatímco IXLSWorkbookProgress a TXLSXWorkbook.Diagnostics vystavují stabilní kódy, závažnost, operaci, kontext listu či balíčku, nativní návratové hodnoty a detaily výjimek
  • Uložení bezpečné vůči selháním: selhání commitu klasického listu, grafu, rozšíření stylů, VBA, control-stream, úložiště i výstupu se propagují na volajícího, zatímco diskový výstup XLS, XLSX a ODS se nejprve připraví do stagingu, než se cíl atomicky vymění
  • Diagnostika ukládání souborů s konkrétní příčinou: TXLSXWorkbook.SaveAs(FileName) a jeho overload s explicitním formátem zachovávají nativní chybu Windows, když selže výměna cíle, s diagnostickým kódem 1005 ; původní cíl zůstává nedotčený
  • Kompaktní úložiště buněk a stylů: buňky XLSX žijí v blocích po 256 řádcích se stabilními veřejnými handly a serializací podle řádků šetrnou k cache; položky řádků nenosí redundantní tag payloadu a změny hodnot, vzorců a RTF textu se vyhýbají reklasifikaci indexů; importované styly buněk se rozpoznávají přes jedno neměnné pole cellXf s přímým indexem; a automatická kompakce poolu stylů před každým uložením zahodí neodkazovaná písma, výplně, ohraničení, formáty čísel, zarovnání a ochrany
  • Intervalové stylové překryvy: formátování řádků, sloupců a obdélníků zůstává kompaktní bez materializace prázdných objektů buněk, rozpoznává se lazy při přístupu k buňce, přežije strukturální úpravy a projde round-tripem jako kompaktní položky sloupců, řádků a buněk pouze se stylem
  • Běžné ukládání streamované po řádcích: StreamingWrite (výchozí) zapisuje každý řádek listu přímo do deflate streamu balíčku, takže vrchol paměti odpovídá největšímu jednomu řádku, zatímco sdílené řetězce a pomocné XML části streamují vždy jednu položku najednou přes jediný znovupoužitelný UTF-8 serializér
  • Otevření jen pro metadata: TXLSXWorkbook.MetadataOnly naparsuje vlastnosti sešitu, definované názvy, názvy listů a stavy viditelnosti, styly, motiv, připojení a externí odkazy, ale přeskočí buněčné XML listů plus sdílené řetězce, data komentářů a osob, relace listů, kresby, grafy, tabulky, query tabulky, kontingenční tabulky a neprůhledné payloady dosažitelné z listů, aby rychle a s malou pamětí vyhledal vlastnosti a názvy ve velkých sešitech
  • Sloty externích sešitů XLSX následují pořadí deklarací v workbook.xml a pro rozbité relace drží prázdné placeholdery, takže pozdější reference vzorců [N] zůstávají stabilní při načtení i uložení
  • Selektivní načítání listů: TXLSXWorkbook.SelectedSheets nechá Open parsovat buněčné XML jen pro pojmenované listy, zatímco ostatní listy si drží názvy a viditelnost, ale ne buňky; LoadSheet(Index) materializuje přeskočený list na požádání z původního archivu
  • Inkrementální kopie komprimovaných částí: TXLSXWorkbook.PreserveRawParts otevře jeden privátní validovaný zdrojový archiv na operaci SaveAs a zkopíruje nezměněné položky motivu, projektu VBA, připojení, externích odkazů, obrázků, grafů, kontingenčních tabulek, pivot cache a neprůhledných položek dosažitelných přes relace s jejich původními komprimovanými payloady; úspěšná uložení do souboru se stanou dalším čistým baseline, zatímco sešity podložené streamy, změněné zdrojové soubory, pozměněné payloady, nepodporované kompresní metody a nesoulady komprimované velikosti použijí transakční serializační fallback nebo cesty odmítnutí
  • Zachování rozšíření sešitu: otevření a uložení XLSX zachová cizí deklarace namespace kořene sešitu, atributy markup-compatibility, kompletní payloady <extLst> na úrovni sešitu a jejich neznámé relace, zatímco typované listy, názvy, pohledy, výpočetní vlastnosti a pivot cache zůstávají editovatelné; reference relací se přemapují při konfliktu generovaných ID
  • Slicery: Worksheet.Slicers.Add(Table, ColumnName) vytvoří tabulkové slicery (Excel 2013+) kompletně od začátku do konce — včetně mezipaměti sliceru, rezervovaného definovaného názvu, rozšíření listu a kotvy kresby — s kontrolou pozice, popisku, počtu sloupců, stylu a výšky řádků; sešity nesoucí slicery vytvořené Excelem (tabulkové nebo kontingenční) jimi projdou otevřením a uložením beze změn, přičemž nemodifikované části a kotvy se přehrají bajt po bajtu, zatímco okolní sešit zůstává plně editovatelný
  • Více oken sešitu: TXLSXWorkbook.WorkbookViews vystavuje uspořádanou kolekci s operacemi add, insert, delete, move a clear, typovaným stavem viditelnosti a geometrie, editovatelnými neznámými atributy a rozšířeními a přemapováním workbookViewId listů; zavedené vlastnosti pro jedno okno zůstávají kompatibilní projekcí prvního pohledu
  • Externí definované názvy a selhání aktualizací: TXLSXExternalLink parsuje, ukládá a projde round-tripem položky <definedNames> z odkazovaných sešitů, zatímco každá TXLSXExternalSheetData sleduje příznak RefreshError pro stav selhání aktualizace, aniž by vyžadovala živý datový zdroj
  • Import ze schránky ve více formátech: XLSPasteFromClipboardRich dává přednost formátu XML Spreadsheet ze schránky (vzorce, styly, sloučení) před prostým textem v Unicode, s dedikovanými funkcemi pro detekci formátu, extrakci a parsování SpreadsheetML 2003
  • Nativní výměna Biff8 přes schránku: CopyToClipboard na obou enginech publikuje vedle textu a HTML i vlastní compound-document payload „Biff8“ od Excelu a PasteFromClipboard ho zpracuje jako první — hodnoty dorazí bez opětovného parsování závislého na locale, relativní reference vzorců se znovu ukotví na cíl vložení a formáty čísel, písma, výplně, ohraničení, zarovnání a sloučené buňky projdou round-tripem mezi sešity HotXLS i z kopií z Excelu
  • Označení RTF textu: vlastnost buňky TaggedText převádí v obou směrech mezi rich-text běhy a odlehčenými tagy (<b>, <i>, <u>, <s>, <sub>, <sup>, <color=#RRGGBB>, <font=Name>, <size=N>)
  • Čtečky schránky bezpečné pro 64 bit s opakováním při kolizích, cacheovaným párováním oblastí podmíněného formátování a indexem PDF hypertextových odkazů prohledávaným binárně
  • Rozšiřitelnost výpočtů: registrace uživatelských funkcí podle názvu, auditní API neznámých funkcí, otevření v recovery režimu, které přeskočí poškozené části, nativní výměna přes schránku v Biff8 a cacheované párování oblastí ověřování dat
  • Obrázky v PDF: obrázky listu se vloží jako Flate RGB XObjects s JPEG passthrough a znovupoužitím PNG streamů (bez překódování, alfa kanál zachován přes soft masky), bajtově identické obrázky se vloží jednou, bloky keep-together a
  • Pipeline výstupu PDF: content streamy stránek jsou komprimované Flate, po sobě jdoucí textové operace sdílejí dávkované textové bloky s deduplikovaným výběrem písma a barvy, stejné sousední výplně se slijí do jediných obdélníků a kolineární segmenty ohraničení se kreslí jako sloučené běhy — menší soubory a rychlejší generování; OnProgress a přerušitelný OnProgressEx hlásí stavy begin, page a end, zatímco Cancel zastaví dlouhé exporty, aniž by do cílového streamu commitl částečné PDF
  • Věrnost textu buněk v PDF: skutečné zalamování slov s vertikálním zarovnáním bloku a zarovnanými či roztahanými řádky, otočený a svisle skládaný text, shrink-to-fit, přetékání ve stylu Excelu do prázdných sousedních buněk s ořezem, pravé zarovnání čísel pod obecným zarovnáním, odsazení, rich-text běhy se stylem, velikostí, barvou, podtržením, přeškrtnutím, horním a dolním indexem u každého běhu, diagonální a dvojité ohraničení a text přes sloučené buňky — vše pozicované přes GDI kalibrované šířky znaků Helvetica
  • Věrnost tisku v PDF: stylovaná záhlaví a zápatí s kódy velikosti písma, barvy, tučného/kurzívního/podtrženého/přeškrtnutého a horního/dolního indexu jako v Excelu, tiskový režim černobíle, tištěná záhlaví řádků a sloupců, vodorovné i svislé centrovaní tisku, indikátory komentářů plus stránka s výpisem komentářů na konci přes PrintCommentsAtEnd, GoTo odkazy v dokumentu pro interní hypertextové odkazy, preference PageLayout prohlížeče s metadaty XMP, šířky sloupců MDW přesné jako v Excelu a vkládání TrueType kolekcí se syntetickými tučnými/kurzívními řezy Unicode řezu
  • Grafy v PDF: grafy listu se kreslí jako nativní vektory — seskupené, hromadné a procentuálně hromadné sloupcové/pruhové, čárové se značkami, plošné, koláčové a prstencové s procentuálními popisky, bodové a radarové — s rámy s názvem, automaticky škálovanými osami a popisky ticků, mřížkou, legendami, datovými popisky, výplněmi po řadách a výchozí akcentovou paletou Excelu; grafy ukotvené za poslední datovou buňkou rozšíří tištěnou plochu
  • Interaktivní PDF: hypertextové odkazy listu se stanou klikatelnými link anotacemi a každý exportovaný list dostane záložku v osnově dokumentu
  • Rozšiřitelnost na úrovni balíčku: typované vlastní vlastnosti dokumentu, vlastní XML datové části, doprovodné SVG obrázky, datové popisky grafů po řadách zdrojované z buněk s indexovanými cache a přepisy viditelnosti bodů, uživatelsky definované tabulkové styly s barvami po sekcích a auditní API ověřování dat, které vypíše každou porušující buňku
  • Upgrade věrnosti formátů: formáty čísel pro uplynulý čas [h]:mm:ss a zlomky # ??/?? se vykreslí všude, závorky [Red] přebarví text v PDF, gradientní výplně buněk projdou round-tripem a vykreslí se v HTML/PDF/prohlížeči, ukotvené příčky a posun podoken se načtou zpět, DispBlanksAs/PlotVisibleOnly jsou vlastnosti grafů, rámečky komentářů se rozměrují přes WidthPt/HeightPt/AutoSizeFromTexta ValidateNumberFormat prověří vlastní formátové řetězce
  • Hledání se sémantikou Excelu: FindText / ReplaceText podporují zástupné znaky (*, ?, escape ~ ), párování celé buňky, rozlišování velikosti písmen, hledání textu vzorce, zpětné skenování, pořadí skenu po sloupcích, okénkové FindTextIn / ReplaceTextIn omezující hledání na obdélníkovou oblast a replace callback pro každou shodu, seskupování ve stylu Excelu přes AddSubtotals (řádky SUBTOTAL s popisky, celkový součet, úrovně osnovy, konce stránek a replace režim), A1ToR1C1 a R1C1ToA1 převádějící vzorce mezi referenčními styly A1 a R1C1 oběma směry, plus WriteAutoValue pro čuchání textových typů jako v Excelu (ISO, americká data m/d/yyyy a evropská d.m.yyyy s volitelnými časy AM/PM), agregaci oblastí GetRangeStatistics , SortRange nerozlišující velikost písmen, který zachová vzorce s referenční sémantikou Excelu (části $ zůstávají, relativní reference se znovu ukotví), HTML fragmenty jedné buňky GetHtmlFromCell a HTML fragmenty jako rich běhy přes SetCellFromHtml HTML fragments as rich runs
  • Pozadí listů: SetBackgroundImage vytvoří dlaždicované obrázky v obou enginech sešitů; XLSX zachová vlastnictví médií balíčku napříč kopiemi listů, zatímco klasický engine čte a zapisuje typované BIFF8 záznamy pozadí s kontinuálním dělením payloadu, přesným zachováním neznámého formátu, izolací kopií a konverzí známých formátů mezi enginy; prohlížeč sešitů zobrazí platná pozadí za nevyplněnými buňkami, zatímco tisk, PDF, SVG, bitmapa, metasoubor a oba HTML exportéři drží pozadí výchozí zakázaná a vystavují ExportSheetBackgroundImages pro explicitní výstup s kontinuitou fází napříč stránkami a znovupoužitím zdrojů v rámci session
  • Hloubka formátového enginu: podmíněné sekce formátů čísel ([>=100]) vybírají podle hodnoty, textové sekce (@) slouží jako šablony řetězců, TaggedText přijímá <br>, <strong>/<em>a atributové podoby <font color=...> , ConvertFormulasToValues nabízí režim only-external na obou fasádách, keep-together bloky sloupců doplňují bloky řádků, klasické formulářové ovládací prvky Spinner/ScrollBar se zapisují do XLS a auto-fit řádků zvládne sloučené buňky
  • Výměna přes schránku: PasteFromClipboard načte text s tabulátory do buněk s povýšením typů číslo/datum/boolean a rozpoznáváním vzorců, zatímco CopyToClipboard na úrovni oblasti publikuje tabulkový text v Unicode i stylované HTML se vzorci, sloučenými buňkami, odkazy, zobrazovacím formátováním a zachováním vložených oddělovačů
  • Editovatelný prohlížeč sešitů: TXLSWorkbookViewer se naváže přímo na libovolný engine sešitů, načte soubory XLS, XLSX, XLSM, XLTX, XLTM nebo ODS, vykreslí styly a podmíněné formáty bez materializace řídkých buněk XLSX a přidává in-place editaci citlivou k chráněným buňkám, vstup přes formulářový řádek, automatický přepočet, obdélníkový výběr, události referencí vzorců a ohraničený undo a redo v O(1)
  • Cache kontingenčních tabulek klasického XLS používají nezávislé úložné streamy s unikátními identifikátory, referencemi zdrojů na listy či pojmenované zdroje, názvy listů v Unicode a šifrovaným čtením a zápisem cache; existující rozšíření cache si při uložení zachovají původní bajty
  • Znovupoužitelný návrhář rozložení pivotů: TXLSPivotDesigner vystavuje zóny dostupných, řádkových, sloupcových, filtrů a hodnot, deterministické přeřazení polí, výchozí agregace citlivou na typ, explicitní změny agregace, validaci rozložení a aplikaci výsledků pro pivotní modely XLS i XLSX
  • Klasické formulářové ovládací prvky: listy a kolekce tvarů umí vytvořit, vypsat, upravit, smazat a projít round-tripem ovládací prvky tlačítko, přepínač, zaškrtávací pole, rozbalovací seznam a seznam, s typovanými popisky, stavy zaškrtnutí, plochým nebo 3D vykreslením, vazbami na makra, propojenými buňkami, zdrojovými oblastmi, druhy ovládacích prvků a kotvami buněk
  • Prohlídka grafů klasického XLS přes GetChartModel dekóduje rodinu grafu, 3D stav, názvy grafu a os, legendu, osy s jejich hlavní či vedlejší skupinou os, názvy řad, kategorie, vzorce hodnot a příznaky zobrazení datových popisků řad s oddělovači, vazbu primární či vedlejší skupiny grafu pro každou řadu, pojmenované či externí reference kategorií a hodnot, stylování čar, výplní a značek po řadách s výplněmi v barvách motivu přenášenými rozšířením GelFrame OfficeArt theme color (index barvy motivu plus tint), kompletní parametry 3D scény z grafového streamu a odkazy pivotních grafů (název pohledu zdrojové kontingenční tabulky plus příznak skrytí popisků polí přes záznamy SXViewLink / PivotChartBits) a vložené objekty grafů ukotvené na běžných listech přes AddChartObject, spolu s trendovými čarami po řadách (druh regrese, řád či období, automatický či pevný průsečík, zobrazení rovnice a R-squared, forecast a backcast, zobrazovaný název) a chybovými úseky (strana směru, typ hodnoty, koncové závory, velikost)
  • Typované obrázky záhlaví a zápatí XLSX přes TXLSXWorksheet.HeaderFooterImages, pokrývající všechny levé, střední a pravé sloty na lichých, sudých a první stránce s bajty obrázků, formáty, názvy, rozměry v bodech, okraji v bodech, automatickými kódy polí obrázků, kopiemi listů a round-tripy otevření a uložení bezpečnými pro relace, vedle komentářů
  • Editovatelné efekty obrázků XLSX přes TXLSXImage, včetně procentuálních okrajů ořezu, průhlednosti, jasu, kontrastu, výplně stretch nebo tile, rotace ve stupních a strukturálního zachování nesouvisejících importovaných DrawingML
  • Pokročilá stavba grafů XLSX a round-tripy s uspořádanými plot skupinami sloupců, pruhů, čar, koláčů, ploch, bodů, bublin, radaru, burzy, povrchu a 3D, skutečnými kombinovanými grafy s explicitním pořadím vykreslení plot skupin, páry hlavních a vedlejších os, typovanými osami data a řad, konfigurovatelnými 3D pohledy, styly z galerie Excelu, styly textu názvu, legendy a os, ručními rozloženími plotu, názvu, legendy a názvů os, řídkými cache řad pro řetězce či čísla, řídkými vícérovňovými cache kategorií s živým rozpoznáváním dvourozměrných oblastí a editovatelným zachováním neznámých rozšíření a formátování ChartML
  • Selektivní formátové patche: TXLSXRange.ApplyFormatPatch zkopíruje jen požadované komponenty písma, výplně, ohraničení, formátu čísel, zarovnání nebo ochrany, menší zdrojové vzory dlaždicuje přes větší cíle a nechá hodnoty buněk nedotčené
  • Export dat master-detail: TDataToXLS.ReadDetailTables rekurzivně exportuje aktivní propojené detailní datasety pod každý master záznam, zatímco IndentDetailTables přidá jeden sloupec odsazení na úroveň relace a zděděná exportní nastavení drží hierarchii vizuálně konzistentní; write-ahead události záznamů a hodnot můžou filtrovat záznamy a transformovat hodnoty polí, aniž by vyrušily kurzory datasetů
  • Tvorba WordArt: TXLSXWorksheet.AddWordArt vytvoří text DrawingML ukotvený v buňce s konfigurovatelným preset warpem, barvou výplně textu a barvou obrysu, přičemž následné cykly otevření a uložení zachovají kompletní kotvu tvaru
  • Zachování nepodporovaných částí balíčku OOXML: vlastní části dosažitelné z neznámých relací kořene balíčku, sešitu, listu nebo kresby si napříč round-tripy otevření a uložení zachovají relationship ID bezpečná vůči kolizím, content types, podřízené relace, volbu komprese a přesné bajty payloadu, s možností odhlášení a diagnostikou zachovaných částí na TXLSXWorkbook
  • Excelové tabulky se styly, oblastí a kritérii filtru, stavem řazení, stabilními identifikátory sloupců, popisky a funkcemi řádku součtů, vzorci počítaných sloupců, vzorci řádku součtů, strukturálně citlivými úpravami řádků a sloupců a pomocnými metodami kolekcí pro round-trip
  • Typovaná pravidla ignorovaných chyb listu přes TXLSXWorksheet.IgnoredErrors, pokrývající každou standardní kategorii chyb, reference buněk přes více oblastí, kopie listů, úpravy řádků a sloupců a round-tripy otevření a uložení
  • Typovaná tvorba Správce scénářů What-If přes TXLSXWorksheet.Scenarios, včetně aktivních a zobrazených scénářů, oblastí měněných buněk, uzamčených a skrytých stavů, uživatelských komentářů, vstupních hodnot a formátů čísel, kopií listů, strukturálních úprav a round-tripů otevření a uložení bez nutnosti oprav
  • Typované What-If datové tabulky přes TXLSXWorksheet.AddDataTable a DataTables, pokrývající sémantiku vstupu po řádcích, vstupu po sloupcích, dvou proměnných, smazaného vstupu, pořadí výpočtů, kopie listu, strukturální úpravy a round-tripu SpreadsheetML
  • Typovaná externí datová připojení přes TXLSXWorkbook.Connections a výsledky dotazů listu přes TXLSXWorksheet.QueryTables, včetně politiky aktualizací, credentials, nastavení databáze, webu a textu, přesných typovaných hodnot parametrů, vazeb tabulek a polí, strukturálních úprav, kopií listů a round-tripů OOXML bezpečných pro rozšíření
  • Kompletní výpočetní politika sešitu přes CalcMode, RefMode, nastavení iterace, příznaky přepočtu, kontrolu plné přesnosti a nastavení souběžných výpočtů, s výchozími hodnotami ze schématu a nezávislým ukládáním jiných než výchozích hodnot, plus volitelné memo RecalcLookupCache a RecalcAggregateCache , které nechají opakované skeny XLOOKUP/XMATCH, VLOOKUP/HLOOKUP/MATCHa SUMIF/COUNTIF/AVERAGEIF plus nepodmíněné SUM/AVERAGE/MIN/MAX/COUNT nad jednou prostou oblastí znovu použít první výsledek během průchodu přepočtem; aktivují se jen tehdy, když je graf závislostí prokazatelně stabilní v referencích, takže výsledky se nikdy neliší
  • Politika přepočtu při ukládání přes RecalcBeforeSave (manual, if-dirty, always) plus prohlídka dirty stavu RecalcNeeded a získání hodnoty jedné buňky RecalcCell po úplném přepočtu
  • Placeholdery hodnot sestav s fallbacky {{name;default}} , výrazy dbvalue/dbcount/tonumber/ref nad registrovaným DataContext a izolovanou datovou session na každý běh, buňky {{=formula(...)}} zapsané jako živé vzorce a strukturální direktivy {{#imgsize}}, {{#comment}}, {{#html}}, {{#sheetvisible}}, {{#deletesheet}} structural directives
  • Typované lazy uživatelské tabulky přes přesné buňky {{#usertable(alias, logicalName, providerKey, name=expression)}} , se syntaktickými kontrolami při kompilaci, statickým preflightem bez resolverů, dynamickými typovanými parametry, vynucením registrovaných poskytovatelů, diagnostikou konfliktů nerozlišující velikost písmen, limity deklarací a načtením při prvním použití přes dbvalue nebo dbcount; TXLSReportGenerator.DataContext a TXLSReportTemplateChecker.DataContext přenesou tentýž registr do generování i validace
  • Tvarování dat sestav přes lazy kombinátory Filter, stabilní vícekličový Sorta Distinct ; adaptéry FromDataSet a FromObjects navážou otevřené datasety a seznamy objektů s publikovanými vlastnostmi jako tabulky sestav; pásy RunBidirectional dají každému master řádku vlastní sloupce řízené potomky; PreprocessAndRun nechá šablony před finálním plněním samy reagovat na data
  • Volby vkládání ze schránky (jen hodnoty, vkládání řádků a sloupců) na obou enginech sešitů a diagnostika OnSkippedRecord na přímé čtečce, kurzoru řádků a dopředné čtečce, odhalující přeskočené poškozené reference buněk a přerušené skeny BIFF listů
  • Ochrana sdílených revizí klasického XLS projde round-tripem přes SharedRevisionProtected a SharedRevisionPasswordHasha sestavy zvládnou šifrování end to end: šifrované šablony se otevřou heslem a RunToEncryptedFile vyprodukuje šifrovaný výsledek jedním krokem
  • Cross-workbook CopyRangeTo/CloneRangeTo mezi sešity přemapují styly buněk po hodnotě napříč pooly a klasické XLS CreatedDate, LastSavedDate, RevisionNumber a EditTimeMinutes projdou round-tripem přes OLE summary stream
  • Vykreslování grafů zohlední GapWidth, Overlap a seskupení stacked / percent-stacked pruhové plot skupiny, takže vykreslené pruhové a sloupcové grafy odpovídají rozložení sémantiky modelu
  • Grafy projdou round-tripem s formátováním chart-space (zaoblené rohy, barvy pozadí, ohraničení a plot oblasti) a pěti přepínači ochrany grafu, přičemž renderer barvy spotřebuje; Smooth na úrovni řad a barvy výplně a ohraničení značek projdou round-tripem a vykreslí se jako zakřivené segmenty; osy nesou režim protnutí a styly tick značek a AutoTitleDeleted potlačí odvozené názvy
  • TXLSPDFWriter staví PDF bez jakékoli tabulky: explicitní velikost stránky, vícestránkový tok, obdélníky, čáry a elipsy, měřený text, transformace, ořez a kontrolu grafického stavu
  • AutoFit nabízí dvoufázový tok MarkSheet/ApplyMarked s prohlédnutelnými čekajícími měřeními, mezemi fit oblasti, IgnoreStrings, KeepHeightAutomatic, spodní hranicí DefaultRowHeightVisual a jednorázovým FitWorkbook
  • Unicode písma PDF podporují politiky vkládání automatic, required-subset, complete-program a map-only, samostatné programy OpenType CFF, sdílené pozicování GPOS/kern pro měření i kreslení, callback OnFontEmbed před rozpoznáním a resolver rodin a řezů OnGetFontDirectories s rekurzivním cachingem; výstup PDF/A nadále vyžaduje vložené font programy
  • Pomocné metody pro kolekce sloužící k vyhledávání, mazání a změně pořadí listů, tabulek, grafů, obrázků, sloučených oblastí a externích odkazů podle názvu nebo pozice
  • Vytvoření grafu jedním voláním z datové oblasti: AddChartFromRange a zkratky AddColumnChart / AddBarChart / AddLineChart / AddPieChart / AddAreaChart odvodí řady a kategorie z datového bloku automaticky, jako vkládání grafu z výběru v Excelu
  • Vkládání a mazání řádků a sloupců, které upraví vzorce, sloupce tabulek a jejich metadata filtru či řazení, zneplatní smazané strukturované reference na sloupce tabulek napříč konzumenty vzorců, rozdělí podmíněné formáty hodnot buněk a výrazů plus ověřování dat, když upravované oblasti vyžadují jiné kotvy vzorců, ponechá agregační domény podmíněného formátování nedotčené a automaticky přesune definované názvy, hypertextové odkazy, řady grafů včetně velikostí bublin a kotvy obrázků, grafů, textových polí a WordArt
  • Výpočet vzorců sdílející klasický evaluátor XLS s registry uživatelských funkcí napříč procesem i lokálními v rámci sešitu, sémantikou přepisů lokálních pro sešit, parallel-safe lock-free voláním handlerů, broadcast operátory polí a chybami po buňkách, kompletními maticemi LINEST / LOGEST pro více proměnných, tvarovanými predikcemi TREND / GROWTH , pokrytím textových, datových, pracovních, inženýrských/konverzních, bitových, statistických, agregačních a matematických funkcí, prohlídkou ISFORMULA zachovávající reference bez přepočtu cíle, logaritmickým binárním XMATCH / XLOOKUP, detekcí volitelných argumentů ISOMITTED , konverzí polí ARRAYTOTEXT / VALUETOTEXT , validovanými výpočty XIRR / XNPV , načasováním investic a tempem růstu PDURATION / RRI , odpisy VDB ve zlomkových obdobích a callbacky vlastních funkcí OnUserFunction ; AnalyzeFormulaIssues poskytuje strukturovaný preflight pro chybějící funkce, externí reference a přesné komponenty kruhových závislostí
  • Strukturované reference v podobě aktuálního řádku (Table[@Col]) se vyhodnocují proti vlastnímu řádku buňky se vzorcem při sériovém i paralelním přepočtu
  • Analýza závislostí rozbalí definované názvy vzorců s rozsahem platnosti i vnořené, včetně referencí přes více oblastí, a použije ochrany proti cyklům jen tehdy, když statické rozpoznání závislostí není možné
  • Sdílené vzorce vytvořené Excelem se otevřou s každým followerem rozbaleným na jeho správný výraz relativní k buňce v cestách celého sešitu, streamované přímé čtečky i kurzoru řádků, zatímco kotvy a followerové CSE polí přežijí bezpečné strukturální úpravy celých polí, kopie kompletních oblastí, duplikace listů a kopie listů mezi sešity
  • Dynamická pole lze zapsat přes TXLSXRange.SetDynamicArrayFormula, zachovají rozsahy vzorců a metadata XLDAPR napříč cykly otevření a uložení, sdílí jeden deduplikovaný záznam metadat napříč kořeny, přemapují ho při kopiích mezi sešity a odstraní ho po vymazání posledního kořenu
  • Tvorba formulářových ovládacích prvků na listech XLSX (AddFormButton / AddFormCheckBox / AddFormRadioButton / AddFormComboBox / AddFormListBox) s tvary VML, částmi ctrlProps a doslovným round-tripem souborů nesoucích ovládací prvky
  • Živé vyhodnocování napříč sešity XLSX přes cestu zachovávající ExternalWorkspace a kompatibilní fasádu RegisterExternalWorkbook : kompletní cíle relací a rozšíření zůstávají rozlišené, nejednoznačné aliasy selžou explicitně, zničení cíle bezpečně odvolá živý adaptér a typované cache lokální pro soubor zůstávají fallbackem bez implicitního přístupu k souboru či síti
  • Porovnávání sešitů přes TXLSXWorkbookCompare hlásící rozdíly listů, buněk, vzorců a sloučení jako strukturovaný seznam nebo sestavu s jedním řádkem na rozdíl
  • Generování kódu ze sešitů přes TXLSCodeGen (dialekty Delphi a C++Builder) a validace importu pravidel sloupců přes TXLSImportCheck s anotací červeným písmem a komentářem plus kompací keep-only-violations
  • Nerozpoznané záznamy listů XLS projdou round-tripem doslova — záznamy specifické pro výrobce či novější specifikace se zachytí při čtení a přehrají při uložení
  • Tvary s preset geometrií přes AddPresetShape — jakýkoli token OOXML ST_ShapeType projde kresbou doslova a přežije round-trip
  • Zpracování šablon: ApplyTemplate nahradí placeholdery {{key}} napříč listem a FillTemplateBand naklonuje šablonové bloky na záznam s překladem vzorců, závislými podmíněnými formáty, validacemi, odkazy, komentáři, obrázky, grafy, klonováním sloučení a podmínkami #skip na úrovni řádků; CloneRangeTo vystaví tutéž kopírovací cestu respektující závislosti s volitelnými payloady; TXLSCompiledReportTemplate zkompiluje umístění placeholderů a textové fragmenty jednou pro opakované běhy napříč buňkami, RTF textem, komentáři, hypertextovými odkazy, textem kreseb, záhlavími a zápatími, názvy listů, definovanými názvy a vlastnostmi dokumentu, aniž by znovu skenovala sešit, a podporuje adresovanou preflight diagnostiku, přísnou validaci před mutací a diagnostické listy; TXLSCompiledReportRunner přidává postup na úrovni targetů, zrušení, deterministické počty aplikovaných změn, znovupoužitelný stav dokončení či selhání, párované lifecycle události sešitu a listu, zotavitelné snapshoty problémů a atomický výstup do streamu, souboru či šifrovaného souboru; TXLSReportGenerator přidává události čtení šablon a zdroje sešit, soubor, stream a šifrovaný soubor plus modifikaci in-place nebo přes atomický klon; IXLSReportTable, IXLSReportCursor, lazy poskytovatelé a resolvery na každý běh a indexy relací se složenými klíči dodávají znovupoužitelné virtuální či paměťové datové zdroje, aniž by nutili nenačítat neodkazované tabulky, zatímco TXLSReportTableFactory složí pohledy top, projected, counted, minimum, aggregate, unioned, split a hash-joined, aniž by kopírovala kompletní mezilehlé payloady řádků; spustitelné galerie pro Delphi a C++Builder demonstrují tentýž datový kontext, zkompilovaný runner, diagnostický list, LastResulta cestu RunToFile path
  • Pojmenované strukturální pásy sestav: TXLSCompiledReportBand rozpozná přesný obdélníkový definovaný název v rozsahu sešitu či listu a rozbalí ho dolů, doprava nebo napříč oběma osami z ohraničených snapshotů řádků a sloupců z jednoho průchodu, přičemž zachová typy hodnot, vzorce se smíšenými referencemi, sloučení, pravidla, validace, hypertextové odkazy, komentáře, kresby a explicitní metadata rozložení řádků či sloupců a nepodporované částečné struktury odmítne před mutací
  • Opakované kopírování oblastí a pásů sestav znovu využívá vyhledávání přípon definovaných názvů v daném rozsahu platnosti a nadále pojmenovává kopie první volným názvem, a to i po smazání, přejmenování nebo změně rozsahu
  • Rozbalitelné pásy sestav excelových tabulek přes TXLSCompiledTableReportBand použijí jeden ohraničený snapshot kurzoru k rozbalení jediného řádku datové šablony, a přitom zachovají záhlaví, součty, oblasti tabulek a automatického filtru, stav filtru a řazení, metadata sloupců, vzorce počítaných sloupců a součtů, styly, strukturované reference a závislé objekty listu; reprezentovatelné prázdné výsledky odstraní řádek datové šablony, zatímco tabulky podložené dotazy a nebezpečná rozložení se odmítnou před strukturálními zápisy
  • Pásy sestav oblastí a excelových tabulek sdílejí ErrorMode, StrictDataAccess, RuntimeLimitsa neměnnou diagnostiku LastResult ; WriteAndContinue uloží explicitně zotavitelné selhání řádku jako literální text se vstupním řádkem a skutečnou výstupní adresou a pak pokračuje ve zbývajících targetech a řádcích, zatímco fatální strukturální a zdrojová selhání rozbalení vrátí zpět
  • Skenování buněk a řádků s callbacky pro raw hodnoty či zobrazovaný text, hledání a nahrazování podle šablon a hromadný zápis
  • Centrální správa scratch souborů (registrované dočasné soubory se uklidí při finalizaci), volitelná dekryptovací kontrola VerifyEncryptedSave po zápisu a konstanty limitů mřížky pro jednotlivé formáty s událostí OnExportLimit na datasetovém exportéru
  • Pomocné metody ověřování dat s jednovolovými seznamovými dropdowny z pole řetězců, sdílenými typovanými IME režimy napříč klasickým XLS a XLSX, tabulkovými vzorci, které zachovají nezávislé atributy polí, rozšířeními podmíněného formátování, konfigurovatelným exportem do HTML s centralizovanými CSS třídami stylů a ukládáním a načítáním šifrovaným AES — ECMA-376 Standard Encryption (AES-128) s akcelerací AES-NI, plus čtením výchozího Agile Encryption Excelu (odvození klíče SHA-512, AES-128/192/256)
  • HTML exportéry klasického XLS i XLSX používají geometry snapshoty xlsrgbHtml ve vlastnictví operace k převodu šířek znaků přes metriky maximální šířky číslice písma Normal na pevné délky CSS, znovu používají jednu ohraničenou cache na operaci přes více listů, vystavují aktivní snapshot pro diagnostiku a zachovávají uložené rozměry listů
  • Připravené vyhodnocování podmíněných formátů XLSX s vrstvením priority a StopIfTrue , relativními vzorci, sdílenými statistikami přes více oblastí, pravidly Top/Bottom a průměr, duplicitními a unikátními hodnotami, relativními datovými obdobími, diferenciálními styly citlivými k motivu, barevnými škálami, směrovými datovými pruhy a všemi vestavěnými rodinami sad ikon
  • Tolerantní otevírání XLSX: prefixy namespace se při parsování normalizují, takže listy, grafy, kresby a vlastnosti dokumentů vázané na nekanonické nebo striktní namespace ISO 29500 se načtou jako obyčejné soubory a listy, jejichž řádky či buňky vynechávají atributy pozice, odvodí každou buňku po její předchůdkyni v pořadí skenu
  • Striktní výstup Open XML přes StrictOOXML: celý balíček XLSX — listy, sdílené řetězce, styly, motiv, kresby, grafy, komentáře, vlastnosti dokumentu a zachované části — se uloží ve shodě se striktním ISO/IEC 29500 se slovníky purl.oclc.org a striktní typy relací se při otevření rozpoznají stejně jako transitional
  • Otevírání celého sešitu XLSX streamuje ZIP položky listů přímo do inflaterů a XML čteček lokálních pro workery, nezanechává žádné staging kopie nafouknutého XML listů a omezuje přechodnou paměť vstupu listů na aktivní parse workery
  • Přímá čtečka pro streamování (TXLSDirectReader), která skenuje .xlsx / .xlsm buňku po buňce s událostmi pro jednotlivé buňky a listy a téměř konstantní paměťovou náročností u velmi velkých sešitů, hlásí hodnotu, druh, text vzorce a index stylu každé buňky s volitelnou detekcí data, předčasným ukončením, které se propaguje až do ZIP vstupu a dekomprese, pushdownem rozsahů řádků a projekcí sloupců v konstantním čase před dekódováním hodnot; volitelné layoutové události odhalí rozměry listu, výchozí velikosti, rozpětí sloupců, metadata řádků, ukotvené či rozdělené příčky a sloučené oblasti před závislými buňkami; ohraničené paralelní parsování streamuje inflater listů lokální pro workery do nezávisle rozpočtovaných front producent–konzument, přičemž zachovává pořadí callbacků na volajícím vlákně, zachování rich stringů odhalí naformátované běhy, fonetické oblasti a fonetické vlastnosti a ohraničené úložiště sdílených řetězců drží malé tabulky v paměti, zatímco větší tabulky a rich payloady migruje do indexovaného dočasného úložiště mazaného při zavření
  • Přímý zapisovač pro streamování (TXLSDirectWriter), který vytváří sešity .xlsx buňku po buňce a zapisuje každý list přímo do balíčku s příchodem řádků, takže velmi velké soubory jsou generovány s téměř konstantní paměťovou náročností, pokrývající inline či deduplikované sdílené řetězce, rich stringy s naformátovanými a fonetickými běhy, čísla, booleany, data, vzorce, znovupoužitelné styly buněk na úrovni balíčku s klonovanými handly, deduplikovaná písma, výplně, ohraničení a formáty čísel, zvýraznění písma, podtržení, obrys a stín, 19 vzorků výplní, 14 stylů ohraničení na pěti hranách, vodorovné a svislé zarovnání, zalamování, zmenšování, odsazení, rotaci, prefixy uvozovek, ochranu locked/hidden, vestavěné a vlastní formáty čísel, šířky sloupců, výšky řádků, skryté řádky a sloupce, sloučené oblasti, oblasti automatického filtru listů a tabulek s filtry hodnot, prázdných hodnot, skupin dat, vlastními, dynamickými, top/bottom a stavy řazení, ochranu listu s jemnými oprávněními, legacy či moderní metadata hesel a editovatelné chráněné oblasti, ochranu struktury sešitu a oken, ukotvené příčky, barvy záložek listů, zobrazení listů zprava doleva, přepínače zobrazení listu, okraje stránek, text záhlaví a zápatí, volby tisku, nastavení stránky, nastavení přizpůsobení stránce, ruční konce stránek, hypertextové odkazy listů přes více listů, definované názvy sešitu a lokální pro list, generované definované oblasti, oblasti tisku, řádky či sloupce titulů tisku, ověřování dat s promptami a chybovými upozorněními, podmíněné formátování s osmi operátory hodnot buněk, výrazy, párováním textu, top/bottom pořadím, průměrem, predikáty duplicitních a unikátních hodnot a prázdných a chybových hodnot, datovými pruhy, dvou- a tříbarevnými škálami, 17 rodinami sad ikon, diferenciálními styly písma a výplně, prioritami a kontrolou stop-if-true, částmi excelových tabulek s názvy sloupců, příznaky řádků záhlaví a součtů, komentáři tabulek, popisky a funkcemi sloupců řádku součtů, vzorci počítaných sloupců, vzorci řádku součtů a volbami zobrazení tabulkového stylu, plus postranní kanály aktuálního listu pro klasické komentáře, streamované zdroje obrázků, ukotvené DrawingML, typované grafy podložené vzorci a ChartML dodaný volajícím
  • Volitelné pokračování při přetečení (AutoSplitRows) rozdělí exporty napříč listy <name>_2 , když dorazí řádek za limitem listu, a FillTableCalculatedColumn vtlačí vzorec sloupce tabulky do každého datového řádku tak, jako to dělá autorování v Excelu
  • Patchování listu in-place přes BeginPatch: streamovaný zapisovač přepíše jeden list existujícího balíčku, zatímco každá nedotčená část se zkopíruje dál s komprimovanými bajty doslova — vyměňte datový list nebo přidejte nový, aniž byste šablonu psali znovu
  • Objekty kamery přes AddCamera: živé snapshotové obrázky vázané na oblast buněk podle zdokumentovaného rozšíření kresby camera-tool; vazba projde round-tripem ukládání a opětovného otevření
  • Přílohy PDF přes AddAttachment — soubory projdou exportem jako položky /EmbeddedFiles se stromem názvů a IXLSPDFAttachmentSource může dodat každý payload lazy jednou za uložení přes ohraničený spool; finální sestavení streamuje objekty postupně do cíle, takže payloady příloh se kopírují v pevných blocích s nepřímým length objektem a vrchol paměti zůstává plochý
  • Explicitní výstup PDF/A-1a, 1b, 2a, 2b, 3a a 3b přes PDFAProfile, včetně identifikace specifické pro profil, správy barev, tagování, příloh a atomických validačních pravidel; UsePDFA zůstává kompatibilním přepínačem pro PDF/A-2b
  • Export PDF běží v klasickém rozložení nebo ve volitelném rozložení PDF 1.5 s komprimovanými object streamy a binárním cross-reference streamem (UseXRefStream) pro menší soubory
  • Export PDF podporuje znovupoužitelné progress callbacky begin, page a end se zrušením a bez commitnutí částečného streamu, plus volitelné Unicode anotace komentářů pozicované na buňkách, které mohou koexistovat se stránkami komentářů na konci
  • Gradienty a průhlednost PDF používají nativní axiální či radiální stínování s prošitými vícestopovými funkcemi, alfa maskami po jednotlivých stopách, vzorky výplní buněk, stíny obrázků, ořezem na úrovni stránky a cache zdrojů na úrovni dokumentu; vybrané profily PDF/A aplikují svá grafická omezení před commitnutím výstupu
  • Řetězce font fallbacku PDF citlivé na styl přes SetFontFallbackChain, AddFontFallbacka ClearFontFallbackChains vybírají vložené řezy podle zdrojové rodiny, úrovně stylu a pokrytí glyfů, cacheují načtené řezy a výběry, zachovávají doplňkové skaláry a grafémové klastry napříč běhy, drží Unicode sekvence se sdílenými glyfy rozeznané přes CID mapování a atomicky odmítnou výstup PDF/A, raději než použijí nevložené písmo
  • TXLSPageImageExporter postaví stránkování jednou a exportuje vybrané stránky XLS či XLSX postupně jako PNG nebo JPEG s konfigurovatelným DPI, měřítkem, kvalitou, průběhem, zrušením a životností bitmap na stránku; ExportRange zapíše jeden těsný obdélník buněk a události before paint a after paint odhalí skutečné plátno stránky přes kontext jen pro čtení s pixelovými mezemi, velikostí stránky, rozlišením, měřítkem, čísly stránek a zdrojovým listem, s přesně jedním spuštěním na vykreslený snímek včetně snímků multipage TIFF
  • TXLSCellImageExporter změří, vykreslí a uloží jakýkoli obdélník buněk klasického či XLSX formátu jako jeden kompaktní obrázek bez artefaktů stránkování, s konfigurovatelným rozlišením, měřítkem, formátem a kvalitou JPEG, průhledným PNG nebo barevným pozadím, nezávislými přepínači objektů, mřížky a ohraničení buněk, rozpočty pixelů a bajtů validovanými před alokací a ukládáním do souboru přes atomickou výměnu ve stejné složce, která při selhání nikdy nepoškodí existující cíl
  • Export ODS zapisuje vzorce buněk ve standardním pravopisu OpenFormula of:= s passthrough msoxl: pro reference mezi listy, s návratem round-tripem zpět k textu vzorců Excelu
  • Opakované výšky řádků ODS a styly prázdných buněk používají kompaktní oblasti; výstup ODS zachovává výšky řádků a opakované stylované konce, zatímco úpravy jednoho řádku, mazání, kopírování listů, posuny řádků, tiling a export XLSX zachovají efektivní výšky
  • Dodávka řádků v pull režimu (OnNeedRow + RunRows) řídí streamovaný zapisovač z datové pipeline po jednom řádku
  • Listy zprava doleva se zrcadlí v exportu PDF a přepnou přes dir="rtl" v HTML, čímž se round-trip příznaku zobrazení uzavře
  • Režim nulového zobrazení listu skryje skutečnou číselnou nulu, včetně výsledků vzorců, měnových hodnot a nuly datového základu, napříč prohlížeči a vizuálními exporty před formátováním čísel nebo měřením textu; režim zobrazení vzorců má přednost, vizuály podmíněného formátování a hypertextové odkazy zůstávají aktivní a uložené hodnoty, veřejný formátovaný text, výstup CSV a ODS si drží své stávající kontrakty
  • Volitelný streamovaný režim se sledováním šířek (TrackColumnWidths) připraví list v paměti tak, aby hotový soubor nesl hint <dimension> použité oblasti a šířky sloupců dimenzované podle nejdelší hodnoty viděné v každém sloupci, čímž přibližuje autofit u dat, která jsou známá jen během streamování
  • Strukturální úpravy řádků a sloupců XLSX bezpečné vůči referencím, které v jedné hlídané transakci aktualizují vzorce, definované názvy, pravidla, odkazy, kresby, nastavení tisku, chráněné oblasti, kotvy klasických i vláknových komentářů, sparklines, typované pivotní zdroje a pohledy a rozpoznatelné reference zachovaných rozšíření, s uspořádaným participants API pro metadata vlastněná aplikací
  • Kompaktní XML strom s náhodným přístupem (TSimpleDomReader), který se postaví ze stejné pull čtečky jedním průchodem pro dotazování metadat sešitu, relací, motivů a dalších částí balíčku podle cesty QName či lokálního názvu s rozlišením velikosti písmen
  • Vyhodnocování vzorců krok za krokem přes TXLSFormulaTracer s přesnými přechody operandového zásobníku, plus interaktivní diagnostika přes TXLSFormulaDebugger odhalující naparsované uzly, hodnoty operandů, pořadí vyhodnocování, závislosti buněk a oblastí, volby lazy větví, přeskočené výrazy a původy propagovaných chyb
Verze 2.362.0

Kompletní sada možností pro sešity, reporty a vykreslování

Současné vydání rozšiřuje podporovaná API pro sešity, reporty a vykreslování o ohraničené cesty vykonávání a explicitní pravidla bezpečnosti formátů

Formáty sešitů a výpočty

  • Upravitelné XML mapy a vazby schémat na jednotlivé buňky přes TXLSXXmlMaps a TXLSXXmlCellBindings, včetně round-tripů relací a validace před uložením
  • Uspořádaný stav sešitu s více okny přes TXLSXWorkbookViews, včetně aktivních záložek, geometrie, viditelnosti, příznaků zobrazení, rozšíření a bezpečného přemapování indexů listů
  • Výběr více oblastí a nezávislé aktivní buňky pro každé podokno zvlášť v XLS i XLSX, se strukturálním přemapováním a atomickým odmítnutím neplatných oblastí
  • Bezztrátové tokeny vzorců ve vlastnictví volajícího přes TXLSFormulaTokenStream, ParseFormulaTokens, GetFormulaTokens, FormulaTokensToTexta SetFormulaTokens
  • Zmrazování vzorců v klasickém XLS klasifikuje zkompilované BIFF reference, aniž by dekompilovalo text vzorce, v režimu OnlyExternal převádí jen potvrzené reference na externí sešity, nejisté vzorce zachovává a skupiny maticových vzorců zmrazuje atomicky s nedotčenými výsledky textových literálů
  • Vzorce odkazující externí sešity v XLSX používají jeden lexer číselných slotů znající gramatiku pro přísnou konverzi, diagnostiku, přepočet, kopírování mezi sešity a generovaná uložení, přičemž kompatibilitu názvů souborů normalizuje jen tehdy, když odpovídá přesně jeden registrovaný cíl
  • TXLSXExternalLink zpřístupňuje ID zdrojových relací, sloty číslované od jedničky a druhy odkazů na sešit, DDE, OLE či nevyřešené, přičemž změny cíle nebo seznamu listů zneplatní zkompilované externí vazby aktualizací revize v konstantním čase
  • ConvertExternalDefinedNamesToRefErrors atomicky nahradí potvrzené definice odkazující externí sešity nativními #REF! v klasickém XLS i XLSX, přičemž zachová identitu názvu, rozsah platnosti, viditelnost, komentáře, metadata maker a vestavěných názvů, neznámé atributy XLSX, běžné vzorce buněk a části externích odkazů
  • Stabilní řazení řádků nebo sloupců s TXLSSortFormulaMode, vodorovnými klíči, vlastními porovnávači a volbou mezi zachováním logických závislostí a fyzickým přesunem vzorců
  • Upravitelná písma BIFF2 až BIFF4, formáty čísel, styly XF a vzorce, které se při načítání převedou do aktuálních modelů sešitu a výpočtů
  • Jednotná fasáda zpětných volání TXLSForwardReader pro XLS, XLSX, CSV a TSV s projekcí na úrovni backendu, mezemi řádků, stavem přítomnosti vzorce, volitelným potlačením textu vzorce, detekcí formátu a možností zrušení
  • Typovaná vlastní zobrazení pro podokna, výběry, filtry, nastavení stránky a konce stránek, zatímco neznámé BIFF záznamy si zachovají své původní payloady
  • Typované vlastnosti OLAP, selektory webových tabulek, pole s pevnou šířkou a parametry připojení se zachovaným obsahem rozšíření
  • AnalyzeFormulaIssues pro chybějící funkce, reference na externí sešity a přesné komponenty kruhových závislostí
  • Thread-safe globální i lokální registry UDF v rámci sešitu s místním přepsáním, průměrně O(1) vyhledáváním a voláním handlerů mimo zámky
  • XLSBidiVisualOrder pro smíšený arabský nebo hebrejský text, latinku, číslice, diakritická znaménka a zrcadlovou interpunkci, aniž se změní logický text buňky
  • Strategie AutoFit pro sloučené buňky, které přidělí růst prvnímu nebo poslednímu členu, případně ho rozloží po celém rozpětí, v XLS i XLSX
  • Typované zachování listů maker Excel 4 plus nálezy ScanMacroCommands určené jen k prohlédnutí, s adresami listů
  • Výpočetní podpora pro ISOMITTED, ARRAYTOTEXT, VALUETOTEXT, PDURATIONa RRI s ukládáním a chybovým chováním kompatibilním s Excelem
  • Seskupené součty listu přes TXLSXWorksheet.Subtotal, včetně vložených vzorců, konfigurovatelného celkového součtu, zděděného viditelného formátování a hierarchie osnovy
  • Prohlédnutí efektivního stylu bez materializace přes GetCellVisibleFormat plus validace na úrovni kandidátů a atomický commit přes CheckDataValidation
  • Otevírání klasického XLS jen pro metadata a jen vybrané listy používá offsety BOUNDSHEET , ohraničené ukládání přetečení SST a jeden kontrakt dopředného čtení sdílený s XLSX, CSV a TSV
  • Dynamická pole se streamují přímo do skalárních agregátů, opakované lookupy znovu používají typované inkrementální cache oblastí a neměnné tokeny vzorců sdílejí stateless objekty napříč kompilacemi
  • Pojmenované styly si drží propojené formátové části a lokální přepisy, přičemž každý vestavěný světlý, střední i tmavý tabulkový styl se rozloží na efektivní formát, který používají cesty úprav a exportu
  • Jednotná kreslicí fasáda seskupuje a rozeskupuje objekty DrawingML a mění pořadí smíšených obrázků, grafů, textových polí, zachovaných kotev a vnořených skupin, aniž by ztratila relace
  • TXLSFormatSnapshot zachytí kompletní klasický formát nezávisle na zdrojovém sešitu a IXLSRange.ApplyFormat ho aplikuje na buňky, řádky nebo sloupce
  • Klasické i XLSX sešity nabízejí stejná streamovaná API SaveSemanticSnapshot a inkrementální SHA-256 ComputeSemanticHash , s profily Content a SecurityComplete plus explicitními volbami pro stav prohlížeče, těkavá metadata a cache vzorců
  • Nové listy XLSX zvládnou kompatibilní typované hromadné zápisy po řádcích v zabaleném RLE úložišti, odpovídají na dotazy o existenci a statistikách úložiště bez materializace a rozbalí se jednorázově do stabilních objektů buněk jen tehdy, když to vyžaduje přístup na úrovni objektů
  • Úložiště buněk a kolekce listů v klasickém i XLSX enginu vystavují nezávislé strukturální generace, takže dlouho běžící čtenáři rozpoznají změny topologie, aniž by úpravy hodnot, vzorců, formátů, přejmenování nebo aktivace brali jako strukturální zneplatnění
  • Handly buněk drží výchozí stav stylu bez alokací a identické prázdné buňky pouze se stylem sdílejí payload s referenčním počítadlem a izolací copy-on-write pro pozdější lokální úpravy, což se ve statistikách úložiště projeví měřitelně ušetřenými bajty

Kompilované sestavy a kompozice dat

  • TXLSCompiledReportTemplate zkompiluje placeholdery jednou napříč buňkami, rich textem, komentáři, vláknovými komentáři, hypertextovými odkazy, kresbami, grafy, záhlavími, zápatími, názvy listů, definovanými názvy a vlastnostmi dokumentu
  • TXLSCompiledReportBand rozbalí pásy řádků, sloupců a křížových tabulek definované názvy z ohraničených datových snapshotů načtených jedním průchodem, přičemž zachová vzorce, závislé objekty a explicitní metadata os
  • TXLSCompiledTableReportBand rozbalí šablony excelových tabulek o jednom řádku a přitom zachová záhlaví, součty, filtry, řazení, vzorce, styly, strukturované reference a bezpečné výsledky pro skutečně nulový počet řádků
  • IXLSReportTable, IXLSReportCursor, IXLSReportRandomAccessTablea TXLSReportMemoryTable poskytují jeden kontrakt pro virtuální i paměťové zdroje
  • TXLSReportRelationIndex postaví přesné typované kbelíky složených klíčů jednou, pro průměrně O(1) lookup master-detail, a to bez kopírování payloadů řádků
  • IXLSReportTableProvider a TXLSReportDataContext registrují explicitní i lazy tabulky, zatímco BeginRun vytvoří izolovanou IXLSReportDataSession s hash lookupem nerozlišujícím velikost písmen, negativním cachingem, deterministickým cachingem chyb poskytovatelů a okamžitou detekcí rekurze u téhož aliasu; kompilované šablony, runnery, pásy oblastí i pásy excelových tabulek automaticky použijí jednu session na logický běh, oba průchody PreprocessAndRun sdílejí stejný snapshot, souběžné běhy zůstávají izolované a každá cesta úspěchu, zrušení i selhání uvolní svůj snapshot, než se vrátí
  • TXLSReportDataRequest a IXLSReportDataResolver přidávají pojmenované či uživatelské requesty s uspořádanými typovanými parametry, metadaty zdroje, řízením běhu jen pro čtení a explicitními výsledky neošetřeno / vyřešeno / nenalezeno / chyba dat; resolvery se registrují podle klíče poskytovatele nerozlišujícího velikost písmen pro dispatch v O(1), legacy poskytovatelé zůstávají kompatibilní přes adaptér, explicitní tabulky zůstávají autoritou a běh odmítne konfliktní fingerprinty téhož aliasu dřív, než se resolver zavolá podruhé
  • TXLSReportDataLimits ohraničuje cacheované aliasy, pojmenované i legacy poskytovatele, schémata tabulek, názvy, parametry, řetězce a chybové zprávy; poškozené zdrojové souřadnice, řídicí znaky, duplicitní názvy parametrů, nepodporované kontejnery Variant, neplatné kombinace výsledků, rekurze i zrušení uprostřed rozpoznávání selžou dřív, než se target commitne, přičemž zrušení odstraní nedokončenou položku cache, aby šlo čistě začít znovu
  • TXLSReportTableFactory dodává lazy kursory top, projekční, union a split plus počty řádků, minimální hodnoty, agregace a hash spojení zachovávající duplicity
  • TXLSReportQueryProvider zpřístupňuje šablonám jen registrované definice dotazů určené jen ke čtení a předává typované parametry plus ohraničené timeouty hostitelskému executoru
  • TXLSCompiledSheetReportBand a TXLSCompiledOverflowReportBand vytvářejí z dopředného kurzoru listy na záznam respektující závislosti a ohraničené pokračovací listy
  • TXLSReportIncludeLibrary rozpozná rekurzivní pojmenované include, cykly hlásí deterministicky a zmrazí se do neměnné znovupoužitelné knihovny
  • Podmínky, lookupy, regulární výrazy a dynamické vzorce kompilovaných sestav znovu používají naparsované uzly výrazů a rozpoznané indexy sloupců
  • TXLSReportDynamicFormat a TXLSReportFormatEvent aplikují formáty čísel, výšky řádků a šířky sloupců s ohledem na záznam, v granularitě kompilovaného targetu
  • IXLSReportImageDataProviderV2 a TXLSReportImageBinder rozpoznají typované obrazové targety z ohraničených bajtů nebo vlastněných streamů se stabilním kontextem listu, pásu, tabulky, logického řádku, řádku kurzoru, aktuálního řádku jen pro čtení, kotvy, transformace, zrušení a limitu velikosti; runnery, generátory, pásy oblastí i pásy excelových tabulek navážou každý target přímo, aniž by skenovaly buňky vygenerovaného listu
  • Obrazové targety sestav V2 odvozují fyzickou velikost a DPI z ohraničených hlaviček PNG, JPEG, GIF, BMP, EMF nebo WMF, podporují přizpůsobení Natural, vycentrované Contain, ořezané Cover a Stretch, odmítnou nebezpečnou rastrovou geometrii před mutací a zachovají posuny vzhledem ke kotvě napříč round-tripy XLSX a ODS
  • IXLSXImageBlob a TXLSXImageBlob nechají opakované obrázky sdílet jeden neměnný raster a SVG payload s jednorázovým SHA-256 digestem a volitelným cache klíčem; XLSX i ODS znovu použijí odlišné mediální payloady napříč listy a při opětovném otevření je obnoví
  • Převázání grafů respektující závislosti překládá řady, vzorce, názvy a kotvy, když se pásy oblastí a listů rozbalí
  • TXLSCompiledReportRunner hlásí fáze begin, target, saving a end, podporuje zrušení, streamový i atomický souborový výstup, přesné počty aplikovaných změn a opakovaně použitelné spuštění napříč izolovanými datovými session; ErrorMode volí kompatibilní zastavení nebo pokračování v obsluze explicitně typovaných selhání dat, poskytovatele, dělení nulou a neplatného regulárního výrazu, StrictDataAccess odhalí chybějící data místo legacy prázdných hodnot či sentinelových počtů a neměnné snapshoty LastResult uchovají uspořádané problémy za běhu a koncový stav i při dalším použití runneru
  • Streamový, souborový i šifrovaný souborový výstup sestav jede přes jednu fázovanou transakci; fatální selhání, zrušení, chyby serializace, částečné selhání zápisu do streamu i výměny souboru zachovají kompletní předchozí cíl, úspěšný nešifrovaný výstup ponechá formát zdrojového sešitu a velké rollback snapshoty streamů se přelijí do spravovaného dočasného úložiště
  • Kompilované targety se vyhodnotí před dynamickým formátováním a pak atomicky commitnou obsah, formáty čísel, výšky řádků a šířky sloupců s přesným rollbackem; zotavitelná diagnostika buněk smaže vzorce, zachová zbývající základní styl a sdílí poolované deriváty červeného písma a žluté výplně napříč stejnými základními písmy, zatímco bezpečné targety mimo buňky ponechají svou původní hodnotu a strukturální targety zůstávají fail-fast
  • TXLSReportRuntimeLimits ohraničí počet uchovaných problémů, délku sanitizované zprávy a paměť problémů dřív, než se target mutuje; zprávy jsou jednořádkové a mažou běžné credentials a RuntimeDiagnosticsSheetName volitelně zapíše jeden strukturovaný diagnostický list, který projde round-tripem spolu s vygenerovaným sešitem
  • TXLSReportGenerator vlastní celý životní cyklus čtení a generování pro šablony typu sešit, soubor, stream i šifrovaný soubor, s párovanými událostmi, stabilním kontextem listu, bezpečným zrušením, izolací výstupu přes atomický klon a stejným kontraktem zotavitelných chyb a neměnných výsledků jako kompilovaný runner
  • CloneRangeTo naklonuje vybrané buňky a závislosti nesoucí identitu s překladem smíšených referencí, předběžnou kontrolou překryvů a lineárním opakovaným dlažděním s pevným zdrojem
  • TXLSReportPaginationPlanner poskytuje fixní zápatí, skupiny keep-together, dělení řádků, slučování podobných rozpětí a vyvážené sloupce sestavy
  • Analýza kompilované sestavy, přísné spuštění a WriteDiagnostics hlásí poškozené placeholdery a chybějící hodnoty s druhy targetů a přesnými adresami
  • TXLSReportTemplateChecker a TXLSReportTemplateMigrator znovu používají sémantiku kompilátoru k validaci šablon a konverzi podporovaných legacy podob placeholderů

Bezbariérový, vektorový, obrázkový a webový výstup

  • TXLSPDFTagMode a DocumentLanguage vygenerují automatické stromy struktury PDF s tabulkami, řádky, sémantickými hlavičkovými a datovými buňkami, informativními Figures obrázků XLSX s alternativním textem v Unicode, hustými identifikátory marked-content na stránku, rozpětími sloučených buněk, přesnými rodičovskými stromy a izolací artifactů pro dekorativní obrázky a ostatní nesémantickou kresbu
  • TXLSPDFSignature podporuje viditelná i neviditelná pole podpisů, PNG vzhledy contained, covered i stretched, CMS data dodaná hostitelem, digest callbacky, patchované bajtové rozsahy a explicitní certifikační politiky DocMDP pro žádné změny, vyplňování formulářů s podpisem nebo vyplňování, podpis i anotace, a to bez ukládání privátních klíčů
  • TXLSPDFAProfile vybere PDF/A-1a, 1b, 2a, 2b, 3a nebo 3b s validací profilu před commitnutím výstupu; přidružené soubory PDF/A-3 nesou název v Unicode, MIME typ, popis, velikost v bajtech, čas změny a relaci Source, Data, Alternative, Supplement či Unspecified přes podrobný overload AddAttachment overload
  • Znovupoužitelný postup begin, page a end u PDF plus zrušení zabrání částečným cílovým streamům
  • Řetězce font fallbacku PDF citlivé na styl cacheují pokrytí glyfů a vložené řezy, přičemž zachovají doplňkové znaky, grafémové klastry a mapování pro extrakci
  • Kontextový shaping složitého textu aplikuje ligatury, pozicování diakritických znamének, arabské spojování a mapování zdrojových klastrů před výstupem glyfů
  • Nativní axiální a radiální gradienty PDF s více zastávkami, alfa masky pro jednotlivé zastávky, vzorky výplní buněk, ořez a stíny obrázků znovu používají cacheované grafické prostředky
  • Komentáře buněk mohou skončit jako poziční textové anotace PDF, zatímco výstup komentářů na konec zůstává k dispozici
  • TXLSSvgExport vykreslí oblasti, listy, sešity, stránky a pojmenované objekty s vektorovým textem, na požádání bezpečnými odkazy, grafy, tvary a obrázky; callbacky stránek vracejí pokaždé jednu kompletní SVG, deterministické ID prefixy izolují vložené dokumenty a sdílený renderer stránek namaluje výplně buněk jako v Excelu, sbalené okraje, písma a zarovnání po jednotlivých buňkách, shrink-to-fit i přetékání do sousedních buněk
  • TXLSPageImageExporter znovu používá jednu stránkovací session a postupně produkuje vybrané stránky PNG nebo JPEG, případně zapíše vybrané stránky atomicky jako jeden vícestránkový TIFF s kompresí LZW
  • TXLSGraphicsBackend a sdílená stránkovací geometrie sladí náhled, tisk, PDF, SVG, obrázek, HTML a umístění objektů, zatímco serializátory si ponechají kódování specifické pro formát
  • Ohraničený dekodér EMF a WMF validuje obálky záznamů a odmítne escape záznamy, než přehraje svou bezpečnou podmnožinu přes sdílenou geometrii Canvas a SVG: zásobníky stavů device context, transformace window, viewport a world, tabulky objektů per, brush a extended-pen se stock objekty, obdélníky, elipsy, řetězce čar, polygony, Bézierovy křivky, path závorky s průchody fill, stroke a kombinovaným, zaoblené obdélníky, oblouky, tětivy, výseče a úhlové oblouky, výplně a rámy regionů, ohraničené textové běhy s písmy a zarovnáním a obrázky stretch-DIB překódované do PNG; clipping a privátní záznamy zůstávají mimo whitelist a selhávají uzavřeně do ohraničené rastrové zálohy
  • HTML exportéry klasického i XLSX enginu poskytují explicitní tabulkové zobrazení se sémantickými záhlavími řádků a sloupců a typovaným pure-CSS hot trackingem; externí odkazy sdílí jeden URI sanitizér, který odmítne targety script, data, blob, file, UNC a řídicí znaky
  • Grafy s datovými osami XLSX používají jako souvislé souřadnice sériová čísla sešitu, zachovávají kompatibilitu slotu přestupného dne 1900, respektují datový systém 1904 a posouvají ticky o skutečné kalendářní dny, měsíce nebo roky napříč stránkováním, SVG, PDF, obrázkem, náhledem, tiskem, prohlížečem a HTML výstupem; vynechané jednotky se odvodí jednou napříč všemi viditelnými řadami, automatická hustota vychází z viditelného rozpětí, šířky osy, změřeného fontu popisků, formátu čísel a rotace a nakonfigurované hlavní i vedlejší mřížky znovu použijí stejné ohraničené kolekce ticků
  • Modely datových os XLSX zachovávají nezávislou přítomnost základních, hlavních a vedlejších kalendářních jednotek plus příznak automatických kategorií datové osy, takže vynechané elementy ChartML zůstanou vynechané, zatímco explicitní jednotky dnů a nepravdivé Boolean hodnoty projdou round-tripem; typovaná rozšiřující pole klasické datové osy si uchovají každou surovou hodnotu a příznak, přičemž aktivní hodnoty lze namapovat do modelu osy XLSX
  • Víceúrovňové osy kategorií zachovávají sparse cache leaf-first a živé dvourozměrné oblasti, dědí vynechané popisky, zatímco explicitně prázdné popisky berou jako hranice, slučují stejné popisky jen uvnitř nadřazeného rozpětí, respektují obrácené pořadí a pořadí zprava doleva plus skryté kategorie a vystavují NoMultiLevelLabels pro jednoúrovňový výstup
  • Datové popisky grafů zdrojované z buněk zachovávají nezávislé vzorce a indexované cache pro každou řadu, obnoví lokální zobrazovací text listu jednou za generaci sešitu, ponechají externí cache bez implicitního přístupu, přeloží vzorce přes kopie listů a rozbalování sestav a respektují sdílenou plus per-point viditelnost napříč stránkováním, SVG, PDF, obrázkem, náhledem, tiskem, prohlížečem a HTML výstupem
  • Sešity klasického XLS i XLSX sdílejí bezztrátovou třístavovou politiku zobrazení objektů; skryté objekty se vyřadí před rozbalováním oblastí a prací s médii, prohlížeč vykreslí lehké pojmenované placeholdery a exportéři PDF, SVG, bitmap, tisku a HTML se mohou přihlásit k výstupu placeholderů, přičemž výstup celých objektů zůstává výchozí
  • Ruční rozložení grafů zachovává nezávislou přítomnost polí a neplatné zdrojové tokeny, řeší faktorové a okrajové režimy ohraničeným umístěním zachovávajícím velikost, rozlišuje vnitřní a vnější plot targety, sdílí geometrii názvu, legendy, plochy grafu a názvů os napříč stránkováním, SVG, PDF, obrázkem, náhledem, tiskem, prohlížečem a HTML výstupem a převádí podporované pozice ODF přes absolutní vzdálenosti grafu
  • Datové osy XLSX zachovávají formáty čísel popisků a stav zdrojového odkazu, aplikují stylování textu osy a rotaci po směru hodinových ručiček, respektují obrácený směr a drží souvislé rozestupy u duplicitních a řídkých dat napříč stránkováním, SVG, PDF, obrázkem, náhledem, tiskem, prohlížečem a HTML výstupem
  • Režim zobrazení vzorců rozpozná stejný koncový text citlivý k chráněným buňkám, zarovnání a ohraničenou dvojnásobnou efektivní šířku rozložení napříč cestami prohlížeče sešitů, náhledu, tisku, obrázku, EMF, SVG, PDF, klasického HTML i XLSX HTML, aniž změní uložené hodnoty, cache vzorců nebo šířky sloupců
  • Adaptivní kubické Bezierovy oblouky řízené flatness sdílejí jeden kontrakt přesnosti napříč PDF, SVG a obrazovým výstupem a přidělují extra segmenty jen tehdy, když je vyžaduje měřítko nebo excentricita
  • Osnowy PDF podporují vnořené záložky v Unicode, barvy, tučný nebo kurzívový text a rozbalené či sbalené potomky, s callbacky stránek pro pozadí a překryvy
  • Rozpoznané pojmenované a vestavěné tabulkové styly proudí sdíleným formátováním HTML, PDF, obrázku, náhledu a prohlížeče, aniž by materializovaly prázdné buňky
  • TXLSSvgExport.SaveObjectAsSVG vykreslí jeden pojmenovaný graf, obrázek nebo tvar v jeho přesných objektových mezích, aniž by ořezával celou stránku
  • HTML export vysílá grafy a tvary jako inline SVG a zachovává SVG obrázky, kotvy kresby, odkazy a podporované efekty bez rasterizace celého listu
  • TXLSXHtmlExportSession jednou projde sdílené styly a pak exportuje listy postupně s postupem, zrušením a resetem
  • TXLSImageRenderEffects aplikuje ořez, jas, kontrast, gamu, rotaci, průhlednost a stín konzistentně napříč grafickými backendy
  • Předdefinované tvary, úpravy, bubliny, vývojové diagramy, textová pole a WordArt používají sdílenou vektorovou geometrii napříč výstupními formáty
  • Pokročilé vykreslování grafů pokrývá chybové úseky, trendové čáry, datové osy, číselné rozestupy, popisky zdrojované z buněk s řazením komponent custom-first a finanční high-low a up-down pruhy
  • Husté popisky grafů a popisky koláčových grafů dostanou deterministickou úpravu kolizí a směrování vodících čar před finálním vektorovým výstupem

Funkce XLSX připravené pro aplikační kód

API XLSX nyní místo pouhého jednoduchého zápisu buněk pokrývá praktické scénáře pro generování sešitů, výstup sestav a mutace sešitů

  • Struktura listuBuňky, výpočty vzorců, kompletní i horizontálně sloučené oblasti s přímým vyhledáváním/odstraňováním, velikosti řádků a sloupců s ohraničeným automatickým přizpůsobením (AutoFit), osnovy, skryté řádky a sloupce, ukotvené příčky, stav aktivního listu, skryté a velmi skryté listy
  • Styly a prezentacePísma, výplně, okraje, formáty čísel, zarovnání, RTF text, barvy motivů, indexované barvy, tónování a stínování, diagonální ohraničení a znovupoužitelné sdružené fondy stylů
  • Objekty aplikace ExcelHypertextové odkazy a komentáře s vyhledáváním buněk a pomocnými metodami pro mazání v oblasti, obrázky a samostatná textová pole kreseb s vyhledáváním kotev a pomocníky pro mazání v oblasti, podmíněné formáty a ověřování dat s vyhledáváním s ohledem na oblast a pomocníky pro mazání, tabulky ve stylu Excelu s vyhledáváním a pomocníky pro mazání podle názvu, kritéria automatického filtru s přímým vyhledáváním sloupců a pomocníky pro mazání, objekty grafů s vyhledáváním názvů a pomocníky pro mazání, listy s grafy, definované názvy s vyhledáváním a pomocníky pro mazání v daném rozsahu platnosti, zachování projektů VBA s dotazy HasVbaProject / VbaProjectDefined včetně kontroly a editace zdrojů existujících modulů a externí odkazy na sešity s vyhledáváním cílů a pomocníky pro mazání
  • Podpora stránek a metadatRežimy zobrazení listů, oblasti tisku, řádky a sloupce záhlaví, možnosti tisku mřížky a nadpisů, ruční konce stránek s vyhledáváním indexů a pomocnými metodami pro odstranění v oblasti, sešity používající systém data 1904, vlastnosti dokumentů, aplikační metadata a ukládání/otevírání založené na datových proudech

Výstupní formáty ze stejných dat sešitu

HotXLS se neomezuje pouze na binární soubory sešitů. Současná API zpřístupňují přímé cesty exportu pro běžné cíle integrace a reportingu

XLSČtení, zápis a úpravy klasických sešitů Excel 97-2003, kurzor načtených buněk v konstantním stavu s vlastněnými snapshoty, volitelnými samostatně stylovanými prázdnými buňkami a fail-fast validací topologie, rychlé zjišťování názvů listů ze souborů nebo streamů, vyhledávání listů podle názvu, pomocné metody pro příčky, aktivní kartu sešitu, metadata o uložení, načítání, ukládání a mazání payloadu VBA včetně kontroly a editace zdrojů existujících modulů a ovládání geometrie a stavu okna, věrnost příznaků Window2 pro záložky, posuvníky, ovládání seskupování dat u automatického filtru, zobrazení listu, barvu mřížky a ukotvené příčky, ovládací prvky stylů osnovy, oprávnění ochrany listu, příznaky nastavení stránky s ohraničeným zachováním payloadu BIFF tiskového ovladače bajt po bajtu, přístup k veřejnému payloadu izolovaný od kopií a konverzi do XLSX s prioritou typovaných polí, řazení oblastí podle více klíčů, vestavěné styly buněk, vlastnosti dokumentu a pracovní postupy exportu
XLSXGenerování sešitů OOXML, výpočty vzorců s rozšířeným pokrytím funkcí a OnUserFunction/OnUserFunctionEx, kurzor načtených buněk v konstantním stavu nad materializovanými řídkými bloky či zabaleným úložištěm s vlastněnými snapshoty, volitelnými samostatně stylovanými prázdnými buňkami a fail-fast validací životního cyklu, skenování načtených buněk a zápis přes callbacky, ohraničené limity AutoFit pro šířky sloupců a výšky řádků sestav, deterministickou řídkou konverzi XLSX na BIFF8 přes SaveXLSXWorkbookAsXLS se zachováním uzamčených indexovaných barev, váženou kvantizací palety OKLab a předvalidovanými typovanými nastaveními tiskárny, zachování části s nastavením tiskárny listu bajt po bajtu s přístupem k veřejnému payloadu izolovaným od kopií, přesnou sémantikou mazání a diagnostikou visících relací, ukládáním a načítáním šifrovaným AES kompatibilním s Excelem (ECMA-376 Standard Encryption) s akcelerací AES-NI a softwarovou zálohou, zachování projektů VBA s dotazy HasVbaProject / VbaProjectDefined včetně kontroly a editace zdrojů existujících modulů, vyhledáváním a nahrazováním textu podle šablon, konfigurovatelným exportem sešitu a oblastí do HTML, přímým vyhledáváním a odstraňováním kritérií automatického filtru i vyhodnocováním náhledů, přímým vyhledáváním a odstraňováním kotev vložených obrázků, vyhledáváním a odstraňováním podmíněných formátů a ověřování dat s ohledem na oblast a round-tripem přes specializovanou fasádu lxHandleX facade
ODSImport sešitů OpenDocument Spreadsheet s daty ze styles.xml , rozměry řádků/sloupců, zděděnými styly buněk, základním převodem vzorců, ochranou listů, pojmenovanými oblastmi, netypovými hodnotami uloženými v mezipaměti, zlomkovými sekundami pro datum a zápornými dobami trvání. Plnohodnotný export přes SaveAsODS s možností zápisu typovaných hodnot buněk, vzorců, RTF textu, sloučených oblastí, hypertextových odkazů, obrázků, grafů, podmíněných formátů, ověřování dat, ukotvených příček, oblastí tisku, skupin osnovy a volitelného nastavení TODSExportOptions do platného balíčku ODF
CSV / TSVImport textu s oddělovači přes OpenCSV s automatickou detekcí oddělovačů, detekcí kódování BOM, zpracováním uvozovek podle RFC 4180, volitelným odvozováním typů hodnot, importními direktivami pro jednotlivé sloupce a krájením na pevnou šířku, a k tomu pomocné metody pro export sešitů, listů a oblastí s přetíženími pro streamy a soubory a výstupem doplněným mezerami na pevnou šířku
HTML / RTF / PDFTabulkově orientované exporty pro sestavy, náhledy, těla e-mailů a předávání dokumentů, včetně fragmentů vybraných oblastí, konfigurovatelných HTML nadpisů, atributů rozvržení tabulek, kotev hypertextových odkazů, popisků komentářů, stylů vertikálního zarovnání, stylů běhů RTF textu, podmíněných diferenciálních stylů a formátů čísel, barevných škál, směrových datových pruhů, glyfů sad ikon a minimálního tabulkového výstupu. TXLSHTMLImport importuje jednu vybranou tabulku nejvyšší úrovně nebo každou tabulku na cílovou buňku číslovanou od jedničky s explicitním desetinným oddělovačem, přičemž zachovává původní přetížení pro všechny tabulky. SaveWorkbookAsHTML publikuje každý viditelný list XLSX v jednom navigovatelném dokumentu se stabilními kotvami pro jednotlivé listy a escapovanými názvy listů. RTF se také importuje zpět přes OpenRTF, s mapováním buněk tabulek nebo seznamů odstavců na A1 ve výchozím nastavení nebo na explicitní cílový řádek a sloupec číslované od jedničky přes rozšířená přetížení. SaveAsPDF sešitu spojí všechny viditelné listy do jednoho dokumentu, vykreslí plné i podmíněné výplně, barevné škály, datové pruhy, podmíněné ikony, barvy, velikosti, tučné, kurzívní a podtržené zvýraznění písma, zarovnání, explicitní ohraničení a volitelnou mřížku, a řídí se oblastmi tisku, velikostí papíru nebo vlastními rozměry papíru přesné na body, orientací, okraji, přiblížením, nastavením přizpůsobení šířce, šířkami sloupců, výškami řádků, ručními konci stránek, opakovanými řádky a sloupci titulů a záhlavími a zápatími vlevo, uprostřed nebo vpravo — včetně kódů polí &F pro název souboru a &Z pro cestu a volitelného potlačení pásu záhlaví nebo zápatí — a stránkuje široké i vysoké oblasti po obou osách; CalculatePageCount ohlásí kompletní počet logických stránek bez stavby objektů PDF a jedničkové FirstPage a LastPage vyberou výstupní rozsah, přičemž zachovají pole celkového počtu stránek. TXLSPaginationModel vystaví tato rozhodnutí jako znovupoužitelné logické stránky XLS a XLSX pro náhled tisku VCL, export PDF, vlastní plátna a výstup EMF, včetně opakovaných titulů, pořadí nejprve-doprava-pak-dolů nebo nejprve-dolů-pak-doprava, škálování na šířku od 10 % do 400 % a umístění kreseb

Proč tuto knihovnu používat

HotXLS udržuje generování tabulek přímo ve vašem procesu pro Delphi nebo C++Builder. Díky tomu je knihovna vhodná pro desktopové utility, dávkové nástroje, služby a instalátory, kde je automatizace Office nespolehlivá nebo nedostupná

Podpora RAD Studia

Balíček je určen pro Delphi a C++Builder od verze XE5 až po RAD Studio 13.1 Florence s projekty pro konkrétní verze balíčků a výstupními složkami pro každou verzi

Free Pascal 3.2.2 s Lazarus/LCL je také podporován na Windows Win32 a Win64 přes runtime balíček Lib/FPC/HotXLSLaz.lpk, včetně API sešitů XLS/XLSX, přímého streamování, vzorců a exportních komponent TDataToXLS a TGridToXLS pro datasety LCL a TDBGrid

Pro kompilaci balíčku spusťte build-FPC-Lib.cmd Win64 nebo build-FPC-Lib.cmd Win32 a pak Tests/Lazarus/Run-HotXLSLazarusSmoke.cmd Win64 nebo jeho Win32 protějšek k ověření round-tripů sešitů a komprese; pro vlastní instalaci nastavte LAZARUS_DIR for a custom installation

Aplikace FPC musí před jednotkami HotXLS vložit jednotku LCL Interfaces a přidat Lib a Lib/FPC do cest vyhledávání jednotek, plus Lib do cesty include; demo formuláře VCL, prohlížeč sešitů VCL a adaptér mřížky DevExpress zůstávají komponentami Delphi/C++Builder

Podrobnosti o nastavení aplikace a kompatibilitě regexů najdete v podpoře Free Pascal a Lazarus pro nastavení aplikace a podrobnosti o kompatibilitě regexů

Snadná distribuce

Součástí dodávky jsou zdrojové kódy, balíčky, sestavovací skripty, ukázky, místní HTML dokumentace a integrace do instalátoru, takže týmy mohou kompilovat, testovat a distribuovat kód nezávisle na webových službách

Výchozí body

Při vyhodnocování knihovny nebo jejím začleňování do projektu využijte nejprve tyto lokální soubory