Libreria Excel per RAD Studio

Leggi, scrivi, formatta ed esporta cartelle di lavoro Excel senza automazione di Office

HotXLS è una libreria Object Pascal nativa per applicazioni Delphi e C++Builder. Gestisce direttamente i classici flussi di lavoro XLS e l'attuale facade XLSX, con API per cartelle di lavoro, editing dei fogli di lavoro, formattazione ricca, helper di esportazione, demo e documentazione offline nel package

Snapshot della cartella di lavoro XLS + XLSX
Valori
Stili
Esporta
Numeri
Bordi
CSV
Date
Colori tema
HTML
Formule
Convalida
RTF

Snapshot attuale delle funzionalità

L'attuale linea HotXLS unisce la facade XLS originale a un motore XLSX dedicato, così il codice legacy può continuare a usare l'API classica mentre i nuovi progetti possono puntare direttamente alle funzionalità OOXML

I/O nativo delle cartelle di lavoro

Crea, apri, modifica e salva cartelle di lavoro Excel direttamente dal codice Delphi o C++Builder. Non serve installazione di Microsoft Excel, automazione COM o processi foglio di calcolo esterni

Salva i template XLTX privi di macro con SaveAs(FileName, xlsxOpenXMLTemplate) o l'overload corrispondente su stream, incluso l'output in streaming; il formato di salvataggio predefinito resta invariato

Facade XLS classico

