Bibliotecă Excel pentru RAD Studio

Citiți, scrieți, stilizați și exportați registre de lucru Excel fără automatizare Office

HotXLS este o bibliotecă Object Pascal nativă pentru aplicații Delphi și C++Builder; gestionează direct fluxurile de lucru XLS clasice și actuala interfață XLSX, folosind API-uri pentru registre de lucru, editarea foilor, formatare bogată, ajutoare pentru export, demonstrații și documentație offline în pachet

Instantaneu registru de lucru XLS + XLSX
Valori
Stiluri
Export
Numere
Borduri
CSV
Date
Culori temă
HTML
Formule
Validare
RTF

Instantaneu al capacităților actuale

Actuala linie HotXLS combină interfața XLS originală cu un motor XLSX dedicat, astfel încât codul moștenit să poată folosi în continuare API-ul clasic, în timp ce proiectele noi pot viza direct funcționalitățile OOXML

I/E nativ registru de lucru

Creați, deschideți, modificați și salvați registre de lucru Excel direct din cod Delphi sau C++Builder; nu sunt necesare instalarea Microsoft Excel, automatizarea COM sau un proces extern de foi de calcul

Salvați șabloane XLTX fără macro-uri cu SaveAs(FileName, xlsxOpenXMLTemplate) sau cu supraîncărcarea potrivită pe flux, inclusiv ieșire în flux; formatul implicit de salvare rămâne neschimbat

Interfață XLS clasică