Un'API matura per le cartelle di lavoro Excel 97-2003 (.xls), che copre l'intero modello a oggetti classico con un round-trip BIFF8 ad alta fedeltà, e legge i file legacy Excel 2.0/3.0/4.0 (BIFF2-4) per i loro valori

  • Gli intervalli indicizzati dell'output delle formule evitano scansioni ripetute delle righe precedenti quando si ricostruiscono grafi di dipendenza grandi, inclusi i riferimenti agli output di array e le dipendenze che attraversano i fogli di lavoro
  • Il salvataggio XLS classico preserva le cache delle formule caricate o calcolate, incluse le radici delle formule condivise e di array; le cache mancanti conservano il fallback di calcolo, mentre un Recalculate esplicito aggiorna i valori esistenti
  • I riferimenti dei nomi definiti scalari intersecano gli intervalli a riga singola o a colonna singola nella cella della formula, mentre gli argomenti di intervallo aggregati e di lookup conservano gli intervalli completi; il ricalcolo evita falsi cicli di intervallo, dà priorità alle cache di lookup finalizzate e preserva la precisione in virgola mobile nell'aritmetica mista tra interi e floating point
  • I round-trip XLSX conservano le formule dinamiche dell'area di stampa, le unioni di intervalli qualificate e il richiesto indice di font fonetico a valore zero; le parti generate e preservate condividono dichiarazioni content-type univoche, mentre le proprietà personalizzate e le relationship radice opache conservano ID di relationship distinti
  • L'XLS classico mantiene l'assenza dei record di margini importati finché il margine corrispondente non viene impostato esplicitamente, senza cambiare l'output predefinito dei margini per le nuove cartelle di lavoro
  • AGGREGATE gestisce in modo indipendente gli errori non in cache e la selezione annidata, con semantiche separate per riferimento e per array calcolato per le opzioni da 0 a 7
  • I round-trip XLSX conservano il XML dei grafici non modificato e gli offset degli ancoraggi dei grafici, i nomi, le dimensioni e gli scheme dei font della formattazione condizionale, i flag di stile espliciti e i colori RGB, e un orientamento di pagina non specificato quando sono impostati solo i margini
  • Modello a oggetti completo: cartella di lavoro, foglio di lavoro, intervallo, formula, formattazione, immagine, collegamento ipertestuale, nome definito, protezione, impostazioni di pagina ed esportazione di report
  • I metadati delle colonne classici espongono i marker di compressione outline indipendentemente dallo stato nascosto e dal livello di raggruppamento, preservandoli attraverso round-trip XLS grezzi, copie di formato di colonna e copie di fogli di lavoro
  • Le impostazioni di pagina classiche espongono HasSetupRecord e PrinterSettingsInitialized, preservano un record BIFF Setup intatto byte per byte, mantengono assente un record assente e inizializzano i campi dipendenti dalla stampante solo quando i loro setter lo richiedono
  • La conversione da XLS a XLSX e da XLSX a XLS trasporta in modo indipendente le impostazioni di pagina tipizzate e i byte opachi del driver di stampa, tiene i campi standard autoritativi rispetto ai default privati duplicati e rifiuta le impostazioni BIFF8 non rappresentabili prima di scrivere la destinazione
  • Le cartelle di lavoro XLS classiche e XLSX espongono politiche SaveExternalLinkValues e UpdateLinks corrispondenti; i valori in cache delle cartelle di lavoro esterne possono essere omessi senza cancellare le definizioni dei link o le cache in memoria, le dichiarazioni di origine non valide e non toccate restano lossless, la conversione tra formati conserva valori di politica legali, e le preferenze di aggiornamento non avviano mai accessi a file o rete
  • Le cartelle di lavoro XLSX espongono rilevamento, conteggio e rimozione atomica esatti dei task pane dei Web Add-in; la rimozione valida chiusure interne di relationship delimitate prima della mutazione, preserva ogni parte condivisa da un'altra relationship, elimina le parti di relationship di proprietà e le voci content-type obsolete, impedisce la resurrezione tramite copie sorgente compresse e resta idempotente, mentre XLS classico e ODS segnalano l'operazione come non supportata senza scandire il package
  • I fogli di lavoro XLS classici e XLSX espongono metodi corrispondenti di selezione consapevole dei riquadri e di scorrimento a base uno tramite TXLSPanePosition; TryGetWindowScroll e ScrollWindow mappano gli assi condivisi superiore, inferiore, sinistro e destro sullo stato di vista nativo a due livelli di ciascun formato, li preservano attraverso salvataggio, apertura e copia del foglio di lavoro e rifiutano atomicamente riquadri mancanti o coordinate non valide; gli snapshot di selezione restano ordinati, sovrapposti e di proprietà del chiamante, le modifiche strutturali a righe o colonne intere rimappano ogni riquadro preservando l'identità dell'area attiva con fallback deterministici per cella superstite e cella di bordo, e le operazioni su grandi aree restano lineari ammortizzate; l'XLS classico inoltre aggrega i record di selezione consecutivi, preserva i corpi dei record intatti o non validi, segnala i gruppi malformati tramite xlsDiagnosticSelectionRecordInvalid e spezza le selezioni oltre le 1369 aree
  • L'unità lxOutline, neutrale rispetto al motore, costruisce la geometria outline di righe o colonne a partire da span sparsi ordinati, individua i nodi summary-before o summary-after in tempo O(log n + k) e crea piani compressi e idempotenti per il collasso dei nodi, le modifiche del livello di visualizzazione, la preservazione dei figli annidati e gli aggiornamenti ricorsivi dello stato dei figli, senza scandire coordinate inutilizzate del foglio di lavoro; entrambi i motori di foglio di lavoro espongono gli stessi metodi di query e controllo dei nodi, mentre i gruppi OpenDocument conservano lo stato di visualizzazione nativo e si convertono in marker di nodi summary XLSX
  • Le cartelle di lavoro XLS classiche e XLSX espongono lo stesso contratto ResolveIndexedColor senza effetti collaterali per gli indici colore pubblici, i valori BIFF icv e i colori indicizzati OOXML; i token palette, automatic, system e non validi restano distinti, l'indice zero dei bordi conserva il suo significato di non specificato, l'output ARGB è normalizzato, e i colori del sistema operativo vengono risolti solo attraverso una callback esplicita del chiamante
  • Entrambi i motori di cartella di lavoro espongono una query NearestIndexedColor senza effetti collaterali supportata da una cache OKLab consapevole delle mutazioni; cerca solo le 56 voci fisiche della palette BIFF, restituisce indici pubblici e fisici con metadati di distanza e corrispondenza esatta, rifiuta alpha parziali e risolve i pareggi a pari distanza sull'indice pubblico più basso
  • Entrambi i motori di cartella di lavoro espongono un inventario deterministico e senza effetti collaterali ScanIndexedColorUsage per tutti i 56 slot fisici della palette, con valori ARGB normalizzati, conteggi di definizioni e riferimenti, tipi di consumatori e lock di preservazione attraverso stili, celle sparse, oggetti del foglio di lavoro, grafici, commenti e formattazione condizionale, senza materializzare celle inutilizzate
  • Entrambi i motori di cartella di lavoro espongono un'anteprima BuildBiffPalettePlan senza mutazioni che protegge i consumatori indicizzati, aggrega i colori tema diretti e risolti per frequenza di resa, preserva le corrispondenze esatte esistenti, mappa i colori in modo deterministico attraverso OKLab e riporta identità della sorgente, modifiche degli slot, copertura esatta, errore pesato e quantizzazione dell'overflow senza cambiare la cartella di lavoro o il comportamento di salvataggio
  • Entrambi i motori di cartella di lavoro possono validare e applicare atomicamente un piano corrente a 56 slot tramite ApplyBiffPalettePlan, rifiutando input obsoleti o manomessi prima di qualsiasi mutazione e ricostruendo una sola volta il matcher percettivo; le cartelle di lavoro classiche forniscono inoltre una BiffPaletteSavePolicy esplicita il cui default preserva l'output storico, la cui modalità di ottimizzazione si applica solo al BIFF8 e i cui salvataggi falliti o annullati ripristinano la palette originale
  • Entrambi i motori di cartella di lavoro espongono un valore TXLSRenderCalibration validato con controlli per larghezza, altezza, spaziatura multilinea, margini delle celle, scaling dello schermo e DPI di misurazione; l'assegnazione è atomica, la cattura restituisce uno snapshot indipendente dell'operazione, i default sono deterministici, e l'impostazione di runtime non viene mai serializzata né usata da sola per ridimensionare la geometria del foglio di lavoro
  • Entrambi i motori di cartella di lavoro creano servizi IXLSRenderGeometry di proprietà dell'operazione la cui calibrazione immutabile, generazione del workbook, backend, firma completa dei font, larghezza di wrap e testo formano un'identità locale e delimitata per la cache delle metriche; la misurazione GDI condivisa e le conversioni tra pixel, punti, larghezze di colonna, MDW e larghezze utili delle celle eliminano le cache di AutoFit globali al processo per DPI e larghezza base, tenendo lo scaling dello schermo fuori dallo scaling delle coordinate di output
  • L'AutoFit classico XLS e XLSX cattura uno snapshot della geometria di rendering per operazione e applica misurazione dei font calibrata, wrapping, spaziatura delle righe e margini delle celle; la paginazione cattura la stessa geometria locale al workbook per ogni build, così le dimensioni predefinite di pagina restano stabili, le modifiche di calibrazione successive richiedono una ricostruzione esplicita, e il calcolo delle pagine non scrive mai le altezze di riga o le larghezze di colonna archiviate
  • La paginazione di PDF, SVG, bitmap, anteprima di stampa e viewer di cartelle di lavoro identifica il proprio backend di rendering e trattiene una calibrazione immutabile del workbook per l'intera operazione; l'adattamento condiviso del testo di pagina e il wrapping SVG usano la cache delle metriche locale all'operazione e delimitata, con stili font completi e identità di charset, invece di oggetti di misurazione globali al processo
  • Le esportazioni di dataset di TDataToXLS possono includere solo i campi selezionati o escludere i campi sensibili, mantenendo allineati intestazioni, righe di dati, callback e larghezze di colonna
  • Gli array dinamici XLSX automatici ridimensionano e possiedono le proprie celle spill, preservano gli ostacoli dell'utente con #SPILL!, supportano A1# e la negazione unaria @, e recuperano la proprietà dopo la riapertura; le formule CSE fisse valutano l'aritmetica dei range grezzi elemento per elemento
  • MAP multi-array e FILTER su array calcolati preservano gli errori per elemento, mentre i metadati rich-value XLSX conservano gli errori tipizzati #SPILL! e #CALC!
  • GetConversionReport fa l'inventario delle perdite note del formato di destinazione senza mutazioni, e il SaveAsChecked opt-in può rifiutarle prima della scrittura; l'output esplicito xlsxOpenXMLMacroEnabledTemplate crea package XLTM e preserva il VBA esistente
  • Le implementazioni TXLSQueryTableProvider fornite dal chiamante aggiornano in modo transazionale i dati delle tabelle di query a schema fisso, ridimensionando gli intervalli di tabella e filtro con risultati limitati, progresso, annullamento e rollback
  • Le query di database automatiche legano parametri posizionali limitati da letterali tipizzati esplicitamente o da celle memorizzate del foglio di lavoro, includendo Unicode, testo vuoto, date, null e cache delle formule disponibili; Jet e ACE preservano le date tipizzate senza conversione timestamp dipendente dal locale, e il refresh applica i risultati in modo transazionale
  • Le query di testo automatiche aggiornano file delimitati o a larghezza fissa con decodifica esplicita, campi tipizzati, colonne saltate, righe di intestazione e di inizio configurate e aggiornamenti transazionali limitati; le posizioni a larghezza fissa usano unità di codice UTF-16 decodificate, tagliano il padding e conservano le colonne dichiarate sui record corti
  • La validazione dell'import verifica tipi scalari rigorosi, limiti numerici e di data, unicità composita e relazioni tra colonne contro i valori memorizzati e le cache delle formule, con violazioni strutturate indirizzate per cella e operazioni esplicite di annotazione o di workbook di correzione
  • CELL legge l'identità effettiva del file referenziato, i formati numerici base supportati, l'allineamento, lo stato locked e la larghezza di colonna su XLS e XLSX; INFO("recalc") legge la modalità di calcolo del workbook, mentre le informazioni non disponibili dell'ambiente applicativo Excel restituiscono un errore esplicito
  • Le bande di report ripetute clonano conversazioni in thread complete con identità rimappate, e la paginazione nativa condivisa rende gli span di celle unite mentre le cache dei grafici si aggiornano dai range locali supportati dopo modifiche e ricalcolo
  • Calcolo delle formule integrato con registri di funzioni utente globali al processo e locali al workbook, semantiche di override dei nomi locali, invocazione degli handler lock-free, callback OnUserFunction e OnUserFunctionEx, più le comuni funzioni Excel di testo, data, giorno lavorativo, ingegneria/conversione di base, bitwise, statistiche, aggregazione, matematica e dynamic array, inclusi operatori di array in broadcast con errori per cella, matrici multivariabile complete di LINEST / LOGEST, predizioni modellate di TREND / GROWTH, SORT stabile per riga o colonna, SORTBY stabile multi-chiave per riga o colonna con direzioni indipendenti e chiavi di array, arrotondamento array-aware di CEILING.MATH / FLOOR.MATH con broadcast di singleton ed errori locali, valutazione stabile e array-aware di COT / ACOT / COTH / ACOTH / CSC / CSCH / SEC / SECH con errori locali e rami per input grandi safe rispetto all'overflow, calcoli di ripetizione COMBINA / PERMUTATIONA con controllo dell'overflow, matrici identità MUNIT con memoria delimitata, conversione UNICHAR a scalari Unicode, testo di valuta thailandese tramite BAHTTEXT, ispezione ISFORMULA che preserva i riferimenti senza ricalcolare il target, UNIQUE per riga o colonna indicizzato per hash, risultati spilled di FREQUENCY, XMATCH / XLOOKUP binari logaritmici, rilevamento degli argomenti opzionali di ISOMITTED, conversione di array ARRAYTOTEXT / VALUETOTEXT, calcoli validati di XIRR / XNPV, timing degli investimenti e tassi di crescita di PDURATION / RRI, e ammortamento VDB a periodi frazionari, più binding LET completi e closure LAMBDA invocabili tramite nomi definiti e catturate lessicalmente dentro LET
  • EvaluateFormulaAt, neutrale rispetto al motore, valuta testo di formula A1 o R1C1 in un contesto esplicito di cella del foglio di lavoro senza mutare il modello della cella, la cache, lo stato dirty, il foglio attivo o il grafo delle dipendenze; i risultati tipizzati preservano errori di formula, array, valori vuoti, volatilità, annullamento, autorizzazione dei riferimenti esterni e categorie di fallimento stabili, mentre IXLSFormulaEvaluationTemplate riutilizza un anchor compilato immutabile tra le celle target sotto budget configurabili di lunghezza della formula, passi, ricorsione e memoria degli array
  • XLS classico e XLSX espongono metodi ValidateFormulaEntry senza mutazioni corrispondenti, una FormulaEntryPolicy a livello di workbook e scansioni AuditFormulaSymbols analizzate attraverso celle e nomi definiti, con scansioni sparse XLS Classic più rapide e un'unica attraversata dei simboli che preserva reperti indipendenti di funzioni e nomi, scope, deduplicazione e ordine dei reperti; input vuoto esatto, formule che restituiscono una stringa vuota, funzioni sconosciute, nomi sconosciuti, fallimenti di sintassi, target non validi e limitazioni del formato target restano distinti, l'assegnazione normale delle formule applica atomicamente il rigetto rigoroso o la preservazione, i simboli sconosciuti preservati valutano e si propagano come #NAME?, le modifiche a UDF o nomi definiti invalidano le dipendenze obsolete, il BIFF classico archivia le chiamate sconosciute preservate come funzioni utente add-in, la validazione riconosce funzioni utente registrate o via callback, lambda lessicali e da nomi definiti, placeholder dei report, link esterni registrati e riferimenti strutturati validi senza invocare handler, e le callback di funzioni esterne o in stile macro pericolose restano bloccate prima della valutazione degli argomenti salvo autorizzazione esplicita
  • Ispezione lossless dei token di formula e mutazione sorvegliata per entrambi i motori di cartella di lavoro tramite TXLSFormulaTokenStream, ParseFormulaTokens, GetFormulaTokens, FormulaTokensToText e SetFormulaTokens, con stream di proprietà del chiamante, proiezioni di token in sola lettura, payload BIFF grezzi, flag di riferimento indipendenti, cloning, sostituzione atomica dei riferimenti, provenienza del contesto e validazione prima del writeback
  • Tabelle dati What-If a una variabile per riga, a una variabile per colonna e a due variabili, con ricalcolo isolato delle dipendenze, errori da input eliminato, modifiche strutturali, copie di fogli di lavoro e supporto al round-trip BIFF8
  • Scansione delle celle, find & replace su modelli, riempimento di intervalli via callback, scritture dirette di array tipizzati tramite ForEachCell, FindText, ReplaceText, WriteCells e i metodi writer numerici, stringa e variant per righe e colonne, più ConvertFormulasToValues per intero foglio o singola cella che congela le formule nei loro risultati calcolati conservando il valore in cache
  • Ispezione delle cache delle formule neutrale rispetto al motore tramite IXLSFormulaCacheReader e il CreateFormulaCacheReader di ciascun motore di cartella di lavoro: riporta presenza, provenienza caricata o calcolata e tipo blank, number, date-time, string, Boolean o error senza valutare formule, invocare funzioni utente, decompilare token o cambiare lo stato del workbook; i lease a durata invalidano i reader in sicurezza dopo la distruzione del workbook, i membri di formule condivise conservano cache indipendenti, e XLSX e ODS preservano errori tipizzati e cache vuote esplicite alla riapertura
  • IXLSWorkbook.CreateReadOnlyView classico e IXLSXWorkbookOwner.CreateReadOnlyView XLSX creano istanze IXLSReadOnlyWorkbookView a modello condiviso a tempo costante, con fogli attivi locali alla vista, snapshot delle celle archiviate per valore, nessuna esposizione di oggetti scrivibili, risultati delle formule in cache per default e testo delle formule o valutazione isolata delle formule su opt-in; le viste concorrenti tengono privati stato di ricorsione, cache scalari e di array e formule XLSX compilate, la valutazione esterna XLSX legge solo le cache dei link locali al file, le celle packed restano non materializzate, e ogni vista trattiene un lease di lettura che rifiuta le scritture al modello prima della mutazione
  • Dalla 2.384.51, TXLSReadOnlyCellSnapshot.SheetName è una proprietà WideString leggibile e scrivibile supportata da storage UnicodeString condiviso, riducendo l'allocazione del nome per cella; la sintassi ordinaria di lettura e assegnazione non cambia, ma l'indirizzo raw del campo e il layout precedente del record non sono supportati e i chiamanti devono ricompilare
  • TXLSWorkbookWorkspace accetta adapter revocabili Classic XLS, XLSX o ODS dal CreateWorkspaceWorkbook di ciascun motore, preserva identità complete di path o IRI, risolve i fogli di lavoro esterni per nome prima che per posizione e valuta le formule esterne attraverso registrazioni live esplicite, un loader opzionale controllato dal chiamante di una volta per identità, cache di file tipizzate e #REF!; le richieste di caricamento concorrenti condividono un solo risultato, le diagnostiche tipizzate espongono fallimenti e limiti di risorse, i metodi di registrazione per compatibilità restano disponibili su entrambe le facade delle cartelle di lavoro, i target distrutti si scollegano in sicurezza, e il ricalcolo non apre mai implicitamente file o risorse di rete
  • TXLSWorkbookWorkspace.BuildDependencyGraph estrae un unico grafo di formule tra cartelle di lavoro dai modelli Classic XLS, XLSX e ODS registrati, mantiene le identità complete di workbook e foglio di lavoro, preserva i nomi definiti simbolici locali ed esterni, risolve i nomi locali nelle loro dipendenze concrete quando possibile e archivia gli intervalli rettangolari grandi come intervalli compatti; gli alberi di intervalli di riga accelerano la costruzione degli archi e la ricerca dei dipendenti, e la costruzione del grafo legge l'archiviazione XLSX packed senza materializzarla
  • TXLSWorkbookWorkspace.Recalculate trattiene e marca incrementalmente come dirty il grafo delle dipendenze condiviso, schedula i nodi formula aciclici in ordine topologico tra cartelle di lavoro, rifiuta i veri cicli di formule fortemente connessi senza rifiutare i collegamenti bidirezionali innocui tra cartelle di lavoro e condivide una cache locale al passaggio per le celle esterne con diagnostiche esplicite di hit, miss, invalidazione e nodi bloccati; le chiamate sullo stesso workspace vengono serializzate, la rimozione durante un passaggio restituisce uno stato workspace-changed tramite snapshot sicuri degli adapter, la distruzione attende i calcoli attivi, e i nodi falliti restano dirty per un retry esplicito
  • CalculateAndVerify confronta i risultati delle formule archiviati con calcoli freschi non volatili e riporta diagnostiche su foglio di lavoro, cella, formula, valore atteso e valore effettivo senza sostituire la cache; RecalcAndVerifyEx aggiunge l'audit approfondito con un overlay isolato dei risultati del grafo delle dipendenze, categorie di fallimento tipizzate con call stack delimitate, annullamento del progresso e applicazione atomica opt-in dei valori ricalcolati
  • Le tolleranze dell'audit approfondito filtrano i report di discrepanza senza sopprimere i risultati intermedi freschi: le formule dipendenti usano i valori verificati dall'audit, e l'applicazione esplicita aggiorna le cache modificate anche quando nessuna discrepanza viene riportata; le tolleranze assoluta e relativa si applicano entrambe ai risultati in virgola mobile a doppia precisione
  • Gli audit approfonditi delle formule dell'XLS classico riservano capacità di attraversamento e copiano in modo efficiente gli snapshot in cache plain-double consecutivi, preservando gli altri tipi Variant e l'overlay di valutazione isolato
  • Il ricalcolo classico usa un grafo delle dipendenze costruito in lazy, propaga gli input dirty solo ai dipendenti transitivi, ricalcola le formule volatili a ogni passaggio, valuta le formule acicliche in ordine di dipendenza e applica l'iterazione delle componenti fortemente connesse per i riferimenti circolari; disabilitare la piena precisione arrotonda le cache delle formule e delle tabelle dati What-If alla loro precisione numerica effettivamente visualizzata prima che i dipendenti le consumino
  • AutoFilter, convalida dati a elenco, tabelle Excel con layout senza riga di intestazione e commenti per tabella più la valutazione delle formule con riferimenti strutturati (Table[Col], span di colonne, [#Data] / [#All] / [#Headers] / [#Totals]), estensioni della formattazione condizionale (data bar con riempimento e colori dei bordi per valori negativi, color scale, icon set) con priorità univoche per foglio al salvataggio e regole con ambito tabella pivot instradate nel bucket delle estensioni Excel 2010+, e fogli grafico
  • Caselle di testo, drawing OfficeArt, import tipizzato di tabelle pivot guidato dalle relationship, materializzazione multi-valore filtrata e raggruppata, campi calcolati, elementi e membri, subtotali, totali generali, ordinamento stabile, calcoli ShowDataAs classici ed estesi, più commenti in rich text
  • Refresh transazionale della cache pivot locale risolve sorgenti rettangolari, di nomi definiti con scope al foglio e di tabelle alla loro geometria corrente, esclude i totali fisici delle tabelle, conserva l'identità della sorgente attraverso spostamenti e rinomine dei fogli, preserva le identità esistenti di campi e membri attraverso riordino, rimozione e reintroduzione della sorgente, mantiene stabili le selezioni delle viste condivise, gestisce valori di errore tipizzati e rifiuta schemi non supportati o nuovi membri di gruppi discreti non mappati prima di cambiare la cache
  • Materializzazione sicura dei pivot su foglio di lavoro valuta una cache isolata, rifiuta sovrapposizioni non sicure, preserva oggetti cella e formattazione, e tiene traccia dei valori posseduti esatti attraverso ridimensionamento, spostamento e riapertura XLSX
  • Selezione tipizzata di Slicer pivot non OLAP ispeziona e cambia le selezioni condivise di membri importate, si interseca con i filtri delle viste connesse, preserva le restrizioni indipendenti sugli altri campi, e rifiuta binding ambigui o non supportati prima della mutazione
  • Round-trip BIFF8 ad alta fedeltà che preserva i record scritti da Excel, i colori RGB e tema esatti, le viste personalizzate e i metadati di condivisione / revisione
  • Cartelle di lavoro protette da password tramite crittografia RC4 BIFF8, più salvataggio e caricamento XLSX con crittografia Agile e HMAC di integrità dei dati verificato sul package cifrato, e reservation di scrittura classiche (SetModifyPassword) che portano il flag di sola lettura consigliato, l'hash della password e il nome utente che l'ha riservata
  • Gli overload dell'AutoFit per celle unite possono assegnare la crescita richiesta di riga o colonna al primo membro, all'ultimo membro o distribuirla uniformemente sull'intera estensione unita, preservando lo stato nascosto e rispettando i limiti per membro
  • La copia di fogli di lavoro tra cartelle di lavoro (TXLSWorksheets.AddCopy) clona in un'altra cartella di lavoro valori delle celle, formule (ricompilate sui nomi dei fogli di destinazione), formati con colori RGB / tema esatti, celle unite, commenti, collegamenti ipertestuali, layout di righe e colonne, riquadri bloccati, protezione, impostazioni di pagina, colore della scheda, formattazione condizionale, convalide dati, criteri AutoFilter, tabelle, immagini incorporate, run di rich text (con i loro font migrati per valore) e fogli grafico (con i riferimenti delle serie ricompilati sulla destinazione); le formule i cui fogli mancano nella destinazione vengono ripuntate sul workbook di origine come link esterno quando questo ha un'identità di file
  • Viste pivot con cache condivisa, creazione locale di Pivot Slicer e rimozione esplicita consapevole delle selezioni, refresh fisso di cache raggruppate e anteprime native dei metadati di layout compatto
  • Output pivot nativo transazionale su foglio di lavoro supporta layout raggruppati e subtotali di riga personalizzati; campi calcolati SUM locali ed elementi di proprietà della cache preservano somme di contesto, ordine di risoluzione, calcoli di visualizzazione e filtraggio supportati, mentre gli stati non supportati rifiutano prima della mutazione
  • Timeline pivot e stati dati dei Slicer forniscono filtraggio locale delle date sorvegliato, ciclo di vita delle viste condivise e refresh nativo esplicito degli elementi senza dati
  • Provider di query automatici aggiornano esplicitamente le query Text, ADO, ODBC e Web supportate, con risultati limitati e provider personalizzati registrati
  • Ispezione dei grafici Classic decodifica le tabelle di riempimento OfficeArt native supportate, espone i diametri dei marker in punti e valida il testo memorizzato e le estensioni delle annotazioni prima di applicare lo stato tipizzato; lo storage raw dei grafici viene conservato e l'aspetto portabile dei grafici Classic resta validato separatamente
  • Output headless portabile cattura rettangoli supportati di XLS Classic o XLSX in snapshot immutabili e rende PDF, SVG e PNG su Linux e macOS con geometria esplicita dei font, rich text, oggetti di disegno modellati, immagini in cella, checkbox Booleani, grafici XLSX in cache supportati e grafici core BIFF8 in cache limitati con layout dichiarato dal chiamante e dimensione effettiva della legenda
  • Argomenti array calcolati di testo e statistici preservano coercizioni ed errori specifici della funzione, accoppiano la covarianza per posizioni originali e onorano i budget di calcolo
  • Nomi definiti nei calcoli di aggregazione preservano coercizioni scalari, di array e di riferimento, errori tipizzati, dipendenze e limiti di risorse

Facade XLSX moderno

Un motore OOXML dedicato costruito attorno a TXLSXWorkbook per le cartelle di lavoro Excel 2007+ (.xlsx)

  • Shared strings, stili, drawing, funzionalità dei fogli, packaging ZIP/XML e metadati di round-trip, inclusa la gestione field-aware degli Xstring di SpreadsheetML che preserva i caratteri di controllo e i token letterali _xHHHH_ senza riscrivere la sintassi delle formule
  • Le impostazioni di pagina del foglio di lavoro conservano le impostazioni binarie della stampante byte-exact tramite la relationship pageSetup e la parte printerSettingsN.bin per foglio, accettano posizioni non standard della parte sorgente, scrivono target canonici deterministici, copiano in profondità il payload nelle copie dei fogli di lavoro nello stesso workbook e tra workbook, e segnalano relationship della stampante mancanti, con tipo errato o pendenti, senza vincolare una parte binaria non correlata
  • I writer tipizzati numeric, string e variant per righe e colonne fanno crescere la capacità delle celle in modo geometrico tra batch ripetuti, accodano i batch di righe forward direttamente in vettori di righe sparsi pre-dimensionati, troncano in sicurezza ai limiti del foglio di lavoro, preservano handle stabili in caso di sovrapposizione ed evitano il dispatch via callback
  • OpenDocument (.ods) lettura e scrittura: importa fogli di calcolo esistenti tramite Open / OpenODS, esporta tramite SaveAsODS o SaveAs(xlsxOpenDocumentSpreadsheet), regola l'output con TODSExportOptions, e fa fare round-trip a stili, rich text, immagini, grafici, convalida dati, formattazione condizionale, impostazioni di pagina, aree di stampa, gruppi outline, struttura dei fogli e metadati della cartella di lavoro; le opzioni di esportazione conservano ricalcolo, annullamento dell'avanzamento, diagnostica e protezione da scrittura normali, e l'output su file preserva la destinazione esistente in caso di fallimento di serializzazione o annullamento
  • Le regole di confronto di celle e le regole a espressione di ODS preservano lo stile differenziale del carattere, gli sfondi solidi o trasparenti e i formati numerici supportati su destinazioni complete a righe intere, colonne intere e ampie usando portatori compatti di celle vuote ripetute; gli attributi cancellati esplicitamente sopravvivono, la formattazione di base non correlata resta su ogni cella, e i colori a tema o indicizzati vengono esportati come colori risolti
  • Import multi-formato: OpenDocument (.ods) e CSV / TSV con sniffing del separatore, rilevamento del BOM e inferenza opzionale del tipo di valore
  • Rilevamento tramite firma del contenuto: DetectExcelContentFormat esamina i byte iniziali di un file o stream per distinguere file composti BIFF, package OOXML, package OpenDocument e testo delimitato semplice a prescindere dall'estensione, ed entrambi i motori di cartella di lavoro rifiutano i container non corrispondenti con un messaggio chiaro che indica il loader giusto
  • Testo visualizzato formattato: la proprietà FormattedText in sola lettura (su IXLSRange e TXLSXCell) renderizza il valore di una cella attraverso il suo formato numerico — separatori, percentuali, maschere data/ora, maschere multi-sezione, formati booleani — riproducendo ciò che Excel mostra nella griglia
  • Monitoraggio delle modifiche ai file: TXLSFileMonitor osserva una cartella di lavoro su disco e scatena OnFileChanged quando un altro processo la sovrascrive con un salvataggio, con un intervallo di polling configurabile e il recapito degli eventi sul thread principale o sul thread di watcher; gli handler possono fermare o distruggere il monitor, oppure cambiare il file osservato
  • Richiesta della password: l'evento OnPassword del motore XLS classico chiede all'applicazione una password quando Open incontra una cartella di lavoro cifrata con password mancante o errata, e riprova l'apertura
  • Pennello di formato: TXLSXCellFormat descrive una sola volta font, riempimento, bordo, allineamento, formato numerico e protezione, poi lo applica a celle, intervalli, righe, colonne o fogli interi — si applicano solo gli aspetti toccati, e gli indici dei pool vengono risolti una volta per applicazione, per una formattazione bulk veloce
  • Righe streaming unificate: TXLSRowCursor percorre sorgenti .xls, .xlsx, .xlsm, .ods, CSV o TSV riga per riga (FindFirst / FindNext) tenendo in memoria solo la riga proiettata corrente o il template di ripetizione ODS, spingendo i limiti di riga e la selezione delle colonne prima dell'allocazione dei valori, preservando i risultati delle formule in cache e i blank con stile archiviati, distinguendo la presenza di una formula dalla disponibilità del testo della formula, sopprimendo opzionalmente il testo delle formule, saltando le celle ODF covered, saltando direttamente tra le colonne selezionate negli span ODS ripetuti, decodificando BOM UTF-8 o UTF-16 e record di testo quotati multilinea, riconoscendo delimiter virgola, punto e virgola, tab o pipe, e fornendo lookup ValueByCol a tempo costante; stati di ciclo di vita espliciti, annullamento idempotente, ownership dello stream presa in prestito o trasferita, viste di riga zero-copy con verifica di generazione, PeakRowBufferedBytes e SheetPassesStarted rendono le scansioni lunghe osservabili e sicure, mentre TXLSForwardReader adatta gli stessi backend a callback di fogli e celle a base uno senza aprire le parti dei fogli di lavoro saltate
  • Progresso e diagnostica: le cartelle di lavoro XLS classiche e XLSX forniscono callback di lavoro più callback begin/work/end con annullamento, mentre IXLSWorkbookProgress e TXLSXWorkbook.Diagnostics espongono codici stabili, gravità, operazione, contesto di foglio o package, valori di ritorno nativi e dettagli delle eccezioni
  • Salvataggi failure-safe: i fallimenti di commit di fogli classici, grafici, estensioni di stile, VBA, control-stream, storage e output si propagano al chiamante, mentre l'output su disco di XLS, XLSX e ODS viene messo in staging prima che la destinazione venga sostituita atomicamente
  • La sostituzione della destinazione su Windows tollera handle di metadati e di lettura che consentono l'eliminazione sui filesystem che supportano la rename POSIX, mentre i lettori esistenti conservano i byte originali; l'accesso delete, i lock di non condivisione delete e la protezione readonly vengono verificati prima di un singolo commit, senza retry di salvataggio, e i filesystem più vecchi o non supportati conservano il percorso di commit legacy
  • Diagnostiche azionabili sul salvataggio dei file: TXLSXWorkbook.SaveAs(FileName) e il suo overload con formato esplicito preservano l'errore Windows nativo quando la sostituzione della destinazione fallisce, con codice di diagnostica 1005 e la destinazione originale lasciata intatta
  • Archiviazione compatta di celle e stili: le celle XLSX vivono in blocchi da 256 righe con handle pubblici stabili e serializzazione row-major cache-friendly; le voci di riga non portano tag di payload ridondanti, e le modifiche a valori, formule e rich text evitano la riclassificazione degli indici; gli stili delle celle importati si risolvono attraverso un unico array cellXf a indice diretto immutabile; e la compattazione automatica del pool di stili scarta font, riempimenti, bordi, formati numerici, allineamenti e protezioni non referenziati prima di ogni salvataggio
  • Overlay di stile per intervalli: la formattazione di riga, colonna e rettangolo resta compatta senza materializzare oggetti cella vuoti, si risolve in lazy all'accesso alla cella, sopravvive alle modifiche strutturali e fa round-trip come voci compatte di colonna, riga e celle con soli stili
  • Salvataggio normale con righe in streaming: StreamingWrite (il default) scrive ogni riga del foglio di lavoro direttamente nello stream deflate del package, così il picco di memoria segue la singola riga più grande, mentre shared strings e parti XML ausiliarie fluiscono una voce alla volta attraverso un unico serializer UTF-8 riutilizzabile
  • Apertura metadata-only: TXLSXWorkbook.MetadataOnly analizza proprietà del workbook, nomi definiti, nomi e stati di visibilità dei fogli, stili, tema, connessioni e link esterni, ma salta il XML delle celle dei fogli di lavoro più shared strings, dati di commenti e persone, relationship dei fogli di lavoro, drawing, grafici, tabelle, query table, pivot e payload opachi raggiungibili dai fogli di lavoro, per una scoperta veloce e a bassa memoria di proprietà e nomi da cartelle di lavoro grandi
  • Gli slot verso cartelle di lavoro esterne in XLSX seguono l'ordine di dichiarazione di workbook.xml e trattenono placeholder vuoti per le relationship rotte, mantenendo stabili i successivi riferimenti di formula [N] tra caricamento e salvataggio
  • Caricamento selettivo dei fogli di lavoro: TXLSXWorkbook.SelectedSheets permette a Open di analizzare il XML delle celle solo per i fogli nominati, mentre gli altri fogli conservano nomi e visibilità ma nessuna cella; chiama LoadSheet(Index) per materializzare su richiesta un foglio saltato dall'archivio originale
  • Copia incrementale delle parti compresse: TXLSXWorkbook.PreserveRawParts apre un archivio sorgente privato e validato per ogni operazione di SaveAs e copia senza modifiche le voci di tema, progetto VBA, connessione, link esterno, immagine, grafico, tabella pivot, pivot cache e voci opache raggiungibili via relationship con i loro payload compressi originali; i salvataggi su file riusciti diventano la successiva baseline pulita, mentre le cartelle di lavoro basate su stream, i file sorgente modificati, i payload alterati, i metodi di compressione non supportati e le incongruenze di dimensione compressa usano un fallback di serializzazione transazionale o percorsi di rifiuto
  • Preservazione delle estensioni della cartella di lavoro: apertura e salvataggio XLSX trattengono dichiarazioni di namespace estranee alla radice del workbook, attributi markup-compatibility, payload <extLst> completi a livello di workbook e le loro relationship sconosciute, mentre fogli, nomi, viste, proprietà di calcolo e pivot cache tipizzati restano modificabili; i riferimenti delle relationship vengono rimappati quando gli ID generati vanno in conflitto
  • Slicer: Worksheet.Slicers.Add(Table, ColumnName) crea slicer per tabelle (Excel 2013+) in modo end-to-end — cache dello slicer, nome definito riservato, estensione del foglio di lavoro e ancoraggio di drawing inclusi — con controllo su posizionamento, didascalia, numero di colonne, stile e altezza delle righe; i workbook che contengono slicer creati con Excel (tabella o tabella pivot) li preservano intatti nei round-trip di apertura e salvataggio, riproducendo byte per byte le parti e gli ancoraggi non modificati mentre il workbook circostante resta completamente modificabile
  • Finestre multiple della cartella di lavoro: TXLSXWorkbook.WorkbookViews espone una collezione ordinata con operazioni add, insert, delete, move e clear, stato tipizzato di visibilità e geometria, attributi ed estensioni sconosciuti modificabili, e remapping del workbookViewId dei fogli di lavoro; le proprietà consolidate a finestra singola restano proiezioni compatibili della prima vista
  • Nomi definiti esterni e fallimenti di refresh: TXLSXExternalLink analizza, archivia e fa fare round-trip alle voci <definedNames> delle cartelle di lavoro collegate, mentre ogni TXLSXExternalSheetData traccia un flag RefreshError per lo stato di fallimento del refresh senza richiedere una sorgente dati live
  • Import degli appunti multi-formato: XLSPasteFromClipboardRich preferisce il formato degli appunti XML Spreadsheet (formule, stili, unioni) al testo Unicode semplice, con funzioni dedicate di rilevamento del formato, estrazione e parsing SpreadsheetML 2003
  • Scambio degli appunti Biff8 nativo: CopyToClipboard su entrambi i motori pubblica accanto a testo e HTML il payload "Biff8" nativo di Excel in formato compound document, e PasteFromClipboard lo consuma per primo — i valori arrivano privi di re-parsing dipendente dalla locale, i riferimenti relativi delle formule si ri-ancorano sul target dell'incolla, e formati numerici, font, riempimenti, bordi, allineamento e celle unite fanno round-trip sia tra cartelle di lavoro HotXLS sia da copie di Excel
  • I PasteFromClipboard XLS e XLSX catturano insieme BIFF8 e testo di fallback sotto un unico lock degli appunti, mantenendo la politica di retry esistente e usando il testo catturato leggibile senza riaprire gli appunti quando BIFF8 non è disponibile o non può essere analizzato; il BIFF8 leggibile resta utilizzabile se il suo testo companion non può essere recuperato, e un testo non disponibile da solo non inserisce nessuna cella
  • I fallimenti di pubblicazione del testo richiesto e del BIFF8 negli appunti preservano la diagnostica Win32 GetLastError originale attraverso la pulizia, per un'ispezione immediata da parte del chiamante
  • Markup rich text: la proprietà TaggedText della cella converte in entrambe le direzioni tra run di rich text e tag leggeri (<b>, <i>, <u>, <s>, <sub>, <sup>, <color=#RRGGBB>, <font=Name>, <size=N>)
  • Lettori degli appunti compatibili a 64 bit con retry in caso di contesa, matching in cache delle destinazioni di formattazione condizionale e convalida dati per aree assolute, invertite, a righe intere, a colonne intere e separate da spazi, ricerca delle regole, eliminazione, valutazione condizionale e controlli di convalida coerenti, e un indice dei collegamenti ipertestuali PDF navigato per ricerca binaria
  • Estensibilità del calcolo: registrazione delle funzioni utente per nome, una API di audit per le funzioni sconosciute, aperture in recovery mode che saltano le parti danneggiate, scambio nativo degli appunti Biff8 e matching in cache degli intervalli della convalida dati
  • Immagini PDF: le immagini dei fogli di lavoro vengono incorporate come XObject Flate RGB con passthrough JPEG e riuso degli stream PNG (nessuna ri-codifica, canale alpha preservato tramite soft mask), le immagini byte-identiche vengono incorporate una sola volta, i blocchi keep-together e XlsxAutoPageBreaks allineano la paginazione, e ZipCompressionLevel e DeterministicOutput controllano l'output del salvataggio
  • Pipeline di output PDF: gli stream di contenuto delle pagine sono compressi Flate, le operazioni di testo consecutive condividono blocchi di testo in batch con selezione font e colori deduplicata, i riempimenti adiacenti uguali si fondono in rettangoli singoli, e i segmenti di bordo collineari vengono tracciati come run fusi — file più piccoli e generazione più veloce; OnProgress e OnProgressEx, con capacità di abort, riportano gli stati begin, page ed end, mentre Cancel ferma le esportazioni lunghe senza commettere un PDF parziale nello stream di destinazione
  • Fedeltà del testo delle celle in PDF: word wrapping reale con allineamento verticale dei blocchi e righe giustificate o distribuite, testo ruotato e impilato verticale, shrink-to-fit, overflow alla Excel nelle celle vuote vicine con clipping, allineamento a destra dei numeri sotto l'allineamento general, rientro, run di rich text con stile, dimensione, colore, sottolineatura, barrato, apice e pedice per singolo run, bordi diagonali e doppi, e testo che attraversa celle unite — tutto posizionato attraverso advance width Helvetica calibrate via GDI
  • Fedeltà di stampa PDF: intestazioni e piè di pagina stilizzati con i codici Excel per dimensione font, colore, grassetto/corsivo/sottolineato/barrato e apice/pedice, modalità di stampa in bianco e nero, intestazioni di riga e colonna stampate, centratura di stampa orizzontale e verticale, indicatori dei commenti più una pagina di elenco dei commenti a fine documento tramite PrintCommentsAtEnd, link GoTo nel documento per i collegamenti ipertestuali interni, una preferenza PageLayout del viewer con metadati XMP, larghezze di colonna MDW accurate come Excel, e incorporazione di collection TrueType con tagli grassetto/corsivo sintetizzati del face Unicode
  • Grafici PDF: i grafici dei fogli di lavoro vengono disegnati come vettori nativi — colonne/barre raggruppate, in pila e in pila percentuale, linee con marker, aree, torte e ciambelle con etichette percentuali, dispersione e radar — con cornici con titolo, assi ed etichette dei tick auto-scalati, griglie, legende, etichette dati, riempimenti per serie e la palette di accenti predefinita di Excel; i grafici ancorati oltre l'ultima cella di dati estendono la superficie stampata
  • PDF interattivo: i collegamenti ipertestuali dei fogli di lavoro diventano annotazioni di link cliccabili e ogni foglio esportato riceve un segnalibro nella struttura del documento
  • Estensibilità a livello di package: proprietà personalizzate del documento tipizzate, parti di dati XML personalizzate, companion SVG delle immagini, etichette dati dei grafici per serie prese dalle celle con cache indicizzate e override di visibilità per punto, stili di tabella definiti dall'utente con colori per sezione, e una API di audit della convalida dati che elenca ogni cella in violazione
  • Miglioramenti di fedeltà del formato: i formati numerici di tempo trascorso [h]:mm:ss e di frazione # ??/?? vengono renderizzati ovunque, le parentesi [Red] ricolorano il testo PDF, i riempimenti a sfumatura delle celle fanno round-trip e si renderizzano in HTML/PDF/viewer, riquadri bloccati e scorrimento dei riquadri vengono riletti, DispBlanksAs/PlotVisibleOnly sono proprietà dei grafici, le caselle dei commenti si dimensionano tramite WidthPt/HeightPt/AutoSizeFromText, e ValidateNumberFormat verifica le stringhe di formato personalizzate
  • Ricerca con semantiche Excel: FindText / ReplaceText supportano wildcard (*, ?, escape ~), matching dell'intera cella, sensibilità alle maiuscole, ricerca del testo delle formule, scansione all'indietro, ordine di scansione per colonne, FindTextIn / ReplaceTextIn a finestra che confinano la ricerca in un intervallo rettangolare, e una callback di sostituzione per match; raggruppamento con semantiche Excel tramite AddSubtotals (righe SUBTOTAL etichettate, totale generale, livelli outline, interruzioni di pagina e modalità replace), A1ToR1C1 e R1C1ToA1 che convertono le formule tra gli stili di riferimento A1 e R1C1 in entrambe le direzioni, più WriteAutoValue per lo sniffing dei tipi di testo alla Excel (date ISO, US m/d/yyyy ed europee d.m.yyyy con orari AM/PM opzionali), aggregazione di intervalli con GetRangeStatistics, SortRange case-insensitive che preserva le formule con le semantiche di riferimento di Excel (le parti $ restano, i riferimenti relativi si ri-ancorano), frammenti HTML di singola cella con GetHtmlFromCell, e frammenti HTML come run di rich text con SetCellFromHtml
  • Sfondi dei fogli: SetBackgroundImage crea immagini a tiling in entrambi i motori di cartella di lavoro; XLSX preserva l'ownership dei media del package attraverso le copie dei fogli di lavoro, mentre il Classic legge e scrive record di sfondo BIFF8 tipizzati con split continuo del payload, preservazione esatta dei formati sconosciuti, isolamento delle copie e conversione tra motori per i formati noti; il viewer della cartella di lavoro mostra gli sfondi validi dietro le celle non riempite, mentre stampa, PDF, SVG, bitmap, metafile ed entrambi gli esportatori HTML tengono gli sfondi disabilitati per default ed espongono ExportSheetBackgroundImages per l'output esplicito, con continuità di fase tra pagine e riuso delle risorse per sessione
  • Profondità del motore di formato: le sezioni condizionali dei formati numerici ([>=100]) selezionano per valore, le sezioni di testo (@) fanno da template alle stringhe, TaggedText accetta <br>, <strong>/<em> e le forme con attributo <font color=...>, ConvertFormulasToValues offre una modalità only-external su entrambe le facade, i blocchi keep-together di colonna completano quelli di riga, i controlli modulo Spinner/ScrollBar classici vengono scritti in XLS, e l'auto-fit delle righe gestisce le celle unite
  • Scambio con gli appunti: PasteFromClipboard legge testo delimitato da tab nelle celle con promozione dei tipi number/date/boolean e riconoscimento delle formule, mentre la CopyToClipboard a livello di intervallo pubblica sia testo tabellare Unicode sia HTML stilizzato con formule, celle unite, link, formattazione di visualizzazione e preservazione dei delimiter incorporati
  • Viewer modificabile della cartella di lavoro: TXLSWorkbookViewer si aggancia direttamente a uno dei due motori di cartella di lavoro, carica file XLS, XLSX, XLSM, XLTX, XLTM o ODS, renderizza stili e formattazione condizionale senza materializzare le celle XLSX sparse, e aggiunge editing in place consapevole delle celle protette, input tramite barra delle formule, ricalcolo automatico, selezione rettangolare, eventi di riferimento delle formule e undo/redo delimitati a O(1)
  • Le cache delle tabelle pivot dell'XLS classico usano stream di archiviazione indipendenti con identificatori univoci, riferimenti della sorgente a fogli o a nomi, nomi dei fogli Unicode e lettura/scrittura cifrata della cache; le estensioni delle cache esistenti conservano i loro byte originali al salvataggio
  • Designer riutilizzabile dei layout pivot: TXLSPivotDesigner espone le zone available, riga, colonna, filtro e valori, riordino deterministico dei campi, aggregazione predefinita consapevole dei tipi, modifiche esplicite dell'aggregazione, validazione del layout e applicazione del risultato per i modelli pivot XLS o XLSX
  • Controlli modulo classici: i fogli di lavoro e le collezioni di shape possono creare, enumerare, modificare, eliminare e fare fare round-trip ai controlli button, radio-button, checkbox, combo-box e list-box, con etichette tipizzate, stati di spunta, resa flat o 3D, binding di macro, celle collegate, intervalli sorgente, tipi di controllo e ancoraggi alle celle
  • L'ispezione dei grafici dell'XLS classico tramite GetChartModel decodifica la famiglia del grafico, lo stato 3-D, i titoli del grafico e degli assi, la legenda, gli assi con il loro gruppo di assi primario o secondario, i nomi delle serie, le categorie, le formule dei valori e i flag di visualizzazione delle etichette dati delle serie con separatori, il binding per serie al gruppo grafico primario o secondario, i riferimenti di categoria e valore con nome o esterni, lo stile linea, riempimento e marker per serie con riempimenti a colori tema trasportati dall'estensione tema colore OfficeArt GelFrame (indice colore tema più tint), i parametri completi della scena 3-D dallo stream del grafico e i link pivot-chart (nome della vista della tabella pivot sorgente più il flag hide-field-captions tramite i record SXViewLink / PivotChartBits), e gli oggetti grafico incorporati ancorati sui fogli di lavoro ordinari tramite AddChartObject, insieme alle linee di tendenza per serie (tipo di regressione, ordine o periodo, intercetta automatica o fissa, visualizzazione di equazione e R-quadrato, forecast e backcast, nome visualizzato) e alle barre di errore (lato della direzione, tipo di valore, terminali, magnitudine)
  • Immagini tipizzate di intestazione e piè di pagina XLSX tramite TXLSXWorksheet.HeaderFooterImages, che copre tutti gli slot sinistro, centrale e destro sulle pagine dispari, pari e sulla prima, con byte delle immagini, formati, titoli, dimensioni in punti, margini in punti, codici campo automatici per le immagini, copie dei fogli di lavoro e round-trip open/save sicuri per le relationship accanto ai commenti
  • Effetti immagine XLSX modificabili tramite TXLSXImage, inclusi bordi di ritaglio in percentuale, trasparenza, luminosità, contrasto, riempimento stretch o tile, rotazione in gradi e preservazione strutturale del DrawingML importato non correlato
  • Costruzione avanzata dei grafici XLSX e round-trip con gruppi di plot ordinati a colonna, barra, linea, torta, area, dispersione, bolla, radar, borsa, superficie e 3D, veri grafici combinati con ordine di disegno esplicito dei gruppi di plot, coppie di assi primario e secondario, assi di date e serie tipizzati, viste 3D configurabili, stili della galleria Excel, stili del testo di titolo, legenda e assi, layout manuali di plot, titolo, legenda e titolo degli assi, cache delle serie sparse di stringhe o numeri, cache di categorie multi-livello sparse con risoluzione live degli intervalli bidimensionali, e preservazione modificabile delle estensioni e della formattazione ChartML sconosciute
  • Patch di formato selettive: TXLSXRange.ApplyFormatPatch copia solo i componenti richiesti di font, riempimento, bordo, formato numerico, allineamento o protezione, affianca con tiling i pattern sorgente più piccoli sulle destinazioni più grandi e lascia intatti i valori delle celle
  • Esportazione dati master-detail: TDataToXLS.ReadDetailTables esporta ricorsivamente i dataset di dettaglio collegati e attivi sotto ogni record master, mentre IndentDetailTables aggiunge una colonna di rientro per livello di relationship e le impostazioni di esportazione ereditate mantengono la gerarchia visivamente coerente; gli eventi di record e valore write-ahead possono filtrare i record e trasformare i valori dei campi senza disturbare i cursori dei dataset
  • Creazione di WordArt: TXLSXWorksheet.AddWordArt crea testo DrawingML ancorato alle celle con warp preimpostato configurabile, colore di riempimento del testo e colore del contorno, mentre i successivi cicli open/save preservano l'ancoraggio completo della shape
  • Preservazione delle parti OOXML non supportate: le parti personalizzate raggiungibili da relationship sconosciute a radice del package, workbook, foglio di lavoro o drawing conservano ID di relationship safe dalle collisioni, content type, relationship figlie, scelta di compressione ed esatti byte del payload attraverso i round-trip open/save, con opt-out e diagnostiche delle parti trattenute su TXLSXWorkbook
  • Tabelle in stile Excel con stili, intervallo e criteri di filtro, stato di ordinamento, identificatori di colonna stabili, etichette e funzioni della riga dei totali, formule delle colonne calcolate, formule della riga dei totali, modifiche di righe e colonne consapevoli della struttura e helper di raccolta per il round-trip
  • Regole tipizzate degli errori ignorati del foglio di lavoro tramite TXLSXWorksheet.IgnoredErrors, che copre ogni categoria di errore standard, riferimenti di celle multi-area, copie dei fogli di lavoro, modifiche di righe e colonne e round-trip open/save
  • Authoring tipizzato dello Scenario Manager What-If tramite TXLSXWorksheet.Scenarios, inclusi scenari attivi e mostrati, intervalli di celle variabili, stati bloccato e nascosto, commenti utente, valori di input e formati numerici, copie dei fogli di lavoro, modifiche strutturali e round-trip open/save senza riparazioni
  • Tabelle dati What-If tipizzate tramite TXLSXWorksheet.AddDataTable e DataTables, che coprono le semantiche di input per riga, input per colonna, due variabili, input eliminato, ordine di calcolo, copia del foglio di lavoro, modifica strutturale e round-trip SpreadsheetML
  • Connessioni dati esterne tipizzate tramite TXLSXWorkbook.Connections e risultati delle query dei fogli di lavoro tramite TXLSXWorksheet.QueryTables, inclusi policy di refresh, credenziali, impostazioni database, web e testo, valori dei parametri tipizzati esatti, binding di tabelle e campi, modifiche strutturali, copie dei fogli di lavoro e round-trip OOXML safe per le estensioni
  • Politica completa di calcolo della cartella di lavoro tramite CalcMode, RefMode, impostazioni di iterazione, flag di ricalcolo, controllo della piena precisione e impostazioni di calcolo concorrente, con default dello schema e persistenza indipendente dei non-default, più memo RecalcLookupCache e RecalcAggregateCache su opt-in che permettono alle scansioni ripetute di XLOOKUP/XMATCH, VLOOKUP/HLOOKUP/MATCH e SUMIF/COUNTIF/AVERAGEIF più alle SUM/AVERAGE/MIN/MAX/COUNT incondizionate su un unico intervallo semplice di riutilizzare il primo risultato durante un passaggio di ricalcolo, attivandosi solo quando il grafo delle dipendenze è dimostrabilmente stabile nei riferimenti, così i risultati non differiscono mai
  • Politica di ricalcolo al salvataggio tramite RecalcBeforeSave (manual, if-dirty, always) più l'ispezione dello stato dirty con RecalcNeeded e il recupero del valore di una singola cella con RecalcCell dopo un ricalcolo completo
  • Placeholder di valore per i report con fallback {{name;default}}, espressioni dbvalue/dbcount/tonumber/ref su un DataContext registrato e una sessione dati isolata per esecuzione, celle {{=formula(...)}} pure scritte come formule live, e direttive strutturali {{#imgsize}}, {{#comment}}, {{#html}}, {{#sheetvisible}}, {{#deletesheet}}
  • Tabelle utente lazy tipizzate tramite celle {{#usertable(alias, logicalName, providerKey, name=expression)}} esatte, con controlli di sintassi a compile-time, preflight statico senza resolver, parametri tipizzati dinamici, enforcement dei provider registrati, diagnostiche dei conflitti case-insensitive, limiti di dichiarazione e caricamento al primo uso tramite dbvalue o dbcount; TXLSReportGenerator.DataContext e TXLSReportTemplateChecker.DataContext portano lo stesso registro in generazione e validazione
  • Modellazione dei dati dei report tramite combinatori lazy Filter, Sort multi-chiave stabile e Distinct; gli adapter FromDataSet e FromObjects collegano dataset aperti e liste di oggetti con proprietà published come tabelle dei report; le bande RunBidirectional danno a ogni riga master le proprie colonne guidate dai figli; PreprocessAndRun permette ai template di auto-modificarsi sui dati prima del fill finale
  • Opzioni di incolla dagli appunti (soli valori, inserimento di righe/colonne) su entrambi i motori di cartella di lavoro, e diagnostiche OnSkippedRecord sul direct reader, sul row cursor e sul forward reader che espongono i riferimenti di celle malformate saltati e le scansioni BIFF dei fogli interrotte
  • I round-trip della protezione shared-revision dell'XLS classico passano attraverso SharedRevisionProtected e SharedRevisionPasswordHash, e i report gestiscono la cifratura end to end: i template cifrati si aprono con la password e RunToEncryptedFile emette un risultato cifrato in un solo passaggio
  • CopyRangeTo/CloneRangeTo tra cartelle di lavoro rimappano gli stili delle celle per valore tra i pool, e CreatedDate, LastSavedDate, RevisionNumber e EditTimeMinutes dell'XLS classico fanno round-trip attraverso lo stream di summary OLE
  • Il rendering dei grafici consuma GapWidth, Overlap e il raggruppamento in pila / in pila percentuale del gruppo di plot a barre, così i grafici a barre e colonne renderizzati rispettano le semantiche di layout del modello
  • I grafici fanno fare round-trip alla formattazione del chart-space (angoli arrotondati, colori di sfondo/bordo/area plot) e ai cinque interruttori di protezione del grafico, con il renderer che consuma i colori; Smooth a livello di serie e i colori di riempimento/bordo dei marker fanno round-trip e si renderizzano come segmenti curvi; gli assi portano la modalità di intersezione e gli stili dei tick, e AutoTitleDeleted sopprime i titoli derivati
  • TXLSPDFWriter costruisce PDF senza alcun foglio di calcolo: dimensioni di pagina esplicite, flusso multipagina, rettangoli/linee/ellissi, testo misurato, trasformazioni, clipping e controllo dello stato grafico
  • L'AutoFit offre un flusso a due fasi MarkSheet/ApplyMarked con misurazioni in sospeso ispezionabili, limiti della regione di adattamento, IgnoreStrings, KeepHeightAutomatic, un minimo DefaultRowHeightVisual e FitWorkbook in una sola chiamata
  • I font Unicode PDF supportano politiche di incorporazione automatica, a subset richiesto, a programma completo e a sola mappa, programmi OpenType CFF standalone, posizionamento GPOS/kern condiviso tra misurazione e disegno, una callback OnFontEmbed pre-risoluzione e un resolver famiglia/stile OnGetFontDirectories con cache ricorsiva; l'output PDF/A continua a richiedere i programmi dei font incorporati
  • Helper di raccolta per cercare, eliminare e riordinare fogli, tabelle, grafici, immagini, intervalli uniti e link esterni per nome o posizione
  • Creazione dei grafici da un intervallo di dati in una sola chiamata: AddChartFromRange e le scorciatoie AddColumnChart / AddBarChart / AddLineChart / AddPieChart / AddAreaChart derivano automaticamente serie e categorie da un blocco di dati, come l'inserimento di un grafico da selezione di Excel
  • Inserimento ed eliminazione di righe e colonne che aggiusta le formule, le colonne delle tabelle e i loro metadati di filtro o ordinamento, invalida i riferimenti strutturati delle colonne tabella eliminate per tutti i consumatori di formule, partiziona le regole di formattazione condizionale a valore di cella e a espressione più le convalide dati quando le aree modificate richiedono anchor di formula diversi, mantiene integri i domini della formattazione condizionale aggregata, e sposta automaticamente nomi definiti, collegamenti ipertestuali, serie dei grafici incluse le dimensioni delle bolle e gli ancoraggi di immagini, grafici, caselle di testo e WordArt
  • Calcolo delle formule che condivide l'evaluator XLS classico con registri di funzioni utente globali al processo e locali al workbook, semantiche di override locali al workbook, invocazione degli handler lock-free safe per il parallelo, operatori di array in broadcast ed errori per cella, matrici multivariabile complete di LINEST / LOGEST, predizioni modellate di TREND / GROWTH, copertura delle funzioni di testo, data, giorno lavorativo, ingegneria/conversione di base, bitwise, statistiche, aggregazione e matematica, ispezione ISFORMULA che preserva i riferimenti senza ricalcolare il target, XMATCH / XLOOKUP binari logaritmici, rilevamento degli argomenti opzionali di ISOMITTED, conversione di array ARRAYTOTEXT / VALUETOTEXT, calcoli validati di XIRR / XNPV, timing degli investimenti e tassi di crescita di PDURATION / RRI, ammortamento VDB a periodi frazionari e callback OnUserFunction per funzioni personalizzate; AnalyzeFormulaIssues fornisce un preflight strutturato per funzioni mancanti, riferimenti esterni e componenti esatti delle dipendenze circolari
  • I riferimenti strutturati in forma di riga corrente (Table[@Col]) vengono valutati sulla riga della cella della formula nel ricalcolo seriale e parallelo
  • L'analisi delle dipendenze espande i nomi definiti da formule con ambito e annidati, inclusi i riferimenti multi-area, e usa i cycle guard solo quando la risoluzione statica delle dipendenze è impossibile
  • Le formule condivise scritte da Excel si aprono con ogni follower espanso alla sua espressione corretta relativa alla cella nei percorsi full-workbook, direct reader streaming e row cursor, mentre gli anchor degli array CSE e i follower sopravvivono alle modifiche strutturali sicure dell'intero array, alle copie di intervalli completi, alla duplicazione dei fogli di lavoro e alle copie di fogli tra cartelle di lavoro
  • Le matrici dinamiche possono essere scritte con TXLSXRange.SetDynamicArrayFormula, trattengono gli intervalli delle formule e i metadati XLDAPR attraverso i cicli open/save, condividono un unico record di metadati deduplicato tra le radici, rimappano quel record durante le copie tra cartelle di lavoro e lo rimuovono dopo che l'ultima radice è stata cancellata
  • Composizione di array calcolati include TRANSPOSE tipizzato, moltiplicazione, determinanti e inversione di matrici calcolate, selettori negativi e vettoriali per CHOOSECOLS / CHOOSEROWS, vettori di lookup calcolati e richieste array per XLOOKUP / XMATCH / MATCH, e operazioni stack e reshape con limiti di passi di valutazione e di memoria degli array
  • Authoring di controlli modulo sui fogli di lavoro XLSX (AddFormButton / AddFormCheckBox / AddFormRadioButton / AddFormComboBox / AddFormListBox) con shape VML, parti ctrlProps e round-trip verbatim dei file con controlli
  • Valutazione live tra cartelle di lavoro XLSX tramite la ExternalWorkspace che preserva i path e la facade compatibile RegisterExternalWorkbook: i target completi delle relationship e le estensioni restano distinti, gli alias ambigui falliscono esplicitamente, la distruzione del target revoca in sicurezza l'adapter live, e le cache tipizzate locali al file restano il fallback senza accessi impliciti a file o rete
  • Confronto tra cartelle di lavoro tramite TXLSXWorkbookCompare, che riporta le differenze di fogli, celle, formule e unioni come lista strutturata o report di una riga per differenza
  • Generazione di codice dalla cartella di lavoro tramite TXLSCodeGen (dialetti Delphi e C++Builder) e validazione dell'import delle regole di colonna tramite TXLSImportCheck con annotazioni in font rosso e commenti più compattazione keep-only-violations
  • I record XLS dei fogli di lavoro non riconosciuti fanno round-trip verbatim — i record specifici del vendor o di specifiche più nuove vengono catturati in lettura e riprodotti al salvataggio
  • Shape a geometria predefinita tramite AddPresetShape — qualsiasi token OOXML ST_ShapeType viaggia nel drawing verbatim e fa round-trip
  • Elaborazione dei template: ApplyTemplate sostituisce i placeholder {{key}} su tutto il foglio e FillTemplateBand clona i blocchi del template per record con traduzione delle formule, formattazione condizionale dipendente, convalide, link, commenti, immagini, grafici, cloning delle unioni e condizionali #skip a livello di riga; CloneRangeTo espone lo stesso percorso di copia consapevole delle dipendenze con payload selezionabili; TXLSCompiledReportTemplate compila una sola volta le posizioni dei placeholder e i frammenti di testo per esecuzioni ripetute attraverso celle, rich text, commenti, collegamenti ipertestuali, testo dei drawing, intestazioni e piè di pagina, nomi dei fogli, nomi definiti e proprietà del documento senza riscandire il workbook, e supporta diagnostiche di preflight indirizzate, validazione rigorosa prima della mutazione e fogli di diagnostica; TXLSCompiledReportRunner aggiunge progresso a livello di target, annullamento, conteggi deterministici delle applicazioni, stato riutilizzabile di completamento o fallimento, eventi di ciclo di vita appaiati di workbook e foglio di lavoro, snapshot recuperabili delle problematiche e output atomico su stream, file o file cifrato; TXLSReportGenerator aggiunge eventi di lettura del template, sorgenti da workbook, file, stream e file cifrato più modifica in place o tramite clone atomico; IXLSReportTable, IXLSReportCursor, provider e resolver lazy per esecuzione e indici di relazione a chiavi composte forniscono sorgenti dati virtuali o in memoria riutilizzabili senza forzare il caricamento delle tabelle non referenziate, mentre TXLSReportTableFactory compone viste top, proiettate, contate, minime, aggregate, union, split e hash-joined senza copiare payload completi delle righe intermedie; le gallerie eseguibili Delphi e C++Builder dimostrano lo stesso data context, runner compilato, foglio di diagnostica, LastResult e percorso RunToFile
  • Bande di report strutturali con nome: TXLSCompiledReportBand risolve un nome definito rettangolare esatto con ambito workbook o foglio di lavoro e lo espande verso il basso, a destra o su entrambi gli assi a partire da snapshot limitati di righe e colonne in un solo passaggio, preservando tipi dei valori, formule a riferimenti misti, unioni, regole, convalide dati, collegamenti ipertestuali, commenti, drawing e metadati espliciti di layout di righe o colonne, rifiutando le strutture parziali non supportate prima della mutazione
  • Le copie ripetute di intervalli e bande di report riutilizzano le ricerche per suffisso dei nomi definiti con ambito, conservando la nomenclatura del primo disponibile dopo eliminazioni, rinomine o cambi di ambito
  • Le bande di report su tabelle Excel espandibili tramite TXLSCompiledTableReportBand usano un unico snapshot delimitato del cursore per espandere una singola riga di data-template conservando intestazioni, totali, intervalli di tabella e AutoFilter, stato di filtro e ordinamento, metadati delle colonne, formule calcolate e dei totali, stili, riferimenti strutturati e oggetti dipendenti del foglio di lavoro; i risultati vuoti rappresentabili rimuovono la riga del data-template, mentre le tabelle basate su query e i layout non sicuri vengono rifiutati prima delle scritture strutturali
  • Le bande di report su intervalli e tabelle Excel condividono ErrorMode, StrictDataAccess, RuntimeLimits e diagnostiche LastResult immutabili; WriteAndContinue archivia un fallimento di riga esplicitamente recuperabile come testo letterale con la sua riga di input e il suo indirizzo di output effettivo, poi continua con i target e le righe rimanenti, mentre i fallimenti strutturali e di risorse fatali fanno il rollback dell'espansione
  • Scansione di celle e righe con callback a valore grezzo o testo visualizzato, find & replace su template e scrittura bulk
  • Gestione centrale dei file di scratch (i file temporanei registrati vengono ripuliti alla finalizzazione), controllo di decifratura post-scrittura VerifyEncryptedSave su opt-in, e costanti dei limiti di griglia per formato con un evento OnExportLimit sull'esportatore di dataset
  • Helper di convalida dati con dropdown a elenco in una sola chiamata da un array di stringhe, modalità IME tipizzate condivise tra XLS classico e XLSX, formule di tabella che trattengono attributi di array indipendenti, estensioni della formattazione condizionale, esportazione HTML configurabile con classi di stile CSS centralizzate, e salvataggio e caricamento cifrati AES — ECMA-376 Standard Encryption (AES-128) con accelerazione AES-NI, più la lettura della Agile Encryption predefinita di Excel (derivazione della chiave SHA-512, AES-128/192/256)
  • Gli esportatori HTML classico e XLSX usano snapshot di geometria xlsrgbHtml di proprietà dell'operazione per convertire le larghezze in caratteri, attraverso le metriche della massima larghezza cifra del font Normal, in lunghezze CSS fisse, riutilizzano un'unica cache delimitata per operazione multi-foglio, espongono lo snapshot attivo per la diagnostica e preservano le dimensioni archiviate dei fogli di lavoro
  • Valutazione preparata della formattazione condizionale XLSX con layering di priorità e StopIfTrue, formule relative, statistiche multi-area condivise, regole Top/Bottom e media, valori duplicati e univoci, periodi di date relativi, stili differenziali consapevoli del tema, color scale, data bar direzionali e tutte le famiglie di icon set integrate
  • Apertura XLSX tollerante: i prefissi dei namespace vengono normalizzati durante il parsing, così i fogli di lavoro, i grafici, i drawing e le proprietà del documento legati a namespace non canonici o ISO 29500 strict si caricano come file ordinari, e i fogli di lavoro le cui righe o celle omettono gli attributi di posizione inferiscono ogni cella dopo la sua precedente in ordine di scansione
  • Output Strict Open XML tramite StrictOOXML: l'intero package XLSX — fogli di lavoro, shared strings, stili, tema, drawing, grafici, commenti, proprietà del documento e parti preservate — viene salvato in conformità ISO/IEC 29500 strict con i vocabolari purl.oclc.org, e i tipi di relationship strict si risolvono all'apertura esattamente come quelli transitional
  • L'apertura XLSX dell'intera cartella di lavoro fa fluire le voci ZIP dei fogli di lavoro direttamente negli inflater e nei reader XML locali ai worker, senza trattenere copie di staging del XML dei fogli gonfiato e limitando la memoria transitoria di input dei fogli di lavoro ai worker di parsing attivi
  • Direct reader streaming (TXLSDirectReader) che scandisce .xlsx / .xlsm cella per cella con eventi per cella e per foglio e un footprint di memoria quasi costante per cartelle di lavoro molto grandi, riportando valore, tipo, testo della formula e indice di stile di ogni cella con rilevamento delle date opzionale, abort anticipato che si propaga nell'input ZIP e nella decompressione, row-range pushdown e proiezione delle colonne a tempo costante prima della decodifica dei valori; gli eventi di layout su opt-in espongono dimensioni dei fogli di lavoro, dimensioni predefinite, span di colonne, metadati delle righe, riquadri bloccati o divisi e intervalli uniti prima delle celle dipendenti; il parsing parallelo delimitato fa fluire gli inflater dei fogli di lavoro locali ai worker in code producer-consumer con budget indipendenti, preservando l'ordine delle callback sul thread chiamante, la preservazione delle rich string espone i run formattati, gli intervalli fonetici e le proprietà fonetiche, e lo store delimitato delle shared string tiene in memoria le tabelle piccole mentre migra le tabelle più grandi e i payload rich verso uno storage temporaneo indicizzato con eliminazione alla chiusura
  • Direct writer streaming (TXLSDirectWriter) che produce cartelle di lavoro .xlsx cella per cella, emettendo ogni foglio di lavoro direttamente nel package man mano che le righe arrivano, così i file molto grandi vengono generati con un footprint di memoria quasi costante; copre shared string inline o deduplicate, rich string con run formattati e fonetici, numeri, booleani, date, formule, stili di cella a livello di package riutilizzabili con handle clonati, font/riempimenti/bordi/formati numerici deduplicati, enfasi dei font, sottolineatura, outline e ombra, 19 pattern di riempimento, 14 stili di bordo su cinque lati, allineamento orizzontale e verticale, wrapping, riduzione, rientro, rotazione, prefissi quote, protezione locked/hidden, formati numerici integrati e personalizzati, larghezze di colonna, altezze di riga, righe e colonne nascoste, intervalli uniti, intervalli AutoFilter di fogli e tabelle con filtri per valore, blank, gruppi di date, personalizzati, dinamici, top/bottom e stati di ordinamento, protezione dei fogli di lavoro con permessi granulari, metadati password legacy o moderni e intervalli protetti modificabili, protezione della struttura e della finestra della cartella di lavoro, riquadri bloccati, colori delle schede dei fogli, viste dei fogli da destra a sinistra, toggle di visualizzazione della vista del foglio, margini di pagina, testo di intestazione/piè di pagina, opzioni di stampa, impostazioni di pagina, impostazioni adatta-a-pagina, interruzioni di pagina manuali, collegamenti ipertestuali dei fogli di lavoro su più fogli, nomi definiti della cartella di lavoro e locali al foglio, intervalli definiti generati, aree di stampa, righe o colonne di titolo di stampa, convalide dati con prompt e avvisi di errore, formattazione condizionale con otto operatori a valore di cella, espressioni, matching del testo, classifiche top/bottom, media, duplicati/univoci, predicati blank/errore, data bar, scale a due e tre colori, 17 famiglie di icon set, stili differenziali di font/riempimento, controllo di priorità e stop-if-true, parti di tabelle Excel con nomi delle colonne, flag delle righe di intestazione/totali, commenti di tabella, etichette e funzioni delle colonne della riga dei totali, formule delle colonne calcolate, formule della riga dei totali e opzioni di visualizzazione dello stile di tabella, più canali laterali del foglio corrente per commenti classici, sorgenti di immagini in streaming, DrawingML ancorato, grafici tipizzati basati su formule e ChartML fornito dal chiamante
  • Continuazione dell'overflow su opt-in (AutoSplitRows) che spezza le esportazioni sui fogli <name>_2 quando arriva una riga oltre il limite del foglio di lavoro, e FillTableCalculatedColumn spinge la formula di una colonna di tabella in ogni riga di dati, come fa l'authoring di Excel
  • Patching in place dei fogli di lavoro tramite BeginPatch: il writer in streaming riscrive un foglio di lavoro di un package esistente mentre ogni parte intatta viene copiata con i suoi byte compressi verbatim — sostituisci un foglio di dati o aggiungine uno nuovo senza ri-scrivere il template; inizializzazione e finalizzazione fallite rilasciano gli handle della sorgente, chi chiama resta responsabile delle registrazioni delle sorgenti temporanee, e il writer può essere riutilizzato dopo un fallimento di inizializzazione
  • Oggetti camera tramite AddCamera: immagini snapshot live vincolate a un intervallo di celle, seguendo l'estensione di drawing della camera tool documentata; il binding fa round-trip attraverso salvataggio e riapertura
  • Allegati PDF tramite AddAttachment — i file viaggiano nell'esportazione come voci /EmbeddedFiles con un name tree, e IXLSPDFAttachmentSource può fornire ogni payload in lazy una volta per salvataggio attraverso uno spool delimitato; l'assemblaggio finale fa fluire gli oggetti in sequenza verso la destinazione, così i payload degli allegati vengono copiati in chunk fissi con un oggetto di lunghezza indiretta e il picco di memoria resta piatto
  • Output esplicito PDF/A-1a, 1b, 2a, 2b, 3a e 3b tramite PDFAProfile, inclusi identificazione specifica del profilo, gestione del colore, tagging, allegati e regole di validazione atomiche; UsePDFA resta un interruttore di compatibilità per PDF/A-2b
  • L'esportazione PDF gira in un layout classico o in un layout PDF 1.5 su opt-in con object stream compressi e uno stream di riferimenti incrociati binario (UseXRefStream) per file più piccoli
  • L'esportazione PDF supporta callback di progresso begin, page ed end riutilizzabili con annullamento e nessun commit parziale dello stream, più annotazioni di commento Unicode opzionali posizionate sulla cella che possono coesistere con le pagine dei commenti a fine documento
  • Gradienti e trasparenza PDF usano shading assiali o radiali nativi con funzioni multi-stop cucite, maschere alpha per stop, pattern di riempimento delle celle, ombre delle immagini, clipping a livello di pagina e cache delle risorse a livello di documento; i profili PDF/A selezionati applicano le loro restrizioni grafiche prima del commit dell'output
  • Le catene di fallback dei font PDF consapevoli degli stili tramite SetFontFallbackChain, AddFontFallback e ClearFontFallbackChains selezionano i face incorporati per famiglia sorgente, livello di stile e copertura dei glifi, mettono in cache i face caricati e le selezioni, preservano gli scalari supplementari e i cluster di grafemi tra run, tengono distinte le sequenze Unicode con glifi condivisi tramite mapping CID e rifiutano atomicamente l'output PDF/A invece di usare un font non incorporato
  • TXLSPageImageExporter costruisce la paginazione una volta ed esporta incrementalmente le pagine XLS o XLSX selezionate come PNG o JPEG con DPI, scala, qualità, progresso, annullamento e durata del bitmap per pagina configurabili; ExportRange scrive un unico rettangolo di celle stretto e gli eventi before/after paint espongono la canvas effettiva della pagina attraverso un contesto in sola lettura con limiti in pixel, dimensioni di pagina, risoluzione, scala, numeri di pagina e foglio di lavoro di origine, scattando esattamente una volta per frame renderizzato, inclusi i frame multipage TIFF
  • TXLSCellImageExporter misura, renderizza e salva qualsiasi rettangolo di celle classico o XLSX come una singola immagine compatta senza artefatti di paginazione, con risoluzione, scala, formato e qualità JPEG configurabili, PNG trasparente o sfondi colorati, interruttori indipendenti per oggetti, griglia e bordi delle celle, budget di pixel e byte validati prima dell'allocazione, e salvataggio su file tramite una sostituzione atomica nella stessa cartella che non danneggia mai un target esistente in caso di fallimento
  • L'export ODS traduce formule scalari supportate, riferimenti A1 qualificati, convalida Booleana personalizzata, limiti con valore formula e sorgenti di elenco in OpenFormula; i dialetti di formula delle celle non supportati conservano il fallback di compatibilità, mentre definizioni di validazione e riferimenti non supportati vengono omessi insieme
  • Le altezze di riga ripetute ODS e gli stili delle celle vuote usano intervalli compatti; l'output ODS trattiene le altezze di riga e le code stilizzate ripetute, mentre le modifiche a riga singola, la cancellazione, la copia dei fogli di lavoro, gli spostamenti di righe, il tiling e l'esportazione XLSX preservano le altezze effettive
  • La fornitura di righe in modalità pull (OnNeedRow + RunRows) guida il writer in streaming da una pipeline di dati una riga alla volta
  • I fogli di lavoro da destra a sinistra si specchiano nell'esportazione PDF e si invertono tramite dir="rtl" in HTML, completando il round-trip del flag di visualizzazione
  • La modalità di visualizzazione zero del foglio di lavoro nasconde lo zero numerico reale, inclusi risultati delle formule, valori di valuta e zero base delle date, attraverso viewer ed esportazioni visive prima della formattazione numerica o della misurazione del testo; la modalità di visualizzazione delle formule ha la precedenza, le visualizzazioni della formattazione condizionale e i collegamenti ipertestuali restano attivi, e i valori archiviati, il testo formattato pubblico, l'output CSV e ODS conservano i loro contratti esistenti
  • La modalità streaming a larghezze tracciate su opt-in (TrackColumnWidths) mette in staging il foglio di lavoro in memoria, così il file finito porta l'hint <dimension> del used range e larghezze di colonna dimensionate sul valore più lungo visto per colonna, approssimando l'autofit per dati noti solo mentre fluiscono
  • Modifiche strutturali di righe e colonne XLSX safe rispetto ai riferimenti, che aggiornano formule, nomi definiti, regole, link, drawing, impostazioni di stampa, intervalli protetti, anchor dei commenti classici e in thread, sparkline, sorgenti e viste pivot tipizzate e riferimenti riconoscibili di estensioni preservate in un'unica transazione sorvegliata, con una API ordinata di partecipanti per i metadati di proprietà dell'applicazione
  • Albero XML compatto ad accesso casuale (TSimpleDomReader) che si costruisce dallo stesso pull reader in un passaggio per interrogare metadati della cartella di lavoro, relationship, temi e altre parti del package tramite path QName o local-name case-sensitive
  • Valutazione delle formule passo per passo tramite TXLSFormulaTracer con transizioni esatte dello stack degli operandi, più diagnosi interattiva tramite TXLSFormulaDebugger che espone i nodi analizzati, i valori degli operandi, l'ordine di valutazione, le dipendenze di celle e intervalli, le scelte dei rami lazy, le espressioni saltate e le origini degli errori propagati
Versione 2.384.120

Il set completo di funzionalità per workbook, reporting e rendering

Il rilascio corrente amplia le API supportate per workbook, reporting e rendering con percorsi di esecuzione delimitati e regole esplicite di sicurezza del formato

Formati dei workbook e calcolo

  • Mappe XML modificabili e binding di schema a cella singola tramite TXLSXXmlMaps e TXLSXXmlCellBindings, con round-trip delle relationship e validazione prima del salvataggio
  • Stato del workbook a più finestre ordinato tramite TXLSXWorkbookViews, inclusi tab attivi, geometria, visibilità, flag di visualizzazione, estensioni e remapping sicuro degli indici dei fogli
  • Selezioni multi-area e celle attive indipendenti per riquadro per XLS e XLSX, con remapping strutturale e rifiuto atomico degli intervalli non validi
  • Token di formula lossless di proprietà del chiamante tramite TXLSFormulaTokenStream, ParseFormulaTokens, GetFormulaTokens, FormulaTokensToText e SetFormulaTokens
  • Il congelamento delle formule nell'XLS classico classifica i riferimenti BIFF compilati senza decompilare il testo delle formule, converte solo i riferimenti confermati a workbook esterni in modalità OnlyExternal, preserva le formule incerte e congela i gruppi di array in modo atomico, con i risultati letterali stringa intatti
  • Le formule verso workbook esterni in XLSX usano un unico lexer consapevole della grammatica per gli slot numerici, usato per conversione rigida, diagnostica, ricalcolo, copia tra workbook e salvataggi generati, con normalizzazione della compatibilità dei nomi file solo quando esattamente un target registrato corrisponde
  • TXLSXExternalLink espone gli ID delle relationship di origine, gli slot a base uno e i tipi di collegamento workbook, DDE, OLE o non risolto, mentre le modifiche a target ed elenco fogli invalidano i binding esterni compilati tramite un aggiornamento di revisione a tempo costante
  • ConvertExternalDefinedNamesToRefErrors sostituisce atomicamente le definizioni confermate verso workbook esterni con #REF! nativo in XLS classico e XLSX, preservando identità del nome, ambito, visibilità, commenti, metadati macro e built-in, attributi XLSX sconosciuti, formule di cella ordinarie e parti dei collegamenti esterni
  • Ordinamento stabile per riga o colonna con TXLSSortFormulaMode, chiavi orizzontali, comparer personalizzati e la scelta tra preservare le dipendenze logiche e spostare fisicamente le formule
  • Font, formati numerici, stili XF e formule da BIFF2 a BIFF4 modificabili, convertiti nei modelli correnti di workbook e di calcolo durante il caricamento
  • Un'unica facade di callback TXLSForwardReader per XLS, XLSX, CSV e TSV, con proiezione a livello di backend, limiti di riga, stato di presenza formula, soppressione opzionale del testo delle formule, rilevamento del formato e annullamento
  • Viste personalizzate tipizzate per riquadri, selezioni, filtri, impostazioni di pagina e interruzioni di pagina, mentre i record BIFF sconosciuti conservano i loro payload originali
  • Proprietà OLAP tipizzate, selettori di tabelle web, campi a larghezza fissa e parametri di connessione, con il contenuto delle estensioni preservato
  • Diagnostica AnalyzeFormulaIssues per funzioni mancanti, riferimenti a workbook esterni e componenti esatti delle dipendenze circolari
  • Registri UDF thread-safe, globali e locali al workbook, con override locale, ricerca O(1) in media e invocazione degli handler fuori dai lock
  • XLSBidiVisualOrder per testo arabo o ebraico misto, testo latino, cifre, segni combinanti e punteggiatura specchiata, senza modificare il testo logico della cella
  • Strategie di AutoFit per celle unite che assegnano la crescita al primo o all'ultimo membro oppure la distribuiscono sull'intera estensione, sia per XLS che per XLSX
  • Preservazione tipizzata dei fogli macro di Excel 4, più i risultati della sola ispezione di ScanMacroCommands con gli indirizzi dei fogli di lavoro
  • Supporto nel calcolo per ISOMITTED, ARRAYTOTEXT, VALUETOTEXT, PDURATION e RRI, con archiviazione e comportamento degli errori compatibili con Excel
  • Riepiloghi raggruppati del foglio di lavoro tramite TXLSXWorksheet.Subtotal, con formule inserite, totale generale configurabile, formattazione visibile ereditata e gerarchia outline
  • Ispezione dello stile effettivo senza materializzazione tramite GetCellVisibleFormat, più validazione a livello di candidato e commit atomico tramite CheckDataValidation
  • Le aperture metadata-only e a fogli selezionati dell'XLS classico usano gli offset BOUNDSHEET, un archivio delimitato per l'overflow dell'SST e un unico contratto di lettura forward condiviso con XLSX, CSV e TSV
  • Le matrici dinamiche fluiscono direttamente nelle aggregazioni scalari, le ricerche ripetute riutilizzano cache di intervallo incrementali tipizzate, e i token di formula immutabili condividono oggetti stateless tra le compilazioni
  • La materializzazione nativa di pivot locali supporta griglie di report compact, tabular e outline, etichette ripetute, posizioni predefinite dei subtotali e più assi di misura, con celle in cache e metadati wire verificati contro apertura ed esplicito refresh di Excel
  • I calcoli di visualizzazione pivot nativi includono confronti tra elementi base, totali progressivi, percentuali per riga e colonna, percentuali parent, percentuali cumulate e dense rank con output nativo in cache e metadati di refresh
  • REGEXTEST, REGEXEXTRACT e REGEXREPLACE usano il backend UTF-16 in bundle con budget condivisi delle formule; GROUPBY e PIVOTBY supportano callback con scope, più misure, filtri, ordinamento, totali gerarchici e percentuali relative
  • Cancellazione di intervalli e incollaggio di testo Unicode usano una sola transazione di undo/redo limitata con controlli di protezione, snapshot sparsi del contenuto e metadati moderni delle celle ripristinati
  • Immagini PNG/JPEG tipizzate in cella e formati Checkbox sparsi per cella, riga e colonna conservano metadati di accessibilità, precedenza, stili, proprietà del contenuto e modifiche strutturali attraverso i roundtrip XLSX
  • Le letture e scritture XLSB estese conservano formule e cache supportate, nomi, unioni, hyperlink, riquadri, tabelle e filtri con preflight esplicito delle feature non supportate
  • Le API native di workbook Linux x64 e macOS ARM64 caricano, modificano, calcolano e salvano file XLSX, XLSB e ODS supportati usando veri servizi di piattaforma
  • I workbook Classic BIFF8 nativi supportano editing, calcolo, grandi container compound annidati, proprietà del documento e output standard RC4 o CryptoAPI a 128 bit su Linux x64 e macOS ARM64
  • L'output pivot nativo supporta raggruppamento numerico, per data e manuale e undici funzioni personalizzate di subtotale attraverso i layout di report supportati
  • Il confronto dei workbook conserva tipi di valore rigorosi e interi grandi esatti, tolleranze numeriche finite, cache delle formule opzionali, stili effettivi, geometria, rich text e definizioni limitate di feature supportate, inclusi stati locali di pivot, Slicer e Timeline, preservando l'archiviazione sparsa e i risultati precedenti in caso di fallimento
  • ODS preserva testo e autori di note ordinarie, filtri di valore e personalizzati rappresentabili e protezione equivalente senza password, con report precisi delle perdite di conversione; i salvataggi su stream annullati preservano la destinazione, e i salvataggi a posizione non zero conservano offset ZIP validi
  • FORMULATEXT legge le espressioni memorizzate senza valutarne il target, e GETPIVOTDATA interroga aggregati visibili supportati da cache locali scollegate e limitate su XLS, XLSX e valutatori isolati; i valori inline in cache XLS nativi e i riferimenti ai filtri report conservano le loro identità, mentre cache incomplete o non supportate producono errori espliciti
  • INDEX, SORT e UNIQUE accettano array calcolati e costanti, così filtraggio, ordinamento, deduplicazione ed estrazione di righe o colonne si compongono direttamente con il ridimensionamento spill XLSX automatico e il calcolo CSE a intervallo fisso; INDEX accetta array di selettori di riga, colonna e area con broadcasting consapevole dell'orientamento ed errori tipizzati per cella, accetta area 1 per una sorgente calcolata, e conserva l'identità dei riferimenti scalari multi-area supportati attraverso nomi definiti, LET e CHOOSE scalare; vedi selezione di aree con INDEX per esempi e confini
  • Gli stili denominati conservano le parti di formato collegate e gli override locali, mentre ogni stile di tabella built-in chiaro, medio e scuro viene risolto nel formato effettivo usato dai percorsi di modifica ed esportazione
  • Una facade di drawing unificata raggruppa o separa gli oggetti DrawingML e riordina immagini, grafici, caselle di testo, ancoraggi preservati e gruppi annidati, senza perdere le relationship
  • TXLSFormatSnapshot cattura un formato classico completo indipendentemente dal workbook di origine, e IXLSRange.ApplyFormat lo applica a celle, righe o colonne
  • I workbook classici e XLSX espongono le stesse API streaming SaveSemanticSnapshot e ComputeSemanticHash incrementale SHA-256, con i profili Content e SecurityComplete più opzioni esplicite per stato del viewer, metadati volatili e cache delle formule
  • I nuovi fogli XLSX mantengono scritture bulk tipizzate compatibili per riga nell'archiviazione RLE compressa, rispondono alle query di esistenza e alle statistiche di archiviazione senza materializzazione, e si espandono una sola volta in oggetti cella stabili solo quando l'accesso a livello di oggetto lo richiede
  • Gli store di celle e le raccolte di fogli di lavoro classici e XLSX espongono generazioni strutturali indipendenti, così i reader di lunga durata possono rilevare le modifiche alla topologia senza trattare le modifiche a valori, formule, formati, rinomine o attivazione come invalidazioni strutturali
  • Gli handle delle celle mantengono lo stato di stile predefinito senza allocazioni, e le celle vuote con soli stili identici condividono un payload con contatore di riferimenti e isolamento copy-on-write per le successive modifiche locali, con byte risparmiati misurabili nelle statistiche di archiviazione

Reporting compilato e composizione dei dati

  • TXLSCompiledReportTemplate compila una sola volta i placeholder attraverso celle, rich text, commenti, commenti in thread, collegamenti ipertestuali, drawing, grafici, intestazioni, piè di pagina, nomi dei fogli, nomi definiti e proprietà del documento
  • TXLSCompiledReportBand espande le bande di riga, colonna e cross-tab dei nomi definiti a partire da snapshot dei dati limitati e in un solo passaggio, preservando formule, oggetti dipendenti e metadati espliciti degli assi
  • TXLSCompiledTableReportBand espande i modelli di tabella Excel a una riga conservando intestazioni, totali, filtri, ordinamento, formule, stili, riferimenti strutturati e risultati sicuri in caso di zero righe effettive
  • IXLSReportTable, IXLSReportCursor, IXLSReportRandomAccessTable e TXLSReportMemoryTable forniscono un unico contratto per sorgenti virtuali e in memoria
  • TXLSReportRelationIndex costruisce una sola volta bucket tipizzati esatti con chiavi composte, per una ricerca master-detail O(1) in media senza copiare i payload delle righe
  • IXLSReportTableProvider e TXLSReportDataContext registrano tabelle esplicite e lazy, mentre BeginRun crea una IXLSReportDataSession isolata con ricerca hash case-insensitive, negative caching, caching deterministico degli errori dei provider e rilevamento immediato della ricorsione sullo stesso alias; modelli compilati, runner, bande di intervallo e bande di tabelle Excel usano automaticamente una sessione per esecuzione logica, entrambi i passaggi PreprocessAndRun condividono lo stesso snapshot, le esecuzioni concorrenti restano isolate, e ogni percorso di successo, annullamento o fallimento rilascia il proprio snapshot prima di restituire
  • TXLSReportDataRequest e IXLSReportDataResolver aggiungono richieste named o user, con parametri tipizzati ordinati, metadati della sorgente, controllo di esecuzione in sola lettura ed esiti espliciti di tipo non gestito, risolto, non trovato o errore dati; i resolver si registrano con una chiave di provider case-insensitive per un dispatch O(1), i provider legacy restano compatibili tramite un adapter, le tabelle esplicite restano autoritative, e un'esecuzione rifiuta fingerprint in conflitto per lo stesso alias prima di una seconda chiamata al resolver
  • TXLSReportDataLimits pone limiti ad alias in cache, provider con nome e legacy, schemi di tabella, nomi, parametri, stringhe e messaggi di errore; coordinate di sorgente malformate, caratteri di controllo, nomi di parametro duplicati, container Variant non supportati, combinazioni di risultato non valide, ricorsione e annullamento a risoluzione in corso falliscono prima del commit sul target, mentre l'annullamento rimuove la voce di cache incompleta per un retry pulito
  • TXLSReportTableFactory fornisce cursori lazy top, di proiezione, union e split, oltre a conteggi di righe, minimi, aggregati e hash join che preservano i duplicati
  • TXLSReportQueryProvider espone ai modelli solo le definizioni di query registrate in sola lettura e passa parametri tipizzati e timeout delimitati a un executor ospite
  • TXLSCompiledSheetReportBand e TXLSCompiledOverflowReportBand creano, a partire da un cursore forward, fogli per record consapevoli delle dipendenze e fogli di continuazione delimitati
  • TXLSReportIncludeLibrary risolve gli include con nome ricorsivi, riporta i cicli in modo deterministico e si congela in una libreria riutilizzabile immutabile
  • Condizioni, lookup, espressioni regolari e formule dinamiche dei report compilati riutilizzano i nodi di espressione già analizzati e gli indici di colonna già risolti
  • TXLSReportDynamicFormat e TXLSReportFormatEvent applicano formati numerici, altezze di riga e larghezze di colonna consapevoli del record, alla granularità del target compilato
  • IXLSReportImageDataProviderV2 e TXLSReportImageBinder risolvono target di immagine tipizzati a partire da byte delimitati o stream di proprietà, con contesto stabile per foglio di lavoro, banda, tabella, riga logica, riga del cursore, riga corrente in sola lettura, ancoraggio, trasformazione, annullamento e limiti di dimensione; runner, generatori, bande di intervallo e bande di tabelle Excel collegano ogni target direttamente senza scandire le celle del foglio di lavoro generato
  • Le immagini report V2 ricavano dimensioni fisiche e DPI dagli header PNG, JPEG, GIF, BMP, EMF o WMF delimitati, supportano gli adattamenti Natural, Contain centrato, Cover ritagliato e Stretch, rifiutano le geometrie raster non sicure prima della modifica e preservano gli offset relativi all'ancoraggio attraverso i round-trip XLSX e ODS
  • IXLSXImageBlob e TXLSXImageBlob permettono alle immagini ripetute di condividere un unico raster e payload SVG immutabile, con digest SHA-256 calcolato una volta e chiave di cache opzionale; XLSX e ODS riutilizzano payload media distinti attraverso i fogli e ripristinano i payload condivisi alla riapertura
  • Il rebinding dei grafici consapevole delle dipendenze traduce serie, formule, nomi e ancoraggi quando si espandono le bande di intervallo e di foglio
  • TXLSCompiledReportRunner riporta le fasi begin, target, saving ed end, supporta l'annullamento, l'output su stream e su file atomico, i conteggi esatti delle applicazioni e l'esecuzione riutilizzabile attraverso sessioni dati isolate; ErrorMode sceglie tra un comportamento di stop compatibile e la gestione continuata degli errori esplicitamente tipizzati di dati, provider, divisione per zero ed espressione regolare non valida, StrictDataAccess espone i dati mancanti invece dei blank legacy o dei conteggi sentinel, e gli snapshot immutabili di LastResult conservano le problematiche runtime ordinate e lo stato terminale tra i riusi del runner
  • L'output dei report su stream, file e file cifrato usa un'unica transazione a stadi; i fallimenti fatali, di annullamento, di serializzazione, di scrittura parziale su stream e di sostituzione del file preservano integralmente la destinazione precedente, mentre l'output non cifrato riuscito mantiene il formato del workbook di origine e gli snapshot di rollback degli stream grandi traboccano in uno storage temporaneo gestito
  • L'output dei report salta gli snapshot di backup per gli stream di destinazione vuoti, preservando però il rollback del contenuto e della posizione della destinazione se l'output fallisce
  • I target compilati vengono valutati prima della formattazione dinamica, poi committano atomicamente contenuto, formati numerici, altezze di riga e larghezze di colonna con rollback esatto; la diagnostica recuperabile delle celle cancella le formule, conserva lo stile base rimanente e condivide derivati in pool di font rosso e riempimento giallo tra font base uguali, mentre i target non cella sicuri preservano il loro valore originale e i target strutturali restano fail-fast
  • TXLSReportRuntimeLimits limita il numero di problematiche trattenute, la lunghezza dei messaggi sanitizzati e la memoria delle problematiche prima della modifica dei target; i messaggi sono su una sola riga e oscurano le credenziali comuni, e RuntimeDiagnosticsSheetName opzionalmente scrive un foglio di diagnostica strutturato che fa round-trip con il workbook generato
  • TXLSReportGenerator possiede l'intero ciclo di vita di lettura e generazione per i modelli da workbook, file, stream e file cifrato, con eventi appaiati, contesto stabile del foglio di lavoro, annullamento sicuro, isolamento dell'output tramite clone atomico e lo stesso contratto di errori recuperabili e risultato immutabile del runner compilato
  • CloneRangeTo clona le celle selezionate e le dipendenze che portano identità, con traduzione dei riferimenti misti, preflight delle sovrapposizioni e tiling lineare ripetuto a sorgente fissa; le destinazioni condizionali e di validazione a asse intero seguono le modifiche strutturali e le clonazioni che contengono interamente ogni destinazione, mentre le copie di celle a righe, colonne e fogli interi mantengono l'archiviazione sparsa e snapshot sicuri della sorgente sovrapposta; gli overlay di stile virtuale intersecanti vengono anch'essi copiati e rimappati senza espandere le coordinate vuote, e la formattazione overlay della destinazione fuori dal rettangolo copiato resta intatta
  • TXLSReportPaginationPlanner fornisce piè di pagina fissi, gruppi keep-together, suddivisione di righe, unione di span simili e colonne di report bilanciate
  • L'analisi dei report compilati, l'esecuzione rigorosa e WriteDiagnostics riportano placeholder malformati e valori mancanti con il tipo di target e gli indirizzi esatti
  • TXLSReportTemplateChecker e TXLSReportTemplateMigrator riutilizzano la semantica del compilatore per validare i modelli e convertire le forme legacy di placeholder supportate

Output accessibile, vettoriale, immagine e web

  • TXLSPDFTagMode e DocumentLanguage generano alberi di struttura PDF automatici con tabelle, righe, celle di intestazione e di dati semantiche, Figure informative per le immagini XLSX con testo alternativo Unicode, identificatori densi di marked-content per pagina, span di celle unite, alberi padre esatti e isolamento degli artifact per immagini decorative e altro drawing non semantico
  • TXLSPDFSignature supporta campi di firma visibili o invisibili, appearance PNG contained, covered o stretched, dati CMS forniti dall'host, callback per il digest, byte range con patch e politiche esplicite di certificazione DocMDP per nessuna modifica, compilazione e firma di moduli, oppure compilazione, firma e annotazioni, senza memorizzare chiavi private
  • TXLSPDFAProfile seleziona PDF/A-1a, 1b, 2a, 2b, 3a o 3b con validazione del profilo prima del commit dell'output; i file associati PDF/A-3 portano un nome Unicode, un MIME type, una descrizione, una dimensione in byte, un orario di modifica e una relationship Source, Data, Alternative, Supplement o Unspecified attraverso l'overload dettagliato AddAttachment
  • Il progresso riutilizzabile begin, page ed end per PDF più l'annullamento prevengono stream di destinazione parziali
  • Le catene di fallback dei font PDF consapevoli degli stili mettono in cache la copertura dei glifi e i face incorporati, preservando caratteri supplementari, cluster di grafemi e mapping di estrazione
  • Lo shaping del testo complesso contestuale applica legature, posizionamento dei segni combinanti, giunzione araba e mapping dei cluster di origine prima dell'output dei glifi
  • I gradienti PDF assiali e radiali nativi con più stop, le maschere alpha per stop, i pattern di riempimento delle celle, il clipping e le ombre delle immagini riutilizzano risorse grafiche in cache
  • I commenti delle celle possono diventare annotazioni di testo Unicode posizionate nel PDF, mentre l'output dei commenti a fine documento resta disponibile
  • TXLSSvgExport renderizza intervalli, fogli di lavoro, workbook, pagine e oggetti con nome con testo vettoriale, link sicuri su opt-in, grafici, forme e immagini; le callback di pagina restituiscono un SVG completo alla volta, i prefissi ID deterministici isolano i documenti incorporati, e il renderer di pagina condiviso dipinge i riempimenti delle celle Excel, i bordi compressi, font e allineamento per cella, lo shrink-to-fit e l'overflow sulle celle vicine
  • TXLSPageImageExporter riutilizza un'unica sessione di paginazione producendo incrementalmente le pagine PNG o JPEG selezionate, oppure scrive le pagine selezionate in modo atomico come un multipage TIFF compresso LZW
  • TXLSGraphicsBackend e la geometria di paginazione condivisa allineano anteprima, stampa, PDF, SVG, immagine, HTML e posizionamento degli oggetti, mentre i serializer conservano la codifica specifica del formato
  • Il decoder EMF e WMF delimitato valida le buste dei record e rifiuta i record escape prima di riprodurre il suo sottoinsieme sicuro attraverso la geometria condivisa di Canvas e SVG: stack di stato DC, trasformazioni window, viewport e world, tabelle di oggetti pen, brush e pen estesi con stock objects, rettangoli, ellissi, catene di linee, poligoni, curve di Bézier, path brackets con passaggi di fill, stroke e combinati, rettangoli arrotondati, archi, corde, spicchi e archi angolari, riempimenti e cornici di regioni, run di testo delimitati con font e allineamento, e immagini stretch-DIB ricodificate come PNG; il clipping e i record privati restano fuori dalla whitelist e falliscono in modo sicuro nel fallback raster delimitato
  • Gli esportatori HTML classico e XLSX forniscono una vista foglio di calcolo esplicita con intestazioni semantiche di riga e colonna e hot tracking tipizzato in puro CSS; i link esterni condividono un unico sanitizer URI che rifiuta target script, data, blob, file, UNC e contenenti caratteri di controllo
  • I grafici XLSX con asse delle date usano i serial del workbook come coordinate continue, preservano lo slot di compatibilità per il giorno intercalare del 1900, rispettano il sistema di date 1904 e avanzano i tick per giorni, mesi o anni reali del calendario attraverso la paginazione condivisa e il rendering SVG, PDF, immagine, anteprima, stampa, viewer e HTML; le unità omesse vengono inferite una volta su tutte le serie visibili, la densità automatica usa l'ampiezza visibile, la larghezza dell'asse, il font delle etichette misurato, il formato numerico e la rotazione, e le griglie maggiori e minori configurate riutilizzano le stesse collezioni di tick delimitate
  • I modelli di asse delle date XLSX preservano la presenza indipendente delle unità di calendario base, maggiori e minori più il flag di categoria automatica dell'asse delle date, così gli elementi ChartML omessi restano omessi mentre le unità giorno esplicite e i valori Boolean false fanno round-trip; i campi tipizzati di estensione dell'asse delle date classico conservano ogni valore e flag grezzi, mentre i valori attivi possono essere mappati nel modello di asse XLSX
  • Gli assi di categoria multi-livello preservano cache sparse leaf-first e intervalli bidimensionali live, ereditano le etichette omesse trattando le etichette vuote esplicite come confini, uniscono le etichette uguali solo dentro l'intervallo del padre, rispettano l'ordine invertito e da destra a sinistra più le categorie nascoste, ed espongono NoMultiLevelLabels per l'output a singolo livello
  • Le etichette dati dei grafici prese dalle celle preservano formule e cache indicizzate indipendenti per serie, rinfrescano il testo visualizzato locale del foglio di lavoro una volta per generazione del workbook, trattengono le cache esterne senza accesso implicito, traducono le formule attraverso copie di fogli ed espansione dei report, e rispettano la visibilità condivisa e per punto attraverso la paginazione e il rendering SVG, PDF, immagine, anteprima, stampa, viewer e HTML
  • I workbook XLS classici e XLSX condividono una policy di visualizzazione degli oggetti a tre stati lossless; gli oggetti nascosti vengono esclusi prima dell'espansione degli intervalli e del lavoro sui media, il viewer renderizza placeholder leggeri con nome, e gli esportatori PDF, SVG, bitmap, stampa e HTML possono attivare l'output a placeholder, mantenendo per default l'output completo degli oggetti
  • I layout manuali dei grafici preservano la presenza indipendente dei campi e i token di origine non validi, risolvono le modalità factor ed edge con un posizionamento delimitato che preserva le dimensioni, distinguono i target di plot interni ed esterni, condividono la geometria di titolo, legenda, area plot e titolo degli assi attraverso l'output di paginazione, SVG, PDF, immagine, anteprima, stampa, viewer e HTML, e convertono le posizioni ODF supportate attraverso distanze assolute del grafico
  • Gli assi delle date XLSX preservano i formati numerici delle etichette e lo stato del source-link, applicano lo stile del testo dell'asse e la rotazione in senso orario, rispettano la direzione invertita e mantengono una spaziatura continua per date duplicate e scarse attraverso la paginazione e il rendering SVG, PDF, immagine, anteprima, stampa, viewer e HTML
  • La modalità di visualizzazione delle formule risolve lo stesso testo finale consapevole delle celle protette, lo stesso allineamento e la stessa larghezza effettiva di layout limitata al doppio attraverso i percorsi viewer del workbook, anteprima, stampa, immagine, EMF, SVG, PDF, HTML classico e HTML XLSX, senza modificare valori archiviati, cache delle formule o larghezze di colonna
  • Gli archi di Bézier cubici adattivi guidati dalla flatness condividono un unico contratto di precisione attraverso l'output PDF, SVG e immagine, allocando segmenti extra solo quando scala o eccentricità li richiedono
  • Gli outline PDF supportano segnalibri Unicode annidati, colori, testo grassetto o corsivo e discendenti espansi o compressi, con callback di pagina per sfondi e overlay
  • Gli stili di tabella denominati e built-in risolti fluiscono attraverso la formattazione condivisa di HTML, PDF, immagine, anteprima e viewer senza materializzare celle vuote
  • TXLSSvgExport.SaveObjectAsSVG renderizza un grafico, un'immagine o una forma con nome ai suoi limiti esatti di oggetto senza ritagliare una pagina intera
  • L'esportazione HTML emette grafici e forme come SVG inline e preserva immagini SVG, ancoraggi di drawing, link ed effetti supportati senza rasterizzare l'intero foglio
  • TXLSXHtmlExportSession scandisce una sola volta gli stili condivisi e poi esporta i fogli di lavoro in modo incrementale, con progresso, annullamento e reset
  • TXLSImageRenderEffects applica crop, luminosità, contrasto, gamma, rotazione, opacità e ombra in modo coerente attraverso i backend grafici
  • Forme predefinite, regolazioni, callout, diagrammi di flusso, caselle di testo e WordArt usano una geometria vettoriale condivisa nei vari formati di output
  • Il rendering avanzato dei grafici copre barre di errore, linee di tendenza, assi delle date, spaziatura numerica, etichette prese dalle celle con ordinamento dei componenti custom-first, e barre finanziarie high-low e up-down
  • Le etichette dei grafici densi e a torta ricevono una regolazione deterministica delle collisioni e un instradamento delle linee di richiamo prima dell'output vettoriale finale

Funzionalità XLSX pronte per il codice applicativo

L'API XLSX ora copre la generazione pratica di cartelle di lavoro, l'output dei report e gli scenari di modifica delle cartelle di lavoro, invece della sola scrittura semplice delle celle

  • Struttura del foglio di lavoro Celle, calcolo delle formule, intervalli interi e merge-across con lookup/rimozione diretta degli intervalli uniti, dimensioni di righe e colonne con AutoFit delimitato, outline, righe e colonne nascoste, riquadri bloccati, stato del foglio attivo, fogli nascosti e very hidden
  • Stili e presentazione Font, riempimenti, bordi, formati numerici, allineamento, rich text, colori tema, colori indicizzati, tint e shade, bordi diagonali e pool di stili riutilizzabili
  • Oggetti Excel Collegamenti ipertestuali e commenti con lookup per cella più helper di rimozione per intervallo, immagini e caselle di testo di drawing standalone con lookup degli ancoraggi e helper di rimozione per intervallo, formattazione condizionale e convalida dati con lookup consapevole dell'intervallo e helper di rimozione, tabelle in stile Excel con lookup per nome e helper di rimozione, criteri AutoFilter con lookup diretto per colonna e helper di rimozione, oggetti grafico con lookup per titolo e helper di rimozione, fogli grafico, nomi definiti con lookup per ambito e helper di rimozione, preservazione del progetto VBA con query HasVbaProject / VbaProjectDefined più ispezione e modifica del sorgente dei moduli esistenti, e link a cartelle di lavoro esterne con lookup del target e helper di rimozione
  • Supporto pagina e metadati Modalità di vista dei fogli di lavoro, aree di stampa, righe e colonne di titolo, opzioni di stampa di griglia e intestazioni, interruzioni di pagina manuali con lookup per indice ed helper di rimozione per intervallo, cartelle di lavoro Date1904, proprietà del documento, metadati dell'applicazione e salvataggio/apertura su stream

Formati di output dagli stessi dati della cartella di lavoro

HotXLS non è limitato ai file binari delle cartelle di lavoro. Le API attuali espongono percorsi di esportazione diretti per i comuni target di integrazione e reporting

XLS Lettura, scrittura e modifica di cartelle di lavoro Excel 97-2003 classiche, cursore delle celle caricate a stato costante con snapshot di proprietà, blank con stile indipendente opzionale e validazione fail-fast della topologia, rapida scoperta dei nomi dei fogli da file o stream, lookup dei fogli per nome, helper dei riquadri, scheda attiva della cartella di lavoro, metadati saved-by, helper di load/save/clear del payload VBA più ispezione e modifica del sorgente dei moduli esistenti, controlli di geometria/stato della finestra, fedeltà dei flag Window2 per scheda, scrollbar, controlli di raggruppamento date AutoFilter, vista del foglio di lavoro, colore della griglia e riquadri bloccati, controlli dello stile outline, permessi di protezione del foglio di lavoro, flag delle impostazioni di pagina con preservazione delimitata byte-exact del payload del driver di stampa BIFF, accesso al payload pubblico isolato per copia e conversione a XLSX con priorità ai campi tipizzati, ordinamento multi-chiave degli intervalli, stili di cella integrati, proprietà del documento e workflow di esportazione
XLSX Generazione di cartelle di lavoro OOXML, calcolo delle formule con copertura ampliata delle funzioni e riferimenti A1 sull'intera griglia del foglio da 1,048,576 × 16,384 celle, più OnUserFunction/OnUserFunctionEx, cursore delle celle caricate a stato costante su blocchi sparsi materializzati o archiviazione packed con snapshot di proprietà, blank con stile indipendente opzionale e validazione fail-fast del ciclo di vita, scansione delle celle caricate e scrittura via callback, limiti AutoFit delimitati per larghezze di colonna e altezze di riga dei report, conversione deterministica da XLSX sparso a BIFF8 tramite SaveXLSXWorkbookAsXLS con preservazione dei colori indicizzati bloccati, quantizzazione della palette OKLab pesata e impostazioni della stampante tipizzate con preflight, preservazione byte-exact della parte delle impostazioni della stampante dei fogli di lavoro con accesso al payload pubblico isolato per copia, semantiche di clear esatte e diagnostiche delle relationship pendenti, salvataggio e caricamento cifrati AES compatibili Excel (ECMA-376 Standard Encryption) con accelerazione AES-NI e fallback software, preservazione del progetto VBA con query HasVbaProject / VbaProjectDefined più ispezione e modifica del sorgente dei moduli esistenti, find/replace del testo dei template, esportazione HTML configurabile di cartella di lavoro/intervallo, lookup/rimozione diretta dei criteri AutoFilter e valutazione dell'anteprima, lookup/rimozione diretta degli ancoraggi delle immagini incorporate, lookup/rimozione di formattazione condizionale e convalida dati consapevoli dell'intervallo, e round-trip attraverso la facade dedicata lxHandleX
XLSB Valori validati e stili di base attraverso la facade XLSX, incluse tipizzazione dei numeri, valori booleani, testo Unicode, errori ordinari, blank stilizzati, visibilità dei fogli di lavoro, viste ordinarie, dimensioni di righe e colonne, margini di pagina, compressione ZIP e timestamp deterministici; staging completo del package e controlli obbligatori delle feature rifiutano formule, nomi, oggetti feature e impostazioni di calcolo non predefinite non supportate prima del commit della destinazione
ODS Import di OpenDocument Spreadsheet con dati styles.xml, dimensioni di righe/colonne, stili di cella ereditati, conversione di base delle formule, protezione dei fogli, intervalli con nome, valori scalari in cache non tipizzati, secondi frazionari delle date e durate di tempo negative. Esportazione completa tramite SaveAsODS con valori di cella tipizzati, formule, rich text, intervalli uniti, collegamenti ipertestuali, immagini, grafici, formattazione condizionale, convalida dati, riquadri bloccati, aree di stampa, gruppi outline e controllo opzionale TODSExportOptions in un package ODF valido
CSV / TSV Import di testo delimitato tramite OpenCSV con sniffing automatico del separatore, rilevamento della codifica BOM, quoting RFC 4180, inferenza opzionale del tipo di valore, direttive di import per colonna e slicing a larghezza fissa, più helper di esportazione per cartelle di lavoro, fogli di lavoro e intervalli con overload su stream e file e output a larghezza fissa con spaziatura
HTML / RTF / PDF Esportazioni orientate alle tabelle per report, anteprime, corpi delle email e passaggio di documento, inclusi frammenti di intervallo selezionati, titoli HTML configurabili, attributi di layout delle tabelle, ancoraggi dei collegamenti ipertestuali, tooltip dei commenti, stili di allineamento verticale, stili dei run di rich text, stili differenziali condizionali e formati numerici, color scale, data bar direzionali, glifi di famiglie di icone e output tabellare minimo. TXLSHTMLImport importa una tabella top-level selezionata o tutte le tabelle in una cella target a base uno con separatore decimale esplicito, preservando gli overload originali su tutte le tabelle. SaveWorkbookAsHTML pubblica ogni foglio di lavoro XLSX visibile in un unico documento navigabile con ancoraggi stabili per foglio e nomi dei fogli con escape. L'RTF viene anche re-importato tramite OpenRTF, mappando le celle delle tabelle o gli elenchi di paragrafi su A1 per default o su una riga e colonna target esplicite a base uno tramite gli overload estesi. Il SaveAsPDF della cartella di lavoro combina tutti i fogli di lavoro visibili in un unico documento, renderizza riempimenti solidi e condizionali, color scale, data bar, icone condizionali, colori dei font, dimensioni, enfasi grassetto, corsivo e sottolineato, allineamento, bordi espliciti e griglia opzionale, e segue aree di stampa, formato carta o dimensioni carta personalizzate precise al punto, orientamento, margini, zoom, impostazioni adatta-in-larghezza, larghezze di colonna, altezze di riga, interruzioni di pagina manuali, righe e colonne di titolo ripetute e intestazioni e piè di pagina a sinistra, al centro o a destra — inclusi i codici di campo &F per il nome file e &Z per il percorso e la soppressione opzionale della banda di intestazione o piè di pagina — mentre pagina intervalli larghi e alti su entrambi gli assi; CalculatePageCount riporta il conteggio completo delle pagine logiche senza costruire oggetti PDF, e FirstPage e LastPage a base uno selezionano un intervallo di output preservando i campi del numero totale di pagine. TXLSPaginationModel espone quelle decisioni come pagine logiche XLS e XLSX riutilizzabili per l'anteprima di stampa VCL, l'esportazione PDF, canvas personalizzate e output EMF, inclusi titoli ripetuti, ordine over-then-down o down-then-over, scaling di adattamento dal 10% al 400% e posizionamento dei drawing
PDF / SVG / PNG portabili Rendering portabile nativo trasferisce snapshot scalari e di scena scollegati, preserva l'ordine dei disegni e il clipping, e usa rendering Cairo limitato con file di font espliciti; piani di stampa del workbook applicano aree di stampa, titoli, impostazioni di pagina, interruzioni e scaling di adattamento senza ricalcolo né mutazione della sorgente

Perché usarlo

HotXLS tiene la generazione di fogli di calcolo dentro il tuo processo Delphi o C++Builder. Questo lo rende adatto a utility desktop, tool batch, servizi e installer dove l'automazione di Office è fragile o non disponibile

Copertura RAD Studio

Il package copre Delphi e C++Builder da XE5 fino a RAD Studio 13.1 Florence, con progetti di package versionati e cartelle di output per versione

Free Pascal 3.2.2 con Lazarus/LCL è supportato anche su Windows Win32 e Win64 tramite il package runtime Lib/FPC/HotXLSLaz.lpk, incluse le API di cartelle di lavoro XLS/XLSX, lo streaming diretto, le formule e i componenti di esportazione TDataToXLS e TGridToXLS per dataset LCL e TDBGrid

Esegui build-FPC-Lib.cmd Win64 o build-FPC-Lib.cmd Win32 per compilare il package, poi Tests/Lazarus/Run-HotXLSLazarusSmoke.cmd Win64 o la sua controparte Win32 per verificare i round-trip di cartella di lavoro e compressione; imposta LAZARUS_DIR per un'installazione personalizzata

Le applicazioni FPC devono includere l'unità LCL Interfaces prima delle unità HotXLS e aggiungere Lib e Lib/FPC ai loro path di ricerca delle unità, più Lib al path di ricerca degli include; i form demo VCL, il viewer VCL delle cartelle di lavoro e l'adapter per la griglia DevExpress restano componenti Delphi/C++Builder

Le applicazioni native Linux x64 e macOS ARM64 caricano, modificano, calcolano e salvano i modelli supportati di XLS Classic, XLSX, XLSB e ODS; il testo BIFF5 Classic usa codepage dichiarate esplicite, mentre il Unicode compresso BIFF8 conserva unità di codice UTF-16 esatte e il calcolo e la ricerca nativi preservano il matching di maiuscole Unicode

Il testo dei grafici legacy supportato viene transcodificato quando cambia la sua codepage, e la migrazione di testo a byte non rappresentabile o non supportata rifiuta prima di modificare l'output del chiamante; le letture ZIP ripetute rilasciano i metadati di header precedenti, e il lookup degli stili con nome include la prima voce memorizzata

Vedi supporto Free Pascal e Lazarus per la configurazione dell'applicazione, i contratti di codifica legacy e i dettagli di compatibilità delle regex

Il sottosistema di output portabile rende PDF, SVG e PNG nativi su Linux e macOS con FPC, Cairo, FreeType, HarfBuzz e FriBidi; consuma snapshot immutabili dal core nativo supportato del workbook, con geometria esplicita dei font e budget di risorse

Adatto alla distribuzione

Sorgenti, package, script di build, demo, documentazione HTML locale e integrazione con l'installer sono inclusi, così i team possono compilare, testare e spedire senza dipendere da un servizio web

Punti di partenza

Usa prima questi file locali quando valuti la libreria o la colleghi a un progetto