Un API matur pentru registre de lucru Excel 97-2003 (.xls), care acoperă modelul complet de obiecte clasic cu un round-trip BIFF8 de înaltă fidelitate și citește fișierele Excel 2.0/3.0/4.0 (BIFF2-4) moștenite pentru valorile lor

  • Intervalele indexate de ieșire a formulelor evită scanările repetate ale rândurilor precedente la reconstruirea grafurilor mari de dependențe, inclusiv referințele către ieșirile de matrice și dependențele care traversează foi de lucru
  • Salvarea XLS clasică păstrează cache-urile de formule încărcate sau calculate, inclusiv rădăcinile formulelor partajate și de matrice; cache-urile lipsă păstrează fallback-ul de calcul, iar un Recalculate explicit reîmproaptă valorile existente
  • Referințele scalare către nume definite intersectează intervalele pe un singur rând sau o singură coloană la celula formulei, în timp ce argumentele de interval agregate și de căutare păstrează intervalele complete; recalcularea evită ciclurile false de intervale, prioritizează cache-urile de căutare finalizate și păstrează precizia în virgulă mobilă în aritmetica mixtă între numere întregi și în virgulă mobilă
  • Round-trip-urile XLSX păstrează formulele dinamice ale zonelor de imprimare, reuniunile de intervale calificate și indicele de font fonetic, obligatoriu zero; părțile generate și cele păstrate partajează declarații unice de content-type, în timp ce proprietățile personalizate și relațiile opace din rădăcină păstrează ID-uri de relație distincte
  • XLS-ul clasic păstrează absența înregistrărilor de margini importate până când marginea corespunzătoare este setată explicit, fără a schimba ieșirea implicită a marginilor pentru registrele de lucru noi
  • AGGREGATE gestionează independent erorile nememorate în cache și selecția imbricată, cu semantici separate pentru referințe și matrice calculate pentru opțiunile de la 0 la 7
  • Round-trip-urile XLSX păstrează XML-ul de grafic nemodificat și offseturile ancorelor de grafic, numele de fonturi ale formatelor condiționale, dimensiunile, schemele, stegulețele explicite de stil și culorile RGB, plus o orientare de pagină nespecificată când sunt setate doar marginile
  • Model de obiecte complet: registru de lucru, foaie de calcul, interval, formulă, formatare, imagine, hyperlink, nume definit, protecție, configurare pagină și export de rapoarte
  • Metadatele de coloană din varianta clasică expun marcatorii de colaps de contur independent de starea ascunsă și de nivelul de grupare, păstrându-i prin round-trip-uri XLS brute, copii de formatare a coloanelor și copii de foi de lucru
  • Configurarea de pagină clasică expune HasSetupRecord și PrinterSettingsInitialized, păstrează o înregistrare BIFF Setup neatinsă octet cu octet, menține absentă o înregistrare inexistentă și inițializează câmpurile dependente de imprimantă doar când setter-ele lor o cer
  • Conversia XLS către XLSX și invers transportă independent configurarea de pagină tipizată și octeții opaci de driver de imprimantă, păstrează câmpurile standard ca autoritate în fața valorilor implicite private duplicate și respinge setările BIFF8 ireprezentabile înainte de a scrie destinația
  • Registrele de lucru XLS clasic și XLSX expun politici SaveExternalLinkValues și UpdateLinks echivalente; valorile din cache ale registrelor de lucru externe pot fi omise fără a șterge definițiile legăturilor sau cache-urile din memorie, declarațiile sursă invalide dar neatinse rămân fără pierderi, conversia între formate păstrează valorile legale de politică, iar preferințele de actualizare nu inițiază niciodată acces la fișier sau la rețea
  • Registrele de lucru XLSX expun detecția exactă, numărarea și eliminarea atomică a panourilor de activități Web Add-in; eliminarea validează închiderile interne, limitate, ale relațiilor înainte de modificare, păstrează orice parte partajată cu o altă relație, șterge părțile de relație deținute și intrările de content-type învechite, previne resuscitarea prin copie comprimată a sursei și rămâne idempotentă, în timp ce XLS clasic și ODS raportează operațiunea ca nesuportată, fără scanarea pachetului
  • Foile de lucru XLS clasic și XLSX expun metode echivalente de selecție conștientă de panouri și de defilare cu bază 1 prin TXLSPanePosition; TryGetWindowScroll și ScrollWindow mapează axele partajate sus, jos, stânga și dreapta pe starea nativă de vizualizare cu două niveluri a fiecărui format, le păstrează prin salvare, deschidere și copiere de foi de lucru și resping atomic panourile lipsă sau coordonatele invalide; instantaneele de selecție rămân ordonate, suprapuse și deținute de apelant, editările structurale pe rânduri sau coloane întregi remapează fiecare panou păstrând identitatea zonei active, cu fallback-uri deterministe pentru celulele supraviețuitoare și de frontieră, iar operațiunile pe arii mari rămân liniare amortizate; XLS clasic agregază suplimentar înregistrările de selecție consecutive, păstrează corpurile de înregistrare neatinse sau invalide, raportează grupurile malformate prin xlsDiagnosticSelectionRecordInvalid și fărâmițează selecțiile cu mai mult de 1369 de arii
  • Unitatea neutră față de motor lxOutline construiește geometria de contur pe rânduri sau coloane din întinderi rare sortate, descoperă nodurile summary-before sau summary-after în timp O(log n + k) și creează planuri comprimate și idempotente pentru colapsul nodurilor, schimbările nivelului de afișare, păstrarea copiilor imbricate și actualizările recursive ale stării copiilor, fără a scana coordonate nefolosite ale foii de lucru; ambele motoare de foi de lucru expun aceleași metode de interogare și control ale nodurilor, iar grupurile OpenDocument își păstrează starea nativă de afișare și se convertesc în marcatori de noduri-summary XLSX
  • Registrele de lucru XLS clasic și XLSX expun același contract ResolveIndexedColor, fără efecte secundare, pentru indecșii de culoare publici, valorile BIFF icv și culorile indexate OOXML; tokenurile de paletă, automat, de sistem și invalide rămân distincte, indexul zero de bordură își păstrează sensul nespecificat, ieșirea ARGB este normalizată, iar culorile sistemului de operare sunt rezolvate doar printr-un callback explicit al apelantului
  • Ambele motoare de registre de lucru expun o interogare NearestIndexedColor fără efecte secundare, susținută de un cache OKLab conștient de modificări; aceasta caută doar cele 56 de intrări fizice ale paletei BIFF, întoarce indecșii publici și fizici împreună cu metadate de distanță și de potrivire exactă, respinge alpha parțial și rezolvă egalitățile la distanță spre cel mai mic index public
  • Ambele motoare de registre de lucru expun un inventar determinist și fără efecte secundare ScanIndexedColorUsage pentru toate cele 56 de sloturi fizice ale paletei, inclusiv valori ARGB normalizate, numărători de definiții și de referințe, tipuri de consumatori și lock-uri de păstrare între stiluri, celule rare, obiecte de foaie de lucru, grafice, comentarii și formate condiționale, fără a materializa celulele nefolosite
  • Ambele motoare de registre de lucru expun o previzualizare BuildBiffPalettePlan fără modificări, care protejează consumatorii indexați, agregă culorile de temă directe și rezolvate după frecvența randată, păstrează potrivirile exacte existente, mapează culorile determinist prin OKLab și raportează identitatea sursei, schimbările de sloturi, acoperirea exactă, eroarea ponderată și cuantificarea de overflow fără a schimba registrul de lucru sau comportamentul la salvare
  • Ambele motoare de registre de lucru pot valida și aplica atomic un plan curent cu 56 de sloturi prin ApplyBiffPalettePlan, respingând intrările învechite sau alterate înainte de orice modificare și reconstruind o singură dată potrivitorul perceptual; registrele de lucru Classic furnizează suplimentar un BiffPaletteSavePolicy explicit, a cărui valoare implicită păstrează ieșirea istorică, a cărui mod de optimizare se aplică doar pentru BIFF8 și ale cărui salvări eșuate sau anulate restaurează paleta originală
  • Ambele motoare de registre de lucru expun o valoare validată TXLSRenderCalibration cu controale pentru lățime, înălțime, spațiere multi-linie, margini de celulă, scalare de ecran și DPI de măsurare; atribuirea este atomică, captura întoarce un instantaneu independent al operațiunii, valorile implicite sunt deterministe, iar setarea de runtime nu este niciodată serializată și nu redimensionează singură geometria foii de lucru
  • Ambele motoare de registre de lucru creează servicii IXLSRenderGeometry deținute de operațiune, a căror calibrare imuabilă, generare de registru de lucru, backend, semnătură completă de fonturi, lățime de împachetare și text formează o identitate limitată de cache local de metrici; măsurarea GDI partajată și conversiile în pixeli, puncte, lățimi de coloană, MDW și lățimi utilizabile de celulă elimină cache-urile globale de proces AutoFit pentru DPI și lățime de bază, ținând în același timp scalarea de ecran în afara scalării coordonatelor de ieșire
  • AutoFit din XLS clasic și XLSX capturează câte un instantaneu de geometrie de randare per operațiune și aplică măsurare calibrată de fonturi, împachetare, spațiere de linii și margini de celule; paginarea capturează aceeași geometrie locală a registrului de lucru per construcție, astfel dimensiunile implicite de pagină rămân stabile, schimbările ulterioare de calibrare cer o reconstrucție explicită, iar calculul paginii nu scrie niciodată înălțimile de rând sau lățimile de coloană stocate
  • Paginarea pentru PDF, SVG, bitmap, print-preview și viewer-ul de registre de lucru își identifică propriul backend de randare și reține o calibrare imuabilă a registrului de lucru pentru întreaga operațiune; încadrarea partajată a textului de pagină și împachetarea SVG folosesc cache-ul limitat local operațiunii, cu stiluri complete de fonturi și identitate de charset, în locul obiectelor globale de măsurare
  • Exporturile de dataset TDataToXLS pot include doar câmpurile selectate sau pot exclude câmpuri sensibile, păstrând aliniate antetele, rândurile de date, callback-urile și lățimile de coloană
  • Calcul de formule încorporat, cu registre de funcții-utilizator la nivel de proces și locale registrului de lucru, semantică de suprascriere a numelor locale, invocare a gestionarilor fără lock-uri, callback-uri OnUserFunction și OnUserFunctionEx, plus funcții Excel uzuale pentru text, dată, zi lucrătoare, inginerești/conversie de baze, operații pe biți, statistice, agregate, matematice și matrice dinamice, inclusiv operatori de difuzare pe matrice cu erori per celulă, matrice complete multivariabile LINEST / LOGEST, predicții formatate TREND / GROWTH, SORT stabil pe rând sau coloană, SORTBY stabil pe rând sau coloană cu chei multiple, direcții independente și chei de matrice, rotunjire CEILING.MATH / FLOOR.MATH conștientă de matrice, cu difuzare singleton și erori locale, evaluare stabilă, conștientă de matrice, COT / ACOT / COTH / ACOTH / CSC / CSCH / SEC / SECH cu erori locale și ramuri sigure pentru intrări mari la overflow, calcule de repetiție COMBINA / PERMUTATIONA cu verificare de overflow, matrice identitate MUNIT cu memorie limitată, conversie UNICHAR pe scalar Unicode, text de monedă thailandeză prin BAHTTEXT, inspecție ISFORMULA care păstrează referința fără recalcularea țintei, UNIQUE pe rând sau coloană indexat hash, rezultate revarsate FREQUENCY, XMATCH / XLOOKUP binar logaritmic, detecție ISOMITTED a argumentelor opționale, conversie de matrice ARRAYTOTEXT / VALUETOTEXT, calcule validate XIRR / XNPV, PDURATION / RRI pentru momentul investițiilor și ratele de creștere, amortizare VDB pe perioade fracționare, plus legături LET complete și închideri LAMBDA apelabile prin nume definite și capturate lexical în interiorul lui LET
  • EvaluateFormulaAt, neutru față de motor, evaluează text de formulă A1 sau R1C1 într-un context explicit de celulă a foii de lucru, fără a modifica modelul de celulă, cache-ul, starea dirty, foaia activă sau graful de dependențe; rezultatele tipizate păstrează erorile de formulă, matricele, valorile goale, volatilitatea, anularea, autorizarea referințelor externe și categoriile stabile de eșec, în timp ce IXLSFormulaEvaluationTemplate refolosește o ancoră compilată imuabilă între celulele țintă, sub bugete configurabile pentru lungimea formulei, pași, recursiune și memorie de matrice
  • XLS clasic și XLSX expun metode ValidateFormulaEntry echivalente, fără modificări, un FormulaEntryPolicy la nivel de registru de lucru și scanări parsate AuditFormulaSymbols peste celule și nume definite; intrarea goală exactă, formulele care întorc șir gol, funcțiile necunoscute, numele necunoscute, eșecurile de sintaxă, țintele invalide și limitările formatului țintă rămân distincte, atribuirea normală de formule aplică atomic respingerea strictă sau păstrarea, simbolurile necunoscute păstrate se evaluează și se propagă ca #NAME?, schimbările de UDF sau de nume definit invalidează dependențele învechite, BIFF clasic stochează apelurile necunoscute păstrate ca funcții-utilizator de tip add-in, validarea recunoaște funcțiile-utilizator înregistrate sau prin callback, lambda-urile lexicale și pe nume definite, substituenții de raport, legăturile externe înregistrate și referințele structurate valide fără a invoca gestionarii, iar callback-urile periculoase de funcții externe sau de stil-macro rămân blocate înaintea evaluării argumentelor, dacă nu sunt autorizate explicit
  • Inspecție fără pierderi a tokenurilor de formulă și modificare protejată pentru ambele motoare de registre de lucru, prin TXLSFormulaTokenStream, ParseFormulaTokens, GetFormulaTokens, FormulaTokensToText și SetFormulaTokens, cu fluxuri deținute de apelant, proiecții de tokenuri doar-citire, sarcini utile BIFF brute, stegulețe independente de referință, clonare, înlocuire atomică a referințelor, proveniență de context și validare înainte de rescriere
  • Tabel de date What-If pe un rând cu o variabilă, pe o coloană cu o variabilă și cu două variabile, cu recalculare izolată a dependențelor, erori de intrare ștearsă, editări structurale, copieri de foi de lucru și suport round-trip BIFF8
  • Scanarea celulelor, căutare și înlocuire în șabloane, umplerea intervalelor prin callback, scrieri directe de matrice tipizate prin ForEachCell, FindText, ReplaceText, WriteCells și metodele de scriere pe rând și coloană pentru numeric, șir și variant, plus ConvertFormulasToValues pe toată foaia sau pe o singură celulă, care îngheață formulele în rezultatele lor calculate păstrând valoarea din cache
  • Inspecția neutră a cache-ului de formule prin IXLSFormulaCacheReader și CreateFormulaCacheReader al fiecărui motor de registre de lucru raportează prezența, proveniența încărcat sau calculat și tipul gol, număr, dată-timp, șir, Boolean sau eroare, fără a evalua formule, a invoca funcții-utilizator, a decompila tokenuri sau a schimba starea registrului de lucru; lease-urile pe durata de viață invalidează cititorii în siguranță după distrugerea registrului de lucru, membrii formulelor partajate păstrează cache-uri independente, iar XLSX și ODS păstrează erorile tipizate și cache-urile explicit goale la redeschidere
  • IXLSWorkbook.CreateReadOnlyView clasic și IXLSXWorkbookOwner.CreateReadOnlyView XLSX creează instanțe IXLSReadOnlyWorkbookView pe model partajat, în timp constant, cu foi active locale vizualizării, instantanee de celule stocate prin valoare, fără expunere de obiecte scribilă, rezultate de formule din cache implicit și text de formulă sau evaluare izolată de formule la cerere; vizualizările concurente păstrează privat starea de recursiune, cache-urile scalare și de matrice și formulele XLSX compilate, evaluarea externă XLSX citește doar cache-urile de legături locale fișierului, celulele împachetate rămân nematerializate, iar fiecare vizualizare deține un lease de citire care respinge scrierile în model înainte de orice modificare
  • TXLSWorkbookWorkspace acceptă adaptori revocabili Classic XLS, XLSX sau ODS de la CreateWorkspaceWorkbook al fiecărui motor, păstrează identități complete de cale sau IRI, rezolvă foile de lucru externe după nume înaintea poziției și evaluează formulele externe prin înregistrări live explicite, un loader opțional controlat de apelant, o dată per identitate, cache-uri de fișiere tipizate și #REF!; cererile concurente de încărcare partajează un singur rezultat, diagnosticele tipizate expun eșecurile și limitele de resurse, metodele de înregistrare pentru compatibilitate rămân disponibile pe ambele fațade ale registrului de lucru, țintele distruse se deconectează în siguranță, iar recalcularea nu deschide niciodată implicit un fișier sau o resursă de rețea
  • TXLSWorkbookWorkspace.BuildDependencyGraph extrage un singur graf de formule între registre de lucru din modelele înregistrate Classic XLS, XLSX și ODS, păstrează identitățile complete ale registrelor și foilor de lucru, reține numele definite simbolice locale și externe, rezolvă numele locale către dependențele lor concrete când este posibil și stochează intervalele dreptunghiulare mari ca intervale compacte; arborii de intervale de rând accelerează construcția muchiilor și căutarea dependenților, iar construcția grafului citește stocarea XLSX împachetată fără a o materializa
  • TXLSWorkbookWorkspace.Recalculate păstrează graf partajat de dependențe și îl marchează incremental ca dirty, programează nodurile de formule aciclice în ordine topologică între registre de lucru, respinge ciclurile reale de formule puternic conectate fără a respinge legăturile bidirecționale inofensive între registre de lucru și partajează un cache local trecerii pentru celule externe, cu diagnostice explicite de hit, miss, invalidare și nod blocat; apelurile în același workspace sunt serializate, eliminarea în timpul unei treceri întoarce o stare workspace-modificat prin instantanee sigure de adaptor, distrugerea așteaptă calculul activ, iar nodurile eșuate rămân dirty pentru o reîncercare explicită
  • CalculateAndVerify compară rezultatele stocate ale formulelor cu calcule proaspete, nevolatile, și raportează diagnostice de foaie de lucru, celulă, formulă, valoare așteptată și valoare reală, fără a înlocui cache-ul; RecalcAndVerifyEx adaugă auditul profund cu un overlay izolat de rezultate ale grafului de dependențe, categorii tipizate de eșec cu stive de apel limitate, anulare a progresului și aplicare atomică opțională a valorilor recalculate
  • Toleranțele auditului profund filtrează rapoartele de nepotriviri fără a suprima rezultatele intermediare proaspete: formulele dependente folosesc valorile auditate, iar aplicarea explicită reîmproaptă cache-urile modificate chiar și când nu se raportează nicio nepotrivire; atât toleranța absolută, cât și cea relativă se aplică rezultatelor în virgulă mobilă cu precizie dublă
  • Recalcularea clasică folosește un graf de dependențe construit leneș, propagă intrările dirty doar către dependenții tranzitivi, recalculează formulele volatile la fiecare trecere, evaluează formulele aciclice în ordinea dependențelor și aplică iterația componentelor puternic conectate pentru referințele circulare; dezactivarea preciziei complete rotunjește cache-urile formulelor și ale tabelelor de date What-If la precizia lor numerică efectiv afișată înainte ca dependenții să le consume
  • AutoFiltru, validarea datelor de tip listă, tabele Excel cu aranjamente fără antet și comentarii per tabel plus evaluare de formule cu referințe structurate (Table[Col], întinderi de coloane, [#Data] / [#All] / [#Headers] / [#Totals]), extensii de formate condiționale (bară de date cu umplere și culori de bordură pentru valori negative, scară de culori, set de pictograme) cu priorități unice per foaie la salvare și reguli cu scop de tabel pivot dirijate către bucket-ul de extensii Excel 2010+, și foi de grafice
  • Casete de text, desene OfficeArt, import tipizat de tabele pivot condus de relații, materializare multi-valoare filtrată și grupată, câmpuri calculate, elemente și membri, subtotaluri, totaluri generale, sortare stabilă, calcule ShowDataAs clasice și extinse, plus comentarii cu text îmbogățit
  • Păstrarea de înaltă fidelitate BIFF8 în ambele sensuri care conservă înregistrările create în Excel, culorile exacte RGB și temele, vizualizările personalizate și metadatele de partajare / revizuire
  • Registre de lucru protejate prin parolă via criptare BIFF8 RC4, plus salvare și încărcare XLSX cu criptare Agile, cu un HMAC de integritate a datelor verificat peste pachetul criptat, și rezervări de scriere clasice (SetModifyPassword) care poartă stegulețul de recomandare doar-citire, hash-ul parolei și numele utilizatorului care rezervă
  • Supraîncărcările AutoFit pentru celule îmbinate pot atribui creșterea necesară de rând sau coloană primului membru, ultimului membru sau o pot distribui uniform pe întreaga întindere îmbinată, păstrând starea ascunsă și respectând limitele per membru
  • Copierea foilor de lucru între registre de lucru (TXLSWorksheets.AddCopy) clonează în alt registru de lucru valorile celulelor, formulele (recompilate pe numele foilor destinației), formatarea cu culori exacte RGB / de temă, celulele îmbinate, comentariile, hyperlinkurile, aranjamentul rândurilor și coloanelor, panourile înghețate, protecția, configurarea paginii, culoarea filei, formatele condiționale, validările de date, criteriile AutoFiltru, tabelele, imaginile încorporate, secvențele de text îmbogățit (cu fonturile lor migrate prin valoare) și foile de grafice (cu referințele seriilor recompilate pe destinație); formulele ale căror foi lipsesc în destinație indică din nou registrul de lucru sursă ca legătură externă atunci când acesta are o identitate de fișier

Interfață XLSX modernă

Un motor OOXML dedicat construit în jurul TXLSXWorkbook pentru registre de lucru Excel 2007+ (.xlsx)

  • Șiruri partajate, stiluri, desene, caracteristici de foi, împachetare ZIP/XML și metadate round-trip, inclusiv gestionarea Xstring din SpreadsheetML conștientă de câmpuri, care păstrează caracterele de control și tokenurile literale _xHHHH_ fără a rescrie sintaxa formulelor
  • Configurarea de pagină a foii de lucru păstrează setări binare de imprimantă exacte la nivel de octet prin relația pageSetup și partea printerSettingsN.bin per foaie, acceptă locații de părți sursă nestandard, scrie ținte canonice deterministe, copiază sarcina utilă în profunzime prin copierile de foi de lucru în cadrul aceluiași registru și între registre de lucru și raportează relațiile de imprimantă lipsă, tipizate greșit sau rămase fără țintă, fără a lega o parte binară neasociată
  • Scriitorii tipizați de rânduri și coloane pentru numeric, șir și variant își cresc capacitatea de celule geometric între loturi repetate, adaugă loturile de rânduri înainte direct în vectori de rânduri rare pre-dimensionați, decupează în siguranță la limitele foii de lucru, păstrează handle-uri stabile la suprapunere și evită dispecerizarea prin callback
  • Citire și scriere OpenDocument (.ods): importați foi de calcul existente prin Open / OpenODS, exportați prin SaveAsODS sau SaveAs(xlsxOpenDocumentSpreadsheet), ajustați ieșirea cu TODSExportOptions și mențineți bidirecționalitatea stilurilor, textului îmbogățit, imaginilor, graficelor, validărilor, formatelor condiționale, configurării paginii, intervalelor de imprimare, grupurilor de contururi, structurii foii și metadatelor din registrul de lucru
  • Import multiformat: OpenDocument (.ods) și CSV / TSV cu detectarea separatorilor, detectarea BOM și inferența opțională a tipului de valori
  • Detecție după semnătura conținutului: DetectExcelContentFormat inspectează octeții de început ai unui fișier sau flux pentru a deosebi fișierele compuse BIFF, pachetele OOXML, pachetele OpenDocument și textul delimitat simplu, indiferent de extensia fișierului, iar ambele motoare de registre de lucru resping containerele nepotrivite cu un mesaj clar care numește loader-ul corect
  • Text afișat formatat: proprietatea doar-citire FormattedText (pe IXLSRange și TXLSXCell) randează valoarea unei celule prin formatul său numeric — separatoare, procente, măști dată/timp, măști multi-secțiune, formate booleene — potrivindu-se cu ceea ce afișează Excel în grilă
  • Monitorizarea modificărilor fișierelor: TXLSFileMonitor supraveghează un registru de lucru pe disc și declanșează OnFileChanged când alt proces salvează peste el, cu interval de polling configurabil și livrarea evenimentului pe thread-ul principal sau pe thread-ul de supraveghere; gestionarii pot opri sau distruge monitorul, ori pot schimba fișierul supravegheat
  • Cerere de parolă: evenimentul OnPassword al motorului XLS clasic întreabă aplicația după o parolă când Open întâlnește un registru de lucru criptat cu parolă lipsă sau greșită și reia deschiderea
  • Perie de formatare: TXLSXCellFormat descrie o singură dată fontul, umplerea, bordura, alinierea, formatul numeric și protecția, apoi ștampilează celule, intervale, rânduri, coloane sau foi întregi — se aplică doar aspectele atinse, iar indecșii din pool se rezolvă o dată per aplicare pentru formatare în masă rapidă
  • Rânduri unificate în flux: TXLSRowCursor parcurge surse .xls, .xlsx, .xlsm, .ods, CSV sau TSV rând cu rând (FindFirst / FindNext) ținând în memorie doar rândul proiectat curent sau șablonul de repetiție ODS, împingând limitele rândurilor și selecția coloanelor înainte de alocarea valorilor, păstrând rezultatele de formule din cache și golurile stilizate stocate, distingând prezența formulei de disponibilitatea textului formulei, suprimând opțional textul formulei, sărind celulele acoperite ODF, sărind direct între coloanele selectate în întinderile ODS repetate, decodând BOM-uri UTF-8 sau UTF-16 și înregistrări de text citat pe mai multe linii, detectând delimiterii virgulă, punct și virgulă, tab sau bară verticală și oferind căutare ValueByCol în timp constant; stările explicite de ciclu de viață, anularea idempotentă, proprietatea împrumutată sau transferată a fluxului, vizualizările de rând zero-copie verificate pe generații, PeakRowBufferedBytes și SheetPassesStarted fac scanările de lungă durată observabile și sigure, iar TXLSForwardReader adaptează aceleași backend-uri la callback-uri de foaie și celulă cu bază 1, fără a deschide părțile de foi de lucru sărite
  • Progres și diagnostice: registrele de lucru XLS clasic și XLSX furnizează callback-uri de lucru plus callback-uri begin/work/end cu anulare, în timp ce IXLSWorkbookProgress și TXLSXWorkbook.Diagnostics expun coduri stabile, severitate, operațiune, context de foaie sau de pachet, valori de retur native și detalii de excepție
  • Salvări sigure la eșec: eșecurile de comitere ale foilor de lucru, graficelor, extensiilor de stil, VBA, fluxurilor de controale, stocării și ieșirii din varianta clasică se propagă către apelant, în timp ce ieșirea pe disc XLS, XLSX și ODS este etapizată înainte ca destinația să fie înlocuită atomic
  • Diagnostice acționabile la salvarea fișierelor: TXLSXWorkbook.SaveAs(FileName) și supraîncărcarea lui cu format explicit păstrează eroarea nativă Windows când înlocuirea destinației eșuează, cu cod de diagnostic 1005 și destinația originală lăsată intactă
  • Stocare compactă de celule și stiluri: celulele XLSX trăiesc în blocuri de 256 de rânduri, cu handle-uri publice stabile și serializare prietenoasă cu cache-ul, ordonată pe rânduri; intrările de rând nu poartă etichete redundante de sarcină utilă, iar schimbările de valoare, formulă și text îmbogățit evită reclasificarea indecșilor; stilurile de celule importate se rezolvă printr-un singur vector imuabil cellXf cu index direct; iar compactarea automată a pool-ului de stiluri renunță la fonturile, umplerile, bordurile, formatele numerice, aliniamentele și protecțiile nereferite înaintea fiecărei salvări
  • Suprapuneri de stiluri pe intervale: formatarea pe rânduri, coloane și dreptunghiuri rămâne compactă fără a materializa obiecte de celule goale, se rezolvă leneș la accesarea celulelor, supraviețuiește editărilor structurale și suportă round-trip ca intrări compacte de coloane, rânduri și celule doar-cu-stil
  • Salvare normală cu rânduri în flux: StreamingWrite (implicit) scrie fiecare rând al foii de lucru direct în fluxul deflate al pachetului, astfel încât memoria de vârf urmărește cel mai mare rând individual, în timp ce șirurile partajate și părțile XML auxiliare curg câte o intrare pe rând printr-un singur serializator UTF-8 reutilizabil
  • Deschidere doar-de-metadate: TXLSXWorkbook.MetadataOnly parsează proprietățile registrului de lucru, numele definite, numele foilor și stările de vizibilitate, stilurile, tema, conexiunile și legăturile externe, dar sare peste XML-ul de celule al foilor de lucru plus șirurile partajate, datele de comentarii și persoane, relațiile foilor de lucru, desenele, graficele, tabelele, tabelele de interogare, tabelele pivot și sarcinile utile opace accesibile din foaia de lucru, pentru o descoperire rapidă și cu memorie redusă a proprietăților și numelor din registre de lucru mari
  • Sloturile XLSX către registre de lucru externe urmează ordinea de declarație din workbook.xml și păstrează substituenți goi pentru relațiile rupte, menținând stabile referințele de formule [N] ulterioare la încărcare și salvare
  • Încărcare selectivă a foilor de lucru: TXLSXWorkbook.SelectedSheets lasă Open să parseze XML-ul de celule doar pentru foaia numite, celelalte foi păstrându-și numele și vizibilitatea, dar fără celule; apelați LoadSheet(Index) pentru a materializa la cerere o foaie sărită, din arhiva originală
  • Copie incrementală de părți comprimate: TXLSXWorkbook.PreserveRawParts deschide o arhivă sursă privată și validată per operațiune SaveAs și copiază intrările nemodificate de temă, proiect VBA, conexiune, legătură externă, imagine, grafic, tabel pivot, cache pivot și cele opace accesibile prin relații, cu sarcinile lor utile comprimate originale; salvările de fișier reușite devin următoarea linie de bază curată, în timp ce registrele de lucru suportate de flux, fișierele sursă modificate, sarcinile utile alterate, metodele de compresie nesuportate și nepotrivirile de dimensiune comprimată folosesc fallback-ul de serializare tranzacțională sau căi de respingere
  • Păstrarea extensiilor registrului de lucru: deschiderea și salvarea XLSX păstrează declarațiile de namespace străine ale rădăcinii registrului de lucru, atributele de markup-compatibility, sarcinile utile complete <extLst> la nivel de registru de lucru și relațiile lor necunoscute, în timp ce foile, numele, vizualizările, proprietățile de calcul și cache-urile pivot tipizate rămân editabile; referințele de relație sunt remapate când ID-urile generate intră în conflict
  • Slicers: Worksheet.Slicers.Add(Table, ColumnName) creează slicere de tabel (Excel 2013+) cap-coadă — incluzând cache-ul de slicer, numele definit rezervat, extensia foii de calcul și ancora de desen — cu control al poziționării, al legendei, al numărului de coloane, al stilului și al înălțimii rândului; registrele de lucru care poartă slicere create de Excel (de tabel sau pivot) le păstrează intacte prin deschidere și salvare, redând octet cu octet părțile și ancorele nemodificate, în timp ce registrul de lucru din jur rămâne complet editabil
  • Ferestre multiple ale registrului de lucru: TXLSXWorkbook.WorkbookViews expune o colecție ordonată cu operațiuni de adăugare, inserare, ștergere, mutare și golire, stare tipizată de vizibilitate și geometrie, atribute și extensii necunoscute editabile și remapare a workbookViewId foilor de lucru; proprietățile consacrate pentru fereastră unică rămân proiecții compatibile ale primei vizualizări
  • Nume definite externe și eșecuri de reîmprospătare: TXLSXExternalLink parsează, stochează și păstrează round-trip intrările <definedNames> din registrele de lucru legate, în timp ce fiecare TXLSXExternalSheetData urmărește un steguleț RefreshError pentru starea de eșec de reîmprospătare, fără a cere o sursă de date activă
  • Import din clipboard multiformat: XLSPasteFromClipboardRich preferă formatul de clipboard XML Spreadsheet (formule, stiluri, îmbinări) în fața textului Unicode simplu, cu funcții dedicate de detecție a formatului, extracție și parsare SpreadsheetML 2003
  • Schimb nativ prin clipboard Biff8: CopyToClipboard pe ambele motoare publică sarcina utilă compusă "Biff8" proprie Excel, lângă text și HTML, iar PasteFromClipboard o consumă prima — valorile sosesc fără re-parsare dependentă de locale, referințele relative de formule se re-ancorează la ținta lipirii, iar formatele numerice, fonturile, umplerile, bordurile, alinierea și celulele îmbinate suportă round-trip atât între registre de lucru HotXLS, cât și dinspre copiile din Excel
  • Marcaj de text îmbogățit: proprietatea de celulă TaggedText convertește în ambele direcții între secvențele de text îmbogățit și etichete ușoare (<b>, <i>, <u>, <s>, <sub>, <sup>, <color=#RRGGBB>, <font=Name>, <size=N>)
  • Cititoare de clipboard sigure pe 64 de biți, cu reîncercare la contenție, potrivire de intervale a formatelor condiționale din cache și un index de hyperlinkuri PDF căutat binar
  • Extensibilitatea calculului: înregistrare de funcții-utilizator după nume, un API de audit al funcțiilor necunoscute, deschideri în mod de recuperare care sar părțile deteriorate, schimb nativ prin clipboard Biff8 și potrivire de intervale a validărilor de date din cache
  • Imagini PDF: imaginile foilor de lucru se încorporează ca XObjects Flate RGB cu passthrough JPEG și refolosirea fluxurilor PNG (fără re-codificare, canalul alpha păstrat prin soft mask-uri), imaginile identice octet cu octet se încorporează o singură dată, blocurile keep-together și XlsxAutoPageBreaks aliniază paginarea, iar ZipCompressionLevel și DeterministicOutput controlează ieșirea salvării
  • Pipeline-ul de ieșire PDF: fluxurile de conținut ale paginilor sunt comprimate Flate, operațiunile de text consecutive partajează blocuri de text grupate cu selecție de fonturi și culori deduplicată, umplerile adiacente egale se îmbină în dreptunghiuri unice, iar segmentele de bordură coliniare se trasează ca secvențe îmbinate — fișiere mai mici și generare mai rapidă; OnProgress și OnProgressEx, care poate întrerupe, raportează stările de început, pagină și final, iar Cancel oprește exporturile lungi fără a comite un PDF parțial în fluxul destinației
  • Fidelitatea textului de celulă în PDF: împachetare reală de cuvinte cu aliniere verticală a blocului și linii justificate sau distribuite, text rotit și stivuit vertical, shrink-to-fit, depășire în stil Excel în celulele vecine goale cu decupare, aliniere la dreapta a numerelor sub alinierea generală, indentare, secvențe de text îmbogățit cu stil, dimensiune, culoare, underline, tăiere, super- și subscript per secvență, borduri diagonale și duble, și text pe celule îmbinate — totul poziționat prin lățimile de avans Helvetica calibrate GDI
  • Fidelitatea tipăririi PDF: antete și subsoluri stilizate cu codurile Excel pentru dimensiune de font, culoare, bold/italic/underline/strike și super/subscript, mod de tipărire alb-negru, titluri de rânduri și coloane tipărite, centrupare de tipărire orizontală și verticală, indicatori de comentarii plus o pagină de listare a comentariilor la final prin PrintCommentsAtEnd, legături GoTo în document pentru hyperlinkurile interne, o preferință PageLayout pentru viewer cu metadate XMP, lățimi de coloană MDW fidele Excel și încorporare de colecții TrueType cu variante sintetizate bold/italic ale fontului Unicode
  • Grafice PDF: graficele foilor de lucru se desenează ca vectori nativi — coloană/bară grupate, stivuite și procent-stivuite, linie cu marcatori, arie, pie și doughnut cu etichete procentuale, dispersie și radar — cu cadre cu titlu, axe și etichete de tick auto-scalate, linii de grilă, legende, etichete de date, umpleri per serie și paleta implicită de accente a Excel; graficele ancorate dincolo de ultima celulă de date extind suprafața tipărită
  • PDF interactiv: hyperlinkurile foilor de lucru devin adnotări de legături pe care se poate face clic, iar fiecare foaie exportată primește un bookmark de contur de document
  • Extensibilitate la nivel de pachet: proprietăți personalizate de document tipizate, părți de date XML personalizate, companioane de imagini SVG, etichete de date ale graficelor per serie provenite din celule, cu cache-uri indexate și suprascrieri de vizibilitate per punct, stiluri de tabel definite de utilizator cu culori per secțiune și un API de audit al validărilor de date care listează fiecare celulă care încalcă regulile
  • Îmbunătățiri de fidelitate a formatelor: formatele numerice de timp scurs [h]:mm:ss și de fracție # ??/?? se randează peste tot, parantezele [Red] recolorează textul PDF, umplerile cu degrade ale celulelor suportă round-trip și se randează în HTML/PDF/viewer, panourile înghețate și defilarea panourilor se citesc înapoi, DispBlanksAs/PlotVisibleOnly sunt proprietăți de grafic, casetele de comentarii se dimensionează prin WidthPt/HeightPt/AutoSizeFromText, iar ValidateNumberFormat verifică șirurile de format personalizate
  • Căutare cu semantica Excel: FindText / ReplaceText suportă wildcard-uri (*, ?, ~ de escape), potrivire pe celula întreagă, sensibilitate la majuscule, căutare după textul formulei, scanare inversă, ordine de scanare pe coloane, FindTextIn / ReplaceTextIn cu fereastră, care limitează căutarea la un interval dreptunghiular, și un callback de înlocuire per potrivire, grupare cu semantica Excel via AddSubtotals (rânduri SUBTOTAL etichetate, total general, niveluri de contur, întreruperi de pagină și mod de înlocuire), A1ToR1C1 și R1C1ToA1 care convertesc formulele între stilurile de referință A1 și R1C1 în ambele direcții, plus WriteAutoValue pentru detectarea tipului de text în stil Excel (date ISO, US m/d/yyyy și europene d.m.yyyy cu ore opționale AM/PM), agregarea de intervale GetRangeStatistics, SortRange insensibil la majuscule, care păstrează formulele cu semantica de referință Excel (părțile $ rămân, referințele relative se re-ancorează), fragmente HTML de celulă individuală GetHtmlFromCell și fragmente HTML ca secvențe îmbogățite prin SetCellFromHtml
  • Fundaluri de foaie: SetBackgroundImage creează imagini tiling în ambele motoare de registre de lucru; XLSX păstrează proprietatea media a pachetului prin copierile foilor de lucru, în timp ce varianta clasică citește și scrie înregistrări tipizate de fundal BIFF8 cu împărțire continuă a sarcinii utile, păstrare exactă a formatelor necunoscute, izolare la copiere și conversie între motoare pentru formatele cunoscute; viewer-ul registrului de lucru afișează fundalurile valide în spatele celulelor neumplute, în timp ce tipărirea, PDF, SVG, bitmap, metafile și ambele exportatoare HTML țin fundalurile dezactivate implicit și expun ExportSheetBackgroundImages pentru ieșire explicită, cu continuitate de fază între pagini și refolosirea resurselor per sesiune
  • Adâncimea motorului de formate: secțiunile condiționale de format numeric ([>=100]) selectează după valoare, secțiunile de text (@) șablonizează șiruri, TaggedText acceptă <br>, <strong>/<em> și formele cu atribute <font color=...>, ConvertFormulasToValues oferă un mod only-external pe ambele fațade, blocurile keep-together pe coloane completează blocurile pe rânduri, controalele de formular clasice Spinner/ScrollBar se autorarează în XLS, iar auto-fit pe rânduri tratează celulele îmbinate
  • Schimb prin clipboard: PasteFromClipboard citește text delimitat prin tab în celule, cu promovare de tip număr/dată/boolean și recunoașterea formulelor, în timp ce CopyToClipboard la nivel de interval publică atât text tabular Unicode, cât și HTML stilizat, cu formule, celule îmbinate, legături, formatare de afișare și păstrarea delimiterilor încorporați
  • Viewer editabil de registre de lucru: TXLSWorkbookViewer se leagă direct la oricare dintre motoarele de registre de lucru, încarcă fișiere XLS, XLSX, XLSM, XLTX, XLTM sau ODS, randează stilurile și formatele condiționale fără a materializa celulele XLSX rare și adaugă editare în loc conștientă de celulele protejate, intrare prin bara de formule, recalculare automată, selecție dreptunghiulară, evenimente de referință de formule și undo/redo limitat O(1)
  • Cache-urile de tabele pivot din XLS clasic folosesc fluxuri de stocare independente, cu identificatori unici, referințe de sursă foaie de lucru sau numită, nume de foi Unicode și citire/scriere criptată a cache-ului; extensiile de cache existente își păstrează octeții originali la salvare
  • Proiectant reutilizabil de aranjamente pivot: TXLSPivotDesigner expune zonele available, rând, coloană, filtru și valori, reordonare deterministă de câmpuri, agregare implicită conștientă de tip, schimbări explicite de agregare, validare a aranjamentului și aplicarea rezultatului pentru modele pivot XLS sau XLSX
  • Controale de formular clasice: foile de lucru și colecțiile de forme pot crea, enumera, edita, șterge și păstra round-trip controale de tip buton, buton radio, checkbox, combo-box și list-box, cu etichete tipizate, stări de bifare, randare flat sau 3D, legături de macro, celule legate, intervale sursă, tipuri de controale și ancore de celule
  • Inspecția graficelor din XLS clasic prin GetChartModel decodează familia graficului, starea 3-D, titlurile graficului și ale axelor, legenda, axele cu grupul lor de axă principal sau secundar, numele seriilor, categoriile, formulele de valori și stegulețele de afișare a etichetelor de date ale seriilor, cu separatoare, legarea per serie la grupul de grafic principal sau secundar, referințele de categorii și valori numite sau externe, stilizarea per serie de linii, umpleri și marcatori, cu umpleri în culori de temă purtate de extensia de culoare de temă OfficeArt GelFrame (index de culoare de temă plus tint), parametrii completi ai scenei 3-D din fluxul graficului și legăturile de grafic-pivot (numele vizualizării tabelului pivot sursă plus stegulețul hide-field-captions prin înregistrările SXViewLink / PivotChartBits), precum și obiecte de grafic încorporate, ancorate pe foile de lucru obișnuite prin AddChartObject, împreună cu liniile de tendință per serie (tipul de regresie, ordinul sau perioada, intercept automat sau fix, afișarea ecuației și a R-pătrat, forecast și backcast, nume de afișare) și barele de eroare (partea de direcție, tipul valorii, capetele, magnitudinea)
  • Imagini tipizate de antet și subsol XLSX prin TXLSXWorksheet.HeaderFooterImages, acoperind toate sloturile stânga, centru și dreapta pe paginile impare, pare și prima, cu octeți de imagine, formate, titluri, dimensiuni în puncte, margini în puncte, coduri de câmp automate de imagine, copieri de foi de lucru și round-trip-uri de deschidere/salvare sigure pentru relații, alături de comentarii
  • Efecte editabile pentru imaginile XLSX prin TXLSXImage, inclusiv margini de decupare procentuale, transparență, luminozitate, contrast, umplere stretch sau tile, rotație în grade și păstrarea structurală a DrawingML-ului importat, fără legătură
  • Construcție avansată de grafice XLSX și round-trip-uri, cu grupuri de trasare ordonate coloană, bară, linie, pie, arie, dispersie, bubble, radar, stock, suprafață și 3D, grafice combinație reale cu ordine explicită de desenare a grupurilor de trasare, perechi de axe principal și secundar, axe de dată și de serie tipizate, vizualizări 3D configurabile, stiluri din galeria Excel, stiluri de text pentru titlu, legendă și axe, aranjamente manuale de trasare, titlu, legendă și titluri de axe, cache-uri rare de serii de șiruri sau numerice, cache-uri rare de categorii multi-nivel cu rezoluție live de interval bidimensional și păstrare editabilă a extensiilor și formatărilor ChartML necunoscute
  • Patches selective de formatare: TXLSXRange.ApplyFormatPatch copiază doar componentele cerute de font, umplere, bordură, format numeric, aliniere sau protecție, aplică tiling cu modele sursă mai mici peste destinații mai mari și lasă valorile celulelor intacte
  • Export de date master-detail: TDataToXLS.ReadDetailTables exportă recursiv dataseturile de detaliu legate și active sub fiecare înregistrare-mamă, în timp ce IndentDetailTables adaugă o coloană de indentare per nivel de relație, iar setările de export moștenite păstrează ierarhia vizual consistentă; evenimentele de înregistrare și valoare write-ahead pot filtra înregistrările și pot transforma valorile câmpurilor fără a deranja cursorii dataseturilor
  • Creare WordArt: TXLSXWorksheet.AddWordArt creează text DrawingML ancorat la celulă, cu warp prestabilit configurabil, culoare de umplere a textului și culoare de contur, iar ciclurile ulterioare de deschidere/salvare păstrează completa ancoră a formei
  • Păstrarea părților OOXML nesuportate: părțile personalizate accesibile din relații necunoscute de rădăcină de pachet, registru de lucru, foaie de lucru sau desen își păstrează ID-urile de relație fără coliziuni, tipurile de conținut, relațiile copil, alegerea de compresie și octeții exacti ai sarcinii utile prin round-trip-urile de deschidere/salvare, cu opțiune de dezactivare și diagnostice ale părților păstrate pe TXLSXWorkbook
  • Tabele în stil Excel, cu stiluri, interval și criterii de filtrare, stare de sortare, identificatori stabili de coloane, etichete și funcții ale rândului de totaluri, formule de coloane calculate, formule ale rândului de totaluri, editări de rânduri și coloane conștiente de structură și ajutoare de colecții cu round-trip
  • Reguli tipizate de erori ignorate ale foii de lucru prin TXLSXWorksheet.IgnoredErrors, acoperind fiecare categorie standard de eroare, referințe de celule multi-zonă, copieri de foi de lucru, editări de rânduri și coloane și round-trip-uri de deschidere/salvare
  • Autorare tipizată de Scenario Manager What-If prin TXLSXWorksheet.Scenarios, inclusiv scenarii active și afișate, intervale de celule variabile, stări blocate și ascunse, comentarii de utilizator, valori de intrare și formate numerice, copieri de foi de lucru, editări structurale și round-trip-uri de deschidere/salvare fără reparații
  • Tabel de date What-If tipizate prin TXLSXWorksheet.AddDataTable și DataTables, acoperind semantica de intrare pe rând, de intrare pe coloană, cu două variabile, de intrare ștearsă, de ordine de calcul, de copiere a foii de lucru, de editare structurală și round-trip SpreadsheetML
  • Conexiuni de date externe tipizate prin TXLSXWorkbook.Connections și rezultate de interogări ale foii de lucru prin TXLSXWorksheet.QueryTables, inclusiv politică de reîmprospătare, acreditări, setări de bază de date, web și text, valori exacte de parametri tipizați, legături de tabele și câmpuri, editări structurale, copieri de foi de lucru și round-trip-uri OOXML sigure pentru extensii
  • Politică completă de calcul a registrului de lucru prin CalcMode, RefMode, setări de iterație, stegulețe de recalculare, control al preciziei complete și setări de calcul concurent, cu valorile implicite ale schemei și persistență independentă pentru valorile diferite de cele implicite, plus memo-uri RecalcLookupCache și RecalcAggregateCache la cerere, care permit scanărilor repetate XLOOKUP/XMATCH, VLOOKUP/HLOOKUP/MATCH și SUMIF/COUNTIF/AVERAGEIF, plus SUM/AVERAGE/MIN/MAX/COUNT necondiționate peste un singur interval simplu, să refolosească primul rezultat în timpul unei treceri de recalculare, activându-se doar când graful de dependențe este demonstrabil stabil la referințe, astfel încât rezultatele să nu difere niciodată
  • Politică de recalculare la salvare prin RecalcBeforeSave (manual, if-dirty, always) plus inspecția stării dirty cu RecalcNeeded și recuperarea valorii unei singure celule cu RecalcCell după o recalculare completă
  • Substituenți de valori pentru rapoarte, cu fallback-uri {{name;default}}, expresii dbvalue/dbcount/tonumber/ref peste un DataContext înregistrat și o sesiune de date izolată per rulare, celule goale {{=formula(...)}} scrise ca formule live și directive structurale {{#imgsize}}, {{#comment}}, {{#html}}, {{#sheetvisible}}, {{#deletesheet}}
  • Tabel de utilizator leneșe tipizate prin celule exacte {{#usertable(alias, logicalName, providerKey, name=expression)}}, cu verificări de sintaxă la compilare, preflight static fără resolver, parametri dinamici tipizați, aplicare strictă a providerilor înregistrați, diagnostice de conflicte insensibile la majuscule, limite de declarație și încărcare la prima utilizare prin dbvalue sau dbcount; TXLSReportGenerator.DataContext și TXLSReportTemplateChecker.DataContext poartă același registru în generare și validare
  • Modelarea datelor de raport prin combinatori leneși Filter, Sort stabil multi-cheie și Distinct; adaptorii FromDataSet și FromObjects leagă dataseturile deschise și listele de obiecte cu proprietăți publicate ca tabele de raport; benzile RunBidirectional dau fiecărui rând-mamă propriile coloane conduse de copil; PreprocessAndRun lasă șabloanele să se modifice singure pe baza datelor înaintea umplerii finale
  • Opțiuni de lipire din clipboard (doar-valori, inserare de rânduri/coloane) pe ambele motoare de registre de lucru și diagnostice OnSkippedRecord pe cititorul direct, cursorul de rânduri și cititorul înainte, care expun referințele de celule malformate sărite și scanările de foi BIFF întrerupte
  • Round-trip-uri pentru protecția cu revizuii partajate din XLS clasic prin SharedRevisionProtected și SharedRevisionPasswordHash, iar rapoartele gestionează criptarea cap-coadă: șabloanele criptate se deschid prin parolă, iar RunToEncryptedFile emite un rezultat criptat într-un singur pas
  • CopyRangeTo/CloneRangeTo între registre de lucru remapează stilurile de celule după valoare între pool-uri, iar CreatedDate, LastSavedDate, RevisionNumber și EditTimeMinutes din XLS clasic suportă round-trip prin fluxul de rezumat OLE
  • Randarea graficelor consumă GapWidth, Overlap și gruparea stivuită / procent-stivuită ale grupului de trasare bară, astfel încât graficele bară și coloană randate corespund semanticii de aranjament a modelului
  • Graficele suportă round-trip pentru formatarea chart-space (colțuri rotunjite, culori de fundal/bordură/zonă de trasare) și cele cinci comutatoare de protecție a graficului, cu randorul consumând culorile; Smooth la nivel de serie și culorile de umplere/bordură ale markerilor suportă round-trip și se randează ca segmente curbilinii; axele poartă modul de intersectare și stilurile de semne de tick, iar AutoTitleDeleted suprimă titlurile derivate
  • TXLSPDFWriter construiește PDF-uri fără nicio foaie de calcul: dimensiune explicită de pagină, flux multi-pagină, dreptunghiuri/linii/elipse, text măsurat, transformări, decupare și control al stării grafice
  • AutoFit oferă un flux în două faze MarkSheet/ApplyMarked, cu măsurători în așteptare inspectabile, limite ale regiunii de încadrare, IgnoreStrings, KeepHeightAutomatic, un minim DefaultRowHeightVisual și FitWorkbook dintr-un singur apel
  • Fonturile Unicode PDF suportă politici de încorporare automată, cu subset necesar, cu program complet și doar-hartă, programe standalone OpenType CFF, poziționare partajată GPOS/kern pentru măsurare și desen, un callback OnFontEmbed înaintea rezoluției și un resolver de familie/stil OnGetFontDirectories cache-uit recursiv; ieșirea PDF/A continuă să ceară programe de fonturi încorporate
  • Ajutoare pentru colecții pentru căutarea, ștergerea și reordonarea foilor, tabelelor, graficelor, imaginilor, intervalelor îmbinate și legăturilor externe după nume sau poziție
  • Creare de grafic dintr-un singur apel pornind de la un interval de date: AddChartFromRange și scurtăturile AddColumnChart / AddBarChart / AddLineChart / AddPieChart / AddAreaChart derivă automat seriile și categoriile dintr-un bloc de date, ca insert-chart-from-selection din Excel
  • Inserarea și ștergerea de rânduri și coloane, care ajustează formulele, coloanele de tabele și metadatele lor de filtrare sau sortare, invalidează referințele structurate ale coloanelor de tabele șterse la toți consumatorii de formule, partiționează formatele condiționale de tip valoare-de-celulă și expresie plus validările de date când zonele editate cer ancore de formulă diferite, păstrează intacte domeniile agregate ale formatelor condiționale și mută automat numele definite, hyperlinkurile, seriile de grafice inclusiv dimensiunile bubble și ancorele de imagini, grafice, casete de text și WordArt
  • Calcul de formule care partajează evaluatorul XLS clasic, cu registre de funcții-utilizator la nivel de proces și locale registrului de lucru, semantică de suprascriere locală registrului de lucru, invocare de gestionari fără lock-uri, sigură pentru paralelism, operatori de difuzare pe matrice și erori per celulă, matrice complete multivariabile LINEST / LOGEST, predicții formatate TREND / GROWTH, acoperire de funcții pentru text, dată, zi lucrătoare, inginerești/conversie de baze, operații pe biți, statistice, agregate și matematice, inspecție ISFORMULA care păstrează referința fără recalcularea țintei, XMATCH / XLOOKUP binar logaritmic, detecție ISOMITTED a argumentelor opționale, conversie de matrice ARRAYTOTEXT / VALUETOTEXT, calcule validate XIRR / XNPV, PDURATION / RRI pentru momentul investițiilor și ratele de creștere, amortizare VDB pe perioade fracționare și callback-uri de funcții personalizate OnUserFunction; AnalyzeFormulaIssues furnizează un preflight structurat pentru funcțiile lipsă, referințele externe și componentele exacte ale dependențelor circulare
  • Referințele structurate în forma rând-curent (Table[@Col]) se evaluează pe rândul propriu al celulei formulei în recalcularea serială și paralelă
  • Analiza dependențelor expandează numele definite de formule, cu scop și imbricate, inclusiv referințele multi-zonă, și folosește protecții anti-ciclu doar când rezoluția statică a dependențelor este imposibilă
  • Formulele partajate create de Excel se deschid cu fiecare follower expandat la expresia sa corectă relativă la celulă, pe căile de registru complet, cititor direct în flux și cursor de rânduri, în timp ce ancorele și followerii de matrice CSE supraviețuiesc editărilor structurale sigure pe întreaga matrice, copiilor de interval complet, duplicării foilor de lucru și copiilor de foi între registre de lucru
  • Matricele dinamice pot fi autorate cu TXLSXRange.SetDynamicArrayFormula, păstrează intervalele de formule și metadatele XLDAPR prin ciclurile de deschidere și salvare, partajează o singură înregistrare de metadate deduplicată între rădăcini, remapează acea înregistrare în copierile între registre de lucru și o elimină după ce ultima rădăcină este ștearsă
  • Autorare de controale de formular pe foile de lucru XLSX (AddFormButton / AddFormCheckBox / AddFormRadioButton / AddFormComboBox / AddFormListBox) cu forme VML, părți ctrlProps și round-trip verbatim al fișierelor care conțin controale
  • Evaluare live între registre de lucru XLSX prin fațada ExternalWorkspace care păstrează căile și RegisterExternalWorkbook compatibilă: țintele complete de relații și extensiile rămân distincte, aliasurile ambigue eșuează explicit, distrugerea țintei revoacă în siguranță adaptorul live, iar cache-urile tipizate locale fișierului rămân fallback-ul, fără acces implicit la fișier sau la rețea
  • Comparare de registre de lucru prin TXLSXWorkbookCompare, care raportează diferențele de foaie, celulă, formulă și îmbinare ca listă structurată sau raport cu o linie per diferență
  • Generare de cod din registru de lucru prin TXLSCodeGen (dialectele Delphi și C++Builder) și validare de import de reguli pe coloane prin TXLSImportCheck, cu adnotare cu font roșu și comentarii plus compactare keep-only-violations
  • Înregistrările XLS nerecunoscute ale foilor de lucru suportă round-trip verbatim — înregistrările specifice producătorului sau din specificații mai noi sunt capturate la citire și redate la salvare
  • Forme cu geometrie prestabilită prin AddPresetShape — orice token OOXML ST_ShapeType călătorește verbatim prin desen și suportă round-trip
  • Prelucrare de șabloane: ApplyTemplate substituie substituenții {{key}} pe toată foaia, iar FillTemplateBand clonează blocurile de șablon per înregistrare, cu traducerea formulelor, formate condiționale dependente, validări, legături, comentarii, imagini, grafice, clonare de îmbinări și condiționale #skip la nivel de rând; CloneRangeTo expune aceeași cale de copiere conștientă de dependențe, cu sarcini utile selectabile; TXLSCompiledReportTemplate compilează o singură dată locațiile substituenților și fragmentele de text pentru rulări repetate, peste celule, text îmbogățit, comentarii, hyperlinkuri, text de desen, antete și subsoluri, nume de foi, nume definite și proprietăți de document, fără a rescana registrul de lucru, și suportă diagnostice de preflight adresate, validare strictă înainte de modificare și foi de diagnostic; TXLSCompiledReportRunner adaugă progres la nivel de țintă, anulare, numărători deterministe ale aplicărilor, stare reutilizabilă de finalizare sau eșec, evenimente pereche de ciclu de viață ale registrului și ale foii de lucru, instantanee recuperabile de probleme și ieșire atomică în flux, fișier sau fișier criptat; TXLSReportGenerator adaugă evenimente de citire a șablonului, surse de registru de lucru, fișier, flux și fișier criptat plus modificare în loc sau prin clonare atomică; IXLSReportTable, IXLSReportCursor, providerii și resolverele leneșe per rulare și indecșii de relații cu chei compuse furnizează surse de date virtuale sau în memorie reutilizabile, fără a forța încărcarea tabelor nereferite, în timp ce TXLSReportTableFactory compune vizualizări top, proiectate, numărate, minime, agregate, reunite, împărțite și cu hash join, fără a copia sarcini utile complete de rânduri intermediare; galeriile rulabile Delphi și C++Builder demonstrează același context de date, runner compilat, foaie de diagnostic, LastResult și calea RunToFile
  • Benziri de raport structurale, pe nume: TXLSCompiledReportBand rezolvă un nume definit dreptunghiular exact, cu scop de registru de lucru sau de foaie de lucru, și îl expandează în jos, la dreapta sau pe ambele axe, pornind de la instantanee limitate de rânduri și coloane parcurse într-o singură trecere, păstrând tipurile de valori, formulele cu referințe mixte, îmbinările, regulile, validările, hyperlinkurile, comentariile, desenele și metadatele explicite de aranjament de rând sau coloană, respingând structurile parțiale nesuportate înainte de modificare
  • Copiile repetate de intervale și benzi de raport refolosesc căutările după sufix ale numelor definite cu scop, păstrând în același timp denumirea „primul disponibil" după ștergere, redenumire sau schimbări de scop
  • Benzile de raport expandabile pe tabele Excel prin TXLSCompiledTableReportBand folosesc un singur instantaneu limitat de cursor pentru a expanda un singur rând de șablon de date, păstrând antetele, totalurile, intervalele tabelului și AutoFiltrului, starea de filtrare și sortare, metadatele coloanelor, formulele calculate și de totaluri, stilurile, referințele structurate și obiectele dependente ale foii de lucru; rezultatele goale reprezentabile elimină rândul de șablon de date, în timp ce tabelele suportate de interogări și aranjamentele nesigure sunt respinse înaintea scrierilor structurale
  • Benzile de raport pe intervale și pe tabele Excel partajează ErrorMode, StrictDataAccess, RuntimeLimits și diagnosticele imuabile LastResult; WriteAndContinue stochează un eșec de rând explicit recuperabil ca text literal, cu rândul său de intrare și adresa reală de ieșire, apoi continuă țintele și rândurile rămase, în timp ce eșecurile structurale și de resurse fatale fac rollback expansiunii
  • Scanarea celulelor și rândurilor, cu callback-uri pe valoare brută sau pe text afișat, căutare și înlocuire în șabloane și scriere în masă
  • Management central al fișierelor scratch (fișierele temporare înregistrate sunt măturate la finalizare), verificare de decriptare post-scriere VerifyEncryptedSave la cerere și constante de limite de grilă per format, cu evenimentul OnExportLimit pe exportatorul de dataset
  • Ajutoare pentru validarea datelor, cu liste dropdown dintr-un singur apel pornind de la un vector de șiruri, moduri IME tipizate partajate între Classic XLS și XLSX, formule de tabele care păstrează atribute independente de matrice, extensii de formate condiționale, export HTML configurabil cu clase de stil CSS centralizate și salvare și încărcare criptate AES — ECMA-376 Standard Encryption (AES-128) cu accelerare AES-NI, plus citirea criptării Agile implicite a Excel (derivare de cheie SHA-512, AES-128/192/256)
  • Exportatoarele HTML clasic și XLSX folosesc instantanee de geometrie xlsrgbHtml deținute de operațiune pentru a converti lățimile de caractere, prin metricile de lățime maximă a cifrei ale fontului Normal, în lungimi CSS fixe, refolosesc un singur cache limitat per operațiune multi-foaie, expun instantaneul activ pentru diagnostice și păstrează dimensiunile stocate ale foilor de lucru
  • Evaluare pregătită a formatelor condiționale XLSX, cu stratificare pe prioritate și StopIfTrue, formule relative, statistici partajate multi-zonă, reguli Top/Bottom și de medie, valori duplicate și unice, perioade relative de dată, stiluri diferențiale conștiente de temă, scări de culori, bare de date direcționale și toate familiile de seturi de pictograme încorporate
  • Deschidere tolerantă XLSX: prefixele de namespace sunt normalizate în timpul parsării, astfel încât foile de lucru, graficele, desenele și proprietățile de document legate de namespace-uri necanonice sau ISO 29500 strict se încarcă ca fișiere obișnuite, iar foilor de lucru ale căror rânduri sau celule omit atributele de poziție li se inferă fiecare celulă după predecesoarea ei, în ordinea scanării
  • Ieșire Strict Open XML prin StrictOOXML: întregul pachet XLSX — foi de lucru, șiruri partajate, stiluri, temă, desene, grafice, comentarii, proprietăți de document și părți păstrate — este salvat în conformitate ISO/IEC 29500 strict, cu vocabularele purl.oclc.org, iar tipurile de relații strict se rezolvă la deschidere exact ca cele transitional
  • Deschiderea XLSX a registrului de lucru complet trimite în flux intrările ZIP ale foilor de lucru direct în inflater-e și cititoare XML locale worker-ului, fără a reține copii de etapizare XML umflate ale foilor de lucru și limitând memoria tranzitorie de intrare a foilor de lucru la worker-ii activi de parsare
  • Cititor direct în flux (TXLSDirectReader) care scanează .xlsx / .xlsm celulă cu celulă, cu evenimente per celulă și per foaie și o amprentă de memorie aproape constantă pentru registre de lucru foarte mari, raportând valoarea, tipul, textul formulei și indexul de stil al fiecărei celule, cu detecție opțională de date, întrerupere timpurie care se propagă în intrarea ZIP și decomprimare, pushdown de interval de rânduri și proiecție de coloane în timp constant înaintea decodării valorilor; evenimentele de aranjament, la cerere, expun dimensiunile foii de lucru, dimensiunile implicite, întinderile de coloane, metadatele rândurilor, panourile înghețate sau împărțite și intervalele îmbinate înaintea celulelor dependente; parsarea paralelă limitată trimite în flux inflater-ele locale ale foilor de lucru în cozi producător-consumator cu bugete independente, păstrând ordinea callback-urilor pe thread-ul apelant, păstrarea șirurilor îmbogățite expune secvențele formatate, întinderile fonetice și proprietățile fonetice, iar magazinul limitat de șiruri partajate ține tabelele mici în memorie, mutând tabelele mai mari și sarcinile utile îmbogățite către stocare temporară indexată, ștearsă la închidere
  • Scriitor direct în flux (TXLSDirectWriter) care produce registre de lucru .xlsx celulă cu celulă, emițând fiecare foaie de lucru direct în pachet pe măsură ce sosesc rândurile, astfel încât fișierele foarte mari sunt generate cu o amprentă de memorie aproape constantă, acoperind șiruri partajate inline sau deduplicate, șiruri îmbogățite cu secvențe formatate și fonetice, numere, valori booleene, date, formule, stiluri de celule reutilizabile la nivel de pachet cu handle-uri clonate, fonturi/umpleri/borduri/formate numerice deduplicate, accentuare de font, underline, contur și umbră, 19 modele de umplere, 14 stiluri de bordură pe cinci laturi, aliniere orizontală și verticală, împachetare, micșorare, indentare, rotație, prefixe de citare, protecție locked/hidden, formate numerice încorporate și personalizate, lățimi de coloane, înălțimi de rânduri, rânduri și coloane ascunse, intervale îmbinate, intervale AutoFiltru de foaie de lucru și de tabele, cu filtre pe valoare, gol, grupare de dată, personalizate, dinamice, top/bottom și stări de sortare, protecția foii de lucru cu permisiuni granulare, metadate de parolă legacy sau moderne și intervale protejate editabile, protecția structurii registrului de lucru și a ferestrei, panouri înghețate, culori de tab a foii, vizualizări de foaie de la dreapta la stânga, comutatoare de afișare ale vizualizării foii, margini de pagină, text de antet/subsol, opțiuni de tipărire, configurare de pagină, setări de încadrare în pagină, întreruperi manuale de pagină, hyperlinkuri de foaie de lucru pe mai multe foi, nume definite ale registrului de lucru și locale foii, intervale definite generate, zone de imprimare, rânduri sau coloane de titlu de tipărire, validări de date cu prompturi și alerte de eroare, formatare condiționată cu opt operatori de valoare de celulă, expresii, potrivire de text, clasamente top/bottom, medie, predicate duplicat/unic, gol/eroare, bare de date, scări cu două și trei culori, 17 familii de seturi de pictograme, stiluri diferențiale de font/umplere, priorități și control stop-if-true, părți de tabele Excel cu nume de coloane, stegulețe de rând antet/totaluri, comentarii de tabel, etichete și funcții de coloane ale rândului de totaluri, formule de coloane calculate, formule ale rândului de totaluri și opțiuni de afișare a stilului de tabel, plus canale laterale ale foii curente pentru comentarii clasice, surse de imagini în flux, DrawingML ancorat, grafice tipizate susținute de formule și ChartML furnizat de apelant
  • Continuare de overflow la cerere (AutoSplitRows) care împarte exporturile pe foi <name>_2 când sosește un rând peste limita foii de lucru, iar FillTableCalculatedColumn împinge formula unei coloane de tabel în fiecare rând de date, așa cum face autorarea din Excel
  • Patch-uire în loc a foii de lucru prin BeginPatch: scriitorul în flux rescrie o singură foaie de lucru a unui pachet existent, în timp ce fiecare parte neatinsă este copiată cu octeții săi comprimați verbatim — înlocuiți o foaie de date sau adăugați una nouă fără a re-autora șablonul
  • Obiecte cameră prin AddCamera: imagini instantaneu live legate de un interval de celule, urmând extensia de desen documentată a instrumentului cameră; legătura suportă round-trip prin salvare și redeschidere
  • Atașamente PDF prin AddAttachment — fișierele călătoresc prin export ca intrări /EmbeddedFiles, cu un arbore de nume, iar IXLSPDFAttachmentSource poate furniza fiecare sarcină utilă leneș, o dată per salvare, printr-un spool limitat; asamblarea finală trimite obiectele secvențial către destinație, astfel sarcinile utile ale atașamentelor se copiază în bucăți fixe, cu un obiect de lungime indirect, iar memoria de vârf rămâne plată
  • Ieșire explicită PDF/A-1a, 1b, 2a, 2b, 3a și 3b prin PDFAProfile, inclusiv reguli de identificare, management de culoare, marcare, atașare și validare atomică specifice profilului; UsePDFA rămâne un comutator de compatibilitate pentru PDF/A-2b
  • Exportul PDF rulează într-un aranjament clasic sau într-un aranjament PDF 1.5 la cerere, cu fluxuri de obiecte comprimate și un flux binar de referințe încrucișate (UseXRefStream) pentru fișiere mai mici
  • Exportul PDF suportă callback-uri reutilizabile de progres begin, page și end, cu anulare și fără comitere parțială a fluxului, plus adnotări opționale de comentarii Unicode poziționate pe celule, care pot coexista cu paginile de comentarii-la-final
  • Gradienții și transparența PDF folosesc shading-uri nativ axiale sau radiale, cu funcții multi-stop suturate, măști alpha per stop, modele de umplere a celulelor, umbre de imagini, decupare la nivel de pagină și cache-uri de resurse la nivel de document; profilurile PDF/A selectate își aplică restricțiile grafice înaintea comiterii ieșirii
  • Lanțurile de fallback de fonturi PDF, conștiente de stil, prin SetFontFallbackChain, AddFontFallback și ClearFontFallbackChains selectează fonturile încorporate după familia sursă, nivelul de stil și acoperirea de glife, cache-uiesc fonturile încărcate și selecțiile, păstrează scalarilor suplimentari și clusterele de grafeme între secvențe, țin secvențele Unicode cu glife partajate distincte prin mapări CID și resping atomic ieșirea PDF/A în loc să folosească un font neîncorporat
  • TXLSPageImageExporter construiește paginarea o singură dată și exportă incremental paginile XLS sau XLSX selectate ca PNG sau JPEG, cu DPI, scală, calitate, progres, anulare și durată de viață a bitmap-ului per pagină configurabile; ExportRange scrie un singur dreptunghi strâns de celule, iar evenimentele before/after paint expun canvasul real al paginii printr-un context doar-citire, cu limite în pixeli, dimensiune de pagină, rezoluție, scală, numere de pagină și foaia de lucru de origine, declanșându-se exact o dată per cadru randat, inclusiv cadrele TIFF multipagină
  • TXLSCellImageExporter măsoară, randează și salvează orice dreptunghi de celule clasic sau XLSX ca o singură imagine compactă, fără artefacte de paginare, cu rezoluție, scală, format și calitate JPEG configurabile, fundaluri PNG transparente sau colorate, comutatoare independente pentru obiecte, linii de grilă și borduri de celule, bugete de pixeli și octeți validate înainte de alocare și salvare în fișier printr-o înlocuire atomică în același folder, care nu deteriorează niciodată o țintă existentă în caz de eșec
  • Exportul ODS scrie formulele celulelor în ortografia standard OpenFormula of:=, cu un passthrough msoxl: pentru referințele între foi, care se convertește înapoi la text de formulă Excel
  • Înălțimile de rând ODS repetate și stilurile de celule goale folosesc intervale compacte; ieșirea ODS păstrează înălțimile de rânduri și cozile stilizate repetate, în timp ce editările pe rând unic, golirea, copierea foilor de lucru, deplasările de rânduri, tiling-ul și exportul XLSX păstrează înălțimile efective
  • Furnizarea de rânduri în mod pull (OnNeedRow + RunRows) conduce scriitorul în flux dintr-un pipeline de date, câte un rând pe dată
  • Foile de lucru de la dreapta la stânga se oglinzesc în exportul PDF și se întorc prin dir="rtl" în HTML, completând round-trip-ul stegulețului de afișare
  • Modul de afișare zero al foii de lucru ascunde zero-ul numeric real, inclusiv rezultatele formulelor, valorile monetare și zero-ul bazei de dată, în viewer-e și exporturi vizuale, înaintea formatării numerice sau a măsurării textului; modul de afișare a formulelor are prioritate, elementele vizuale ale formatelor condiționale și hyperlinkurile rămân active, iar valorile stocate, textul formatat public, ieșirea CSV și ODS își păstrează contractele existente
  • Modul de streaming cu lățimi urmărite la cerere (TrackColumnWidths) etapizează foaia de lucru în memorie, astfel încât fișierul finit să poarte indiciul <dimension> al intervalului utilizat și lățimi de coloane dimensionate după cea mai lungă valoare văzută per coloană, aproximând autofit pentru date care sunt cunoscute doar în timp ce curg
  • Editări structurale de rânduri și coloane XLSX, sigure pentru referințe, care actualizează formulele, numele definite, regulile, legăturile, desenele, setările de tipărire, intervalele protejate, ancorele comentariilor clasice și în fir, sparkline-urile, sursele și vizualizările pivot tipizate și referințele recunoscute ale extensiilor păstrate, într-o singură tranzacție gardată, cu un API ordonat de participanți pentru metadatele deținute de aplicație
  • Arbore XML compact cu acces aleator (TSimpleDomReader) care se construiește din același cititor pull, într-o singură trecere, pentru interogarea metadatelor registrului de lucru, a relațiilor, temelor și a altor părți ale pachetului, după cale QName sensibilă la majuscule sau nume local
  • Evaluare pas cu pas a formulelor prin TXLSFormulaTracer, cu tranziții exacte ale stivei de operanzi, plus diagnostic interactiv prin TXLSFormulaDebugger, care expune nodurile parsate, valorile operanzilor, ordinea de evaluare, dependențele de celule și intervale, alegerile de ramuri leneșe, expresiile sărite și originile erorilor propagate
Versiunea 2.362.0

Setul complet de capacități pentru registre de lucru, raportare și randare

Lansarea actuală extinde API-urile suportate de registru de lucru, raportare și randare, cu căi de execuție limitate și reguli explicite de siguranță a formatului

Formate de registre de lucru și calcul

  • Hărți XML editabile și legături de schemă per celulă prin TXLSXXmlMaps și TXLSXXmlCellBindings, inclusiv circuite dus-întors ale relațiilor și validare înainte de salvare
  • Stare de registru de lucru cu ferestre multiple, ordonată, prin TXLSXWorkbookViews, inclusiv file active, geometrie, vizibilitate, stegulețe de afișare, extensii și remapare sigură a indecșilor de foi
  • Selecții multi-zonă și celule active independente per panou pentru XLS și XLSX, cu remapare structurală și respingere atomică a intervalelor invalide
  • Tokenuri de formulă fără pierderi, deținute de apelant, prin TXLSFormulaTokenStream, ParseFormulaTokens, GetFormulaTokens, FormulaTokensToText și SetFormulaTokens
  • Înghețarea formulelor XLS clasice clasifică referințele BIFF compilate fără decompilarea textului formulei, convertește doar referințele confirmate către registre de lucru externe în modul OnlyExternal, păstrează formulele incerte și îngheață grupurile de matrice atomic, cu rezultatele literale de tip șir intacte
  • Formulele către registre de lucru externe din XLSX folosesc un singur lexer conștient de gramatică pentru sloturile numerice, pentru conversie strictă, diagnostice, recalculare, copiere între registre de lucru și salvări generate, cu normalizarea compatibilității numelui de fișier doar când se potrivește exact o singură țintă înregistrată
  • TXLSXExternalLink expune ID-urile relațiilor sursă, sloturile numerotate de la unu și tipurile de legături către registru de lucru, DDE, OLE sau nerezolvate, iar modificările țintei și ale listei de foi invalidează legăturile externe compilate printr-o actualizare de revizie în timp constant
  • ConvertExternalDefinedNamesToRefErrors înlocuiește atomic definițiile confirmate către registre de lucru externe cu #REF! nativ în XLS clasic și XLSX, păstrând în același timp identitatea numelui, domeniul, vizibilitatea, comentariile, metadatele de macro și cele încorporate, atributele XLSX necunoscute, formulele obișnuite ale celulelor și părțile de legături externe
  • Sortare stabilă pe rând sau coloană cu TXLSSortFormulaMode, chei orizontale, comparatori personalizați și o alegere între păstrarea dependențelor logice și mutarea fizică a formulelor
  • Fonturi BIFF2–BIFF4, formate numerice, stiluri XF și formule editabile, convertite în modelele actuale de registru de lucru și de calcul în timpul încărcării
  • O singură fațadă de callback-uri TXLSForwardReader pentru XLS, XLSX, CSV și TSV, cu proiecție la nivel de backend, limite de rând, stare de prezență a formulei, suprimare opțională a textului formulei, detectare de format și anulare
  • Vizualizări personalizate tipizate pentru panouri, selecții, filtre, configurare de pagină și întreruperi de pagină, în timp ce înregistrările BIFF necunoscute își păstrează sarcinile utile originale
  • Proprietăți OLAP tipizate, selectori de tabele web, câmpuri cu lățime fixă și parametri de conexiune, cu conținutul extensiilor păstrat
  • Diagnostice AnalyzeFormulaIssues pentru funcții lipsă, referințe către registre de lucru externe și componentele exacte ale dependențelor circulare
  • Registre UDF globale și locale per registru de lucru, sigure pentru thread-uri, cu suprascriere locală, căutare în medie O(1) și invocarea gestionarilor în afara lock-urilor
  • XLSBidiVisualOrder pentru text arab sau ebraic amestecat, text latin, cifre, semne de combinare și punctuație în oglindă, fără a schimba textul logic al celulelor
  • Strategii AutoFit pentru celule îmbinate care atribuie creșterea primei sau a ultimei celule ori o echilibrează pe toată întinderea, atât pentru XLS, cât și pentru XLSX
  • Păstrare tipizată a foilor de macrocomenzi Excel 4 plus constatări doar-pentru-inspecție ScanMacroCommands cu adresele foilor de calcul
  • Suport de calcul pentru ISOMITTED, ARRAYTOTEXT, VALUETOTEXT, PDURATION și RRI, cu stocare și comportament de erori compatibile Excel
  • Rezumate grupate ale foii de calcul prin TXLSXWorksheet.Subtotal, inclusiv formule inserate, un total general configurabil, formatarea vizibilă moștenită și ierarhia de contur
  • Inspecția stilurilor efective fără materializare prin GetCellVisibleFormat plus validare la nivel de candidat și comitere atomică prin CheckDataValidation
  • Deschiderile doar-de-metadate și pe foi selectate din XLS clasic folosesc offseturi BOUNDSHEET, stocare limitată de revarsare SST și un singur contract de citire înainte, partajat cu XLSX, CSV și TSV
  • Matricele dinamice curg direct în agregate scalare, căutările repetate refolosesc cache-uri incrementale tipizate de intervale, iar tokenurile imuabile de formule partajează obiecte fără stare între compilații
  • Stilurile numite își păstrează părțile de format legate și suprascrierile locale, în timp ce fiecare stil de tabel încorporat light, medium și dark se rezolvă în formatul efectiv folosit de căile de editare și export
  • O fațadă unificată de desen grupează sau degrupează obiecte DrawingML și reordonează imagini, grafice, casete de text, ancore păstrate și grupuri imbricate amestecate, fără a pierde relațiile
  • TXLSFormatSnapshot capturează un format clasic complet, independent de registrul său de lucru sursă, iar IXLSRange.ApplyFormat îl aplică celulelor, rândurilor sau coloanelor
  • Registrele de lucru clasic și XLSX expun aceleași API-uri în flux SaveSemanticSnapshot și ComputeSemanticHash incremental SHA-256, cu profilurile Content și SecurityComplete plus opțiuni explicite pentru starea vizualizatorului, metadatele volatile și cache-ul de formule
  • Foiile XLSX noi păstrează scrieri în masă tipizate, compatibile, ordonate pe rânduri, în stocare RLE împachetată, răspund la interogări de existență și de statistici de stocare fără materializare și se expandează o singură dată în obiecte stabile de celule doar când accesul la nivel de obiect le cere
  • Magazinele de celule și colecțiile de foi de calcul clasic și XLSX expun generații structurale independente, astfel încât cititorii de lungă durată pot detecta schimbările de topologie fără a trata editările de valoare, formulă, format, redenumire sau activare ca invalidări structurale
  • Handle-urile de celule păstrează starea de stil implicită fără alocări, iar celulele goale identice, doar cu stil, partajează o sarcină utilă cu numărare de referințe și izolare copy-on-write pentru editările locale ulterioare, cu octeți evitați măsurabili în statisticile de stocare

Raportare compilată și compoziție a datelor

  • TXLSCompiledReportTemplate compilează o singură dată substituenții din celule, text îmbogățit, comentarii, comentarii în fir, hyperlinkuri, desene, grafice, antete, subsoluri, nume de foi, nume definite și proprietăți de document
  • TXLSCompiledReportBand expandează benzile de rând, de coloană și cross-tab după nume definite, pornind de la instantanee de date limitate, parcurse într-o singură trecere, păstrând în același timp formulele, obiectele dependente și metadatele explicite de axă
  • TXLSCompiledTableReportBand expandează șabloane de tabele Excel cu un singur rând, păstrând antetele, totalurile, filtrele, sortarea, formulele, stilurile, referințele structurate și rezultatele sigure de zero rânduri reale
  • IXLSReportTable, IXLSReportCursor, IXLSReportRandomAccessTable și TXLSReportMemoryTable oferă un singur contract pentru surse virtuale și în memorie
  • TXLSReportRelationIndex construiește o singură dată bucket-uri exacte și tipizate, cu chei compuse, pentru căutări master-detail în medie O(1), fără a copia sarcinile utile ale rândurilor
  • IXLSReportTableProvider și TXLSReportDataContext înregistrează tabele explicite și leneșe, iar BeginRun creează un IXLSReportDataSession izolat, cu căutare hash insensibilă la majuscule, cache negativ, cache determinist pentru erorile de provider și detecție imediată a recursivității pe același alias; șabloanele compilate, rulerele, benzile de interval și benzile de tabele Excel folosesc automat o sesiune per rulare logică, ambele treceri PreprocessAndRun partajează același instantaneu, rulările concurente rămân izolate, iar fiecare cale de succes, anulare sau eșec își eliberează instantaneul înainte de a returna
  • TXLSReportDataRequest și IXLSReportDataResolver adaugă cereri numite sau de utilizator, cu parametri tipizați ordonați, metadate de sursă, control de rulare doar-citire și rezultate explicite de tip negestionat, rezolvat, negăsit sau eroare-de-date; resolverele se înregistrează după o cheie de provider insensibilă la majuscule pentru dispecerizare O(1), providerii vechi rămân compatibili printr-un adaptor, tabelele explicite rămân autoritative, iar o rulare respinge amprentele aflate în conflict pentru același alias înainte de un al doilea apel de resolver
  • TXLSReportDataLimits limitează aliasurile din cache, providerii numiți și cei vechi, schemele de tabele, numele, parametrii, șirurile și mesajele de eroare; coordonatele sursă malformate, caracterele de control, numele de parametri duplicate, containerele Variant nesuportate, combinațiile invalide de rezultate, recursivitatea și anularea în mijlocul rezolvării eșuează înainte de comiterea țintei, iar anularea elimină intrarea neterminată din cache pentru o reîncercare curată
  • TXLSReportTableFactory furnizează cursori leneși de tip top, proiecție, union și split, plus număr de rânduri, minim, agregate și hash join-uri cu păstrarea duplicatelor
  • TXLSReportQueryProvider expune șabloanelor doar definițiile de interogări înregistrate, doar-citire, și transmite parametri tipizați plus timeout-uri limitate unui executor gazdă
  • TXLSCompiledSheetReportBand și TXLSCompiledOverflowReportBand creează foi per înregistrare, conștiente de dependențe, și foi de continuare limitate, pornind de la un cursor înainte
  • TXLSReportIncludeLibrary rezolvă include-uri numite recursive, raportează ciclurile determinist și se îngheață într-o bibliotecă imuabilă reutilizabilă
  • Condițiile rapoartelor compilate, căutările, expresiile regulate și formulele dinamice refolosesc nodurile de expresie parsate și indecșii de coloană rezolvați
  • TXLSReportDynamicFormat și TXLSReportFormatEvent aplică formate numerice, înălțimi de rând și lățimi de coloană conștiente de înregistrare, la granularitatea țintei compilate
  • IXLSReportImageDataProviderV2 și TXLSReportImageBinder rezolvă ținte de imagini tipizate din octeți limitați sau fluxuri deținute, cu context stabil de foaie de calcul, bandă, tabel, rând logic, rând de cursor, rând curent doar-citire, ancoră, transformare, anulare și limită de dimensiune; rulerele, generatoarele, benzile de interval și benzile de tabele Excel leagă fiecare țintă direct, fără a scana celulele generate ale foii de calcul
  • Imaginile de raport V2 își derivă dimensiunea fizică și DPI-ul din antete limitate PNG, JPEG, GIF, BMP, EMF sau WMF, suportă încadrarea Natural, Contain centrat, Cover decupat și Stretch, resping geometria raster nesigură înainte de modificare și păstrează decalajele relative la ancoră prin circuitele dus-întors XLSX și ODS
  • IXLSXImageBlob și TXLSXImageBlob permit imaginilor repetate să partajeze un singur raster imuabil și o sarcină utilă SVG, cu un digest SHA-256 calculat o singură dată și o cheie de cache opțională; XLSX și ODS refolosesc sarcini utile media distincte între foi și își restaurează sarcinile utile partajate la redeschidere
  • Relegarea graficelor, conștientă de dependențe, traduce serii, formule, nume și ancore când benzile de interval și de foaie se expandează
  • TXLSCompiledReportRunner raportează fazele de început, țintă, salvare și final, suportă anularea, ieșirea în flux și în fișier atomică, numărări exacte ale aplicărilor și execuție reutilizabilă între sesiuni de date izolate; ErrorMode alege între comportamentul de oprire compatibil și gestionarea continuată a eșecurilor de date, de provider, de împărțire la zero și de expresie regulată invalidă, tipizate explicit, StrictDataAccess expune datele lipsă în locul golurilor legacy sau al numărătorilor-sentinelă, iar instantaneele imuabile LastResult rețin problemele de rulare ordonate și starea terminală între reutilizările runnerului
  • Ieșirea raportului în flux, în fișier și în fișier criptat folosește o singură tranzacție etapizată; eșecurile fatale, cele anulate, de serializare, de scriere parțială în flux și de înlocuire a fișierului păstrează destinația anterioară completă, în timp ce ieșirea reușită necriptată păstrează formatul registrului de lucru sursă, iar instantaneele de rollback ale fluxurilor mari se revarsă în stocare temporară gestionată
  • Țintele compilate se evaluează înaintea formatării dinamice, apoi comit atomic conținutul, formatele numerice, înălțimile de rând și lățimile de coloană, cu rollback exact; diagnosticele recuperabile de celulă șterg formulele, păstrează stilul de bază rămas și partajează derivate din pool cu font roșu și umplere galbenă între fonturile de bază egale, în timp ce țintele sigure din afara celulelor își păstrează valoarea originală, iar țintele structurale rămân fail-fast
  • TXLSReportRuntimeLimits limitează numărul de probleme reținute, lungimea mesajelor igienizate și memoria problemelor înainte de modificarea țintei; mesajele sunt pe o singură linie și cenzurează acreditările obișnuite, iar RuntimeDiagnosticsSheetName scrie opțional o foaie de diagnostic structurată care circulă dus-întors împreună cu registrul de lucru generat
  • TXLSReportGenerator deține întregul ciclu de viață de citire și generare pentru șabloane de registru de lucru, fișier, flux și fișier criptat, cu evenimente pereche, context stabil de foaie de calcul, anulare sigură, izolare a ieșirii prin clonare atomică și același contract de erori recuperabile și de rezultat imuabil ca și runnerul compilat
  • CloneRangeTo clonează celulele selectate și dependențele purtătoare de identitate, cu traducere de referințe mixte, preflight de suprapunere și tiling liniar repetat cu sursă fixă
  • TXLSReportPaginationPlanner furnizează subsoluri fixe, grupuri keep-together, împărțirea rândurilor, îmbinarea întinderilor similare și coloane de raport echilibrate
  • Analiza rapoartelor compilate, execuția strictă și WriteDiagnostics raportează substituenți malformați și valori lipsă, cu tipurile de țintă și adresele exacte
  • TXLSReportTemplateChecker și TXLSReportTemplateMigrator refolosesc semantica compilatorului pentru a valida șabloanele și a converti formele legacy suportate de substituenți

Ieșire accesibilă, vectorială, de imagini și web

  • TXLSPDFTagMode și DocumentLanguage generează automat arbori de structură PDF, cu tabele, rânduri, celule de antet și de date semantice, Figuri informative pentru imaginile XLSX cu text alternativ Unicode, identificatori denși de conținut marcat per pagină, întinderi de celule îmbinate, arbori părinte exacți și izolare de artefacte pentru imaginile decorative și restul desenelor non-semantice
  • TXLSPDFSignature suportă câmpuri de semnătură vizibile sau invizibile, aspecte PNG conținute, acoperite sau întinse, date CMS furnizate de gazdă, callback-uri de digest, intervale de octeți patch-uite și politici explicite de certificare DocMDP pentru fără modificări, pentru completare și semnare de formulare, ori pentru completare, semnare și adnotări, fără a stoca chei private
  • TXLSPDFAProfile selectează PDF/A-1a, 1b, 2a, 2b, 3a sau 3b, cu validarea profilului înainte de comiterea ieșirii; fișierele asociate PDF/A-3 poartă un nume Unicode, tip MIME, descriere, dimensiune în octeți, timp de modificare și o relație Source, Data, Alternative, Supplement sau Unspecified prin supraîncărcarea detaliată AddAttachment
  • Progresul reutilizabil de început, de pagină și de final pentru PDF, plus anularea, previn fluxurile de destinație parțiale
  • Lanțurile de fallback de fonturi PDF, conștiente de stil, cache-uiesc acoperirea glifelor și fonturile încorporate, păstrând în același timp caracterele suplimentare, clusterele de grafeme și mapările de extracție
  • Modelarea contextuală a textului complex aplică ligaturi, poziționarea semnelor de combinare, joncțiunea arabă și mapările de clustere-sursă înaintea ieșirii glifelor
  • Gradienții PDF axiali și radiali cu mai multe stopuri, măștile alpha per stop, modelele de umplere a celulelor, clippingul și umbrele imaginilor refolosesc resurse grafice din cache
  • Comentariile celulelor pot deveni adnotări de text Unicode poziționate în PDF, în timp ce ieșirea comentariilor-la-final rămâne disponibilă
  • TXLSSvgExport randează intervale, foi de calcul, registre de lucru, pagini și obiecte numite, cu text vectorial, linkuri sigure la cerere, grafice, forme și imagini; callback-urile de pagină întorc câte un SVG complet pe rând, prefixele deterministe de ID izolează documentele încorporate, iar randorul partajat de pagini pictează umplerile celulelor Excel, bordurile colapsate, fonturile și alinierea per celulă, shrink-to-fit și depășirea în celulele vecine
  • TXLSPageImageExporter refolosește o singură sesiune de paginare în timp ce produce incremental paginile PNG sau JPEG selectate, sau scrie atomic paginile selectate ca un singur TIFF multipagină comprimat LZW
  • TXLSGraphicsBackend și geometria partajată de paginare aliniază previzualizarea, imprimarea, PDF, SVG, imaginea, HTML și plasarea obiectelor, în timp ce serializatoarele păstrează codificarea specifică fiecărui format
  • Decodorul limitat EMF și WMF validează envelope-urile înregistrărilor și respinge înregistrările escape înainte de a reda subsetul său sigur prin geometria partajată Canvas și SVG: stive de stare DC, transformări window, viewport și world, tabele de obiecte pen, brush și pen extins cu obiecte stock, dreptunghiuri, elipse, lanțuri de linii, poligoane, curbe Bézier, paranteze de traseu cu treceri de umplere, de contur și combinate, dreptunghiuri rotunjite, arce, coarde, cercuri de plăcintă și arce de unghi, umpleri și cadre de regiuni, secvențe de text limitate cu fonturi și aliniere și imagini stretch-DIB re-codificate ca PNG; clippingul și înregistrările private rămân în afara listei albe și eșuează închis către rezerva limitată raster
  • Exportatoarele HTML clasic și XLSX furnizează o vedere explicită de foaie de calcul, cu antete semantice de rând și coloană și hot tracking tipizat în CSS pur; legăturile externe partajează un singur sanitarizator URI care respinge țintele script, data, blob, file, UNC și cele cu caractere de control
  • Graficele cu axă de dată XLSX folosesc serialii registrului de lucru ca coordinate continue, păstrează slotul de compatibilitate pentru ziua bisectă din 1900, respectă sistemul de date 1904 și avansează tick-urile cu zile, luni sau ani reali de calendar, în comun pentru randarea în paginare, SVG, PDF, imagine, previzualizare, printare, viewer și HTML; unitățile omise se inferă o singură dată pentru toate seriile vizibile, densitatea automată folosește întinderea vizibilă, lățimea axei, fontul măsurat al etichetei, formatul numeric și rotația, iar liniile de grilă majore și minore configurate refolosesc aceleași colecții limitate de tick-uri
  • Modelele de axă de dată XLSX păstrează independent prezența unităților de calendar de bază, majore și minore, plus stegulețul de categorie automată a axei de dată, astfel încât elementele ChartML omise rămân omise, în timp ce unitățile explicite de zi și valorile Booleene false circulă dus-întors; câmpurile tipizate de extensie a axei de dată clasic rețin fiecare valoare brută și fiecare steguleț, iar valorile active pot fi mapate în modelul de axă XLSX
  • Axele de categorii multi-nivel păstrează cache-uri rare cu frunzele prime și intervale bidimensionale „vii”, moștenesc etichetele omise tratând etichetele goale explicite ca frontiere, îmbină etichetele egale doar în interiorul întinderii părintelui, respectă ordinea inversată și de la dreapta la stânga plus categoriile ascunse și expun NoMultiLevelLabels pentru ieșire pe un singur nivel
  • Etichetele de date ale graficelor provenite din celule păstrează formule independente și cache-uri indexate per serie, își reîmprospătează textul local de afișare al foii de calcul o dată per generare de registru de lucru, rețin cache-urile externe fără acces implicit, traduc formulele prin copiile foilor de calcul și prin expandarea rapoartelor și respectă vizibilitatea partajată plus cea per punct în randările de paginare, SVG, PDF, imagine, previzualizare, printare, viewer și HTML
  • Registrele de lucru XLS clasic și XLSX partajează o politică fără pierderi, cu trei stări, pentru afișarea obiectelor; obiectele ascunse sunt excluse înaintea expansiunii intervalelor și a lucrului cu media, viewerul randează substituenți numiți ușori, iar exportatoarele PDF, SVG, bitmap, print și HTML pot opta pentru ieșire cu substituenți, păstrând implicit ieșirea completă a obiectelor
  • Aranjamentele manuale de grafice păstrează prezența independentă a câmpurilor și tokenurile de sursă invalide, rezolvă modurile factor și edge cu plasare limitată care păstrează dimensiunile, disting țintele de trasare interioare și exterioare, partajează geometria titlului, a legendei, a zonei de trasare și a titlurilor de axă între ieșirile de paginare, SVG, PDF, imagine, previzualizare, printare, viewer și HTML și convertesc pozițiile ODF suportate prin distanțe absolute în grafic
  • Axele de dată XLSX păstrează formatele numerice ale etichetelor și starea legăturii la sursă, aplică stilizarea textului axei și rotația în sens orar, respectă direcția inversată și păstrează spațierea continuă pentru datele duplicate și rare în randările de paginare, SVG, PDF, imagine, previzualizare, printare, viewer și HTML
  • Modul de afișare a formulelor rezolvă același text final conștient de celulele protejate, aceeași aliniere și aceeași lățime efectivă limitată, dublată, a aspectului, pe căile viewerului registrului de lucru, ale previzualizării, imprimării, imaginii, EMF, SVG, PDF, HTML clasic și HTML XLSX, fără a schimba valorile stocate, cache-urile de formule sau lățimile coloanelor
  • Arcele Bezier cubice adaptive, conduse de flatness, partajează un singur contract de precizie între ieșirile PDF, SVG și imagine, alocând segmente suplimentare doar când scara sau excentricitatea le cere
  • Contururile PDF suportă bookmark-uri Unicode imbricate, culori, text bold sau italic și descendenți expandați sau colapsați, cu callback-uri de pagină pentru fundaluri și suprapuneri
  • Stilurile de tabel numite, rezolvate, și cele încorporate circulă prin formatarea partajată HTML, PDF, imagine, previzualizare și viewer, fără a materializa celule goale
  • TXLSSvgExport.SaveObjectAsSVG randează un singur grafic, imagine sau formă numită, la limitele exacte ale obiectului, fără a decupa o pagină întreagă
  • Exportul HTML emite graficele și formele ca SVG inline și păstrează imaginile SVG, ancorele de desen, linkurile și efectele suportate, fără rasterizarea întregii foi
  • TXLSXHtmlExportSession scanează o singură dată stilurile partajate, apoi exportă foile de calcul incremental, cu progres, anulare și reset
  • TXLSImageRenderEffects aplică decupare, luminozitate, contrast, gamma, rotație, opacitate și umbră în mod consistent între backend-urile grafice
  • Formele prestabilite, ajustările, baloanele de adnotare, diagramele de flux, casetele de text și WordArt folosesc geometrie vectorială partajată între formatele de ieșire
  • Randarea avansată a graficelor acoperă barele de eroare, liniile de tendință, axele de dată, spațierea numerică, etichetele provenite din celule cu ordonarea componentelor personalizat-întâi și barele financiare high-low și up-down
  • Etichetele dense și cele ale graficelor pie primesc ajustare deterministă a coliziunilor și rutare de linii-indicator înaintea ieșirii vectoriale finale

Funcionalități XLSX pregătite pentru codul aplicației

API-ul XLSX acoperă acum generarea practică de registre de lucru, producerea de rapoarte și scenariile de modificare a registrelor de lucru în loc de doar scrierea simplă a celulelor

  • Structura foii de calcul Celule, calcul de formule, intervale întregi și intervale îmbinate cu căutare/ștergere directă a intervalelor îmbinate, dimensiuni de rânduri și coloane cu potrivire automată limitată, contururi, rânduri și coloane ascunse, panouri înghețate, starea foii active, foi ascunse și foarte ascunse
  • Stiluri și prezentare Fonturi, umpleri, borduri, formate numerice, aliniere, text îmbogățit, culori temă, culori indexate, nuanță și umbră, borduri diagonale și pool-uri de stiluri reutilizabile
  • Obiecte Excel Hyperlinkuri și comentarii cu căutare de celule plus ajutoare de ștergere a intervalelor, imagini și casete de text de desen independente cu căutare a ancorei și ajutoare de ștergere a intervalului, formate condiționale și validări de date cu căutare conștientă de interval și ajutoare de ștergere, tabele stil Excel cu căutare după nume și ajutoare de ștergere, criterii AutoFiltru cu căutare directă a coloanelor și ajutoare de ștergere, obiecte de grafic cu căutare a titlului și ajutoare de ștergere, foi de grafice, nume definite cu căutare cu scop și ajutoare de ștergere, păstrarea proiectului VBA cu interogări HasVbaProject / VbaProjectDefined plus inspecția și editarea codului sursă al modulelor existente, și legături externe la registre de lucru cu căutare a țintei și ajutoare de ștergere
  • Suport pentru pagini și metadate Moduri de vizualizare a foii de calcul, zone de imprimare, rânduri și coloane de titlu, opțiuni de imprimare pentru linii de grilă și antete, întreruperi manuale de pagină cu căutare în index și ajutoare de eliminare a intervalului, registre de lucru Date1904, proprietăți de document, metadate de aplicație și salvare/deschidere bazată pe fluxuri

Formate de ieșire din aceleași date ale registrului de lucru

HotXLS nu se limitează la fișierele binare ale registrelor de lucru; API-urile actuale expõem căi directe de export pentru integrare comună și ținte de raportare

XLS Citire, scriere și modificare a registrelor de lucru clasice Excel 97-2003, cursor de celule încărcate în stare constantă, cu instantanee proprietare, goluri opționale stilizate independent și validare fail-fast a topologiei, descoperire rapidă a numelor foilor din fișiere sau fluxuri, căutare a foilor după nume, ajutoare pentru panouri, fila activă a registrului de lucru, metadate „salvat de”, ajutoare pentru încărcarea/salvarea/golirea sarcinii VBA plus inspecția și editarea codului sursă al modulelor existente, și controale ale geometriei și stării ferestrei, fidelitate a stegulețelor Window2 pentru filă, bară de defilare, gruparea datelor la AutoFiltru, vizualizarea foii de lucru, culoarea liniilor de grilă și panourile înghețate, controale pentru stilul conturului, permisiuni de protecție a foii de lucru, stegulețe de configurare a paginii cu păstrare mărginită, exactă la nivel de octet, a sarcinii utile BIFF a driverului de imprimantă, acces izolat la copie pentru sarcina utilă publică și conversie către XLSX cu prioritate pe câmpurile tipizate, sortarea intervalelor cu chei multiple, stiluri de celule încorporate, proprietăți de document și fluxuri de export
XLSX Generare de registre de lucru OOXML, calcul de formule cu acoperire extinsă de funcții și OnUserFunction/OnUserFunctionEx, cursor de celule încărcate în stare constantă peste blocuri rare materializate sau stocare împachetată, cu instantanee proprietare, goluri opționale stilizate independent și validare fail-fast a duratei de viață, scanarea celulelor încărcate și scriere prin callback, limite AutoFit mărginite pentru lățimile coloanelor și înălțimile rândurilor din rapoarte, conversie deterministă sparse XLSX către BIFF8 prin SaveXLSXWorkbookAsXLS, cu păstrarea culorilor indexate blocate, cuantizare ponderată a paletei OKLab și setări de imprimantă tipizate verificate în preflight, păstrarea părții de setări de imprimantă a foii de lucru exactă la nivel de octet, cu acces izolat la copie pentru sarcina utilă publică, semantică exactă de golire și diagnostice pentru relațiile rămase fără țintă, salvare și încărcare criptate AES compatibile Excel (ECMA-376 Standard Encryption) cu accelerare AES-NI și fallback software, păstrarea proiectului VBA cu interogări HasVbaProject / VbaProjectDefined plus inspecția și editarea codului sursă al modulelor existente, căutare/înlocuire de text în șabloane, export HTML configurabil al registrului de lucru/intervalului, căutare/eliminare directă a criteriilor AutoFiltru și evaluare a previzualizării, căutare/eliminare directă a ancorelor imaginilor încorporate, căutare/eliminare a formatelor condiționale și a validărilor de date conștientă de interval și round-trip prin fațada dedicată lxHandleX
ODS Importați foi de calcul OpenDocument cu date styles.xml, dimensiuni rând/coloană, stiluri de celule moștenite, conversie de bază a formulelor, protecția foilor, intervale cu nume, valori scalare stocate în cache netipizate, fracțiuni de secundă pentru dată și durate de timp negative; export complet via SaveAsODS scriind într-un pachet ODF valid valorile tipizate ale celulelor, formule, text îmbogățit, intervale îmbinate, hyperlinkuri, imagini, grafice, formate condiționale, validări de date, înghețarea panourilor, intervale de imprimare, grupuri de contururi și controlul opțional TODSExportOptions
CSV / TSV Import de text delimitat prin OpenCSV, cu detecție automată a separatorului, detecție a codificării BOM, citare RFC 4180, inferență opțională a tipului valorilor, directive de import per coloană și feliere cu lățime fixă, plus ajutoare de export pentru registru de lucru, foaie de lucru și interval, cu supraîncărcări pentru flux și fișier și ieșire cu lățime fixă completată cu spații
HTML / RTF / PDF Exporturi orientate spre tabel pentru rapoarte, previzualizări, corpuri de e-mail și predare de documente, inclusiv fragmente din intervale selectate, titluri HTML configurabile, atribute de aranjament al tabelului, ancore de hyperlink, tooltip-uri de comentarii, stiluri de aliniere verticală, stiluri de secvențe de text îmbogățit, stiluri diferențiale condiționale și formate numerice, scări de culori, bare de date direcționale, glife de familii de pictograme și ieșire minimală de tabel. TXLSHTMLImport importă un singur tabel de nivel superior, selectat, sau toate tabelele, la o celulă țintă cu bază 1, cu separator zecimal explicit, păstrând supraîncărcările originale pe toate tabelele. SaveWorkbookAsHTML publice fiecare foaie de lucru XLSX vizibilă într-un singur document navigabil, cu ancore stabile per foaie și nume de foi escanate. RTF se importă și înapoi prin OpenRTF, mapând celulele tabelului sau listele de paragrafe către A1 implicit sau către un rând și o coloană țintă explicite, cu bază 1, prin supraîncărcările extinse. SaveAsPDF la nivel de registru de lucru combină toate foile de lucru vizibile într-un singur document, randează umpleri solide și condiționale, scări de culori, bare de date, pictograme condiționale, accentuări de culoare, dimensiune, bold, italic și underline ale fonturilor, aliniere, borduri explicite și linii de grilă opționale, și respectă zonele de imprimare, dimensiunea hârtiei sau dimensiuni personalizate de hârtie precise la nivel de punct, orientarea, marginile, zoom-ul, setările de încadrare în lățime, lățimile coloanelor, înălțimile rândurilor, întreruperile manuale de pagină, rândurile și coloanele de titlu repetate și antetele și subsolurile stânga, centru sau dreapta — inclusiv codurile de câmp &F pentru numele fișierului și &Z pentru cale, plus suprimarea opțională a benzii de antet sau subsol — paginând în același timp intervalele late și înalte pe ambele axe; CalculatePageCount raportează numărul complet de pagini logice fără a construi obiecte PDF, iar FirstPage și LastPage, cu bază 1, selectează un interval de ieșire păstrând câmpurile cu numărul total de pagini. TXLSPaginationModel expune acele decizii ca pagini logice XLS și XLSX reutilizabile, pentru previzualizarea tipăririi VCL, export PDF, canvas-uri personalizate și ieșire EMF, inclusiv titluri repetate, ordine over-then-down sau down-then-over, scalare de încadrare de la 10% la 400% și plasarea desenelor

De ce să-l utilizați

HotXLS păstrează generarea foilor de calcul în cadrul procesului dvs. Delphi sau C++Builder; acest lucru îl face potrivit pentru utilități desktop, instrumente batch, servicii și programe de instalare în care automatizarea Office este fragilă sau indisponibilă

Acoperire RAD Studio

Pachetul vizează Delphi și C++Builder de la XE5 până la RAD Studio 13.1 Florence, cu proiecte de pachete versionate și foldere de ieșire per versiune

Free Pascal 3.2.2 cu Lazarus/LCL este suportat și pe Windows Win32 și Win64, prin pachetul de runtime Lib/FPC/HotXLSLaz.lpk, incluzând API-urile de registre de lucru XLS/XLSX, streaming direct, formule și componentele de export TDataToXLS și TGridToXLS pentru dataseturi LCL și TDBGrid

Rulați build-FPC-Lib.cmd Win64 sau build-FPC-Lib.cmd Win32 pentru a compila pachetul, apoi Tests/Lazarus/Run-HotXLSLazarusSmoke.cmd Win64 sau echivalentul său Win32 pentru a verifica round-trip-urile de registru de lucru și de compresie; setați LAZARUS_DIR pentru o instalare personalizată

Aplicațiile FPC trebuie să includă unitatea LCL Interfaces înaintea unităților HotXLS și să adauge Lib și Lib/FPC în căile de căutare a unităților, plus Lib în calea de căutare pentru include; formularele demo VCL, viewer-ul VCL de registre de lucru și adaptorul de grilă DevExpress rămân componente Delphi/C++Builder

Consultați suportul pentru Free Pascal și Lazarus pentru detalii despre configurarea aplicației și compatibilitatea regex

Ușor de distribuit

Sursa, pachetele, scripturile de construire, demonstrațiile, documentația HTML locală și integrarea programului de instalare sunt incluse, astfel încât echipele să poată construi, testa și lansa fără să depindă de un serviciu web

Puncte de pornire

Utilizați mai întâi aceste fișiere locale atunci când evaluați biblioteca sau când o integrați într-un proiect