HotXLS-releaseopmerkingen
Versiegeschiedenis van gebruikersgerichte HotXLS-functies, fixes, XLS/XLSX-uitbreidingen, exportupdates, compatibiliteitswijzigingen en documentatiewijzigingen
Last release
- Laatste versie: 2.384.120; Releasedatum: 2026-10-09
Versie 2.384.120
Toegevoegd
- Draagbare Classic XLS-vastlegging ondersteunt gewone kolom-, staaf-, lijn-, spreidings-, cirkel-, donut- en vlakgrafieken met één reeks, met gevalideerde lokaal opgeslagen waarden, kernweergave en door de aanroeper opgegeven grenzen voor tekengebied, titel en legenda
- Alleen-lezen grafiekweergavedeclaraties behouden werkblad- en grafiekidentiteiten, expliciete framedimensies, effectieve legendapuntgroottes en native fontgeometrie voor losse PDF-, SVG- en PNG-uitvoer
- Begrensde helpers inspecteren eenvoudige opgeslagen formuleverwijzingen en gecachete grafiekcellen zonder formules te evalueren of sparsame cellen uit te breiden
Opgelost
- Vastlegging van Classic-grafieken behoudt gebroken opgeslagen font- en markergroottes, bronbezit en leesleases, en wijst misvormde records, onopgeloste weergave en uitgeputte resourcebudgetten af vóór de uitvoer
- Updates van grafiekeigenschappen met double-waarde wijzen niet-eindige waarden af vóór vergelijking of mutatie
- Herhaalde initialisatie van native draagbare cellen geeft eerder toegewezen beheerde strings vrij tijdens de vastlegging
Versie 2.384.119
Opgelost
- Inspectie van Classic-grafieken valideert opgeslagen serietekst, trendlijnnamen en scheidingstekens van gegevenslabels voordat getypeerde toestand wordt toegepast, en geeft partiële modellen vrij wanneer misvormde tekst een fout veroorzaakt
- Gecomprimeerde Unicode-scheidingstekens van gegevenslabels behouden hun volledige opgeslagen tekens
Versie 2.384.118
Toegevoegd
- Inspectie van Classic-grafieken stelt markerdiameters bloot in punten, inclusief gebroken groottes, waarbij de oorspronkelijke opgeslagen eenheden behouden blijven
Opgelost
- Ondersteunde native Classic-grafiekvultabellen decoderen eigenschappen ná complexe items, en misvormde tabellen behouden de voorafgaande getypeerde vulling
Versie 2.384.117
Toegevoegd
- Expliciete helpers voor byte-encoding behouden ingesloten nullen en wijzen tekst af die niet in de gekozen codepagina past
Gewijzigd
- Classic BIFF5-tekst, formules en werkmapmetagegevens gebruiken hun gedeclareerde encoding op Windows, Linux en macOS, met gecodeerde bytelengtes en grenzen op volledige tekens
- Ondersteunde verouderde grafiektekst behoudt zijn oorspronkelijke decoding na bewerkingen en kopieën van de codepagina, en wordt expliciet getranscodeerd voordat hij onder een andere encoding wordt opgeslagen
Opgelost
- Gecomprimeerde BIFF8-Unicode behoudt exacte code-eenheden, en verouderde aangepaste stijlen, grafiektekst en vervolgrecords met double bytes van de formulecache gebruiken hun werkelijke recordlay-outs
- Native Unicode-tekstberekening, criteria, lookup-keys, lokale formulebindingen en Classic zoeken-en-vervangen behouden ondersteunde case-matching
- Het opzoeken van benoemde stijlen pakt de eerste opgeslagen entry zonder die als afwezige naam te behandelen
- Herhaalde lezingen van dezelfde ZIP-entry geven eerdere headermetagegevens vrij terwijl het gelijktijdige gedrag voor opgeslagen en gedeflateerde streams behouden blijft
Versie 2.384.116
Toegevoegd
- Lokale berekende SUM-Pivotvelden evalueren formules vanuit de somcontexten van leaf, subtotaal en eindtotaal, inclusief afhankelijkheden die in de getoonde measures ontbreken
- Berekende items die door de cache worden beheerd, behouden native lididentiteiten, verborgen afhankelijkheden en de globale oplosvolgorde over ondersteunde niet-gegroepeerde velden met tekenreeksleden
- Ondersteunde weergaveberekeningen van berekende items en aggregaatfilters behouden de volgorde van zichtbare leden, de oorspronkelijke filtervolgorde en eenduidige identiteiten van getoonde measures
Opgelost
- Datumprojectie in native Pivot-formules behoudt het datumsysteem van de werkmap tijdens cache-import, klonen en berekening
- Opschoning van caches voor ontbrekende items behoudt gevalideerd eigendom van gematerialiseerde rapporten in beide werkmapdatumsystemen en verouderde opgeslagen rapporten
- Niet-ondersteunde metagegevens van berekende Pivots en bewerkte native uitvoer worden afgewezen voordat werkbladresultaten worden gewijzigd
Versie 2.384.115
Toegevoegd
- Native draagbare PDF-, SVG- en PNG-uitvoer ondersteunt rijke tekst, gemodelleerde vormen, gewone afbeeldingen, afbeeldingen in cellen, booleaanse selectievakjes en zeven ondersteunde gecachete XLSX-grafiekfamilies
- Onveranderlijke afdrukplannen van werkmappen passen volledige afdrukbereiken, herhaalde rij- en kolomtitels, pagina-einden, papierinstellingen, marges, oriëntatie, centrering, schaling en paginavolgorde toe op Linux en macOS
- Expliciete native fontgeometrie ondersteunt vastlegging met generatiecontrole zonder de geometrieprovider van de werkmap te veranderen
Opgelost
- De modus Passend op pagina overleeft roundtrips van werkmappen en negeert verouderde percentageschaling, ook bij onbeperkte afmetingen voor passend maken
- Ondersteunde grafiektitelfonts, lijnweergave en markervullingen en -randen behouden expliciete geïmporteerde en handmatig ingestelde waarden, inclusief zwart
- Rijke tekst behoudt expliciete false-overschrijvingen en onderscheidt effectieve runweergave bij hergebruik van tekenreeksen en semantische vergelijking
Versie 2.384.114
Toegevoegd
- Native toepassingen op Linux x64 en macOS ARM64 laden, bewerken en berekenen Classic BIFF8-werkmappen en slaan die op, inclusief ondersteunde documenteigenschappen en RC4-versleuteling
- Draagbare compound storage ondersteunt geneste scopes, grote geketende DIFAT-containers, metagegevens en expliciet eigendom van native opslaginterfaces
Opgelost
- Werkmappen met 128-bit CryptoAPI adverteren met een compatibele cryptografische provider en behouden leesbare documenteigenschappen in platte tekst
- Native documenttijdstempels gebruiken het juiste FILETIME-tijdperk en behouden UTC-waarden over platforms heen
- Classic gedefinieerde namen delen een canonieke Unicode-identiteit bij scope-opzoeking, in formules en bij het heropenen van de werkmap
- Geëscapeerde scheidingstekens in datumnotaties en ingesloten letterlijke tekst tussen aanhalingstekens behouden de gekozen volledige datumnotatie
Versie 2.384.113
Toegevoegd
- Wissen van bereiken en plakken van Unicode-tekst ondersteunen begrensd atomair ongedaan maken en opnieuw uitvoeren, met voorafgaande controles op beveiliging en structuur
- Getypeerde lokale afbeeldingen in cellen en Checkbox-notaties ondersteunen XLSX-roundtrips, toegankelijkheidsmetagegevens en inhoudsbewerkingen die rekening houden met eigendom
- Sparsame Checkbox-notaties per rij en kolom behouden voorrang, expliciet wissen en afwezige cellen tijdens bewerkingen en XLSX-roundtrips
- Uitgebreide XLSB-ondersteuning omvat formules en caches, namen, samengevoegde cellen, hyperlinks, deelvensters, tabellen en filters
- Native werkmap-API's op Linux x64 en macOS ARM64 laden, bewerken, berekenen en slaan ondersteunde XLSX-, XLSB- en ODS-bestanden op
- Native Pivot-uitvoer ondersteunt numerieke, datum- en handmatige groepering en alle elf aangepaste subtotaalfuncties
Opgelost
- Namen met scope gebruiken consistente Unicode-normalisatie en case-matching op Windows, Linux en macOS zonder accenten of symbolen weg te gooien
- Moderne aggregatieformules compileren consistent met Free Pascal op Windows
- Het openen van een andere werkmap vervangt benoemde stijlen in plaats van stijldefinities uit het vorige bestand te behouden
- Moderne afbeeldings- en control-inhoud overleeft het ongedaan maken van bereiken en het opslaan zonder afwezige cellen te materialiseren
- Geïmporteerde formulecaches behouden oorspronkelijke waardemetagegevens, en gewone metagegevens worden onderscheiden van de inhoud van afbeeldingen in cellen
- Semantische vergelijking onderscheidt lokale afbeeldingsinhoud, toegankelijkheidsmetagegevens en effectieve overgeërfde control-notaties met begrensde, sparsame traversering
Versie 2.384.112
Toegevoegd
- Testen, extractie en vervanging met reguliere expressies ondersteunen UTF-16-tekst, captures, array-broadcasting en begrensde evaluatie op Windows, Linux x64 en macOS ARM64
- GROUPBY en PIVOTBY ondersteunen aggregaat-callbacks met scope, meerdere measures, headers, filters, hiërarchische totalen, sortering en relatieve percentages
Opgelost
- Scalaire SUM-argumenten behouden coercie van booleans en numerieke tekst, terwijl bereik- en matrixaggregatie hun bestaande negeerregels houden
- Booleaanse literals met scope en aggregaat-callbackformules overleven opslag als future function en het heropenen van de werkmap
Versie 2.384.111
Toegevoegd
- Native lokale Pivot-uitvoer ondersteunt verschillen en percentages ten opzichte van basisitems, lopende totalen, rij- en kolompercentages, index, percentages ten opzichte van het bovenliggende niveau, cumulatieve percentages en dense ranking
Opgelost
- Weergaveberekeningen behouden native semantiek voor totalen, ontbrekende waarden, deling door nul en gesorteerde leden, inclusief niet-additieve gemiddelden
- Uitgebreide weergavemodi en basisveldidentiteiten overleven opslaan, heropenen en expliciete vernieuwing door Excel
Versie 2.384.110
Toegevoegd
- Native lokale Pivot-uitvoer ondersteunt compacte, tabulaire en overzichtsindelingen, herhaalde bovenliggende labels, standaardplaatsing van subtotalen en meerdere measures op elk van beide gegevensassen
Opgelost
- Instellingen voor herhaalde labels overleven geïmporteerde namespace-aliassen en opslaan/heropenen, terwijl native uitvoer afwezige kruisingen onderscheidt van numerieke nul
- Gefaseerde lay-outmetagegevens houden veld- en gegevensbijschriften consistent wanneer Excel gegenereerde rapporten expliciet vernieuwt
Versie 2.384.109
Toegevoegd
- Werkmapvergelijking onderscheidt getypeerde waarden en exacte grote integers, ondersteunt eindige numerieke toleranties en optionele vergelijking van opgeslagen formulecaches, stijlen en geometrie
- Begrensde semantische vergelijking dekt ondersteunde namen, regels, tabellen, tekenvolgorde, lege-stijlregio's, effectieve rich-text-runs, lokale Pivot-modellen, Slicer-selecties en Timeline-toestand
Gewijzigd
- Vergelijking behoudt gepakte en afwezige cellen, lost resource-identiteiten op tot effectieve waarden en houdt het vorige geslaagde resultaat vast bij niet-ondersteunde modellen of uitgeputte resources
Opgelost
- Precisievalidatie van getypeerde database-REAL-parameters compileert met Delphi XE5 en behoudt controles op exacte waarde, overflow en null
Versie 2.384.108
Toegevoegd
- ODS-roundtrips behouden gewone notitietekst en auteurs, filters op representeerbare waarden en aangepaste filters, expliciete celbeveiliging en equivalente werkbladbeveiliging zonder wachtwoord
- Conversierapporten behouden precieze metagegevensverliezen door werkbladkopieën en latere opslagacties heen, inclusief niet-ondersteunde filterexpressies en niet-equivalente beveiliging
Opgelost
- Geannuleerde of mislukte ODS-streamopslag behoudt bestemmingsbytes, grootte en positie via begrensde tussenopslag in tijdelijke bestanden
- Geslaagde ODS-opslag die op een streampositie ongelijk aan nul begint, behoudt de prefix en de juiste ZIP-entry-offsets
Versie 2.384.107
Toegevoegd
- Inspectie van opgeslagen formules en verwijzingsbewuste Pivot-aggregaatformules werken in Classic XLS-, XLSX-, alleen-lezen- en geïsoleerde evaluatiecontexten, inclusief beschikbare matrixresultaten en getypeerde fouten
- Pivot-aggregaatquery's honoreren gemodelleerde zichtbare leden, rapportfilters en ondersteunde subtotalen via begrensde evaluatie van een losse cache, zonder de brongegevens te vernieuwen
Opgelost
- Native Excel XLS Pivot-caches behouden opeenvolgende inline numerieke waarden en actuele cache-validiteitsmetagegevens in plaats van onjuiste totalen met herhaalde waarden terug te geven
- Pivot-verwijzingen omvatten het gemodelleerde rapportfiltergebied boven de locatie van de hoofdtabel
Versie 2.384.106
Toegevoegd
- Automatische databasequery's binden getypeerde literal- en opgeslagen-celparameters in positionele volgorde, behouden Unicode, lege tekst, nul, boolean, datums en nulls zonder waarden in de SQL-tekst te substitueren
- Celparameters lezen beschikbare formulecaches en compacte opgeslagen waarden zonder herberekening of materialisatie, met begrensde metagegevensvalidatie en transactionele toepassing van resultaten
Opgelost
- Datumparameters voor Jet en ACE behouden DATE-, TIME- en TIMESTAMP-waarden via getypeerde OLE DATE-bindingen, onafhankelijk van tijdstempelprojecties die per landinstelling verschillen
Versie 2.384.105
Toegevoegd
- Formulemetagegevens lezen de werkelijke identiteit van het bestand waarnaar verwezen wordt, ondersteunde basisgetalnotaties, negatieve kleuren, positieve haakjes, tekstuitlijning, vergrendelde toestand, kolombreedte en berekeningsmodus in XLS- en XLSX-evaluatiecontexten
- Losse inspectie van basisstijlen en sparsame-asvoetafdruk behoudt opgeslagen en gepakte cellen, werkbladstandaarden, themakleuren en geleend werkmapeigendom
Gewijzigd
- Metagegevens van kolombreedte geven de afgeronde tekenbreedte en de standaardbreedte-vlag terug als matrix met twee kolommen; niet-beschikbare omgevingsinformatie van de Excel-toepassing en niet-in te delen notaties melden expliciete fouten
Versie 2.384.104
Toegevoegd
- Importvalidatie ondersteunt strikte scalaire typen, numerieke en datumbanden, expliciete Excel-datumsystemen, samengestelde uniekheid en relaties tussen kolommen
- Gestructureerde overtredingen identificeren het werkblad, de cel, de regel, de gerelateerde kolom en de eerste duplicaatrij, terwijl validatie van opgeslagen waarden gepakte cellen behoudt en niet-beschikbare formulecaches meldt zonder impliciete herberekening
Versie 2.384.103
Toegevoegd
- Automatische tekstquery's vernieuwen bestanden met vaste veldbreedte via gedeclareerde veldstarts, ondersteunde tekenencodings, getypeerde veldconversie, overgeslagen velden en de keuze tussen header of eerste rij
- Vernieuwen met vaste breedte behoudt letterlijke aanhalingstekens, trimt veldopvulling en wijst ongeldige grenzen, te grote invoer en annulering af voordat werkbladwijzigingen worden toegepast
Versie 2.384.102
Gewijzigd
- Symbolische audits van Classic-formules scannen sneller terwijl bevindingen over functies en namen, case-insensitieve deduplicatie, scope en bevindingsvolgorde behouden blijven
Opgelost
- Windows-werkmapopslag, direct patchen van pakketten, PDF-uitvoer en pagina-afbeeldingsuitvoer kunnen op ondersteunde bestandssystemen een bestaand bestand dat door delete-sharing-metagegevens of lezerhandles wordt vastgehouden, atomair vervangen, met behoud van lock-controles, alleen-lezenbescherming en het legacy-pad op niet-ondersteunde bestandssystemen
Versie 2.384.101
Toegevoegd
- INDEX-gebiedselectormatrices worden gebroadcast met rij- en kolomselectoren over berekende matrices en ondersteunde verwijzingsunies op hetzelfde blad, met behoud van oriëntatie, geselecteerde waardetypen en individuele fouten
- Gedefinieerde namen en LET-bindingen behouden de ondersteunde identiteit van verwijzingen over meerdere gebieden, en scalaire CHOOSE behoudt de gekozen verwijzing voor latere berekening
Opgelost
- INDEX accepteert een expliciet gebiedsargument van 1 voor berekende bronnen en onderscheidt ongeldige, ontbrekende, gebroken en buiten bereik vallende gebiedsselectoren
- Unies over bladen heen en unies van berekende matrices worden afgewezen volgens hun ondersteunde foutcontract in plaats van een onjuiste verwijzingsidentiteit aan te nemen
- Ongeldige verwijzingen die door bestaande lokale werkbladen worden gekwalificeerd, behouden hun verwijzingsfouten via directe formules en gedefinieerde namen, inclusief werkbladnamen tussen aanhalingstekens, zonder formuleteksten te wijzigen of onbekende kwalificaties als lokale bladen te interpreteren
Versie 2.384.100
Toegevoegd
- Draagbare headless PDF-, SVG- en PNG-uitvoer op Linux met expliciete fontbestanden, native text shaping, begrensde resources en gefaseerde exclusieve bestandspublicatie
- Alleen-lezen Windows-vastlegging van ondersteunde Classic XLS- en XLSX-rechthoeken in onveranderlijke, overdraagbare snapshots, inclusief opgeslagen formuleresultaten, scoped Table en voorwaardelijke weergave, fysieke afmetingen en volledige samengevoegde gebieden
Opgelost
- Draagbare weergavevalidatie wijst ongeldige enum-representaties consistent af over geoptimaliseerde compilerbuilds heen
Versie 2.384.99
Toegevoegd
- Expliciete automatische queryvernieuwing voor ondersteunde Windows Text-, ADO-, ODBC- en Web-verbindingen, met registratie van aangepaste providers en begrensde resultaten
Opgelost
- Relaties en kolomidentiteiten van native queryresultaten blijven behouden bij ondersteund opslaan en heropenen, zowel met tabel als standalone
- Ongeldige soorten providerverbindingen worden afgewezen vóór dispatch, zonder werkbladresultaten te veranderen
Versie 2.384.98
Toegevoegd
- Aanmaak van lokale Pivot-Timelines, gedeelde-view-verbindingen, inclusieve filtering van hele dagen en beveiligde verwijdering die de selectie wist of behoudt
- Expliciete native vernieuwing van Slicer-no-data-items over verbonden views heen, met cumulatieve resourcelimieten, annulering en behouden selectie en item-identiteit
Opgelost
- Native afhandeling van Timeline-relaties en filtereigendom behoudt ondersteunde geïmporteerde selecties tijdens materialisatie, opslaan en heropenen
- Cross-filter-instellingen van Pivot Slicers blijven behouden via hun native tabulaire representatie
- Timelinedetectie behoudt UTF-16-decodering van werkmap en gekoppelde onderdelen tijdens het laden van Open XML
Versie 2.384.97
Toegevoegd
- Scalaire en berekende-matrix gedefinieerde namen in ondersteunde numerieke en tellende aggregaatberekeningen, met native coercie, dependency tracking en resourcelimieten
Opgelost
- Numerieke aggregatie propageert getypeerde fouten van lokale werkbladverwijzingen, gemiddelden over lege invoer geven deel-door-nul-fouten terug, en mislukte benoemde verwijzingen behouden hun fouten zonder partiële traversering te herstarten
Versie 2.384.96
Toegevoegd
- Berekende-matrix-argumenten voor tekstsamenvoeging en ondersteunde berekeningen van mediaan, orderstatistiek, percentiel, kwartiel, percentrang, meervoudige modus en populatiecovariantie
Gewijzigd
- Het verzamelen van matrices en verwijzingen behoudt native scalaire coercie, getypeerde fouten, de oorspronkelijke covariantieparing en resourcelimieten voor berekening
Opgelost
- Eindige berekening van het mediaanmidden vermijdt overflow met gelijke tekens, en exclusieve percentielen accepteren geldige eindpunt- en singleton-rangen
Versie 2.384.95
Toegevoegd
- Transactionele native uitvoer van compacte Pivot-rapporten met gesynchroniseerde werkbladwaarden, lay-outmetagegevens en vastgelegd celeigendom
- Alleen-lezen beschikbaarheid van Slicer-leden over verbonden views heen, ook onder andere actieve filters
- Expliciete opschoning van historische Pivot-cacheleden met configureerbare retentie en gecoördineerde remapping van gekoppelde selecties
Gewijzigd
- Ondersteunde native Pivot-uitvoer behoudt huidige handmatige filters en bijschriften terwijl niet-ondersteunde indelingen of bewerkte eigencellen worden afgewezen vóór mutatie
Versie 2.384.94
Toegevoegd
- PivotTable-views met gedeelde cache en aanmaak van lokale Pivot Slicers met expliciete werkbladgrenzen
- Transactionele Slicer-verwijdering die de beperking wist of de selectie behoudt als gewone Pivot-filters, inclusief beleid voor toekomstige leden
- Reconstructie van gegroepeerde caches voor vast-numerieke, datum- en discrete groepering met stabiele lid-identiteiten
- Losse previews van native compacte Pivot-lay-outmetagegevens met exacte lid- en aggregaatidentiteiten
Opgelost
- Het heropenen van een gevulde werkmap vervangt nu eerdere getypeerde Pivot-caches, en zelf aangemaakte native Slicer-koppelingen blijven door Excel herkend
- Serialisatie van gegroepeerde caches behoudt gedeclareerde native leddomeinen en officiële eindtotaal- en gegevensas-attributen
Versie 2.384.93
Toegevoegd
- Een gevalideerde XLSB-lezer en -schrijver voor getypeerde celwaarden, basisstijlen, gewone werkbladviews en afmetingen
- Expliciete binaire uitvoer bij het opslaan van werkmappen naar bestand en stream, met automatische detectie van binaire invoer en rapporten over de getrouwheid van de conversie
Gewijzigd
- XLSB-conversie zet volledige pakketten gefaseerd op en wijst niet-ondersteunde functies of berekeningsinstellingen af vóór de uitvoer, ook bij opslag zonder controle of met toegestaan verlies
Opgelost
- Geconfigureerde ZIP-compressieniveaus worden toegepast vóór de initialisatie van de deflater
Versie 2.384.92
Toegevoegd
- Transactionele vernieuwing van de Pivot-cache en veilige werkbladmaterialisatie voor ondersteunde lokale bronnen met gedefinieerde namen en tabellen
- Opzoeken van gedefinieerde namen met werkbladscope en door de aanroeper bepaalde bronbegrenzingen voor cachevernieuwing
Opgelost
- Lokale bronidentiteit en scope van gedefinieerde namen overleven het verplaatsen en hernoemen van werkbladen, inclusief namen tussen aanhalingstekens en Unicode-namen
- De formule-XML van gedefinieerde namen laat het optionele voorloop-isgelijkteken weg dat alleen door de in-memory formulesyntaxis vereist is
- Het ledemaatschap van tabeltotalen volgt het werkelijke aantal totalenrijen en behoudt alle gegevensrijen wanneer alleen de totals-UI-hint aanwezig is
Versie 2.384.91
Toegevoegd
- Berekende-matrix-invoer en getypeerde resultaten voor transponeren, matrixvermenigvuldiging, determinanten en matrixinversie
- Geordende selectorvectoren, duplicaten en negatieve indexen voor rij- en kolomselectie
- Berekende opzoekvectoren en lookup-verzoeken met matrixwaarden, inclusief volledige scalaire lookup-slices en getypeerde fallback-waarden
Gewijzigd
- Matrixwerk, lookup-scans, selectortraversering, kopiëren en opvullen honoreren limieten voor evaluatiestappen en matrixgeheugen, ook in samenstellingen
Opgelost
- Tekstcaches van formules en matrixresultaten worden vóór herberekening correct weergegeven in Excel
- Moderne rich-error-caches bevatten de declaraties van werkmapversie en berekeningsfuncties die nodig zijn voor native gecachete weergave
- Lookup- en afvlakkingsopties wijzen waarden buiten bereik af vóór numerieke vernauwing, terwijl gebroken opties native afkapping volgen
- Lege take-, drop- en flatten-resultaten behouden hun getypeerde berekeningsfouten
Versie 2.384.90
Toegevoegd
- Geïsoleerde Pivot-resultaatpreviews behouden gedeelde Slicer-selecties en filters van de aanroeper zonder de live berekende cache te veranderen
- Veilige werkbladmaterialisatie voor ondersteunde lokale Pivot-bronnen zet resultaten gefaseerd neer, wijst conflicterende inhoud en structuren af en behoudt bestaande celobjecten, opmaak en opmerkingen
- Exact eigendom van getypeerde waarden overleeft XLSX-opslag en heropening, waardoor veilig herschalen en verplaatsen van resultaten en expliciete adoptie van bestaande scalaire Pivot-waarden mogelijk worden
Opgelost
- Het verwijderen van de laatst gekoppelde Pivot Slicer-view wordt afgewezen voordat de bijbehorende tekening, cache, gereserveerde naam of selectie wordt verwijderd
- Het wissen van Slicer-views valideert elke betrokken cache vóór mutatie en ruimt toegestane views, tekeningen en niet-gekoppelde caches gezamenlijk op
Versie 2.384.89
Toegevoegd
- INDEX accepteert selectors voor rij en kolom met matrixwaarden over berekende matrices en werkbladbereiken, inclusief gepaarde selecties en rij-kolom-kruisproducten
Opgelost
- Selectorresultaten behouden getypeerde waarden en fouten, vullen ontbrekende selectorposities aan met #N/A en respecteren limieten voor rekengeheugen en evaluatiestappen
- Gebroken scalaire selectoren die naar nul afkappen leveren volledige rij- of kolomspills op, terwijl negatieve selectoren #VALUE! teruggeven vóór afkapping
- Scalaire bereikselectie behoudt verwijzingsgedrag, en selectorspills herstellen van blokkades, herschalen zich en berekenen opnieuw na opslaan en heropenen
Versie 2.384.88
Toegevoegd
- Getypeerde ledeninspectie, selectie van gedeelde leden en wissen voor ondersteunde geïmporteerde non-OLAP Pivot Slicer-caches
- Verbonden PivotTable-berekeningen combineren Slicer-selecties met onafhankelijke beperkingen op andere velden en door de aanroeper geleverde recordfilters
Gewijzigd
- Selectiewijzigingen valideren elke verbinding en elk lid vóór vastlegging, wijzen dubbelzinnige geïmporteerde maskers binnen hetzelfde veld af en behouden niet-ondersteunde cacherepresentaties
- Wijzigingen in Slicer-cachecollecties respecteren de schrijfbeveiliging van de werkmap wanneer ze verbonden PivotTable-berekeningen raken
- Het verwijderen van gekoppelde non-OLAP Pivot Slicer-caches wordt atomair afgewezen om consistente runtime- en opgeslagen filtertoestand te behouden
Opgelost
- Bewerkte Pivot Slicer-selecties en ledenmaskers van verbonden views worden samen opgeslagen met behoud van geïmporteerde namespaces en onbekende extensies
- Ondersteunde Slicer-verbindingen volgen opgeslagen bladidentiteiten en lossen uitgebreide cache-identificatoren op onafhankelijk van gewone werkmapcache-identificatoren
- Geïmporteerde PivotTable-definities blijven gekoppeld aan hun oorspronkelijke views wanneer werkbladen worden herordend
Versie 2.384.87
Gewijzigd
- Vernieuwing van lokale rechthoekige Pivot-caches behoudt bestaande veld- en lid-identiteiten, voegt nieuwe getypeerde leden toe en houdt filters en selecties van gedeelde views gebonden aan hun oorspronkelijke leden na herordening, verwijdering of herintroductie van de bron
- Bronheaders matchen databasevelden op naam, zodat kolommen herordend kunnen worden terwijl berekende velden hun formules behouden en nieuwe lege record-placeholders krijgen voor latere evaluatie
- Vernieuwen valideert en fasert de volledige bron vóór het bijwerken van de cache, en wijst niet-ondersteunde schema's, brontypen, afgeleide groepering en nieuwe niet-toegewezen discrete-groepsleden af zonder partiële wijzigingen
Opgelost
- Pivot-foutwaarden behouden hun typen en codes in gedeelde items en records tijdens XLSX-opslag en heropening
- Vernieuwde gedeelde-item-domeinen berekenen typevlaggen en representeerbare grenzen opnieuw, en XLSX-cachemetagegevens beschrijven gemengde waarden, datums, fouten, booleans en lege waarden nauwkeurig
- Bronvernieuwing leest afwezige cellen zonder werkbladcellen aan te maken en vergelijkt Unicode-veldheaders zonder hun tekst te vernauwen
- Opgeslagen vernieuwde PivotTable-views zetten nieuwe cacheleden vóór de subtotalitems, met behoud van bestaande ledenvolgorde, hidden-vlaggen en geïmporteerde lay-outextensies
- Paginaselecties blijven aan het juiste lid gebonden wanneer de viewvolgorde afwijkt van de cachevolgorde, berekende velden verschuiven opgeslagen bronrecords niet langer, en vernieuwingstijdstempels gebruiken de numerieke XLSX-representatie
Versie 2.384.86
Toegevoegd
- INDEX accepteert berekende matrices en constanten met scalaire selectie, selectie van de volledige matrix en rij- of kolomextractie, met behoud van verwijzingsgedrag voor bereikbronnen
- SORT en UNIQUE accepteren berekende matrices en constanten, zodat directe samenstelling met FILTER, SEQUENCE, LET en andere matrix-producerende expressies mogelijk is
Gewijzigd
- Samengestelde matrixexpressies behouden automatische XLSX spill-hersizing, matrixberekening op vast bereik, getypeerde fouten en herberekening na opslaan en heropenen
Opgelost
- Matrixselectie en -sortering kappen gebroken numerieke opties af, ongeldige booleaanse optietekst geeft #VALUE! terug, en bewerkingen op berekende matrices honoreren limieten voor geheugen en evaluatiestappen
Versie 2.384.85
Toegevoegd
- XLSX dynamische matrices berekenen nu in automatisch gehersizede spillbereiken, behouden gebruikersblokkades met #SPILL!, ondersteunen spillverwijzingen en expliciete impliciete intersectie, en pakken na heropening het gecachte spill-eigendom weer op
- Conversie-preflight meldt bekende verliezen van het doelformaat, en gecontroleerd opslaan kan die verliezen afwijzen voordat naar een bestaand bestand of stream wordt geschreven
- Expliciete uitvoer van macro-enabled sjablonen behoudt bestaande VBA-projecten in XLTM-pakketten
- Door de aanroeper aangeboden querytabel-vernieuwing ondersteunt begrensde resultaten met vast schema, gesynchroniseerde tabel- en filterbereiken, voortgang, annulering en transactionele rollback
Gewijzigd
- Herhaalde rapportbanden klonen volledige threaded conversaties met ge-remapte identiteiten en behouden rollback wanneer een doel faalt
- Aangepaste boolean-validatie in ODS, ondersteunde grenzen met formulewaarden, lijstbronnen en gekwalificeerde verwijzingen worden vertaald met herbasisering op basiscellen; niet-ondersteunde definities en celverwijzingen worden samen weggelaten
Opgelost
- Matrixformules op vast bereik evalueren ruwe bereikrekeningen element voor element, MAP met meerdere matrices accepteert passende lambda-parameters, en FILTER evalueert berekende matrices en maskers
- Moderne #SPILL!- en #CALC!-fouten behouden getypeerde XLSX rich-value-metagegevens terwijl niet-gerelateerde geïmporteerde metagegevens en rich-value-buckets bewaard blijven
- Nieuw aangemaakte XLSX-formules worden opgeslagen met canonieke argumentscheidingstekens en future-function-prefixen voor interoperabiliteit met Excel; opslaan behoudt de in-memory expressie en heropenen geeft de canonieke formulesyntaxis terug
- Ondersteunde lokale grafiekreeksen vernieuwen caches voor numerieke, tekst-, datum-, fout-, bubble- en hiërarchische categoriewaarden na bewerkingen en herberekening
- Native paginering rendert samengevoegde spans via hun oorspronkelijke anker, knipt paginafragmenten af en onderdrukt binnenranden en rasterlijnen
Versie 2.384.84
Gewijzigd
- De voorbeelden om met Delphi en C++Builder te starten bevatten nu een praktische verkooporder met getypeerde datums, prijzen, kortingen en berekende totalen, en verifiëren opgeslagen XLS- en XLSX-werkmappen na heropening
- Het factuurvoorbeeld koppelt een printbare factuur nu aan bewerkbare betalingsvoorwaarden en een ontvangstenregister, en berekent kortingen, belasting, betalingen en het openstaande saldo
- Het werkbladlay-outvoorbeeld demonstreert nu het aanmaken, opsommen, verwijderen en behouden van samengevoegde koppen na heropening
- Negen extra gerichte API-voorbeeldfamilies zijn verplaatst naar Miscellaneous, zodat de hoofdcatalogus gericht blijft op complete bedrijfsworkflows en interactieve tools
Verwijderd
- De minimale standalone voorbeelden voor samengevoegde cellen en rijke tekst zijn opgegaan in de voorbeelden voor werkbladlay-out en dashboards
Versie 2.384.83
Gewijzigd
- De democatalogus scheidt complete ervaringen en substantiële workflows nu van gerichte API-recepten in de Miscellaneous-map van elk platform, met directe navigatie en kant-en-klaar te bouwen projecten in beide lagen
Verwijderd
- Drie overtollige demo's voor bereiken en werkbladlay-out zijn verwijderd; hun complete scenario's blijven beschikbaar in RangeOps en SheetLayout
Versie 2.384.82
Gewijzigd
- Dashboardgalerijen in Delphi en C++Builder openen direct op een gevulde werkmap met live totalen, gerenderde grafieken, bewerkbare details, prijscenario's en exports van het huidige resultaat
- De API-tour biedt directe navigatie naar dashboard, verkoopgegevens, grafiekvoorbeeld en API-recepten met een herhaalbare dataset die alle twaalf maanden dekt
- Voorbeelden dragen hun vereiste scenario-units en manifestresources lokaal mee, zodat elk project gekopieerd kan worden zonder een aparte gemeenschappelijke map
Opgelost
- De API-tour maakt zijn verkoopgegevens aan voordat dashboardformules worden ingevoerd, zodat de live showcase succesvol kan initialiseren
- Grafieken in de live showcase vernieuwen hun gecachete waarden en labels na herberekening, en herhaalde exports van de C++Builder-galerij behouden huidige bewerkingen zonder gegenereerde rapportbladen op te stapelen
Versie 2.384.81
Gewijzigd
- Voorbeelden van werkbladkopiëren verifiëren onafhankelijke inhoud, ge-remapte opmaak, formules en ingesloten objecten na het heropenen van hun uitvoer
- Voorbeelden voor datumsysteem, zoeken, groepering, matrixformules en afbeeldingen verifiëren hun eigen gedrag en melden mislukte uitvoer via een exitcode ongelijk aan nul
Opgelost
- Classic XLS AutoFilter-bereiken behouden hun volledige rij- en kolomgrenzen na opslaan en heropenen, ook bij gekopieerde filters met actieve criteria
- Dashboardgalerijen maken gerefereerde werkbladen aan voordat formules worden ingevoerd, berekenen totalen vóór export en genereren alle gevraagde begeleidende formaten, ook wanneer een andere uitvoer mislukt
- De C++Builder-dashboardgalerij produceert de gedocumenteerde CSV-, HTML- en RTF-begeleidende bestanden
- Gecompileerde rapporten behouden gewone foutmeldingen in klassieke statische Win64 C++Builder-builds wanneer een bestemming niet vervangen kan worden
- Interactieve API-voorbeelden melden PDF-, HTML- en CSV-exportfouten in plaats van te beweren dat de bestanden geschreven zijn
- De feature showcase voltooit zijn demonstratie van de ondersteunde semantische hash en valideert zijn opgeslagen werkmappen zonder niet-ondersteunde moderne tekeningsnapshots aan te roepen
Versie 2.384.80
Gewijzigd
- De voorbeeldcatalogus groepeert projecten per leertaak en markeert aanbevolen startpunten, formatspecifieke lessen en compatibele projectnamen
- Voorbeelden van werkbladlay-out en bereikverplaatsing delen complete scenario's met behoud van hun bestaande project- en uitvoernamen
- Voorbeelden voor geheugen, geavanceerde CSV, afdrukken, documenteigenschappen, tekstvakken en werkbladbeveiliging demonstreren complete workflows met verificatie van opgeslagen gegevens en expliciete foutmeldingen
Opgelost
- Heropende XLSX-tekstvakken behouden hun tekeningsrelaties bij opnieuw opslaan, zodat annotaties beschikbaar blijven gedurende herhaalde opslag- en heropencycli zonder dubbele XML-namespace-declaraties
- Voorbeelden van batchconversie honoreren Skip existing voordat bronnen worden geopend of schrijvers worden aangeroepen, en verifiëren de succescodes van de werkmap voordat ze voltooiing melden
- Het factuurvoorbeeld neemt betalingsvoorwaarden en zijn volledige titel op in het printbare gebied
- Het consolevoorbeeld voor pagina-instellingen start met gewone gebruikersrechten in plaats van Windows-installatiedetectie te activeren
Versie 2.384.79
Opgelost
- ODS-bestanden die met exportopties worden opgeslagen, behouden de bestaande bestemming wanneer serialisatie mislukt of het opslaan wordt geannuleerd, en melden fouten bij het vervangen van de bestemming consistent
- ODS-exportopties doorlopen de normale opslaglevenscyclus, inclusief herberekeningsbeleid, voortgangsannulering, diagnostiek en schrijfbeveiliging van de werkmap voor bestands- en streamuitvoer
- Streamopslag van XLSX volgt het geconfigureerde herberekeningsbeleid: in de handmatige modus blijven gecachete waarden staan en worden vuile formules vernieuwd wanneer daarom wordt gevraagd
- Voltooide opslagmeldingen voor XLSX en ODS maken van een al vastgelegde uitvoer geen annuleringsfout meer
- Bij een mislukte initialisatie of afronding van het patchen van een streaming-werkblad geeft de schrijver de bronbestandshandles vrij, zodat aanroepers hun tijdelijke bronnen kunnen opruimen en de schrijver na een mislukte initialisatie opnieuw kunnen gebruiken
Versie 2.384.78
Opgelost
- Range-kopieën en -klonen behouden overlappende virtuele opmaak en vervangen eerdere overlay-opmaak alleen binnen de bestemming, ook bij overlappende kopieën en opmaak over werkmappen heen
- Expliciete opmaakresets blijven werken na het opslaan en opnieuw openen van werkmappen met standaardopmaak voor rijen of kolommen
- XLSX-cellen die expliciet de standaardopmaak van de werkmap gebruiken, behouden de bijbehorende aangepaste lettertypen, vullingen en getalnotaties
Versie 2.384.77
Opgelost
- Doelen van voorwaardelijke opmaak en gegevensvalidatie over hele rijen en kolommen volgen rij- en kolombewerkingen en het klonen van bereiken zodra ze volledig binnen de bron vallen, met begrensde doelgeometrie en behouden relatieve formuleankers
- Eindige herhaalde lege stijlen die uit ODS zijn geïmporteerd, behouden hun volledige omvang in het gebruikte bereik, en nieuw aangemaakte of geresette werkmappen melden de huidige bibliotheekversie in de documenteigenschappen
- Celkopieën over hele rijen, hele kolommen en het hele werkblad behouden sparsame opslag, ruimen vervangen bestemmingsinhoud op zonder lege coördinaten uit te breiden en behouden overlappende brongegevens en opmaak over werkmappen heen
Versie 2.384.76
Opgelost
- Regels voor voorwaardelijke opmaak en gegevensvalidatie passen nu consistent toe op absolute, omgekeerde, hele-rij-, hele-kolom- en door witruimte gescheiden doelen bij opzoeken, verwijderen, voorwaardelijke berekening en validatiecontroles
- Misvormde en buiten het raster vallende doelgebieden matchen geen cellen meer, terwijl geldige gebieden in dezelfde regel actief blijven; voorwaardelijke statistieken over het volledige raster behouden sparsame celopslag
- ODS-validatiedoelen gebruiken geldige celankers voor hele rijen en kolommen, en equivalente overlappende voorwaardelijke doelen maken bij het heropenen geen dubbele regels meer aan
Versie 2.384.75
Opgelost
- ODS-regels voor celvergelijking en expressies behouden hun volledige hele-rij-, hele-kolom- en brede doelbereiken in aan Excel compatibele uitvoer; herhaalde lege dragers houden sparsame bereiken compact en behouden overlappende regels en werkbladmetagegevens
- Bij het heropenen van herhaalde, opgemaakte lege gebieden in ODS blijft de basisopmaak compact, en standaard voorwaardelijke regels behouden overlappende prioriteit en dekking binnen samengevoegde gebieden
Versie 2.384.74
Opgelost
- Voorwaardelijke opmaak in ODS behoudt ondersteunde overschrijvingen van lettertype, achtergrond en getalnotatie na opslaan en heropenen, inclusief expliciete resets; regels met andere markeringen of doelbereiken blijven gescheiden
- Voorwaardelijke opmaak in XLSX behoudt ingebouwde en aangepaste getalnotaties, ook notaties die alleen door een voorwaardelijke regel worden gebruikt; opslaan verwijdert die aangepaste notaties niet langer en laat regels niet naar een andere notatie wijzen
- Percentagenotaties in ODS bevatten het procentteken dat andere spreadsheettoepassingen vereisen en worden heropend zonder dat teken te verdubbelen
Versie 2.384.73
Opgelost
- Tekst naar het klembord kopiëren, klembordtekst lezen en tekst- of XML Spreadsheet-gegevens plakken mislukt niet langer willekeurig op Windows 10 en 11. Na elke klembordwijziging openen Verkenner en de Klembordgebruikersservice (klembordgeschiedenis) het klembord enkele milliseconden om het te lezen; tekstbewerkingen probeerden het klembord vroeger maar één keer te openen en konden in dat ogenblik mislukken met "toegang geweigerd"
- Alle klembordbewerkingen gebruiken nu hetzelfde beleid als het kopiëren en plakken van BIFF8 (Excel-indeling): ze blijven het klembord ongeveer 500 ms proberen te openen. Houdt een andere toepassing het klembord langer vast, dan mislukt de bewerking nog steeds en blijft de bestaande klembordinhoud ongewijzigd
Versie 2.384.72
Opgelost
- Bij het openen van een ODS-bestand wordt de getalnotatie General correct gelezen. Excel en LibreOffice schrijven General weg als een getalstijl zonder aantal decimalen, wat werd gelezen als twee vaste decimalen, waardoor een waarde als 1.5 verscheen als 1.50; zulke cellen hebben nu geen getalnotatie, zoals in de brontoepassing
- Tekst rond een General-getal blijft behouden, bijvoorbeeld
General" kg"
Versie 2.384.71
Opgelost
- ODS-bestanden die door Excel of LibreOffice zijn opgeslagen, melden niet langer een gebruikt bereik dat het hele werkblad bestrijkt. Beide geven elke rij en kolom een afmeting tot rij 1048576 en kolom 16384; lege rijen met automatische hoogte behouden nu de standaardhoogte, en de kolombreedtes die doorlopen tot de laatste kolom worden de standaardkolombreedte van het werkblad. Een Excel-bestand van 10 rijen krimpt na openen en opnieuw opslaan van zo'n 2,8 MB naar een paar KB
- Handmatig ingestelde rijhoogten, en automatische hoogtes voor rijen met inhoud (zoals rijen die hoger zijn gegroeid om omgebroken tekst te passen), blijven behouden
- Bij het opslaan naar ODS wordt de standaardkolombreedte van het werkblad (
StandardWidth) weggeschreven voor kolommen die geen eigen breedte hebben; die waarde viel vroeger weg, omdat ODS geen werkbladbrede standaardkolombreedte kent
Versie 2.384.70
Opgelost
- ODS-bestanden die door Excel of LibreOffice zijn opgeslagen, openen weer binnen milliseconden. Beide vullen elke rij aan tot kolom 16384 en voegen een opvulblok toe tot rij 1048576; een bestand van 10 rijen uit Excel deed er vroeger meer dan 5 minuten over om te openen, en één uit LibreOffice kwam helemaal niet klaar
- Lege opvulcellen die er exact uitzien als de celstijl Default van het document, worden niet langer omgezet in opgemaakte lege cellen; een Excel-werkblad van 10 rijen kreeg er vroeger zo'n 180.000 bij. Lege cellen met een eigen vulling, rand, lettertype, uitlijning, getalnotatie of beveiliging blijven behouden
Versie 2.384.69
Opgelost
- Voorwaardelijke opmaak die naar ODS wordt opgeslagen, is nu zichtbaar in Excel. Waarderegels (gelijk aan, tussen, groter dan enzovoort) en formuleregels worden ook weggeschreven als standaard ODF
style:map-voorwaarden op de cellen die ze bestrijken — de enige vorm die Excel leest; Excel opende ODS-bestanden van HotXLS vroeger zonder een van deze regels - LibreOffice importeert waarderegels in ODS die HotXLS heeft weggeschreven nu met hun echte operator en grenzen; vroeger zette het elke regel om in "gelijk aan 0"
- Bij het openen van een ODS-bestand worden voorwaardelijke opmaakregels gelezen die als
style:map-voorwaarden zijn opgeslagen, zoals Excel en andere ODF-producenten die wegschrijven. Bevat het bestand dezelfde regels ook in de eigen vorm van LibreOffice, dan wordt elke regel één keer gelezen - Bij het openen van een ODS-bestand wordt de spelling van LibreOffice voor waarderegels gelezen (
=5,between(1,10),!="x"); bestanden uit eerdere HotXLS-versies openen nog steeds zoals voorheen
Versie 2.384.68
Opgelost
- Formules die een operator toepassen op een bereik van meerdere cellen of een inline-array, zoals
=SUM(A1:B1*{10,100}),=SUM((A1:B2>2)*1)of=MAX(A1:B2-1), worden opgeslagen zoals Excel 365 dat doet, zodat Excel hetzelfde resultaat toont als HotXLS: in XLSX als dynamische-arrayformules voor één cel, in XLS als arrayformules van één cel. Excel opende ze vroeger met impliciete intersectie (=SUM(@A1:B1*@{10,100})) en toonde #VALUE! of een verkeerde waarde - XLS-arrayformules schrijven hun verwijzingen en arrayconstanten in arrayvorm, zoals Excel dat doet; Excel evalueerde arrayformules van HotXLS vroeger met impliciete intersectie
- XLSX-bestanden met dynamische-arrayformules (ook die met
SetDynamicArrayFormulazijn gemaakt) openen in Excel; Excel weigerde het hele bestand omdat de metadata van de dynamische array een extensie-id met afwijkende hoofdlettergebruik gebruikte
Versie 2.384.67
Opgelost
- Tekstvergelijkingen volgen in beide engines de volgorde van Excel: ze negeren hoofd- en kleine letters en gebruiken de woordsortering van de systeemlocale, waardoor koppeltekens en apostrofs alleen verschil maken als de tekst verder gelijk is (
"a-b">"ab"is TRUE) en andere leestekens vóór cijfers en letters worden gesorteerd ("a~b">"ab"en"a_b">"ab"zijn FALSE). Dit geldt voor de vergelijkingsoperatoren,>text/<text-criteria in COUNTIF, SUMIF, de *IFS-familie en de databasefuncties, arrayvergelijkingen, lookups, SORT-achtige functies en het sorteren van bereiken - VLOOKUP en HLOOKUP vergelijken tekst zonder onderscheid naar hoofd- en kleine letters, dus
VLOOKUP("ABC",...)vindt "abc", zoals in Excel
Versie 2.384.66
Opgelost
- Voorwaardelijke opmaak op basis van formules die naar ODS wordt weggeschreven, wordt nu herkend door LibreOffice: de regel wordt opgeslagen als
formula-is(...)met zijn basiscel, de vorm die LibreOffice zelf wegschrijft. Voorheen las LibreOffice elke dergelijke regel als een gewone regel "celwaarde gelijk aan 0" - Formules in voorwaardelijke opmaak die naar ODS worden weggeschreven, vertalen inline-arrays, unies, hele-kolom- en hele-rij-verwijzingen en behouden de
$-tekens op dezelfde manier als formules in cellen (COUNTIF($A:$A,A1)>1wordtCOUNTIF([.$A:.$A];[.A1])>1) - Het openen van een ODS-bestand leest zowel de voorwaardelijke opmaak op basis van formules die LibreOffice heeft weggeschreven (
formula-is) als bestanden uit eerdere HotXLS-versies
Versie 2.384.65
Opgelost
- Hele-kolom- en hele-rij-verwijzingen (
A:A,$A:$B,1:1,$1:$2) in formules die naar ODS worden weggeschreven, gebruiken de verwijzingsvorm van OpenFormula ([.A:.A]). Excel opende zulke cellen vroeger als=SUM(A:(A))met #NAME?, of liet de formule vallen; ODS-bestanden van HotXLS tonen nu dezelfde formules en waarden in Excel en LibreOffice
Versie 2.384.64
Opgelost
- De databasefuncties (DSUM, DCOUNT, DCOUNTA, DAVERAGE, DGET en de rest) behandelen een tekstcriterium zonder operator als "begint met", zoals Excel dat doet:
abin het criteriumbereik matcht abc, ab en AB, en jokertekens werken nog steeds (a?matcht elke invoer van twee of meer tekens die met a begint).=aben<>abblijven de hele invoer vergelijken
Versie 2.384.63
Toegevoegd
- Formules kunnen inline-arrayconstanten bevatten zoals
{1,2;3,4}(kolommen gescheiden door komma's, rijen door puntkomma's, met getallen, tekst, TRUE / FALSE en foutwaarden) en verwijzingsunies zoals(A1:B2,D4), in zowel de XLS- als de XLSX-engine; invoeren mislukte vroeger met "invalid formula syntax" - Arrayconstanten worden geëvalueerd als arrays (
=SUM({1,2}*{3,4}),=ROWS({1,2,3;4,5,6}),=SUMPRODUCT(A1:A2,{1;10})), en unies werken in SUM, COUNT, AVERAGE, MIN, MAX en COUNTA, in AREAS, in ISREF en in het area_num-argument van INDEX
Opgelost
- XLS-bestanden slaan arrayconstanten op zodat Excel ze leest: de constante werd vroeger als verwijzing weggeschreven, waardoor Excel
=#N/Atoonde; XLS-formules die arrayconstanten of unies bevatten, worden ook met hun formuletekst teruggelezen
Versie 2.384.62
Opgelost
- De intersectieoperator (een spatie tussen twee verwijzingen) geeft de cellen terug die beide verwijzingen bestrijken, zoals in Excel:
=SUM(A1:B2 B1:B2)is 6 in plaats van 2, verwijzingen zonder een gezamenlijke cel geven #NULL!, en een intersectie kan worden doorgegeven aan functies die verwijzingen aannemen, zoals ROWS, COLUMNS en INDEX. Dit geldt voor beide engines, voor berekende formules en voor formules die in cellen staan - XLS-bestanden houden intersectieformules bruikbaar in Excel: de verwezen bereiken worden nu als verwijzingen weggeschreven, waardoor Excel
=SUM(A1:B2 B1:B2)niet langer leest als=SUM(@A1:B2 @B1:B2)en #VALUE! toont - Een intersectie die als enkele waarde wordt gebruikt en meer dan één gezamenlijke cel heeft, pakt de cel in de rij of kolom van de formule, net als elke verwijzing over meerdere cellen
Versie 2.384.61
Opgelost
- SUMPRODUCT accepteert array-expressies zoals
(B1:B2>0)*1,--(B1:B2>0),B1:B2*C1:C2en één enkel argument, in zowel de XLS- als de XLSX-engine; deze gaven vroeger #N/A. Argumenten van verschillende vorm geven #VALUE!, een fout binnen een argument wordt teruggegeven, en tekst en logische waarden tellen als 0, zoals in Excel - Operatorexpressies over bereiken binnen SUM, COUNT, AVERAGE, MIN, MAX en COUNTA worden element voor element geëvalueerd, zoals onder Excels dynamische arrays:
=SUM((B1:B2>0)*1)telt beide rijen in plaats van alleen de eerste cel te gebruiken - TRUE telt in berekeningen als 1:
=TRUE*1gaf -1 - Elementsgewijze vergelijkingen behandelen een leeg element als 0, "" of FALSE zodat het bij de andere kant past, en vergelijken logische waarden als logische waarden; voegt men een logische waarde samen met
&in een array, dan is het resultaat TRUE / FALSE
Versie 2.384.60
Opgelost
- Zoeken en vervangen met jokertekens en matching van de hele cel (
FindText,ReplaceText,FindTextIn,ReplaceTextInin beide engines) matcht de hele cel zoals Excel dat doet:a*bvindt nuabcb, wat eerder werd afgewezen omdat de matching stopte bij de eersteb - Bij zoeken en vervangen met jokertekens maakt
~het teken dat erop volgt letterlijk, en een afsluitende~wordt genegeerd, zoals in Excel:a~bvindtab, ena~~bvindta~b
Versie 2.384.59
Opgelost
- Aanmaak- en wijzigingstijden van XLSX-documenten (
Created,Modified) en aangepaste eigenschappen met datumwaarden worden nu correct gelezen wanneer de tijdstempel fracties van seconden heeft (2026-03-15T08:30:00.123Z) of een tijdzone-offset (+08:00,-05:00): de tijd wordt geconverteerd naar lokale tijd in plaats van ongewijzigd als lokale tijd te worden beschouwd - Stempels met alleen een datum (
2026-07-01) worden als die datum gelezen; stempels met een tijd maar zonder zone, wat het W3CDTF-formaat niet toestaat, worden nog steeds als lokale tijd gelezen
Versie 2.384.58
Opgelost
- XLSX AutoFit via
TXLSAutoFit(FitXlsxSheet,FitXlsxSheetColumns,FitXlsxSheetRows,MarkSheet) meet elke cel in het lettertype waarin hij wordt weergegeven; sinds 2.384.46 pakte hij het volgende lettertype uit de fontlijst van de werkmap, waardoor een vette kop in het kleine lettertype van een andere cel gemeten kon worden en te smal uitviel - AutoFit gebruikt ook het lettertype dat een cel erft van zijn rij- of kolomstijl
Versie 2.384.57
Opgelost
- "Precision as displayed" (
FullPrecision = False) in de XLSX-engine rondt nu af zoals Excel en de XLS-engine dat doen: procentnotaties houden twee extra decimalen (0.1234 weergegeven als0.0%slaat 0.123 op, niet 0.1), negatieve en nulwaarden gebruiken hun eigen notatiesectie, en helften ronden van nul af (2.5 weergegeven als0slaat 3 op, niet 2) - Beide engines honoreren komma's voor schaling in duizendtallen onder "precision as displayed": 12345.678 weergegeven als
0.0,(12.3) slaat 12300 op, zoals in Excel - Een logisch formuleresultaat in een cel met getalnotatie wordt door de "precision as displayed" van de XLS-engine niet langer omgezet in -1
Versie 2.384.56
Opgelost
- ODS-bestanden die HotXLS schrijft, declareren de namespaces van hun formuleprefixen, zodat LibreOffice de formules evalueert in plaats van in elke formulecel #VALUE! te tonen
Versie 2.384.55
Opgelost
- Formules die naar ODS worden weggeschreven, behouden hun betekenis: inline arrays gebruiken de rijseparator van OpenFormula (
{1,2;3,4}wordt{1;2|3;4}in plaats van één enkele rij), een verwijzingsunie zoals(A1,B2)wordt de operator~in plaats van twee functieargumenten, en absolute verwijzingen behouden hun$-markeringen - Bij het teruglezen van zo'n unie vanuit ODS wordt geen tweede paar haakjes meer toegevoegd, dus deze formules overleven een XLSX-naar-ODS-naar-XLSX-roundtrip ongewijzigd
Versie 2.384.54
Opgelost
- Met wachtwoord beveiligde XLS-bestanden die in het Excel 5.0/95-formaat zijn opgeslagen (XOR-obfuscatie) gaan nu open in Excel. De sleutel die in het bestand staat, wordt afgeleid uit het wachtwoord in plaats van willekeurig te zijn, en de obfuscatietabel gebruikt de bitrotatie die Excel verwacht; voorheen meldde Excel bij elk zo'n bestand een verkeerd wachtwoord, en met alleen de sleutel gecorrigeerd meldde hij het bestand als beschadigd
- XOR-obfusceerde werkmappen worden gelezen met dezelfde gecorrigeerde tabel, zodat bestanden waarvan de sleutel bij het wachtwoord past, ontcijferd worden zoals Excel ze versleutelt; XOR-bestanden van eerdere HotXLS-versies gaan nog steeds open
Versie 2.384.53
Opgelost
- Vergelijking van een lege cel met een logische waarde behandelt de lege cel als FALSE in zowel de XLS- als de XLSX-engine, zoals Excel: met een lege A1 geven
=A1=FALSEen=A1<TRUEnu TRUE en levert=A1=TRUEFALSE op. Voorheen werd de lege cel als 0 vergeleken, wat onder elke logische waarde rankt
Versie 2.384.52
Opgelost
- COUNTIF, COUNTIFS, SUMIF, SUMIFS, AVERAGEIF, AVERAGEIFS en de databasefuncties matchen tekstcriteria volgens de jokertekenregels van Excel in zowel de XLS- als de XLSX-engine:
~*en~?matchen een letterlijke ster of vraagteken, vierkante haakjes zijn gewone tekens, en een criterium zonder*of?is een simpele vergelijking zonder onderscheid naar hoofd- en kleine letters. Voorheen werd een criterium zoals"[x]"gelezen als tekenset,"~*"matchte geen ster, en een misvormd patroon matchte stilletjes niets "<>text"-criteria tellen getallen, logische waarden en lege cellen als ongelijk, en een kaal"<>"telt elke niet-lege cel, zoals in Excel; tekstvergelijking onder<>maakt nu geen onderscheid naar hoofd- en kleine letters- De jokertekenmatching van MATCH en XLOOKUP behandelt
~als een escape voor welk teken er ook op volgt en negeert een afsluitende~, zoals Excel
Versie 2.384.51
Gewijzigd
- Alleen-lezen cel-snapshots bewaren werkbladnamen in gedeelde UnicodeString-opslag; SheetName is nu een leesbare en beschrijfbare WideString-eigenschap met dezelfde gewone lees- en toewijzingssyntaxis als voorheen, maar zijn ruwe veldadres en de eerdere recordlayout worden niet ondersteund; aanroepers moeten tegen deze release hercompileren
- Rapportuitvoer naar een lege doelstream slaat de onnodige back-up-snapshot over maar behoudt de rollback van doelinhoud en -positie als de uitvoer mislukt
- Diepe formule-audits verwerken numerieke caches efficiënter, met behoud van gecachte Variant-waarden, evaluatieresultaten en gerapporteerde bevindingen
Opgelost
- Het plakken vanaf het klembord bij XLS en XLSX vangt BIFF8-data en reservetekst samen op onder één klembordvergrendeling, zodat beide formaten uit dezelfde klembordtoestand komen; leesbare BIFF8 blijft bruikbaar wanneer zijn tekstmetgezel niet opgehaald kan worden, alleen onbeschikbare tekst voegt geen cellen in, en het bestaande retry-beleid voor het openen van het klembord blijft onveranderd
- Een mislukte publicatie van vereiste tekst of BIFF8 op het klembord bewaart de oorspronkelijke Win32-foutcode over de opruiming heen, zodat aanroepers de foutdiagnose direct na de aanroep kunnen opvragen
- De klembordtekstlezer met één poging bewaart native dataophaalfouten over de klembordopruiming heen zonder zijn retry-gedrag te veranderen
Versie 2.384.50
Gewijzigd
- Formulesymbol-audits draaien sneller op schaarse XLS-werkmappen, met behoud van de gerapporteerde bevindingen en hun volgorde
Versie 2.384.49
Opgelost
- WorkbookAudit-demo's (Delphi en C++Builder):
AuditReport.jsonwordt zonder UTF-8 byte order mark weggeschreven zodat strikte JSON-parsers hem accepteren; XLS-werkbladen melden hun AutoFilter-bereik; gedefinieerde namen in XLSX die naar een andere werkmap wijzen tonen het gekoppelde bestand in plaats van zijn index; commandline-runs overschrijven de opgeslagen instellingen niet langer; een leeg mapveld valt terug op de programmamap in plaats van op de hoofdmap van de schijf; een mislukte voorbeeldopslag wordt gelogd in plaats van als aangemaakt gemeld - ApiTour-demo's: als het herbouwen van de showcasewerkmap mislukt, blijft de vorige werkmap staan zodat de exportknoppen niet langer crashen; werkmappen worden vrijgegeven wanneer het bouwen een uitzondering gooit; de HTML-export logt zijn fouten; het log meldt de vijf voorwaardelijke opmaakregels die daadwerkelijk worden aangemaakt
- ExcelGraphics-demo's: een niet-ondersteund afbeeldingstype wordt gemeld in plaats van een leeg werkblad opgeslagen, en het openen-dialoogvenster somt alleen ondersteunde formaten op
- De OdsExport-demo's vergelijken de tekengrootte in hun roundtrip-controle en geven een exitcode ongelijk nul terug wanneer de controle of de opslag mislukt; de OdsImport-demo voor C++Builder controleert het resultaat van de opslag en maakt tijdens het rapporteren geen lege cellen meer aan
- De demo's DataExport / ExportWithColoring versmallen zoals hun opmerkingen zeggen alleen de eerste kolom, en de C++Builder-exportdemo's openen het opslaan-dialoogvenster in de programmamap
- De demo-readmes vermelden de API's en uitvoerbestanden die de demo's daadwerkelijk gebruiken
Versie 2.384.48
Opgelost
- Aanmaak- en laatst-opgeslagen-tijden van documenten worden nu in UTC weggeschreven zoals de bestandsformaten vereisen en als lokale tijd teruggelezen: XLSX
Created/Modifieden aangepaste datumeigenschappen, en XLSCreatedDate/LastSavedDate. Voorheen werd de lokale tijd bewaard alsof het UTC was, waardoor Excel en Windows Verkenner de tijdstempels versprongen met de tijdzone-offset toonden; waarden die HotXLS zelf wegschrijft en leest zijn onveranderd
Versie 2.384.47
Opgelost
- XLS-bestanden met XOR-obfuscatie (de wachtwoordbeveiliging van Excel 5.0/95-werkmappen,
EncryptionType = xletXor): de per record gebruikte sleutelpositie volgt nu de bestandsformatspecificatie, op dezelfde manier waarop andere spreadsheettoepassingen die lezen en schrijven. Voorheen kon HotXLS alleen zijn eigen XOR-bestanden lezen, en elk record waarvan de lengte geen veelvoud van 16 was, decodeerde elders als troep
Versie 2.384.46
Opgelost
- XLSX-AutoFit (
FitXlsxSheet,FitXlsxSheetColumns,FitXlsxSheetRows,MarkSheet) meet elke cel in zijn eigen lettertype, tekengrootte, vet en cursief in plaats van altijd Arial 10, zodat tekst in Calibri 11, vette koppen en grote titels niet langer te smal uitvallen - XLSX-AutoFit meet de tekst zoals die via de getalnotatie wordt weergegeven (datums, valuta, percentages) in plaats van de ruwe opgeslagen waarde
- XLSX-AutoFit houdt de berekende kolombreedten binnen
MaxWidth; de celmarge werd voorheen pas toegevoegd nadat de grens was toegepast - XLSX-AutoFit berekent rijen met cellen met terugloop in kolommen zonder expliciete breedte tegen de standaardbreedte van het werkblad; voorheen werden zulke cellen als één regel gemeten en viel de rij te kort uit
Versie 2.384.45
Opgelost
- XLS-werkmappen: criteria van
ApplyAutoFilterzoals'>=100'of'=2.5'worden nu als getalvoorwaarden opgeslagen; ze werden als tekst bewaard, die Excel als tekst vergelijkt, zodat het filter elke numerieke rij verborg. Een waarde zonder vergelijkingsoperator (zoals'North'of'100') wordt nog steeds als tekst opgeslagen, zoals Excel een gekozen lijstitem bewaart Criteria1.DataTypemeldt voor zulke criteria 4 (getal) in plaats van 6 (tekst);Criteria1.Valueleest nog steeds 100 terug
Versie 2.384.44
Opgelost
INDIRECTmet een A1-verwijzingstekst las de cel één rij lager en één kolom rechts (INDIRECT("D1")gaf E2 terug), in zowel XLS- als XLSX-werkmappen; R1C1-tekst was al correct. Een verwijzing voorbij de laatste rij of kolom geeft nu#REF!terug
Versie 2.384.43
Opgelost
- XLSX-werkmappen: formules kunnen nu verwijzen naar het hele werkblad van 1.048.576 × 16.384 cellen. Verwijzingen voorbij kolom IV of rij 65.536 (
=XFD1,=A100000,=SUM(XFC1:XFD1),Data!C1048576) werden bij invoer geweigerd als onbekende namen of evalueerden naar een fout; ze worden nu geparseerd, berekend, met ingevoegde rijen en kolommen meeverschoven en opgeslagen zoals ze zijn geschreven - XLSX-werkmappen: hele-kolom- en hele-rij-verwijzingen (
A:A,1:1) dekken het volledige werkblad, zodatROWS(A:A)1048576 teruggeeft enSUM(A:A)ook waarden onder rij 65.536 meerekent;ADDRESSgeeft kolommen met drie letters terug, zoals$XFD$1 - XLS-werkmappen: verwijzingen naar de laatste rij en kolom van het werkblad van 65.536 × 256 (
=A65536,=IV1) worden geaccepteerd; ze werden geweigerd als onbekende namen
Versie 2.384.42
Opgelost
- Verouderde
lxRows- /lxCols-units (bewaard voor broncompatibiliteit; de werkmapklassen gebruiken ze niet): een rijindex voorbij 1.048.575 geeftERangeErrorin plaats van op rij 1 terug te vallen, het ROW-record markeert elke overzichtsniveauswijziging niet langer als ingeklapt, en het wegschrijven van COLINFO voor een kolom zonder eigen instellingen gebruikt de standaardwaarden in plaats van te crashen
Versie 2.384.41
Opgelost
- Lazarus / Free Pascal-builds die in ANSI-stringmodus zijn gecompileerd: tijdelijke bestanden waarvan het pad tekens buiten de systeemcodepagina bevat, worden bij het opruimen nu verwijderd; voorheen werden hun namen met verlies opgeslagen en bleven de bestanden achter in de temp-map
Versie 2.384.40
Opgelost
TlxCellMMU(de gepakte celopslag) geeftEInvalidOperationwanneer een cel binnen een blok van 256 rijen uit de rijvolgorde wordt weggeschreven of over een bestaande cel heen, enERangeErrorbij een negatieve positie of een kolom voorbij 65.534; voorheen corrumpeerde zo'n schrijfactie zwijgend de buurrij. De bulkbewerkingen van de library zelf houden de rijvolgorde al aan en zijn niet getroffen
Versie 2.384.39
Gewijzigd
- XLSX-werkmappen: het toewijzen van
TXLSXWorksheet.TabColorzet nu ookTabColorIsAutoop False, zodat de tabkleur zonder tweede toewijzing zichtbaar wordt, in lijn met de eigenschappen voor lettertype-, vul- en randkleur.TabColorIsAutodaarna op True zetten, verwijdert de tabkleur nog steeds
Versie 2.384.38
Gewijzigd
- XLS-werkmappen:
TXLSWorksheet.AddPivotTablebehandeltDestRowenDestColnu als 1-gebaseerd, net alsCells[Row, Col], de documentatie en de XLSX-engine;AddPivotTable('Data!A1:C9', 3, 1, ...)verankert de draaitabel op A3. Code die 0-gebaseerde posities doorgaf, moet er 1 bij optellen, en een anker van 0 of buiten het werkblad geeft nunilterug - XLS-werkmappen: de posities op
TXLSPivotTable(FirstRowtot en metFirstDataCol) en het bronbereik opTXLSPivotCache(SourceFirstRowtot en metSourceLastCol) zijn nu 1-gebaseerd, voor nieuwe en geopende draaitabellen, zodat dezelfde code in beide engines dezelfde cellen leest en een tussen beide gekopieerde draaitabel op zijn plek blijft
Versie 2.384.37
Opgelost
- XLSX-werkmappen: een draaitabel die onder rij 65.535 staat, of een die daar door het invoegen van rijen terechtkomt, houdt zijn echte positie; voorheen werd het anker afgekapt tot 16 bits en belandde de opgeslagen draaitabel op de verkeerde rijen
- De positie-eigenschappen van de draaitabel (
FirstRow,FirstCol,LastRow,LastCol,FirstHeaderRow,FirstDataRow,FirstDataCol) zijn nuIntegerin plaats vanWord - XLSX-werkmappen:
AddPivotTableenAddPivotTableCopygevennilterug wanneer het anker buiten het werkblad ligt of het gekopieerde blok voorbij de laatste rij of kolom zou lopen, in plaats van een draaitabel weg te schrijven die Excel weigert
Versie 2.384.36
Opgelost
- De C++Builder-demo's XlsTables, XlsCondFormat12, XlsCreateChart en InteractiveFeatures schrijven hun tekstkolommen als tekst; het doorgeven van een
const wchar_t*aan eenOleVariantkoos debool-constructor, en elke kop en elk label kwam als TRUE uit de bus - De DefinedNames-demo somt de XLS-namen vanaf index 1 op in plaats van op index 0 te crashen, WorkbookAudit telt externe verwijzingen in namen van XLS-werkmappen, en FileMonitor schrijft
Monitored.xlsxin plaats van de fout gespelde.xlsxxwaardoor elke lezing van een bladnaam mislukte - De demo's Pictures en OdsExport sluiten een geldige PNG in; de byteliteral raakte door de tekenreeksconversie beschadigd en de chunklengtes van Pictures waren verkeerd
- ApiTour evalueert zijn
DEMOADD-stap op het werkblad API Tour in plaats van op het actieve Dashboard-werkblad, waar een tekstargument de opstart kon afbreken; de klassieke tour in C++Builder toont nu het resultaat van de stap - FreezePanes, QuickStart en ApiTour bevriezen exact hun koprijen en -kolommen;
FreezePanesneemt aantallen in plaats van de eerste scrollbare cel - Kleuren van voorwaardelijke opmaak in ApiTour, CondFormatGallery, OdsExport en WorkbookAudit worden in BGR opgegeven zoals de API verwacht, zodat gegevensbalken en kleurschalen hun bedoelde kleuren tonen; CondFormatGallery geeft zijn top-N-, duplicaat- en boven-het-gemiddelde-regels een zichtbare markering
- MemoryDataExport en HtmlExport melden succesvolle CSV-, HTML- en RTF-exports niet langer als mislukkingen (deze writers geven 0 terug bij succes), en MemoryDataExport schrijft alle drie de bestanden ook wanneer één ervan mislukt
- Demo's die opslaan en daarna het bestand rapporteren of openen (QuickStart, ExcelGraphics, HotXLSInMemory, OrderCalc, PurchaseOrder en verschillende console-demo's) controleren het resultaat van de opslag in plaats van succes uit te roepen terwijl het bestand vergrendeld is
- ConversionWorkbench behandelt elke negatieve writer-resultaatwaarde als een mislukking en ruimt eerst de oude uitvoer op, zodat een achtergebleven bestand een mislukte conversie niet langer maskeert; de C++Builder-versie exporteert elk werkblad naar HTML
- InvoiceTemplate, OrderCalc en DataExport zijn niet langer afhankelijk van de Windows-getal- en datumnotatie: btw-formules, prijzen en datumdrempels werken ook op systemen met een komma als decimaalteken of een datumnotatie met het jaar eerst
- Kleinere correcties: de totalen van QuickStart gebruiken donkere tekst op hun lichte vulling, DateSystems toont de ruwe seriewaarden en een geldige datum uit het 1904-tijdperk, CrossWorkbookCopy houdt zijn samengevoegde cellen buiten de tabel, CrossWorkbookCopyXls gebruikt een kommagescheiden lijst en een echt lichtblauw, Hyperlinks toont de bedoelde koppelingstekst, SheetProtection beschrijft en stelt de toegestane acties correct in, OdsImport maakt tijdens het scannen geen lege cellen meer aan, InteractiveFeatures slaat een werkmap zonder VBA-payload op als .xlsx, WorkbookAudit rapporteert versleutelde XLS-bestanden en hun VBA-projecten, ChartTypes houdt zijn grafieken uit de data, de C++Builder-dataexportdemo's vinden Demos.mdb vanuit de IDE-uitvoermap, en FormulaFunctions controleert de heropende cel en telt de mislukte heropeningen
Versie 2.384.35
Opgelost
- Het toewijzen van een kleur aan een XLSX-lettertype, -vulling, -rand of rich-text-run werkt nu op zichzelf. Deze objecten beginnen met de automatische kleur, en een expliciete
Color,ForegroundColorofBackgroundColorwerd zwijgend weggegooid tenzij ook de bijbehorende vlagColorIsAuto/ForegroundIsAuto/BackgroundIsAutowerd gewist - Het toewijzen van een RGB-kleur wist ook een eerdere thema- of geïndexeerde kleurbron, die anders zou winnen; het toewijzen van een thema- of geïndexeerde slot van 0 of hoger wist de automatische vlag
- Randkleuren die vanuit het klembord in een XLSX-werkmap worden geplakt, randkleuren van klassieke werkmappen die naar XLSX worden geëxporteerd, en de lettertypekleur die aan
TXLSXComment.SetFontwordt doorgegeven, worden nu weggeschreven in plaats van verloren te gaan aan de automatische kleur
Versie 2.384.34
Opgelost
- Subtotaal-, eindtotaal- en lege items in de itemlijst van een pivotveld worden niet langer als data-items gelezen; het kopiëren van zo'n draaitabel schreef voorheen een item weg dat naar cache-index -1 wees
- Pivotvelden uit Excel-bestanden behouden hun standaardsubtotaal: Excel laat
defaultSubtotalweg wanneer het aan staat, en HotXLS behandelde het ontbrekende attribuut als uit - Pivotcachefelden waarvan de gedeelde items
containsStringweglaten, worden volgens de schemastandaard als tekstvelden gelezen in plaats van als gemengde velden
Versie 2.384.33
Opgelost
- Draaitabellen die de XLSX-engine wegschrijft, gebruiken de as-waarden uit het schema (
axisRow,axisCol,axisPage); eerdere versies schrevenrowAxis/colAxis/pageAxis, die geen geldig OOXML zijn. HotXLS leest bestanden met de oude waarden nog steeds - Pivotvelden die in het waardegebied staan, worden gemarkeerd met
dataField="1", en velden zonder items krijgen niet langer een lege<items>-lijst die het schema niet toestaat - Verborgen en ingeklapte pivotitems behouden hun status wanneer een draaitabel wordt gekopieerd of herbouwd, en de itemlijst van elk veld eindigt met de subtotaalitems die Excel bij zijn subtotaalfuncties verwacht
- Pivotcachefelden dragen een numerieke
numFmtIdin plaats van de tekstGeneral
Versie 2.384.32
Opgelost
- ODS-import converteert rijen van inline arrays correct:
{1;2|3;4}wordt{1,2;3,4}in plaats van een formule die Excel niet kan parsen - ODS-import converteert de verenigingsoperator voor verwijzingen:
SUM([.A1:.B2]~[.C3])wordtSUM((A1:B2,C3))
Versie 2.384.31
Opgelost
- ODS-import leest tijdcellen waarvan de duur een datumdeel draagt, zoals
P0Y0M0DT12H30M15S, en weekduren zoalsP1W, in plaats van terug te vallen op de weergavetekst - Een
Mvóór hetT-scheidingsteken van een ODS-duur is een maand, geen minuut; jaren en maanden ongelijk nul, die geen vaste lengte hebben, vallen nu terug op de weergavetekst in plaats vanP1Min één minuut te veranderen
Versie 2.384.30
Opgelost
TGWmfEmfReadsluit de metafile wanneer het bestand te kort of beschadigd is, in plaats van hem vergrendeld te houden tot het proces afsluitTGWmfEmfReadbehandelt een placeable WMF waarvan de header nul units per inch opgeeft als zonder afmetingen, in plaats van door nul te delenTGWmfEmfReadbewaart 32-bits groottes en grenzen inBSEWMF, passend bij de afbeeldingsheader die hij beschrijft
Versie 2.384.29
Opgelost
- WMF- en EMF-afbeeldingen van 64 KB of meer in klassieke XLS-werkmappen overleven openen en opslaan; hun opgeslagen en gedecomprimeerde groottes werden afgekapt tot 16 bits, waardoor Excel de afbeelding in het opgeslagen bestand niet kon decoderen
- Grenzen van metafile-afbeeldingen buiten het bereik -32768..32767 blijven behouden in plaats van te overlopen naar de andere kant van het bereik
Versie 2.384.28
Opgelost
TXMLWriterproduceert geen misvormde XML meer wanneer tekst- of attribuutwaarden controletekens, alleenstaande surrogaten of U+FFFE / U+FFFF bevatten; tekens die XML 1.0 niet kan representeren, worden weggelatenTXMLWriterschrijft een carriage return in elementtekst als tekenverwijzing, zodat de tekst onveranderd terugkomt in plaats van dat CR in LF wordt veranderdTXMLWritergeeft een fout wanneer de doelstream minder bytes accepteert dan er zijn weggeschreven, zoals bij een volle schijf, in plaats van een zwijgend afgekapt bestand achter te laten
Versie 2.384.27
Opgelost
- Het kopiëren van een bereik waarvan de formules naar boven of naar links van het gekopieerde blok wijzen, zoals
=B4+1gekopieerd vanaf B5, plakt nu met de verwijzing nog steeds één rij omhoog; voorheen bleef hij op de oorspronkelijke cel vastzitten en kon een formule op zichzelf uitkomen - De Excel-klemborddata die HotXLS publiceert, houdt de gekopieerde cellen op hun werkbladpositie, zodat toepassingen die hem lezen de oorspronkelijke adressen zien
Versie 2.384.26
Opgelost
- De zlib-stringhelpers (
ZCompressStr,ZDecompressStren de in-place-varianten) verwerken nu de hele tekenreeks; bij Unicode-strings werd alleen de eerste helft van de tekst gecomprimeerd, waardoor een roundtrip data verloor
Versie 2.384.25
Opgelost
- Hyperlinks in klassieke werkmappen waarvan de weergavetekst is gemarkeerd zonder de site-vlag worden correct gelezen, en hyperlinks met een ongebruikelijk doeltype laten het hele openen niet langer mislukken of geven een verminkt subadres terug
Versie 2.384.24
Opgelost
- Een uitzondering die de wijzigingshandler van de bestandsmonitor gooit, stopt de monitor niet langer zwijgend; hij blijft toezien en meldt latere wijzigingen
Versie 2.384.23
Opgelost
- Themakleuren met een tint onder -1 in een misvormd bestand worden op zwart begrensd in plaats van willekeurige kleuren op te leveren bij export of afdruk
Versie 2.384.22
Opgelost
- Dataconnecties die via de API zijn aangemaakt, worden opgeslagen met het refresh-versie-attribuut dat het bestandsformaat vereist
- Een verbinding met een ontbrekende of dubbele naam of id laat de hele werkmap niet langer weigeren te openen; het item blijft zoals het was en wordt onveranderd teruggeschreven
Versie 2.384.21
Opgelost
- Het wijzigen van de broncode van een VBA-module werkt nu door in Excel: het project wordt zo opgeslagen dat Office de nieuwe bron compileert in plaats van de gecachte gecompileerde code van de oude uit te voeren
- De broncode van VBA-modules wordt nu opgeslagen in de gecomprimeerde vorm die het formaat definieert; het laatste blok van elke module werd bewaard op een manier die Office als beschadigd aanmerkt
- Een misvormde VBA-directorystream laat het openen van de werkmap niet langer hangen, en een module-item zonder streaminformatie laat geen lege module meer achter in het project
Versie 2.384.20
Opgelost
- Gedefinieerde namen die uit een klassieke werkmap zijn geladen, houden hun verschoven verwijzingen vast nadat rijen of kolommen zijn ingevoegd of verwijderd en de werkmap is opgeslagen; het bestand bevatte voorheen nog de oorspronkelijke verwijzing
Versie 2.384.19
Opgelost
- Alleen de rijen of alleen de kolommen van een XLSX-werkblad passend maken, zet de breedte van elke gemeten kolom, of de hoogte van elke gemeten rij, niet langer op nul wanneer die geen expliciete grootte had
Versie 2.384.18
Opgelost
- AutoFilter-criteria in klassieke werkmappen worden samengevoegd zoals ze zijn ingesteld: EN-voorwaarden werden als OF opgeslagen en andersom, zodat Excel de verkeerde rijen toonde
- Booleaanse AutoFilter-criteria worden als TRUE of FALSE opgeslagen; ze werden bewaard in een vorm die Excel als foutwaarde leest
Versie 2.384.17
Opgelost
- De aanmaak- en laatst-opgeslagen-datums van klassieke werkmappen komen nu overeen met Excel; ze werden een dag te laat weggeschreven en een dag te vroeg gelezen
- De laatst-opgeslagen-datum wordt bewaard onder zijn eigen documenteigenschap; hij werd opgeslagen op de plek voor het aantal pagina's, waar Excel en Windows hem niet als datum toonden
- De totale bewerkingstijd wordt als duur bewaard, zodat Excel en Windows het echte aantal minuten tonen in plaats van zo'n 299 jaar; tijden die eerdere versies wegschreven, worden nog steeds correct gelezen
Versie 2.384.16
Opgelost
- De unieke-waardenregel van de importcontrole vergelijkt nu de celwaarden; elke waarde na de eerste in een kolom werd voorheen als duplicaat gemeld
- Een tweede regel voor dezelfde kolom toevoegen vervangt de eerste netjes; de oude regel werd wel vrijgegeven maar nog steeds gecontroleerd, en het vrijgeven van de checker wierp een invalid-pointer-fout op
- Het controleren van een werkblad maakt geen lege cellen meer aan voor de lege waarden die het leest
- Alleen de overtredende rijen houden, schrijft niet langer voorbij zijn rijtabel wanneer een overtreding onder de used range ligt, en de koprij wordt boven de data ingevoegd in plaats van de eerste overtreding te overschrijven
Versie 2.384.15
Opgelost
- Een ZIP-item in kleine stukken lezen verliest de laatste bytes van het item niet langer wanneer de gecomprimeerde data middenin een herhaalde reeks eindigt, waardoor een geldige XLSX kon falen met een fout in de itemgrootte
- Data decomprimeren die verder uitdijt dan 2 GB geeft nu een fout in plaats van het 64-bits proces te laten crashen
- De decompressiestream geeft alle resterende data terug nadat zijn invoer is uitgeput, in plaats van vroegtijdig te stoppen
Versie 2.384.14
Opgelost
- Geïnterlaceerde PNG-afbeeldingen met 1, 2 of 4 bits per pixel schrijven niet langer voorbij de afbeeldingsbuffer, wat kon crashen of aangrenzende pixels kon corrumperen bij het exporteren of afdrukken van een werkmap die ze bevat
- Geïnterlaceerde PNG-afbeeldingen decoderen correct wanneer een pass begint met het Average- of Paeth-filter
- 2-bits grijswaarden-PNG's renderen nu hun echte grijswaarden, en het lezen van afzonderlijke pixels van 2-bits grijswaarden- en paletafbeeldingen geeft de juiste kleuren terug
- PNG-afbeeldingen waarvan de gecomprimeerde data achterblijvende bytes heeft, laten de decoder niet langer hangen, en geldige afbeeldingen met een grote afbeeldingsdata-chunk worden niet langer geweigerd met een CRC-fout
- Afbeeldingen met een ongeldige bitdiepte of een chunklengte voorbij het einde van het bestand worden netjes geweigerd in plaats van te crashen of gigabytes geheugen toe te wijzen
- Tekstchunks die in PNG-afbeeldingen worden opgeslagen, worden niet langer afgekapt of beschadigd
Versie 2.384.13
Opgelost
- Klassieke werkmappen die met RC4 zijn versleuteld, gebruiken nu de juiste wachtwoordhash voor wachtwoorden van 28 tekens of meer, zodat ze in Excel openen; wachtwoorden van 32 tekens of meer leverden voorheen bestanden op die zelfs HotXLS niet kon openen
- RC4-wachtwoorden van maximaal 255 tekens worden bij het openen geaccepteerd, en bestanden met wachtwoorden van 28 tot 31 tekens die eerdere versies opslagen, openen nog steeds
- Een misvormde RC4 CryptoAPI-header met een overdreven lengte wordt gemeld als corrupt bestand in plaats van een generieke fout te geven
Versie 2.384.12
Opgelost
- Agile-versleutelde werkmappen die SHA-256 aangeven, worden nu correct ontsleuteld; de datasegmenten werden altijd ontsleuteld met SHA-512-initialisatievectoren, waardoor de werkmap ook met het juiste wachtwoord niet wilde openen
- Agile-bestanden waarvan de key data en de password key encryptor verschillende hash-algoritmen gebruiken, worden niet langer gemeld als een verkeerd wachtwoord
- Een spin count boven de formatlimiet van 10.000.000 wordt onmiddellijk geweigerd in plaats van de CPU urenlang bezig te houden
- Een afgekorte password verifier leest niet langer voorbij zijn buffer, en de integriteitssleutel die
SaveAsEncryptedAgilewegschrijft, heeft nu de lengte die het formaat vereist
Versie 2.384.11
Opgelost
- Werkmappen die met
SaveAsEncryptedzijn opgeslagen, openen nu in Excel. De ECMA-376 Standard Encryption-sleutel werd afgeleid zonder zijn laatste stap en de pakketgrootte werd samen met de data versleuteld, waardoor Excel het wachtwoord weigerde; werkmappen die op die manier door Excel 2007 zijn versleuteld, kunnen nu ook worden geopend - Versleutelde werkmappen die eerdere HotXLS-versies opslagen, openen met het juiste wachtwoord nog steeds
- Een misvormde versleutelingsheader met een overdreven lengte veroorzaakt bij het openen geen access violation meer
Versie 2.384.10
Opgelost
- Formules tussen cellen kopiëren en plakken, en sorteren met meegekopieerde formules, verschuift absolute verwijzingen niet langer:
$A$1blijft staan,A$1verschuift alleen zijn kolom en$A1alleen zijn rij, net als bij Excel - Functienamen die op celadressen lijken, zoals
LOG10(, worden bij het plakken van een formule niet langer als verwijzing verschoven, zodat de geplakte formule niet langer verandert inLOG11(en#NAME? - Verwijzingen met een bladnaam, zoals
Sheet2!A1of'My Sheet'!B3, verschuiven bij het plakken nu net als verwijzingen zonder bladnaam - Tekst die met
=of een apostrof begint, blijft bij het plakken in een klassieke werkmap tekst; voorheen werd hij in een formule veranderd of verloor hij zijn eerste teken
Versie 2.384.9
Opgelost
- Getalnotaties voor verstreken tijd zoals
[h],[mm]en[ss].00worden nu herkend als tijdnotaties in plaats van voor kleurnamen aangezien; met precisie-zoals-weergegeven uit (FullPrecisionopFalse) wordt een duur die als[ss].00is opgemaakt niet langer afgerond alsof het een gewoon getal met twee decimalen is, wat voorheen waarden van enkele seconden op nul zette - Minuten-tokens die door een literal van het uur of de seconde zijn gescheiden, zoals in
h:mmenmm:ss, worden bij de analyse van een getalnotatie nu als minuten gelezen in plaats van als maanden
Versie 2.384.8
Opgelost
- Tekst, HTML of spreadsheetdata naar het Windows-klembord kopiëren gebruikt nu een geldige tijdelijke owner, ook in consoleprogramma's en werkthreads zonder toepassingsvenster; gekopieerde data blijft beschikbaar nadat die owner is opgeheven
- Een mislukte klembordpublicatie geeft nu elk toegewezen datablok vrij dat Windows niet heeft geaccepteerd, inclusief de bijbehorende tekst- en HTML-blokken wanneer het publiceren van spreadsheetdata mislukt
Versie 2.384.7
Opgelost
- De library vanuit de bron compileren met RAD Studio XE5 tot en met RAD Studio 12 Athens faalde nadat de Free Pascal-ondersteuning en de
DATE-schrikkeldagfix waren binnengetrokken: die compilers parsen de Free Pascal-versiecontrole nog steeds terwijl ze hem overslaan, en weigeren de numerieke cast achter het speciaalgevalDATE(1900,2,29). Beide plekken gebruiken nu vormen die elke ondersteunde compiler accepteert, zodat de volledige RAD Studio-reeks weer bouwt
Versie 2.384.6
Opgelost
- Bij het kopiëren van cellen met een opmerking in een klassieke .xls-werkmap, binnen dezelfde werkmap, naar een andere werkmap of door rijen en kolommen te verschuiven, bleef de tekst van de opmerking bewaard maar gingen de opgemaakte runs verloren, zodat elke kopie de hele notitie in één lettertype toonde; de runs reizen nu met de tekst mee, en bij kopieën naar een andere werkmap worden hun lettertypes aan de doelwerkmap toegevoegd
- Bij het kopiëren van een heel werkblad met
Sheets.AddCopyin een klassieke .xls-werkmap gingen opmerkingen bij cellen zonder waarde of opmaak verloren; die opmerkingen worden nu ook gekopieerd - Opmerkingen in .xlsx-werkmappen werden heropend zonder de lettertypenaam, de doorhaling en de kleur van hun opgemaakte runs, en opgeslagen runs droegen nooit onderstreping of superscript/subscript; dit alles overleeft nu een opslag en heropenen, inclusief runs die met
CloneRangeTouit een andere werkmap zijn gekopieerd
Versie 2.384.5
Opgelost
- Opgemaakte runs in opmerkingen en tekstvakken in klassieke .xls-werkmappen verliezen hun lettertypes bij het opslaan niet langer. Een lettertype dat alleen door zo'n run werd gebruikt, kon uit de opgeslagen lettertypelijst vallen, meestal wanneer HotXLS een werkmap die al een keer was opgeslagen opnieuw opsloeg, en de run toonde dan in Excel het standaardlettertype of kreeg een inmiddels toegevoegd lettertype; die lettertypes worden nu bewaard, en de runs worden samen met de rest van de lettertypelijst hernummerd
TextRuns.FontIndexbij opmerkingen en tekstvakken volgt de fontnummering van het bestand, waarbij index 4 nooit wordt gebruikt en het vijfde lettertype index 5 is; de paletreservering voor geïndexeerde lettertypekleuren leest deze indexes nu op dezelfde manier
Versie 2.384.4
Opgelost
- De wijziging in de fontnummering in 2.384.1 was zelf de bug: klassieke .xls-bestanden nummeren lettertypes zoals Excel dat doet ([MS-XLS] §2.5.129), waarbij index 4 nooit wordt gebruikt en het vijfde lettertype index 5 is, maar 2.384.1 schakelde over op een kale nulgebaseerde telling; opgeslagen werkmappen toonden in Excel elk aangepast lettertype één plek te vroeg (de eerste viel terug op het standaardlettertype), en in Excel gemaakte werkmappen openden met elk aangepast lettertype één plek te laat. Opslaan en openen volgen weer de nummering van Excel, geverifieerd tegen werkmappen die Excel zelf heeft geschreven en gelezen
- Rich-text-cellen behouden het lettertype van elke opgemaakte run bij openen, opslaan en het kopiëren van werkbladen naar andere werkmappen, inclusief runs waarvan geen enkele cel het lettertype direct gebruikt
- Werkmappen die door 2.384.1 tot en met 2.384.3 met vijf of meer lettertypes zijn opgeslagen, dragen de verschoven nummering al met zich mee, en noch Excel noch HotXLS kan die van geldige data onderscheiden; genereer ze opnieuw vanuit hun bron, of pas de betreffende lettertypes opnieuw toe en sla opnieuw op
Versie 2.384.3
Opgelost
- Datumwaarden van 1900-01-01 tot 1900-02-28 zaten in beide werkmap-engines een dag naast Excel, omdat de 1900-kalender van Excel een fictieve 1900-02-29 meetelt; lezen en schrijven passen nu de gedocumenteerde correctie toe,
DATE(1900,2,29)antwoordt met 1900-02-28 in plaats van#VALUE!, en de shared-string-tabel overleeft ingesloten NUL-tekens en dubbelbyte-codepages over recordgrenzen heen zonder uit de pas te lopen - Vergelijkingen ketenen van links naar rechts zoals Excel ze evalueert, dus
=1<2<3wordt nu gelezen als(1<2)<3en levert net als Excel FALSE op (TRUE gaat in een vergelijking boven elk getal), waar het vroeger als1<(2<3)werd gegroepeerd en TRUE opleverde; een lege operand geldt in vergelijkingen als zowel 0 als een lege tekenreeks; wildcard-criteria werken bij 'niet gelijk' inCOUNTIFenSUMIFprecies zoals ze dat al bij 'gelijk' deden; het sombereik vanSUMIFen zijn soortgenoten wordt vanaf zijn cel linksboven aangepast naar de vorm van het criteriumbereik in plaats van afgekapt; enINDIRECTeert zijn tweede argument (absolute R1C1-tekst) en wijst rommel na de verwijzing af YEARFRACmet basis 0 past de NASD-aanpassingen voor eind februari toe dieDAYS360al implementeerde, zodat periodes die eind februari raken correct tellen- Tekst die 'endstream' leest in een cel kan een PDF-pagina niet langer afkappen tijdens streamcompressie, de total-pages-tokenpatch houdt de streamlengte consistent wanneer compressie wordt overgeslagen, objectoffsets voorbij 32 bits falen luidop in plaats van de kruisverwijzingstabel te corrupten, en grijswaarden- of CMYK-JPEG's krijgen hun echte kleurruimte als label in plaats van
/DeviceRGB - Een werkmap waarvan de pivot-cache-opslag was gestript of afgekapt opent met de betreffende caches gemarkeerd als onvolledig in plaats van de hele laadactie te laten mislukken, en slaat die caches opnieuw op via de legacy-inline-indeling in plaats van een fout te geven
- Een shared-string-tabel waarvan het opgegeven aantal tekenreeksen groter is dan wat de recordketen aanlevert, faalt nu bij het openen in plaats van achtergebleven cellen zwijgend naar lege tekenreeksen om te zetten
Versie 2.384.2
Opgelost
- Het converteren van een klassieke .xls-werkmap naar .xlsx verloor stilletjes samengevoegde cellen die in een lagere rij links van een eerdere samenvoeging lagen; de scan hergebruikt zijn used-range-variabele niet langer voor het samenvoeggebied
- Een XML-opmerking in een extensielijst van de werkmap werd bij elke opslag opnieuw uitgevoerd met verdubbelde
<!---markeringen, wat een bestand opleverde dat Excel moet repareren; opmerkingknooppunten overleven de retourvlucht nu byte voor byte - Onbekende werkbladrecords die bij het openen van een .xls waren vastgelegd, verdwenen bij elke daaropvolgende opslag ondanks dat ze voor herafspelen werden bewaard, en lekten bij elke opening geheugen; ze blijven nu behouden en worden woordelijk herafgespeeld via de standaardrecordschrijver
- Gedefinieerde namen langer dan 255 tekens en naamopmerkingen langer dan 65535 tekens verstoorden de NAME-recordstructuur bij het opslaan; beide worden nu vooraf geweigerd
- Een afgebroken opslag lekte de recordbuffers van werkmap en werkblad wanneer een versleutelingsmismatch midden in het wegschrijven opdook; de opslag geeft zijn buffers nu op elke uitgang vrij
- De in-place patchschrijver verwijderde het originele bestand voordat hij de vervanger op zijn plaats hernoemde, zodat een mislukte hernoeming de werkmap vernietigde; de wissel is nu één atomaire vervanging die bij falen beide bestanden houdt
- Celverwijzingen van de directe lezer dwingen de grenzen van 16384 kolommen en 1048576 rijen af in plaats van overgelopen coördinaten te accepteren, misvormde integer-attributen vallen terug op standaarden in plaats van de hele lezing af te breken, en data tussen 1900-01-01 en 1900-02-28 worden in beide richtingen geconverteerd met Excels fictieve schrikkeldag ingecalculeerd
- Attribuutwaarden met tab, regelinvoer of wagenterugkeer overleven de retourvlucht onveranderd in plaats van samen te vallen tot spaties, en een niet-afgesloten entiteit in elementtekst wordt nu geweigerd zoals in de attribuuttak
- Letterlijke kopieën van ZIP-items van 4 GiB of meer, die door het kopieerpad niet correct kunnen worden ingekaderd, worden nu geweigerd zoals de streamingschrijver dat doet in plaats van een corrupt archief op te leveren
- De corpusrunner schrijft zijn resultaten atomair zodat een onderbroken run bewaard bewijs niet kan vernietigen, registreert build-timeouts in plaats van te crashen en tolereert misvormde stage-trace-regels; de LibreOffice-verifiërer schrijft zijn bewijs atomair en de bestandsvervangingsprobe verzamelt de antivirusproductlijst weer daadwerkelijk
Versie 2.384.1
Opgelost
- Elk font vanaf de vijfde werd weggeschreven met een recordindex één voorbij het einde van de fontlijst, zodat Excel de werkmap repareerde en aangepaste fonts als standaard terugkwamen; zowel opslaan als openen gebruikt nu de gedocumenteerde nulgebaseerde index, zodat aangepaste fonts een retourvlucht overleven en door Excel gemaakte bestanden hun fonts houden wanneer ze in HotXLS worden geopend
- Het evalueren van
=0^-1of een negatieve basis met een gebroken exponent liet de herberekening crashen met een floating-point-uitzondering in plaats van#DIV/0!of#NUM!terug te geven - Expressieregels voor voorwaardelijke opmaak die uit een bestaand .xls waren gelezen, werden opnieuw opgeslagen als een wees-CF12-record onder de kale legacy-header, die Excel weggooit; ze behouden nu de legacy-recordvorm en hun markeeropmaak
- De verwijzingsintersectie-operator en de impliciete intersectie van geschaalde
OFFSET- en meercelligeINDIRECT-resultaten volgden de verkeerde as of weigerden geldige bereiken van één rij of kolom, waardoor de verkeerde cel of#REF!terugkwam - De streamende rijlezer meldde bij het lezen van klassieke .xls-bestanden elke gecachte formulebooleaan als FALSE en elke gecachte fout als
#NULL! - Grote .xls-bestanden waarvan de compound-filecontainer de 109 header-residente FAT-sectoren overschrijdt, konden niet worden geopend door de zelfstandige compound-filelezer omdat de DIFAT-extensieketen nooit werd gevolgd
- Aangepaste tabelstijlen laadden hun vul- en fontkleuren opnieuw met de rode en blauwe kanalen verwisseld, zodat een opgeslagen stijl in de verkeerde kleur terugkwam
- Misvormde PNG-afbeeldingen in een werkmap konden het proces laten crashen via een out-of-bounds-schrijfactie bij het insluiten van PDF-afbeeldingen of een onbegrensde tekstchunk-scan; ingesloten PNG's worden nu op afmetingen gecontroleerd en misvormde chunks geweigerd
- EMF-gebieden met meerdere rechthoeken werden gerenderd als hun bounding box, EMF-afbeeldingen zonder expliciete viewport-omvang werden verkeerd geschaald, en superscript-tekst werd onder de basislijn gerenderd op canvas, afdruk en metafile-uitvoer
- Automatisch geprioriteerde BIFF-regels voor voorwaardelijke opmaak droegen allemaal prioriteit 1, wat Excel als reparatie aanmerkt; automatische prioriteiten zijn nu uniek per blad zoals hun XLSX-tegenhangers
- De randstijl
xlSlantDashDotwerd in klassieke .xls-randuitvoer weggeschreven alsxlDashDotDot - Een afgekap headerrecord van een versleutelde werkmap wierp een uitzondering op via
Openin plaats van de wachtwoordfoutcode terug te geven, en verschillende foutpaden lekten geheugen bij het parsen van misvormde afbeeldings- of werkmapbestanden
Versie 2.384.0
Gewijzigd
- Klassieke XLS-pivotcaches worden opgeslagen zoals Excel ze opslaat: de records van elke cache gaan naar hun eigen opslagstream, terwijl de stream-identificator, de cache-scope en de brondefinitie van werkblad of benoemd bereik één keer in de werkmap-globals worden weggeschreven; caches uit oudere HotXLS-versies houden hun eerdere inline-indeling tenzij de opt-in framupgrade is ingeschakeld
- Met wachtwoord beveiligde werkmappen versleutelen elke pivot-cachestream als zijn eigen recordstream die fris begint aan het begin van de stream in plaats van de versleutelingspositie van de werkmapstream voort te zetten
Opgelost
- Een draaitabel kon na het opslaan van een werkmap die caches uit een bestaand bestand mengde met caches die in code waren aangemaakt, naar de verkeerde cache wijzen; de verwijzing van weergave naar cache volgt nu de werkelijke opslagvolgorde
- Elk HotXLS-pakket droeg nog de versiebron 2.379.7, en het herbouwen van een pakket in C++Builder kon de versiebron volledig strippen; alle pakketten dragen nu de huidige versie
Versie 2.383.4
Opgelost
- Diepe formuleaudits houden gewijzigde resultaten nu beschikbaar voor afhankelijke formules, zelfs wanneer de wijzigingen binnen de rapportagetolerantie vallen, en expliciet toepassen ververs deze niet-gerapporteerde resultaten
- Relatieve tolerantie wordt nu gerespecteerd voor gecachte resultaten in double precision in beide werkmap-engines, terwijl ongewijzigde resultaten een dubbele vergelijking vermijden
Versie 2.383.3
Opgelost
- Bestandsgebaseerde werkmopslag behoudt nu de native Windows-fout wanneer een voltooide XLSX-, XLTX- of ODS-uitvoer zijn bestemming niet kan vervangen, ook wanneer opruimen of een voortgangscallback de foutstatus van de thread wijzigt
Versie 2.383.2
Opgelost
- Herhaalde kopieën van rapportbanden en bereiken hergebruiken zoekacties naar gedefinieerde-naam-achtervoegsels in plaats van elke eerdere kopie opnieuw te scannen, waarbij de eerste beschikbare naam, de werkbladscope en het hergebruik van namen die latere bewerkingen vrijgaven behouden blijven
Versie 2.383.1
Opgelost
- Het herbouwen van formuleafhankelijkheden vermijdt het herhaald scannen van voorafgaande formulerijen, wat grote berekeningsketens goedkoper maakt terwijl verwijzingen naar array-uitvoer, afhankelijkheden over bladen heen en de lookup-volgorde behouden blijven
Versie 2.383.0
Toegevoegd
- Macrovrije Excel-sjablonen kunnen via een expliciete keuze van uitvoerformaat als XLTX worden opgeslagen, met bestanden of streams en gebufferde of streamende uitvoer
- Sjabloonuitvoer behoudt formules, gedefinieerde namen, afdrukbereiken en werkbladmetadata terwijl het standaard opslaggedrag van werkmappen onveranderd blijft; werkmappen met VBA worden geweigerd voordat de bestemming wordt weggeschreven
Versie 2.382.5
Opgelost
- Fonetische instellingen behouden de vereiste standaardlettertype-index, zodat Excel opgeslagen werkmappen niet afwijst wanneer de index nul is
- Dynamische formules voor afdrukbereiken en bereikunies met werkbladkwalificatie overleven een roundtrip zonder dat er een werkbladprefix aan een functie wordt toegevoegd of dat verwijzingen in een expressie worden afgekapt
- Gegenereerde en behouden pakketonderdelen delen unieke content-type-declaraties, en aangepaste eigenschappen botsen niet langer met ondoorzichtige root-relatie-id's
Versie 2.382.4
Opgelost
- Scalaire verwijzingen naar gedefinieerde namen gebruiken de intersectie met de huidige rij of kolom, terwijl bereikargumenten hun volledige bereiken behouden, zodat er geen valse afhankelijkheidscycli ontstaan in leningsjablonen
- Formuleberekeningen die gehele getallen en drijvende-kommagetallen mengen behouden de drijvende-kommaprecisie in plaats van afgekapt te worden tot vier decimalen
- Bij herberekening krijgen beschikbare precedenten van opzoekfuncties voorrang boven het lezen van hun caches, zodat verouderde betalingsaantallen en vergelijkbare opzoekresultaten worden voorkomen
Versie 2.382.3
Opgelost
- AGGREGATE verwerkt fouten van onberekende cellen en geneste aggregatie met onafhankelijke selectie-instellingen, behoudt matrixberekeningen en geeft de oorspronkelijke fouttypen door
- Opslag in klassiek XLS behoudt bestaande formulecaches tot een expliciete herberekening, inclusief de wortels van gedeelde en matrixformules; gedeelde formules vertalen relatieve verwijzingen voor hun doelcellen
- Gestructureerde verwijzingen ondersteunen backslashes en punten in tabelnamen, geneste syntaxis voor de huidige rij en geëscapete kolomnamen, zonder vergelijkbare tekst in formuletekenreeksen te wijzigen
- Voorwaardelijke opmaak in XLSX behoudt RGB-kleuren, expliciete lettertypevlaggen, onderstreepstijlen, lettertypenamen, -groottes en -schema's
- Ongewijzigde grafieken behouden hun oorspronkelijke definities en niet-nul ankeroffsets, zodat kleuren, posities en groottes van reeksen niet veranderen
- Het instellen van paginamarges schrijft geen ongespecificeerde paginaoriëntatie meer weg, en klassiek XLS behoudt ontbrekende geïmporteerde paginamarges in plaats van standaardwaarden toe te voegen die de afdrukpositie wijzigen
Versie 2.382.2
Opgelost
- ODS-werkmappen met grote herhaalde bereiken van lege rijen worden geopend en opgeslagen zonder dat elke rijhoogte en overgeërfde stijl van lege cellen wordt uitgesplitst naar afzonderlijke objecten
- ODS-uitvoer behoudt expliciete rijhoogten en compacte herhaalde opgemaakte rijen, inclusief overschrijvingen voor één rij en gewiste hoogten; rijhoogtebereiken overleven ook het kopiëren van werkbladen, het invoegen en verwijderen van rijen, tiling en XLSX-export
Versie 2.382.1
Opgelost
- Bij het openen en opslaan van XLSX-werkmappen met full-width-kolominstellingen wordt de kolommetadata niet langer herhaaldelijk gescand en wordt de steeds grotere kolom-XML niet langer gekopieerd, waardoor roundtrip-timeouts in datum- en sjabloonwerkmappen verdwijnen terwijl de kolominstellingen behouden blijven
- Draaitabeldefinities in ODS behouden overgeërfde XML-naamruimtedeclaraties, inclusief producer-extensies, zodat de opgeslagen XML goed gevormd blijft
Versie 2.382.0
Opgelost
- Bij het opslaan van een klassieke XLS-werkmap blijven geneste
SUBTOTAL-cellen nu buiten de omvattende subtotalresultaten, zodat de oorspronkelijke gecachede totalen behouden blijven in plaats van dat groepsrijen dubbel worden meegeteld - XLSX-grafieken worden alleen geladen via de drawing-relatie waarnaar elk werkblad verwijst, zodat een niet-gekoppeld conventioneel drawing-onderdeel een grafiek tijdens een roundtrip niet langer kan dupliceren
- OpenDocument data-pilot-tabeldefinities overleven een ODS-opslag, inclusief hun bronbereiken, velden, doelbereiken, knoppen en producer-extensieattributen
AGGREGATE-opties 0-7 volgen nu de gedocumenteerde selectieregels voor verborgen rijen, fouten en genesteSUBTOTAL/AGGREGATE, zowel in de referentie- als in de matrixvorm van de berekening
Versie 2.381.0
Toegevoegd
- Tabelslicers (Excel 2013+):
Worksheet.Slicers.Add(Table, ColumnName)maakt voor elke tabelkolom een complete slicerview aan — de onderliggende slicercache met de naamSlicer_<column>, de gereserveerde gedefinieerde naam#N/A, de werkbladextensieslicerListen een markup-compatibility-tekeninganker met een fallback-melding voor oudere Excel-versies worden allemaal automatisch weggeschreven, en viaCaption,ColumnCount,StartItem,StyleName,RowHeightenSetBoundsis de view te positioneren, van een bijschrift te voorzien en te stylen - Slicer-roundtripmodel: slicer-views en -caches worden bij het openen opnieuw ingelezen (gedeelde caches worden hergebruikt door meerdere views, verwijder je de laatste view dan verdwijnt ook zijn cache), ongewijzigde slicer-onderdelen en ankers worden byte-voor-byte teruggespeeld, en een tabelcache houdt zijn tabelbinding geldig, zelfs als het opslaan tabel-ids werkmapbreed hernummert
Opgelost
- Slicercaches die door eerdere versies werden weggeschreven, verwezen naar de tabel-id die het bestand bij het openen droeg; wanneer het opslaan tabel-ids werkmapbreed hernummerde, kon de verouderde
tableIdExcel in de reparatiemodus sturen. De binding volgt de tabel nu door die hernummering heen
Versie 2.380.0
Toegevoegd
- Waterfall- en treemapgrafieken: de uitgebreide grafiektypen van Excel 2016 kunnen worden aangemaakt, opgeslagen en heropend. Ze worden geserialiseerd als aparte extended-chart-onderdelen met hun eigen contenttype, werkbladdatabinding en een markup-compatibility-tekeninganker met een fallback-melding voor oudere lezers
- Treemapgrafieken ondersteunen hiërarchische categorieën: elk categorieniveau van de reeks wordt weggeschreven en teruggelezen als eigen niveau binnen de categoriedimensie, zodat de labels van blad- en bovenliggende knooppunten behouden blijven
Versie 2.379.4
Opgelost
- Een beschadigde of vijandige klassieke XLS-container beschadigt het geheugen niet meer tijdens het openen. De compound file-lezer kopieerde een hele sector naar de mini stream ook al hoorde daar slechts een deel van thuis, volgde de mini-toewijzingstabel voorbij het einde van die stream, accepteerde sectorgroottes die het formaat niet definieert en mat zijn toewijzingstabel op basis van een ongecontroleerd aantal. Sector- en minisectorketens zijn nu beveiligd tegen cycli, en een streamnaam die zijn veld vult zonder afsluitend teken wordt begrensd
- Een stijlrecord dat een celformaatindex benoemt voorbij de formattabel schrijft niet langer via die index. De referentietellers in de gedeelde formaat- en sleutellijsten controleerden alleen de ondergrens, zodat een 12-bits index uit het bestand voorbij de array kon reiken
- Een local file header die met ZIP64-uitgebreide informatie is geschreven, loopt niet langer zijn buffer voorbij: de opgegeven headergrootte houdt nu rekening met het 28-bytes extra field dat de schrijver toevoegt. Entry-offsets en streamposities worden als 64-bits waarden bijgehouden, een ZIP64-entry wordt gelezen met de lengte uit zijn extra field in plaats van de sentinel, en een entry groter dan 4 GiB wordt geweigerd in plaats van geregistreerd als zijn restant
- Een ZIP-entrynaam met een Windows-scheidingsteken wordt genormaliseerd. Een enkele backslash werd nooit geconverteerd naar een forward slash, waardoor
..\..\namede directory-traversalcontrole die splitst op forward slashes passeerde - Een maskerbereik zonder bovengrens, zoals
[a-, leest niet langer voorbij het einde van het masker, en het bouwen van een masker dat begint met een tekenset lekt niet langer een set per masker. Beide zijn bereikbaar via de COUNTIF- en SUMIF-criteria - Zoeken over de hele cel met jokertekens vereist nu dat het patroon op de volledige cel past, in overeenstemming met zowel het gedocumenteerde gedrag als de vergelijking over de hele cel zonder jokertekens.
FindTextmet patroonabcpaste eerder ook op een cel dieabcdefbevat - Precisie zoals weergegeven rondt cellen waarvan de getalnotatie geen cijferplaatsaanduiding heeft niet langer af. Een cel die bij naam als
Generalis opgemaakt, als tekst met@, of met een notatie die alleen literalen bevat, werd afgerond op een geheel getal - De tabel met gedeelde tekenreeksen rapporteert niet langer meer unieke tekenreeksen dan hij schrijft, koppelt de rich-text-runs van een verwijderde tekenreeks niet langer aan de tekenreeks die zijn plek hergebruikt, en zendt geen vervolgrecord meer uit dat niets behalve zijn optiebyte bevat wanneer een tekenreeks alleen door zijn opmaakstaart overloopt
- RTF-import stopt met het dupliceren van niet-ASCII-tekens. Na een
\\uN-escape volgen reservetekens die als\\'hhzijn geschreven; de oversla-logica herkende die niet, waardoor elk ervan ook als tekst werd uitgezonden. Overgeslagen groepen honoreren nu de\binN-raw-payloads, en een tabel die breder of hoger is dan het werkbladraster stopt aan de rand in plaats van een uitzondering te genereren - Een numerieke verwijzing buiten het door XML gedefinieerde tekenbereik wordt bij het lezen geweigerd in plaats van een ingesloten NUL, een alleenstaande surrogaat of een ingepakt codepunt op te leveren. Tab, line feed en carriage return overleven een OPC-roundtrip als tekenverwijzingen in plaats van genormaliseerd te worden naar spaties
- CSV-import houdt de waarde
SkipRowsover parses heen vast; hij werd ter plekke verlaagd, waardoor het tweede bestand dat via dezelfde loader werd gelezen niets oversloeg - Een
xl/tables/-onderdeel wordt herkend bij het bepalen welke onderdelen behouden blijven; de prefixvergelijking was één teken te kort en matchte nooit
Versie 2.379.3
Opgelost
- HTML-import decodeert decimale tekenverwijzingen.
éen elke andere&#NNN;-vorm leverde een NUL-teken op in plaats van het teken zelf, omdat de conversie zijn resultaat en zijn foutpositie in dezelfde variabele schreef en de succescode de waarde overschreef. Hexadecimale verwijzingen waren niet getroffen; beide vormen wijzen nu waarden buiten het representeerbare bereik af in plaats van een verdwaald teken uit te zenden - HTML-export houdt het volledige subadres van een interne hyperlink vast bij het bouwen van zijn ankerdoel. Een subadres langer dan 255 tekens werd afgekapt, waardoor het gegenereerde anker niet langer bij de link hoorde
Versie 2.379.2
Opgelost
- Een GIF die via
AddPictureofImages.AddFromFileis ingevoegd, haalt zijn afmetingen nu uit de logical screen descriptor. Elke GIF meldde eerder 100 bij 100 punten, ongeacht zijn werkelijke afmetingen, waardoor de afbeelding uitgerekt of samengeperst aankwam - BMP-formaatbepaling leest de bitmapheader die het bestand werkelijk declareert: een
BITMAPCOREHEADERmet zijn 16-bits afmetingen wordt begrepen in plaats van als 32-bits velden gelezen, en een top-down-BMP met een negatieve hoogte levert niet langer een negatieve afbeeldingshoogte op - JPEG-formaatbepaling accepteert elke SOFn-framemarker in plaats van alleen baseline, extended sequential en progressive. Lossless, aritmetisch gecodeerde en hiërarchische JPEG's vielen eerder terug op het standaard 100 bij 100
Versie 2.379.1
Opgelost
- WMF-afbeeldingen worden nu gedecodeerd als vector-scènes voor SVG, PDF en gepagineerde uitvoer. Sinds 2.363.0 las de decoder elk record als een 16-bits grootte gevolgd door de functiecode, maar een metafilerecord begint met een 32-bits grootte, waardoor elke door Windows of Office geschreven WMF bij zijn eerste record bleef steken en de afbeelding terugviel op een raster-placeholder. Records worden nu ingeraamd volgens
[MS-WMF] §2.3, en de pen-, brush-, font-, tekst-, shape- en polygonparameters worden vanaf hun opgegeven offsets gelezen META_STRETCHDIBverwachtte de DIB vóór de doelrechthoek en ging uit van een 40-bytes bitmapheader; de rechthoek gaat nu aan de DIB vooraf zoals het formaat voorschrijft,BITMAPV4HEADER/BITMAPV5HEADERen kleurentabellen worden gehonoreerd bij het lokaliseren van de pixelbits, en het record levert een afbeeldingscommando opXDest,YDestmet afmetingenDestWidthbijDestHeightMETA_EXTTEXTOUTslaat zijn optionele rechthoek over wanneerETO_OPAQUEofETO_CLIPPEDis gezet, waardoor tekst met een ondoorzichtige achtergrond niet langer vanaf de verkeerde offset wordt gelezen- Metafile-afbeeldingen die in een pagina-render zijn ingesloten, lezen hun pixels vanaf de offset die de bitmapheader aangeeft in plaats van vanaf vaste 40 bytes, waardoor een
BITMAPV4HEADER- ofBITMAPV5HEADER-afbeelding niet langer wordt weergegeven als verschoven kleurruis
Versie 2.379.0
Toegevoegd
TGridToXLSmaakt nu deel uit van het Free Pascal-runtimepakket, waardoor een Lazarus-TDBGridexporteert zoals onder de VCL: expliciete kolommen behouden hun titels, lettertypen, kleuren, uitlijning, breedten en zichtbaarheid, een grid zonder expliciete kolommen exporteert één kolom per datasetveld, en het resultaat wordt via dezelfdeSaveAs-aanroep opgeslagen als XLS, XLSX, HTML of RTF
Versie 2.378.4
Opgelost
- TEXTBEFORE en TEXTAFTER lazen hun argumentenaantal uit een lokale variabele waaraan nooit iets was toegewezen, waardoor de optionele instance-, match-mode-, match-end- en if-not-found-argumenten genegeerd konden worden, of een geldige aanroep met #VALUE! kon worden geweigerd, afhankelijk van achtergebleven stackinhoud; het aantal komt nu uit de aanroep zelf
- Een geschaalde OFFSET, één met een hoogte of breedte anders dan 1, die in een enkele cel werd geëvalueerd, vergeleek de formulecel met een anker dat nog niet was berekend, waardoor de impliciete kruising #REF! of de verkeerde cel kon opleveren; het verschoven anker wordt nu berekend vóór de kruisingstest
Versie 2.378.3
Opgelost
- Onder Free Pascal veroorzaakte het matchen of vervangen van een lege tekenreeks de reguliere-expressiefout, waardoor een rapportexpressie zoals
regexreplace(Code,"[^0-9]","")faalde metREPORT_EXPRESSION_INVALID_REGEXzodra het veld leeg was. De FPC-backend antwoordt nu zoalsTRegExdat onder Delphi doet: een patroon dat een lege tekenreeks accepteert, zoals^$of.*, matcht deze en levert zijn vervangingstekst op, terwijl[0-9]+of\s+geen match rapporteert
Versie 2.378.0
Toegevoegd
- HotXLS bouwt nu met Free Pascal 3.2.2 en Lazarus/LCL op Windows, Win32 en Win64. De XLS- en XLSX-werkmap-API's, formules, stijlen, de directe reader en writer, datasetexport en de renderinghelpers werken allemaal vanuit FPC-code met Delphi Unicode-stringsemantiek; het onderwerp ondersteuning voor Free Pascal en Lazarus behandelt de toepassingsinstelling en de backend-verschillen
- Het runtimepakket
Lib/FPC/HotXLSLaz.lpkopent in Lazarus of bouwt per architectuur vanaf de opdrachtregel viabuild-FPC-Lib.cmd, en de Lazarus-rooktestsuites onderTests/Lazarusdekken werkmap-roundtrips, compressie, versleuteling, COM-streams, graphics, tekstlezen, reguliere expressies, datasetexport en rapportexpressies af - FPC-builds gebruiken meegeleverde Pascal-backends voor ZIP, compressiestreams en AES, dus XLSX-bestanden, ook met wachtwoord beveiligde, hebben geen zlib-DLL en niet de voorgebouwde objectbestanden nodig die Delphi linkt; PNG behoudt zijn alfakanaal, EMF-tekenen en -afspelen verloopt via Windows-metafiles, en multipage-TIFF-export gebruikt de GDI+-runtime
Versie 2.377.2
Toegevoegd
- Een klassieke XLS-PivotCache die HotXLS schrijft, bevat nu de records waartegen het formaat de cacheheader definieert. De stream-id en het brongegevenstype van de header benoemden een SXStreamID en een SXVS die nooit werden geschreven, zodat geen enkele lezer één van beide kon controleren; beide records worden nu geschreven en beide headervelden komen uit dezelfde waarden, waardoor ze vanzelf overeenkomen
- Cachesubstreams bevatten ook SXDBEx, het record dat in elke cache die Excel schrijft op de cacheheader volgt. Het legt vast wanneer de cache voor het laatst is vernieuwd, waardoor
TXLSPivotCache.RefreshedDatenu een klassieke XLS-opslag en herlading overleeft, net zoals dat in XLSX al gebeurde TXLSPivotCache.StreamIdenTXLSPivotCache.SourceDataTypeleggen de twee waarden bloot, lezen ze terug uit een bestand dat ze vermeldt en schrijven ze naar het recordpaar plus de cacheheader. Een cache die viaAddPivotTableis gebouwd, meldt stream 0 en een werkbladbereik als bron
Gewijzigd
- De opt-in herschrijving van oude cache-inraaming (
UpgradeLegacyPivotCacheFraming) produceert nu ook deze drie records, waardoor een bijgewerkte cache niet alleen correct ingeraamd maar net zo compleet is als vers geschreven caches. Een cache die al een SXStreamID, een SXVS of een SXDBEx droeg, houdt wat hij droeg; één waarvan de SXDBEx formulerecords claimt die HotXLS niet schrijft, blijft op raw-replay - Lezen is onaangetast: bestanden die vóór deze release zijn geschreven, laden exact zoals voorheen, en cacherecords waarvoor HotXLS nog geen model heeft — waaronder de DConRef of DConName die een bronbereik benoemen — blijven byte voor byte behouden over een roundtrip
Versie 2.377.1
Toegevoegd
- Een werkmap kan nu vragen om haar oude PivotCache-substreams te laten herschrijven bij het opslaan.
TXLSWorkbook.UpgradeLegacyPivotCacheFramingstaat standaard uit; ingeschakeld wordt een klassiek XLS-bestand waarvan de caches vóór v2.377.0 door HotXLS zijn geschreven opgeslagen met die caches, opnieuw uitgezonden via de gecorrigeerde SXDB / SXFDB / SXDBB-writers, zodat de reeks pivotcache-fixes in v2.376.1 tot en met v2.376.7 ook bestaande bestanden bereikt in plaats van alleen nieuwe uitvoer - De upgrade geldt alleen waar aantoonbaar niets kost. Een cache die uit een bestand is gelezen, wordt alleen opnieuw uitgezonden wanneer zijn hele substream records bevatte die HotXLS modelleert en zijn inraaming er één is die HotXLS zelf fout schreef; al het andere — elke door Excel geproduceerde cache en elke cache met een record zoals SXDBEx dat HotXLS alleen als ondoorzichtige bytes bewaart — blijft zijn eigen bytes herafspelen, ook met de opt-in aan.
TXLSPivotCache.CanUpgradeFramingrapporteert het oordeel voor één cache, enRawFramingIsLegacy/RawModelIsCompleterapporteren de twee helften waarop het berust - Een bijgewerkte cache wordt geschreven waar zijn substream zat in plaats van vóór de anderen te worden verplaatst, zodat een draaitabelweergave nog steeds naar de cache verwijst die hij vóór de opslag benoemde
Opgelost
- Een klassieke XLS-PivotCache die uit een bestand is gelezen en vervolgens met gewiste raw-replay-vlag aan de writer werd gegeven, produceerde twee cachesubstreams, die van het model en die van het bestand. Hij produceert er nu één
Versie 2.377.0
Toegevoegd
- Klassieke XLS-werkbladen accepteren ingesloten grafiekobjecten:
AddChartObjectop een werkblad verankert een grafiekframe op het bladraster (OBJ-type 5 host-control-shape plus het MSODRAWING-clientanker), bouwt de grafieksubstream via de gedeelde grafiekbuilder en meereist in de recordlijst van het blad zodat de bestandsindeling past bij wat de reader bij het openen weer vastmaakt; een roundtrip brengt het frame terug met zijn grafiekmodel — reeksen, titel en bereikverwijzingen intact
Opgelost
- SeriesText-records decoderen hun string-payload met de juiste breedte: de reader gaf het tekenaantal door waar een aantal bytes werd verwacht, waardoor 16-bits bijschriften en reekslabels gehalveerd terugkwamen (een titel van vijf tekens werd als twee tekens gelezen)
Versie 2.376.7
Opgelost
- De gecachte rijen achter een draaitabel in een klassiek XLS-bestand worden geschreven zoals [MS-XLS] 2.4.276 ze beschrijft: één record per rij gecachte gegevens, met één index per cachefeld, één byte breed, of twee bytes voor een veld met meer dan 255 verschillende waarden. HotXLS schreef in plaats daarvan een eigen schema, waarbij elk veld in precies genoeg bits werd geperst om zijn waarden te tellen en veel rijen in één record werden gepakt — voor geen enkel ander programma te decoderen en in tegenspraak met de more-than-255-values-vlag die de velddefinitie al droeg
- Excel kan nu de waarden lezen die een HotXLS-PivotCache bevat in plaats van ze bij het openen van de werkmap uit het bronbereik op te moeten bouwen — iets waar een werkmap waarvan de brongegevens inmiddels zijn verplaatst, gewijzigd of verwijderd op vertrouwde
- Gecachte rijen worden ook weer terurgelezen. HotXLS negeerde het record eerder volledig, waardoor een cache die uit een bestand was geladen terugkwam met elke rij wijzend naar de eerste waarde van elk veld, en alles wat uit die cache werd berekend die verkeerde waarden volgde. Dit geldt evenzeer voor een werkmap die door Excel is geschreven als voor één die door HotXLS is geschreven
- Een cachefeld zonder waarden levert niets aan een gecachte rij, en een veld met meer dan 255 waarden wordt opgeslagen en gelezen op de bredere grootte die het formaat vereist
- Werkmappen die door HotXLS v2.376.6 en eerder zijn geschreven, laden nog steeds met hun gecachte rijen intact
Versie 2.376.6
Opgelost
- Het PivotCache-headerrecord in een klassiek XLS-bestand is ingedeeld zoals [MS-XLS] 2.4.275 het beschrijft. Het recordaantal is daar een vier-bytes veld en HotXLS schreef het in twee bytes, waardoor elk veld erachter één positie te vroeg uitging en het record vier bytes te lang werd — het aantal cachefelden belandde in het recordaantal, het vlagwoord kwam op de stream-id te staan en het veldaantal op de lengte van de naam van wie de cache het laatst vernieuwde, met de belofte van een naam voor wie het record te kort was
- De vlaggen van de header zeggen nu wat de cache werkelijk is: of zijn records in het bestand zijn opgeslagen, of hij vernieuwt wanneer de werkmap opent, of vernieuwen is toegestaan, en of de vernieuwingsquery op de achtergrond draait. Die vier instellingen stonden al in XLSX-uitvoer en reizen nu ook mee met een klassiek XLS-bestand, samen met de naam van wie de cache het laatst vernieuwde
- Het brongegevenstype in de header wordt geschreven als een werkbladbereik in plaats van te blijven staan op een waarde die het formaat niet definieert, en de veldaantallen en het gebruikte recordaantal dragen de echte totalen van de cache
- De naam van de vernieuwer wordt afgekapt tot de 255 tekens die het record toestaat, en een cache zonder naam schrijft helemaal geen naam in plaats van een lege placeholder
- Werkmappen die door HotXLS v2.376.5 en eerder zijn geschreven, laden nog steeds en geven hun cacherecordaantal nog steeds prijs. Er is nooit iets anders in de oude header opgeslagen — de writer vulde elk veld achter het recordaantal met vaste waarden die hij nooit uit de cache las — waardoor de vlaggen en de vernieuwersnaam van zo'n bestand als standaardwaarden terugkomen in plaats van als herstelde waarden
Versie 2.376.5
Opgelost
- PivotCache-veldnamen overleven een opslag en herlading van een klassiek XLS-bestand. De naamlengte werd uit de verkeerde plek in de cachefelddefinitie gelezen — een index die altijd $FFFF is — waardoor de naam elke keer werd weggegooid en elk cachefeld naamloos terugkwam
- Het cachefelddefinitierecord is ingedeeld zoals [MS-XLS] 2.4.283 het beschrijft: grbit, ifdbParent, ifdbBase, citmUnq, csxoper, cisxoper, catm, en daarna de veldnaam. HotXLS schreef drie velden die het record niet heeft — een subtype-itemindex, een getalnotatie en een tweede itemtelling — en stopte $FFFF in indexen die de specificatie begrenst op het aantal velden in de cache
- Het vlagwoord van het record beschrijft nu het veld waartoe het behoort: of het veld cache-items bevat, of die items getallen, datums of tekst omvatten, of een minimum en maximum kunnen worden berekend, of een item geen datum is, en of er meer dan 255 zijn. Het itemaantal in het record komt nu overeen met het aantal cache-itemrecords dat er werkelijk op volgt
- Cachefeldnamen langer dan de 255 tekens die het record toestaat, worden afgekapt tot 255 in plaats van op hun volledige lengte te worden weggeschreven
- Werkmappen die door HotXLS v2.376.4 en eerder zijn geschreven, laden nog steeds met hun cachefeldnamen intact — de naam nam in de oude indeling dezelfde positie in, dus niets dat een naam droeg, verliest die
Versie 2.376.4
Opgelost
- Draaitabelcaches in klassieke XLS-bestanden gebruiken nu de recordnummers die [MS-XLS] ze geeft. Zeven records in de cachesubstream gingen eruit onder het nummer van een ander record: de cachefelddefinitie als $00C8 (SXDBB), het veldtype als $00FB (SxFormat), de per-record itemindices als $00C5 (SXDI), en de numerieke, booleaanse, fout-, datum- en lege cachewaarden als $00CE, $00CF, $00D0, $00CC en $00CB (SXDtr, SxNil, SXTbl, SXInt, SxErr). Ze zijn nu SXFDB $00C7, SXFDBType $01BB, SXDBB $00C8, SXNum $00C9, SxBool $00CA, SxErr $00CB, SXDtr $00CE en SxNil $00CF, zodat Excel een door HotXLS geschreven pivotcache kan lezen en HotXLS er één die Excel schreef
- Lege waarden in een pivotcacheveld overleven een roundtrip. De writer zond ze altijd uit, maar de reader had er geen geval voor, waardoor elke lege waarde bij het laden wegviel en elke waarde erna in dat veld één positie opschoof, waardoor de itemverwijzingen van de draaitabel naar de verkeerde waarden bleven wijzen
- Werkmappen die door HotXLS v2.376.3 en eerder zijn geschreven, blijven laden met hun cachewaarden intact. Elke pivotcache-substream wordt gelezen in de nummering waarmee hij is geschreven, beslist uit zijn eigen velddefinitierecord, en een cache die uit een bestaand bestand is gelezen, wordt teruggeschreven onder de nummers waarmee hij binnenkwam, zodat het heropenen en opslaan van een oude werkmap zijn bytes niet stilletjes verandert
Versie 2.376.3
Opgelost
- Draaitabelweergaven in klassieke XLS-bestanden schrijven hun SXEx-uitbreidingsrecord nu onder het nummer dat [MS-XLS] er het geeft, $00F1; de writer gebruikte $00C6, wat SXDB is, het pivotcache-headerrecord — Excel die naar de weergave-uitbreiding zocht, vond niets en een record dat beweerde een cacheheader te zijn zat midden in een werkblad, waardoor de weergave-eigenschappen die SXEx draagt verloren gingen, zelfs na de veldindelingsfix in v2.376.1
- Werkmappen die door HotXLS v2.376.2 en eerder zijn geschreven, openen nog steeds met hun draaitabelweergaven intact: binnen een werkblad wordt de oude $00C6 nog steeds geaccepteerd als de weergave-uitbreiding die hij moest zijn, en binnen een pivotcache-substream wordt $00C6 nog steeds als de cacheheader gelezen, dus niets dat vroeger laadde, stopt met laden
Versie 2.376.2
Opgelost
- Klassieke XLS-3D-grafiekbladen die zonder expliciete scène zijn gemaakt, dragen nu de vlaggen die ze volgens de documentatie moeten dragen: het standaard-Chart3d-vlagwoord zette een bit die het record reserveert in plaats van de bit voor automatische schaling, waardoor een standaard-3D-grafiek heropend werd met clustering aan maar automatische schaling uit en nooit overeenkwam met de scène die hij beweerde te schrijven; grafieken die een expliciete 3D-scène doorgeven, waren onaangetast en hun bytes zijn onveranderd
Versie 2.376.1
Opgelost
- Draaitabelweergaven schrijven een SXEx-record waarvan de velden staan waar readers ze verwachten: de vaste 24-bytes body was twee velden verschoven, waardoor hij twee opmaakrecords aankondigde die nooit volgden en elke lengte van optionele tekenreeksen op nul liet, wat [MS-XLS] 2.4.282 verbiedt — die lengtes moeten óf de afwezigheidsmarkering zijn óf een echte lengte van 1 tot 255; de body begint nu bij het juiste veld en markeert elke optionele tekenreeks als afwezig, zodat Excel de weergave-eigenschappen leest in plaats van een vertraaid blok
- De SXEx-recordlengte wordt afgeleid uit de bytes die werkelijk zijn geschreven in plaats van uit een hardgecodeerde constante, zodat de opgegeven grootte en de payload niet langer uit elkaar kunnen groeien zoals vóór v2.376.0
Versie 2.376.0
Toegevoegd
- Klassieke XLS-grafiekbladen kunnen aan een draaitabelweergave worden gekoppeld: een nieuwe
AddChartSheet-overload accepteert de naam van de bron-pivotweergave en de hide-field-captions-vlag, die worden weggeschreven naar de SXViewLink- ($0858, [MS-XLS] 2.4.316) en PivotChartBits-records ($0859, 2.4.196) in de grafiekglobals vóór Units volgens de Chart Sheet Substream ABNF; grafiekinspectie decodeert beide records — inclusief 8-bits en 16-bits stringcoderingen — terug naar het getypeerde model (pivot-chart-marker, naam van de bronweergave, caption-vlag) en de canonieke semantische snapshot, terwijl grafieken zonder de koppelingsrecords ongeaand blijven
Opgelost
- Draaitabelweergaven schrijven een correct gedimensioneerd SXEx-record: de emitter declareerde een 24-bytes body maar schreef 26 bytes, waardoor de twee overtollige bytes terechtkwamen waar de header van het volgende record werd verwacht en elk record na de weergave (inclusief de werkblad-EOF en elke grafiekblad-substream die na een blad met een draaitabel volgde) verkeerd werd geparseerd, waardoor werkmappen die een draaitabel combineren met een grafiekblad heropend werden met de grafiek eraf
- Trendlijnweergavenamen in klassieke grafieken decoderen 8-bits string-payloads correct; de eerdere wide-character-reader gaf een lege naam terug voor records die Excel met 8-bits tekens schrijft
Versie 2.375.0
Toegevoegd
- Klassieke XLS-grafiekreeksen accepteren themagekleurde vullingen: de stijl per reeks draagt nu een themakleurindex en tint die worden weggeschreven naar een GelFrame-record na de AreaFormat volgens [MS-XLS] 2.4.131, met de OfficeArt-themakleurextensie (fillType, fillColor met de afgevlakte RGB, fillColorExt-schema-index, fillColorExtMod-tint-payload); wanneer geen expliciete vulkleur wordt meegegeven, wordt de afgevlakte kleur uit het standaard Office-thema opgelost met de tint toegepast, en grafiekinspectie decodeert de themaintentie terug naar het getypeerde model en de canonieke semantische snapshot
Opgelost
- De volledige build van de bibliotheek over alle versies is weer groen voor elke ondersteunde compiler: casts en aanroepen die alleen nieuwere compilers accepteren (een Extended-typecast van Int64-waarden, een harde Double-cast van een integer, een nil-procedureel argument bij overload-resolutie, toegang tot TPicture.LoadFromStream waar die protected is, en het GdiplusStartup-token-type dat wisselde tussen VCL-generaties) zijn versieveilig gemaakt van XE5 tot en met de huidige release
Versie 2.374.0
Toegevoegd
- 3D-grafiekscènes zijn configureerbaar en inspecteerbaar: een nieuwe
AddChartSheet-overload accepteert rotatie, elevatie, perspectiefafstand, hoogte, diepte, gap, en de cluster-, autoscale-, right-angle-scaling- en two-dimensional-walls-vlaggen die worden weggeschreven naar het Chart3d-record volgens [MS-XLS] 2.4.46, en grafiekinspectie decodeert de scène bij het lezen terug naar het getypeerde model (Scene3D); grafieken die de eerdere overloads gebruiken, zenden nog steeds de aan Excel matchende standaardwaarden byte voor byte uit
Versie 2.373.0
Toegevoegd
- Klassieke XLS-grafiekreeksen accepteren stijloverschrijdingen per reeks: lijnkleur en lijnstijl, vulkleur, en markeringsvorm, -kleuren en -grootte worden weggeschreven naar het opmaakblok van de reeks met de automatische vlag gewist, zodat Excel de meegegeven waarden honoreert, en grafiekinspectie decodeert de LineFormat-, AreaFormat- en MarkerFormat-records terug naar het getypeerde model en de canonieke semantische snapshot
Versie 2.372.0
Toegevoegd
- Klassieke XLS-grafiekreeksen accepteren benoemde en externe verwijzingen voor categorieën en waarden: tekst die geen gewoon A1-bereik is, wordt gecompileerd via de formule-engine van de werkmap, en het BRAI-record draagt een chart-area-item met de gecompileerde formule zodat de opslaanpassage deze herserialiseert met de huidige indexes van de opslag met gedefinieerde namen; grafiekinspectie decompileert de verwijzing bij het lezen terug naar zijn naam, terwijl onoplosbare tekst de lege placeholder-BRAI houdt
Versie 2.371.0
Toegevoegd
- Klassieke XLS-grafiekreeksen kunnen aan de secundaire asgroep worden gebonden: het markeren van een reeks in
AddChartSheetverhoogt AXESUSED naar twee, zendt een tweede AxisParent-blok uit met eigen categorie- en waardeassen plus een eigen grafiekgroep volgens de [MS-XLS] Chart Sheet Substream ABNF, en leidt de reeks via SerToCrt naar de tweede groep; grafiekinspectie decodeert bij het lezen de per-reeks grafiekgroepbinding
Versie 2.370.0
Toegevoegd
- Klassieke XLS-grafiekreeksen accepteren datalabels:
AddChartSheetzendt een AttachedLabel-record uit met de show-value-, show-percent-, show-category-name-, show-label-and-percent-, show-bubble-size- en show-series-name-vlaggen ([MS-XLS] 2.4.5-bitindeling), en grafiekinspectie decodeert zowel AttachedLabel als het DataLabExtContents-record voor uitgebreide labels, inclusief zijn scheidingsteken, terug naar het getypeerde model en de canonieke semantische snapshot
Versie 2.369.0
Toegevoegd
- Grafiekinspectie voor klassieke XLS decodeert nu de asgroepstructuur: AXESUSED stelt het opgegeven aantal asgroepen bloot en elke as registreert of hij tot de primaire of secundaire AxisParent-groep behoort, met de groepsindex in de canonieke semantische snapshot
Versie 2.368.0
Toegevoegd
- BIFF-grafiektrendlijnen en foutbalken worden bij het lezen nu gedecodeerd naar het getypeerde grafiekmodel: elk Series-blok stelt zijn Trendline-records bloot met regressiesoort, orde of periode, intercept (inclusief automatisch), vlaggen voor weergave van vergelijking en R-squared, prognose- en backcast-perioden en weergavenaam, plus zijn SerErrBar-records met richtingskant, waardetype, eindcaps en grootte
- De Classic-semantische snapshot brengt trendlijnen en foutbalken onder in de gedeelde canonieke containers in plaats van een uitzondering te genereren, zodat werkmappen met geavanceerde grafiekreeksen deterministisch worden vergeleken en trendlijnwijzigingen de canonieke stream veranderen
Versie 2.367.0
Toegevoegd
- RecalcAndVerifyEx voert een diepe berekeningsaudit uit op beide werkmapengines: elke formule evalueert één keer via de afhankelijkheidsgrafiek naar een geïsoleerde resultaatoverlay, zodat afhankelijke cellen deze passage lezen in plaats van verouderde caches, evaluatiefouten worden ingedeeld in getypeerde categorieën (niet-ondersteunde argumenten, kringverwijzingen, geweigerde of ontbrekende externe verwijzingen, overgeslagen datatabellen, annulering, interne fouten) met resultaatcodes, en elke fout draagt een begrensde call stack
- De audit honoreert een probleembudget met stabiele volgorde van blad, rij, kolom en categorie, een voortgangssink die bij knooppuntgrenzen kan annuleren, configureerbare numerieke toleranties, en een opt-in ApplyResults die herberekende waarden atomisch vastlegt na een volledig geslaagde passage over een onveranderde werkmapstructuur; de standaard blijft strikt alleen-lezen
Gewijzigd
- De bestaande RecalcAndVerify- en CalculateAndVerify-ingangspunten behouden hun eerdere ondiepe-vergelijkingssemantiek als compatibiliteitsshims terwijl ze de nieuwe rapportvelden delen
Versie 2.366.0
Gewijzigd
- PDF-export stelt documenten nu samen via een sequentiële objectwriter die elk object rechtstreeks naar de bestemming streamt, zodat er geen tussentijdse kopie van het hele document wordt gebouwd; ongetekende documenten streamen rechtstreeks naar forward-only-streams, terwijl getekende documenten worden samengesteld in een begrensde spool die de ByteRange- en handtekeningsinhoud-patches ontvangt vóór één enkele forward-kopie
- PDF-bijlagepayloads kopiëren in vaste chunks van hun provider-spool naar het einddocument en verwijzen naar hun streamgrootte via een indirect lengteobject, waardoor het piekgeheugen vlak blijft voor bijlagen van honderden megabytes
Opgelost
- Handtekeningsdigests worden nu incrementeel berekend over de twee gedekte bytebereiken van het samengestelde document in plaats van via een volledige documentkopie, en de gereserveerde handtekeningsvelden worden gelokaliseerd vanuit het handtekeningobject zelf in plaats van door de samengestelde bytes te scannen
Versie 2.365.0
Toegevoegd
- Zichtbare PDF-handtekeningtekst wordt nu gerenderd via de ingesloten Unicode-fontpijplijn met uitlijning links, gecentreerd of rechts, configureerbare grootte, kleur en vet- of cursiefopmaak, en dekt elk schrift in ondertekenaarnamen, redenen en locaties
- PDF-handtekeningafbeeldingen accepteren JPEG-payloads met afmetingen die uit de framemarker zijn afgeleid, terwijl te grote of corrupte afbeeldingen deterministisch falen voordat de digest wordt berekend
- PDF-bijlagen leggen een expliciet beleid voor dubbele namen bloot, spoelen grote provider-payloads voorbij een configureerbare bytedrempel naar een tijdelijk bestand en wijzen namen die vijandig zijn voor leaf-hosts af wanneer ze padscheidingstekens of controletekens bevatten
Gewijzigd
- PDF-bijlagenaambomen worden nu gesorteerd op hun gecodeerde naambytes volgens ISO 32000-1 7.9.6, en de bijlagecollectie blijft bevroren zolang providers draaien, zodat reentrante toevoegingen atomisch mislukken
Versie 2.364.0
Toegevoegd
- Ingesloten EMF- en WMF-afbeeldingen spelen padhaken af met vul-, lijn- en gecombineerde lijn-en-vulpasses, afgeronde rechthoeken, bogen, korden, taartpunten en hoekbogen via exacte boog-naar-Bézier-conversie, gebiedsvullingen en frames opgelost uit begrensde RGNDATA-rechthoeken, en geometrische of cosmetische uitgebreide pennen, allemaal afgevlakt naar de onveranderlijke gedeelde scène met dezelfde fail-closed-grenzen tegen clipping, escape en privérecords
Versie 2.363.0
Toegevoegd
- Ingesloten EMF- en WMF-afbeeldingen worden nu afgespeeld via een uitgebreide whitelist van veilige records: apparaatcontext-stapelbewaring met save en restore, venster- en viewport-mapping met wereldtransformaties, pen- en brushobjecttabellen inclusief stockobjecten, rechthoeken, ellipsen, lijnketens, veelhoeken, polylijnen en Bézier-curven met streepstijlen, begrensde tekstuitsneden met lettertypen, kleuren en uitlijning, en beperkte stretch-DIB-afbeeldingen hercodeerd als PNG, terwijl onbekende staterecords nog steeds fail-closed in de begrensde rasterfallback belanden in plaats van platform-metafile-playback aan te roepen
Opgelost
- WMF-afbeeldingen parsen nu de standaardindeling van de twee-bytes recordheader, waardoor echte placeable- en standaardmetafiles worden gedecodeerd in plaats van alleen synthetische fixtures
Versie 2.362.0
Toegevoegd
- Klassieke XLS en XLSX behouden nu de array-status van tabelformules, getypeerde IME-modi voor gegevensvalidatie, berekeningsthread-hints, de aanwezigheid van force-full-calculation, refresh-all-hints en werkmapcodenamen via hun oorspronkelijke binaire of OOXML-representatie
RecalcAndVerifygeeft een begrensde, gestructureerde berekeningsaudit terug met stabiele categorieën voor cache, parse, ontbrekende functies en ontbrekende namen, terwijl formulecaches en werkmapsemantiek onveranderd blijvenTXLSPageImageExporter.ExportRangerendert een opgevraagde celrechthoek als één compacte PNG of JPEG zonder papier, marges, kop- of voetteksten, afdruktitels of pagina-einden, en de page-image before- en after-events kunnen tekenen op de werkelijke encoding-canvas- Een speciale celafbeelding-exporter meet, rendert en slaat elke klassieke of XLSX-celrechthoek op als één compacte afbeelding met configureerbare resolutie, schaal, formaat en JPEG-kwaliteit; transparante of gekleurde achtergronden, onafhankelijke schakelaars voor objecten, rasterlijnen en celranden, pixel- en bytebudgetten, en bestandsopslag via atomische vervanging in dezelfde map die een bestaand doel onaangeroerd laat wanneer iets faalt
- Page-image-paint-events ontvangen nu een volledige alleen-lezen context met de live canvas, pixelgrenzen, paginagrootte in punten, resolutie, schaal, document- en bladinterne paginanummers, totaal aantal pagina's en het bronwerkblad, vuren exact één keer per gerenderd frame inclusief multipage-TIFF-frames, blijven stil tijdens het meten en triggeren nooit hun trailing-event of schrijven gedeeltelijke afbeeldingsbytes wanneer het leading-event een uitzondering genereert
TXLSSvgExportondersteunt volledige per-pagina-callbacks, deterministische document- en pagina-ID-namespaces en opt-in veilige hyperlink-overlay met ScreenTips en veilige nieuwe-vensterattributen- De klassieke en XLSX HTML-exporters bieden een opt-in spreadsheetweergave met semantische rij- en kolomkoppen plus begrensde pure-CSS-hot-tracking, en beide wijzen actieve of lokale URI-schema's af terwijl de weergavetekst van links behouden blijft
- Zichtbare PDF-handtekeningen kunnen contained, covered of stretched PNG-afbeeldingen gebruiken, en PDF-bijlagen kunnen hun payload lazy ophalen via een single-call-broninterface tijdens elke opslag
- Een begrensde EMF- en WMF-vectordecoder valideert headers, recordgroottes, totalen, exacte EOF-plaatsing en escape-beperkingen, en speelt vervolgens zijn veilige subset van rechthoekcommando's af via de gedeelde Canvas- en SVG-backends zonder driver-metafile-playback aan te roepen
Gewijzigd
- Direct schrijven naar XLSX kan array-attributen van tabelformules en getypeerde IME-modi voor gegevensvalidatie aanmaken, terwijl array-tabelformules niet langer stilletjes worden uitgebreid tot scalaire per-rij-formules
Versie 2.361.99
Gewijzigd
- Automatische tagged PDF zendt informatieve XLSX-afbeeldingen nu uit als onafhankelijke Figure-structuurelementen met Unicode-alternatieve tekst, dichte pagina-lokale identificatoren voor gemarkeerde content, exacte ouderboom-items en één semantisch element per zichtbare instantie, terwijl gelijke afbeeldingspayloads nog steeds één XObject delen; afbeeldingen zonder alternatieve tekst blijven decoratieve artefacten
Versie 2.361.98
Opgelost
- Zoekformules die een bereik doorzoeken dat hun eigen cel omvat (VLOOKUP, HLOOKUP, LOOKUP, XLOOKUP, XMATCH, MATCH) rapporteren tijdens herberekening niet langer valse kringverwijzingsfouten, terwijl bewerkingen binnen het doorzochte bereik de herberekening van de formule nog steeds activeren
- AutoFilter-tekstcriteria langer dan 255 tekens worden afgekapt tot de recordlimiet van het filter in plaats van dat er een beschadigde autofiltervoorwaarde wordt weggeschreven
- Opeenvolgende spaties die de impliciete kruisingsoperator gebruikt, blijven behouden wanneer formuletekst wordt geregenereerd in plaats van samen te vallen tot één spatie
- Ingebouwde gedefinieerde namen naast afdrukbereiken, afdruktitels en filterdatabases (consolidate areas, extract, database, criteria, recorder, sheet titles en Auto_Open-familiemarkers) blijven letterlijk behouden wanneer klassieke XLS-werkmappen worden geopend en opgeslagen
Versie 2.361.97
Toegevoegd
- Klassieke XLS- en XLSX-werkmappen leggen nu een gedeeld weergavebeleid voor objecten met drie toestanden bloot, met verliesloos behoud van de onaangeroerde bron en toewijzing over formaten heen; verborgen objecten breiden gepagineerde of HTML-uitvoer niet langer uit en komen niet langer in teken- en mediarenderingpaden terecht
- De werkmapviewer rendert lichte benoemde placeholders voor objecten in placeholdermodus, terwijl de PDF-, SVG-, bitmap-, print- en HTML-exporters standaard volledige objecten behouden en een expliciete placeholder-optie bieden die beelddecodering en grafiekscèneconstructie vermijdt
Versie 2.361.96
Gewijzigd
- Handmatige grafiekindelingen behouden nu onafhankelijke bronvelden en ongeldige tokens, lossen factor- en randcoördinaten op met begrensde plaatsing die de grootte behoudt, honoreren doelen voor binnen- en buitentekengebied plus titel- en legendoverlay, converteren ondersteunde ODF-geometrie via absolute grafiekafstanden, en renderen consistente plaatsing van titel, legenda, tekengebied en astitel over paginering, SVG, PDF, afbeelding, voorbeeld, print, viewer en HTML-uitvoer
Versie 2.361.95
Gewijzigd
- XLSX-diagramgegevenslabels die uit cellen komen, behoren nu tot elke reeks met volledige formules, geïndexeerde caches, expliciete gedeelde en per-punt zichtbaarheid, live vernieuwing van het werkblad, fallback naar de externe cache, formulevertaling bij kopiëren en rapportuitbreiding, en consistente custom-first-labelcompositie over paginering, SVG, PDF, afbeelding, voorbeeld, print, viewer en HTML-uitvoer
Versie 2.361.94
Gewijzigd
- Grafiekcategorie-assen met meerdere niveaus behouden nu ijle hiërarchische caches en live tweedimensionale bereiken, bouwen ouderbewuste spans in lineaire tijd, honoreren gedrag met één niveau, omgekeerd, rechts-naar-links, verborgen en lege categorieën, en renderen consistente hiërarchielabels en scheidingstekens over paginering, SVG, PDF, afbeelding, voorbeeld, print, viewer en HTML-uitvoer; ODS-export gebruikt het bereik van de diepste categorieën
Versie 2.361.93
Gewijzigd
- Datumassen leiden de kalenderenheden nu één keer af over alle zichtbare reeksen, kiezen begrensde automatische intervallen op basis van het zichtbare bereik, de asbreedte, het gemeten labelfont, de getalnotatie en de rotatie, en leiden labels, coördinaten, merktekens en rasterlijnen af uit gedeelde verzamelingen van hoofd- en secundaire merktekens over paginering, SVG, PDF, afbeelding, voorbeeld, print, viewer en HTML-uitvoer
Versie 2.361.92
Gewijzigd
- XLSX-datumassen behouden nu de getalnotatie van de as en de bronkoppelingstoestand, renderen geformatteerde labels met tekststijl en rotatie, en honoreren de omgekeerde richting terwijl een gelijkmatige spatiëring behouden blijft voor dubbele en ijle datums over paginering, SVG, PDF, afbeelding, voorbeeld, print, viewer en HTML-uitvoer
Versie 2.361.91
Gewijzigd
- XLSX-datumassen behouden nu of de basis-, hoofd- en secundaire kalenderenheden en automatische categoriedetectie zijn weggelaten of expliciet meegegeven, inclusief expliciete dag-eenheden en false-waarden; Classic-extensierecords voor datumassen leggen getypeerde velden bloot, behouden gemaskeerde of ongeldige raw-waarden en kunnen actieve instellingen in het XLSX-asmodel afbeelden
Versie 2.361.90
Gewijzigd
- XLSX-datumasgrafieken behouden nu continue datumspatiëring en renderen hoofdintervallen van dag, maand of jaar met het 1900- of 1904-datumsysteem van de werkmap over gepagineerde, SVG-, PDF-, afbeeldings-, voorbeeld-, print-, viewer- en HTML-uitvoer; op paginering gebaseerde uitvoer honoreert ook geconfigureerde secundaire merktekens en rasterlijnen
Versie 2.361.89
Toegevoegd
- De werkmap-viewer legt geldige werkbladachtergronden nu als tegels achter cellen zonder vulling, terwijl print-, PDF-, SVG-, bitmap-, metafile- en Classic- of XLSX-HTML-uitvoer een expliciete
ExportSheetBackgroundImages-opt-in bieden die standaard is uitgeschakeld
Gewijzigd
- De gepagineerde achtergrondweergave behoudt nu de werkbladrelatieve tegelfase over pagina's heen, decodeert elke achtergrond eenmaal per rendersessie, hergebruikt één PDF image XObject- of SVG-resource en slaat corrupte payloads over met één diagnose
Versie 2.361.88
Toegevoegd
- Classic-werkbladen bieden nu getypte achtergrondafbeelding-aanmaak en een gedeelde alleen-lezen achtergrondresource, lezen en schrijven BIFF8-achtergrondrecords met doorlopende payload-splitsing, reconstrueren bitmap-payloads als standaard BMP-gegevens, bewaren niet-ondersteunde native en onbekende formaten byte voor byte met diagnostiek, kopiëren het achtergrondeigendom via deep copy en converteren bekende achtergronden in beide richtingen tussen XLS en XLSX
Versie 2.361.87
Opgelost
- XLSX-werkbladkopieën behouden nu de bytes van de achtergrondafbeelding van het blad en het mediatype, zowel bij kopieën binnen dezelfde werkmap als bij kopieën tussen werkmappen: kopieën binnen de werkmap hergebruiken de bewaarde bronmedia, kopieën tussen werkmappen wijzen het media-eigendom vóór het opslaan opnieuw toe
Versie 2.361.86
Toegevoegd
- Classic XLS- en XLSX-werkmappen krijgen
AllowUnsafeFormulaCallbacks, terwijl contextuele evaluatie de bijbehorende optie per aanroep en de gestructureerde statusxlfeUnsafeFunctionDeniedlevert
Beveiliging
- Gevaarlijke externe en macrostijl-formulenamen bereiken standaard niet langer de gebruikersfunctie-handlers op werkmapniveau, procesbreed, in de resolver of voor events, en de weigering plaatsvindt voordat de formuleargumenten worden geëvalueerd
Versie 2.361.85
Toegevoegd
- Classic XLS- en XLSX-werkmappen krijgen
AuditFormulaSymbolsvoor gestructureerde diagnostiek van onbekende functies, onbekende namen en syntaxis over formulecellen en gedefinieerde namen, met per bewerking statistieken over unieke formules en cachetreffers
Gewijzigd
- Bewaarde onbekende functies en namen evalueren nu tot Excel-
#NAME?-fouten via de directe, afhankelijke, contextuele, seriële en parallelle berekeningspaden - Wijzigingen in werkmaplokale of procesbreede gebruikersfunctieregistraties en in formules van gedefinieerde namen maken de betrokken berekeningsstatus nu ongeldig vóór de volgende herberekening
Opgelost
- Formulefouten die uit afhankelijke gecachte cellen worden gelezen, blijven nu getypte fouten in plaats van de scalaire conversie in te gaan en een Variant-conversieuitzondering te veroorzaken
Versie 2.361.84
Toegevoegd
- Normale formuliertoewijzing in klassieke XLS en XLSX past het formule-invoerbeleid van de werkmap nu atomair toe, zodat strikte afwijzing de celwaarde, de formulerecache en afhankelijkheden ongewijzigd laat, terwijl de behoudmodus onbekende functies en namen opslaat
Gewijzigd
- Klassieke XLS schrijft behouden onbekende aanroepen via gebruikersfunctietokens van BIFF-add-ins en behoudt behouden onbekende-naamtekst over opslaan, opnieuw openen en XLS/XLSX-conversie heen
- Validatie van formule-invoer herkent geconfigureerde callback-gebruikersfuncties, aanroepbare
LAMBDA- enLET-constructies, lambda’s van gedefinieerde namen, rapportplaatsaanduidingen, geregistreerde externe koppelingen en geldige gestructureerde verwijzingen zonder handlers aan te roepen
Opgelost
- XLSX-validatie behoudt nu geldige geneste gestructureerde verwijzingen en verwijzingen naar de huidige rij en hergebruikt geen verouderde kolomtekst meer tijdens het doorzoeken van een niet-opgeloste tabelverwijzing
Versie 2.361.83
Gewijzigd
- Waardetoewijzing in klassieke XLS en XLSX past
FormulaEntryPolicy.EmptyStringModenu consistent toe: de standaard wist exacte lege tekenreeksen, de behoudmodus slaat een constante lege tekenreeks op, enNullofUnassignedwist de cel altijd - Het native laden van XLS, XLSX en ODS plus de conversie van XLS naar XLSX en van XLSX naar XLS behoudt nu vertrouwde constante lege tekenreeksen zonder ze te verwarren met afwezige cellen of formules zoals
="" - XLSX-tekenreeks- en Variant-schrijvers voor rijen of kolommen behouden snelpaden voor compacte opslag, laten gewiste items afwezig en slaan exacte lege tekenreeksen alleen in de behoudmodus op
Versie 2.361.82
Toegevoegd
- Klassieke XLS- en XLSX-werkmappen leggen nu een gedeeld
FormulaEntryPolicybloot, terwijl beide werkbladengines mutatievrijeValidateFormulaEntry-methoden bieden die een gestructureerd probleem, actie en onbekend symbool teruggeven voordat een aanroeper een cel wijzigt
Gewijzigd
- Validatie van formule-invoer onderscheidt nu exacte lege invoer van formules die een lege tekenreeks teruggeven, scheidt onbekende functies, onbekende namen, syntaxisfouten, ongeldige doelen en beperkingen van het doelformaat en herkent geregistreerde gebruikersfuncties zonder hun handlers aan te roepen
Versie 2.361.81
Gewijzigd
- Invoegen of verwijderen van hele rijen of kolommen wijst de geordende selectiegebieden en het actieve gebied van elk vensterdeel nu consistent opnieuw toe in XLS en XLSX, behoudt de overgebleven volgorde en maakt een grenscel-fallback wanneer alle gebieden zijn verwijderd
- Normalisatie van grote vensterdeelselecties, structurele bewerking en query’s gebruiken nu geamortiseerd lineaire opbouwers en capaciteitsgroei in plaats van herhaalde kopieën van volledige tekenreeksen of arrays
Opgelost
- Klassieke XLS bewaart misvormde of tegenstrijdige
Selection-recordinhouden nu byte-exact terwijlxlsDiagnosticSelectionRecordInvalidwordt gerapporteerd, in plaats van gedeeltelijk vertrouwde getypeerde status bloot te geven
Versie 2.361.80
Toegevoegd
TXLSWorksheetenTXLSXWorksheetleggen nu overeenkomendeTryGetWindowScroll- enScrollWindow-methoden bloot om de eerste zichtbare cel van elk bestaand logisch vensterdeel te lezen en te wijzigen met 1-gebaseerde coördinaten
Gewijzigd
- De scrollstatus van de vier vensterdelen behoudt de gedeelde boven-, onder-, linker- en rechterassen nu onafhankelijk via het opslaan, openen en kopiëren van werkbladen in XLS en XLSX, terwijl ontbrekende vensterdelen en ongeldige coördinaten mislukken zonder de weergavestatus te wijzigen
Versie 2.361.79
Gewijzigd
- Klassieke XLS-werkbladen behouden onafhankelijke geordende selectiegroepen voor elk vensterdeel, aggregeren opeenvolgende BIFF-
Selection-records tot één logische reeks, behouden onaangeroerde recordinhouden en kopiëren de volledige selectiestatus mee met het werkblad - Klassieke selecties met meer dan 1369 gebieden worden geschreven als opeenvolgende, aan de standaard voldoende blokken, terwijl één geaggregeerde index van het actieve gebied over elk blok behouden blijft
Versie 2.361.78
Toegevoegd
TXLSWorksheetenTXLSXWorksheetleggen nu overeenkomende vensterdeelbewusteGetSelectedAreas- enSelectAreas-methoden bloot via het gedeelde typeTXLSPanePosition
Gewijzigd
- Query’s voor vensterdeelselecties geven geordende snapshots in eigendom van de aanroeper terug met de index van het actieve gebied, behouden overlappende gebieden en laten de werkbladstatus ongewijzigd wanneer een vensterdeel ontbreekt of een bijwerking ongeldig is
Versie 2.361.77
Toegevoegd
IXLSWorkbook,TXLSWorkbookenTXLSXWorkbookleggen nu overeenkomende streaming-SaveSemanticSnapshot- en incrementele SHA-256-ComputeSemanticHash-methoden bloot met Content- en SecurityComplete-profielen plus expliciete opties voor viewerstatus, vluchtige metadata en formulerecache
Gewijzigd
- Semantische snapshots doorlopen sparse werkmapmodellen zonder een volledige snapshot te materialiseren, en zowel snapshot- als hashbewerkingen houden een leaserecht vast, zodat gelijktijdige openbare mutaties mislukken voordat de werkmapstatus verandert
Versie 2.361.76
Toegevoegd
- Het getypeerde diagrammodel van klassieke XLS legt nu de titels van diagram, categorieas en waardeas bloot
Opgelost
- Extractie van het diagrammodel van klassieke XLS identificeert nu reeksen, legenda’s, diagramgroepen, assen, 3D-status, reekslabels en bronformules van reeksen op basis van hun gedefinieerde BIFF-records
- Legendaposities en de classificatie tussen cirkel en ring worden gedecodeerd uit hun gedefinieerde recordvelden
Versie 2.361.75
Toegevoegd
- Het Delphi-FeatureShowcase en de C++Builder-XlsxFeatureGallery demonstreren nu dezelfde workflow van datacontext van gecompileerde rapporten, geheugentabel, strikte datatoegang, voortzetting na herstelbare fouten, diagnosewerkblad, onveranderlijk runresultaat en atomische bestandsuitvoer
- Het onderwerp over gecompileerde rapportage biedt nu overeenkomende Delphi- en C++Builder-voorbeelden, waaronder de verwerking van smart-interfaces door C++Builder die vereist is voor interface-gebaseerde rapporttabellen
Opgelost
- De C++Builder-XLSX-featuregalerie koppelt het complete, aan de versie aangepaste HotXLS-staticapakket, zodat implementatieafhankelijkheden van gecompileerde rapporten oplossen zonder fragiele linkerdirectieven per eenheid
Versie 2.361.74
Gewijzigd
RunToStream,RunToFileenRunToEncryptedFiledelen nu één uitvoertransactie die een geserialiseerde werkmap pas publiceert nadat rapportgeneratie en opslaan zijn voltooid- Onversleutelde rapportuitvoer behoudt de werkmapindeling van het sjabloon, waaronder ODS-uitvoer vanuit ODS-sjablonen, terwijl versleutelde uitvoer een versleutelde Office-container blijft
Opgelost
- Serialisatie-, vervangings-, annulerings- en fatale rapportfouten laten bestaande doelstreams, bestanden en versleutelde bestanden ongewijzigd en geven datasessies per run en tijdelijke opslag vrij voordat ze terugkeren
Versie 2.361.73
Toegevoegd
- Rapportbanden van benoemde bereiken en Excel-tabellen leggen nu
ErrorMode,StrictDataAccess,RuntimeLimitsen onveranderlijkeLastResult-snapshots bloot, met een afzonderlijkeCompletedWithErrors-bandstatus
Gewijzigd
WriteAndContinuekan een expliciet herstelbare rijfout als letterlijke diagnostische tekst schrijven, de broncursorrij en de werkelijke uitvoercel vastleggen en dan latere doelen in die rij en latere invoerrijen voortzetten- Rapportexpressies verbruiken getypeerde band-snapshotwaarden voordat ze terugvallen op tekst, waarbij numerieke, datum-, Boolean- en andere ondersteunde Variant-waarden behouden blijven tijdens de expressie-evaluatie
Opgelost
- Fatale doel-, annulerings- en runtime-limietfouten tijdens banduitbreiding herstellen brondoelen en ingevoegde structuur, wissen teruggerolde diagnostische vlaggen en publiceren nul toegepaste doelen
Versie 2.361.72
Toegevoegd
TXLSReportRuntimeLimitsbegrenst het aantal vastgehouden runtime-problemen, de gesaneerde berichtlengte en het probleemgeheugen, terwijlRuntimeDiagnosticsSheetNameoptioneel één gestructureerd diagnosewerkblad schrijft- Expliciete resolver-datafouten, deling door nul in expressies en ongeldige reguliere expressies dragen nu stabiele provider- of expressie-probleemcategorieën en foutcodes
Gewijzigd
WriteAndContinuebehoudt veilige doelen buiten cellen en legt hun probleem vast, terwijl werkbladnamen en formules van gedefinieerde namen fail-fast-structuurdoelen blijven- Resultaten van resolver-datafouten blijven herstelbaar wanneer ze worden geleverd uit de aliascache van de betreffende run, terwijl uitzonderingen die een resolver gooit fataal blijven
Beveiliging
- Runtime-berichten stoppen bij de eerste regel, maskeren veelvoorkomende vormen van aanmeldgegevens en bearer-tokens en dwingen limieten voor aantal, lengte en geheugen af voordat het falende doel wordt gewijzigd
Versie 2.361.71
Toegevoegd
- Exacte
{{#usertable(alias, logicalName, providerKey, name=expression)}}-cellen worden gecompileerd tot getypeerde, lui opgeloste tabeldeclaraties, enTXLSCompiledReportTemplate.UserTableCountrapporteert het aantal declaraties apart van de uitvoerdoelen TXLSReportTemplateChecker.DataContextcontroleert vooraf geregistreerde providersleutels, getypeerde parametergrenzen, misvormde declaraties en aliasconflicten ongeacht hoofdletters zonder een resolver aan te roepen
Gewijzigd
- Rapportsjablonen en -generatoren evalueren declaratieparameters vóór de schrijfacties naar doelen, registreren ze in de huidige runsessie en lossen een gedeclareerde tabel pas op wanneer
dbvalueofdbcountvoor het eerst naar de alias verwijst - Herhaalde identieke declaraties delen één aanvraag, terwijl declaraties die een alias hergebruiken met een andere logische naam, provider, parametervolgorde, type of waarde mislukken met de locatie van de declarerende cel voordat de werkmap wordt gewijzigd
Beveiliging
- Gebruiktabeldeclaraties accepteren alleen een geregistreerde providersleutel en begrensde getypeerde dataparameters, wijzen toegang tot datatabellen binnen parameterexpressies af en bieden geen sjabloonveld voor SQL, paden, URL’s of commandotekst
Versie 2.361.70
Toegevoegd
TXLSReportDataRequestdraagt een benoemde of gebruiktabel-identiteit, getypeerde parameters, de bronlocatie en een alleen-lezen runbesturing over aanIXLSReportDataResolver, waarvan de expliciete resultaatstatussen onderscheid maken tussen onbehandelde, opgeloste, niet-gevonden en datafout-uitkomstenTXLSReportDataContext.RegisterResolver,RemoveResolverenClearResolversbeheren een benoemde resolverregistry die hoofdletterongevoelig is, terwijlTXLSReportDataLimitsaliassen, resolvers, parameters, namen, berichten en geretourneerde tabelschema’s begrenst
Gewijzigd
- Elke rapportdatasessie legt de resolverregistry vast als een O(1)-opzoeking, houdt expliciete tabellen leidend, zet legacy-tabelproviders om, bewaart getypeerde aanvragen per alias in de cache en wijst een hergebruikte alias af waarvan de logische naam, provider, parametervolgorde, het type of de waarde afwijkt
- Rapportrunners en -banden geven nu één threadveilige annuleringsbesturing door via de dataresolutie, stoppen na annulering zonder het actieve doel vast te leggen en houden een geannuleerde alias beschikbaar voor een schone herkansing in plaats van de annulering als datafout in de cache te bewaren
Beveiliging
- Getypeerde dataaanvragen wijzen controletekens, negatieve broncoördinaten, dubbele parameternamen, niet-ondersteunde Variant-arrays of -verwijzingen, overdreven lange tekenreeksen, te veel aliassen of providers en te grote tabelschema’s af voordat er onveilig werk of werkmapwijzigingen plaatsvinden
Versie 2.361.69
Toegevoegd
TXLSXWorksheet.ClearRowHeightenClearColWidthverwijderen één expliciete dimensie-overschrijving zonder andere rij- of kolommetadata aan te tasten
Gewijzigd
- Gecompileerde rapportdoelen ronden nu eerst de expressie-evaluatie af voordat dynamische opmaak wordt aangeroepen en leggen celinhoud, getalnotaties, rijhoogten en kolombreedten via één rollbackgrens vast
- Herstelbare celdiagnostieken leiden stijlen met rood lettertype en gele vulling af van het bestaande lettertype van de cel, behouden de resterende celstijl en hergebruiken gepoolde stijlen bij gelijke basislettertypen en herhaalde runneruitvoeringen
Opgelost
- Een herstelbare evaluatiefout laat nu geen dynamische getalnotaties of expliciete rij- en kolomdimensies meer achter, en diagnostische schrijfacties wissen nu elke formule voordat letterlijke tekst wordt opgeslagen
Versie 2.361.68
Toegevoegd
- Gecompileerde rapportrunners en -generatoren leggen
ErrorMode,StrictDataAccessen een onveranderlijkeLastResultbloot met eindstatus, aantal toegepaste items, foutdetails en geordende runtime-problemen WriteAndContinuekan expliciet herstelbare celdatafouten vervangen door letterlijke diagnostiek en eindigen alsCompletedWithErrors, terwijl de standaardmodusStopcompatibel blijft
Gewijzigd
- Strikte datatoegang rapporteert ontbrekende tabellen, niet-beschikbare willekeurige toegang, ontbrekende rijen en ontbrekende velden via stabiele foutcodes wanneer er geen expliciete sjabloonfallback bestaat
- Alleen expliciet als herstelbaar gemarkeerde datafouten mogen doorgaan; structurele, callback-, annulerings-, bron-, beveiligings-, serialisatie- en andere fatale fouten stoppen het rapport nog steeds
Opgelost
- Uitvoerfouten bij bestanden en versleutelde bestanden publiceren nu een mislukt runresultaat in plaats van een voltooid resultaat uit de voorafgaande werkmapgeneratiefase vast te houden
Versie 2.361.67
Gewijzigd
- Gecompileerde sjablonen, runners, bereikbanden en Excel-tabelbanden lossen
dbvalueendbcountnu op via één geïsoleerde datasessie per logische run - Herhaalde aliassen worden binnen een run één keer geladen, latere runs laden providergegevens opnieuw, gelijktijdige runs houden onafhankelijke caches aan en beide passages van
PreprocessAndRundelen één consistente tabelsnapshot - Rapportband-expressies binden alleen hun rij- of kolomvariabelen, waardoor letterlijke tabelnamen en ingebouwde locatievariabelen niet langer voor bronkolommen worden aangezien
Opgelost
- Rapportdatasessies en hun providersnapshots worden vrijgegeven na geslaagde, geannuleerde of mislukte uitvoering, inclusief provideruitzonderingen en herkansingen van herbruikbare runners
Versie 2.361.66
Toegevoegd
TXLSReportDataContext.BeginRungeeft een geïsoleerdeIXLSReportDataSession-snapshot terug met statusinspectie en aantallen opgeloste of gecachte aliassen
Gewijzigd
- Rapportdatasessies gebruiken een hashcache die hoofdletters negeert voor expliciete tabellen, luie providerresultaten, ontbrekende aliassen en providerdatafouten
- Elke unieke alias bereikt de providerketen hooguit één keer per sessie, providerresultaten blijven gebonden aan de opgevraagde alias en recursie via dezelfde alias faalt onmiddellijk
- Directe aanroepen van
TXLSReportDataContext.TryGetTableenRequireTablebehouden een aparte compatibiliteitscache die ongeldig wordt wanneer registraties veranderen
Versie 2.361.65
Toegevoegd
IXLSXImageBlobenTXLSXImageBlobleveren onveranderlijke raster- en SVG-payloads met eenmalige SHA-256-digests, bytegrootte en een optionele cachesleutelTXLSReportImageResult.CacheKeylaat een V2-beeldprovider herbruikbare inhoud expliciet identificeren, terwijl tegenstrijdige inhoud voor dezelfde sleutel wordt geweigerd voordat het werkblad wordt gewijzigd
Gewijzigd
- Herhaalde rapportafbeeldingen delen één onveranderlijke payload via een expliciete cachesleutel of exacte digest-overeenkomst en behouden daarbij onafhankelijke ankers en transformaties
- XLSX en ODS slaan elke unieke afbeeldingspayload één keer op, hergebruiken de mediarelatie over werkbladen heen en herstellen gedeelde payloads wanneer de werkmap opnieuw wordt geopend
- Het heropenen van XLSX herstelt SVG-begeleidende gegevens nu vanuit DrawingML-extensierelaties en koppelt deze aan de rasterfallback
Versie 2.361.64
Toegevoegd
TXLSReportImageResultkan bronpixelafmetingen en DPI opgeven, terwijl beeldaanvragen en -resultaten ankerrelatieve doeloffsets in EMU blootleggenTXLSXImage.OffsetXEMUenOffsetYEMUbehouden de afbeeldingsplaatsing binnen een anker over XLSX- en ODS-opslag-/openingscycli heen
Gewijzigd
- V2-beeldbinding leidt de fysieke geometrie af uit PNG-, JPEG-, GIF-, BMP-, EMF- en WMF-headers, past de formaatwijze Natural, Contain, Cover of Stretch toe en centreert ingesloten afbeeldingen zonder hun pixels te decoderen
- Rastergeometrie wordt geweigerd voordat het werkblad wordt gewijzigd wanneer headers afgekapt zijn, opgegeven afmetingen tegenstrijdig zijn, een zijde meer dan 100.000 pixels bedraagt of de totale gedecodeerde grootte meer dan 100 miljoen pixels overschrijdt
Versie 2.361.63
Toegevoegd
IXLSReportImageDataProviderV2kan afbeeldingsbytes of door de aanroeper geleende en door de provider overgedragen streams teruggeven, met context over werkmap, werkblad, doel, band, tabel, rij, anker en annuleringOnTransformImagekan een afbeelding vóór de binding vervangen of van grootte laten veranderen, terwijl gecompileerde bereik- en Excel-tabelbanden een alleen-lezen snapshot van elke feitelijke datarij blootleggen
Gewijzigd
- V2-beeldstreams worden in begrensde blokken gelezen met een configureerbare standaardlimiet van 64 MiB; geleende zoekbare streams herstellen hun positie en overgedragen streams worden precies één keer vrijgegeven
- V2-payloads wijzen lege gegevens, niet-overeenkomende formaatsignaturen, inconsistente afmetingen, ongeldige ankers en offsets buiten het raster af voordat het werkblad wordt gewijzigd
- Gecompileerde bereik- en Excel-tabelbanden binden beelddoelen één keer per gegenereerde rij vanuit gematerialiseerde gebonden kolommen zonder gegenereerde werkbladcellen te doorzoeken
Versie 2.361.62
Toegevoegd
TXLSCompiledReportRunnerenTXLSReportGeneratoraccepteren nu een bestaandeIXLSReportImageProvidermet beleid voor ontbrekende afbeeldingen en directivecellenTXLSReportImageBinder.ApplyTargetbindt één voorgecompileerde beelddirective zonder niet-betrokken werkbladcellen te doorzoeken
Gewijzigd
- Exacte
{{#image Key}}-cellen worden gecompileerd tot getypeerde rapportdoelen, blijven ongewijzigd wanneer geen provider is geconfigureerd en hergebruiken hun gecompileerde sleutel en coördinaten over runnersessies heen
Versie 2.361.61
Toegevoegd
TXLSCompiledReportRunnerlegt nu gepaarde werkmap- en werkbladgeneratie-events bloot, met stabiele werkbladidentiteit, oorspronkelijke en huidige coördinaten, alleen-lezen rapportgegevens, doelaantallen, annulering en foutdetailsTXLSReportGeneratorvoert werkmap-, bestands-, stream- of versleutelde-bestandssjablonen uit via levenscyclusevents voor het lezen van het sjabloon en de generatie, met kiesbare in-place- of atomaire-kloonwijziging
Gewijzigd
- Rapportgeneratie bevriest de oorspronkelijke werkbladset, compileert opnieuw na callback-gedreven structuurwijzigingen, wijst gelijktijdige wijziging van dezelfde werkmap af, paart beginevents bij annulering en mislukking aan elkaar en behoudt de eerste uitzondering
- Rapportstreams blijven eigendom van de aanroeper, zoekbare sjabloonstreams herstellen hun positie, forward-only-streams worden in begrensde blokken verbruikt en stream-, bestands- en versleutelde-bestandsdoelen veranderen pas na succesvolle voltooiing
- Gecompileerde rapporten zonder levenscyclushandlers behouden de directe doellus zonder werkbladscans, eventcontexten of levenscyclusallocaties per doel
Versie 2.361.60
Toegevoegd
- XLSX-werkmappen leggen nu
HasWebAddinTaskPanes,WebAddinTaskPaneCountenRemoveWebAddinTaskPanesbloot voor exacte inspectie en verwijdering van taakvensters op pakketwortelniveau
Gewijzigd
- Verwijdering van web-add-in-taakvensters valideert nu vóór elke wijziging een begrensde interne relatiegrafiek, behoudt gedeelde en niet-betrokken pakketonderdelen, verwijdert exclusieve afstammelingen en eigen relatieonderdelen, bouwt inhoudstypen opnieuw op, voorkomt heropleving in bronkopieën en is idempotent
- Klassieke XLS- en ODS-werkmappen melden verwijdering van web-add-in-taakvensters als niet ondersteund zonder pakketinhoud te doorzoeken
Versie 2.361.59
Toegevoegd
- Klassieke XLS- en XLSX-werkmappen leggen nu overeenkomende
SaveExternalLinkValues- enUpdateLinks-eigenschappen bloot voor cachepersistentie en de in het bestand opgegeven voorkeur voor het bijwerken van koppelingen
Gewijzigd
- Het uitschakelen van gecachte waarden van externe koppelingen laat nu alleen klassieke
XCT/CRN-records of XLSX-sheetDataSet-inhoud weg en behoudt koppelingsdefinities, gedefinieerde namen, relaties, onbekende XML en caches in het geheugen - Beleidsregels voor externe koppelingen doorlopen gereserveerde bronwaarden nu verliesvrij via roundtrips tot ze worden bewerkt, converteren tussen XLS en XLSX, behouden ongewijzigde gecomprimeerde pakketonderdelen en starten nooit externe bestands- of netwerktoegang
Versie 2.361.58
Toegevoegd
TXLSHTMLExportenTXLSXHtmlExportSessionleggen nu de onveranderlijkeRenderGeometry-snapshot bloot die de huidige HTML-bewerking gebruikt
Gewijzigd
- Klassieke XLS- en XLSX-HTML-exporteurs converteren Excel-tekenbreedten nu naar vaste CSS-lengtes via de backend-specifieke geometrie van de maximale cijferbreedte in plaats van met hardgecodeerde conversiefactoren of CSS-tekeneenheden te werken
- Werkmap-, werkblad-, bereik- en incrementele multiwerkblad-HTML-exporten leggen één bewerkingslokale kalibratie vast met een begrensde metriekcache en wijzigen nooit opgeslagen rijhoogten of kolombreedten
Versie 2.361.57
Gewijzigd
- PDF-, SVG-, bitmap-, afdrukvoorbeeld- en werkmapviewer-bewerkingen leggen nu telkens afzonderlijke onveranderlijke rendergeometrie-snapshots vast met backendbewuste, begrensde metriekcaches
- Gedeelde paginarendering en SVG-terugloop gebruiken nu bewerkingslokale lettertypemeting in plaats van procesglobale GDI-bitmap- en tekenreekslijst-status en behouden daarbij opgeslagen rijhoogten en kolombreedten
Versie 2.361.56
Gewijzigd
- Klassieke XLS- en XLSX-AutoFit leggen nu per bewerking één onveranderlijke rendergeometriedienst van de werkmap vast, inclusief gekalibreerde tekstmeting, terugloop, regelafstand, celmarges en de werkelijk zichtbare XLSX-lettertypen
- Paginering legt nu per opbouw werkmaplokale geometrie vast, verwijdert procesglobale status voor het standaardlettertype en de maximale cijferbreedte en past gekalibreerde impliciete kolombreedten toe zonder opgeslagen rijhoogten of kolombreedten te wijzigen
Versie 2.361.55
Toegevoegd
- Klassieke XLS- en XLSX-werkmappen maken nu onveranderlijke, bewerkingseigen geometrie- en lettertypemeetdiensten met begrensde lokale caches, gedeelde breedteconversies en zonder procesglobale AutoFit-DPI- of basisbreedtecache
Versie 2.361.54
Toegevoegd
- Klassieke XLS- en XLSX-werkmappen leggen nu gevalideerde
TXLSRenderCalibration-waarden bloot plus onafhankelijkeCaptureRenderCalibration-snapshots enResetRenderCalibration-standaardwaarden voor toekomstige renderbewerkingen
Versie 2.361.53
Toegevoegd
- Het laden van XLSX rapporteert nu
xlsDiagnosticPrinterSettingsRelationshipInvalidwanneer een werkbladrelatie voor printerinstellingen ontbreekt, verkeerd getypeerd is of nergens naartoe wijst
Gewijzigd
SaveXLSWorkbookAsXLSXenSaveXLSXWorkbookAsXLSdragen getypeerde pagina-instellingsvelden en ondoorzichtige printerstuurprogramma-bytes nu onafhankelijk van elkaar, waarbij standaardvelden voorrang krijgen boven dubbele privé-standaardwaarden
Opgelost
- Het laden van XLSX bindt geen niet-gerelateerd onderdeel met printerinstellingen meer wanneer de relatie die
pageSetupnoemt ongeldig is - De conversie van XLSX naar BIFF8 wijst te grote of niet-representeerbare printerinstellingen nu af voordat er ook maar één doelbyte wordt geschreven
Versie 2.361.52
Toegevoegd
- Klassieke XLS- en XLSX-werkbladen leggen nu kopiegeïsoleerde
PrinterDriverData- enHasPrinterDriverData-eigenschappen bloot plusClearPrinterDriverDatavoor directe controle over de ondoorzichtige printerstuurprogramma-payload
Opgelost
- Het wissen van XLSX-printerstuurprogrammagegevens verwijdert nu de werkbladrelatie en het binaire pakketonderdeel, zelfs wanneer behoud van niet-ondersteunde onderdelen is ingeschakeld
Versie 2.361.51
Gewijzigd
- Het laden en opslaan van XLSX bewaart nu de binaire printerinstellingen van elk werkblad via de
pageSetup-relatie, de declaratie van het inhoudstype en hetprinterSettingsN.bin-pakketonderdeel - Printerinstellingen overleven werkbladkopieën binnen dezelfde werkmap en over werkmappen heen met byte-exact onafhankelijk eigendom, terwijl ongewijzigde brononderdelen hun oorspronkelijke gecomprimeerde payload kunnen behouden
Versie 2.361.50
Gewijzigd
- Het laden en opslaan van klassieke XLS bewaart nu de volledige BIFF-
PLS-printerstuurprogramma-payload samen met elk onmiddellijk volgendContinue-segment - Printerstuurprogramma-payloads worden diep gekopieerd samen met werkbladen, vóór
Setupuitgegeven in blokken van exact de BIFF-grootte en geweigerd wanneer ze structureel onvolledig zijn of groter dan de veiligheidslimiet van 1 MiB
Versie 2.361.49
Toegevoegd
- De pagina-instelling van klassieke XLS legt nu alleen-lezen
HasSetupRecord- enPrinterSettingsInitialized-eigenschappen bloot zodat aanroepers ontbrekende of niet-geïnitialiseerde printerinstellingen kunnen onderscheiden van gedefinieerde waarden
Gewijzigd
- Het opslaan van een onaangeroerd klassiek werkblad behoudt nu een ontbrekend BIFF-
Setup-record en houdt elke byte vast van een bestaand record van 34 byte, inclusief gereserveerde en niet-gemodelleerde vlagbits - Setters voor pagina-instellingen maken een ontbrekend
Setup-record nu alleen aan wanneer nodig en initialiseren printerafhankelijke of oriëntatievelden volgens de betreffende eigenschap
Versie 2.361.48
Toegevoegd
SaveXLSXWorkbookAsXLSconverteert een werkmap in het XLSX-model nu naar BIFF8 via bestands- en stream-overloads, waarbij geladen waarden, formules, kernstijlen, samengevoegde bereiken, rij- en kolomdimensies, de datummodus van de werkmap en de status van het actieve blad behouden blijven
Gewijzigd
- De conversie van XLSX naar XLS bouwt vóór het schrijven van stijlen één deterministisch palet van 56 kleuren op, behoudt reeds gebruikte geïndexeerde slots en past gewogen OKLab-kwantisering toe wanneer directe kleuren de BIFF8-capaciteit overschrijden
- Het conversiepad doorloopt geladen sparse of gepakte cellen zonder het bronraster te materialiseren, wijst coördinaten buiten de BIFF8-grenzen af voordat het doel wordt aangeraakt en is nu beschikbaar in de Delphi- en C++Builder-ConversionWorkbench-voorbeelden
Versie 2.361.47
Toegevoegd
- Klassieke XLS- en XLSX-werkmappen leggen nu overeenkomende
ApplyBiffPalettePlan-methoden bloot die een huidig paletplan van 56 slots valideren en atomair toepassen - Klassieke werkmappen leggen nu
BiffPaletteSavePolicybloot, met een expliciete BIFF8-optimalisatieoptie en een standaard die de historische paletuitvoer behoudt
Gewijzigd
- Toepassing van het paletplan valideert nu brongeneratie, bronhash, alle slotidentiteiten en -kleuren, geaggregeerde aantallen, behoudvergrendelingen, wijzigingsvlaggen en opake doelen vóór de eerste mutatie en bouwt daarna de gecachte OKLab-matcher één keer opnieuw op
- Geoptimaliseerde BIFF8-opslag laat het toegepaste palet na succes in de werkmap achter, maar herstelt alle 56 bronkleuren en de oorspronkelijke generatie als de uitvoer mislukt of wordt geannuleerd; BIFF5- en niet-BIFF-uitvoerpaden blijven ongewijzigd
Versie 2.361.46
Toegevoegd
- Klassieke XLS- en XLSX-werkmappen leggen nu overeenkomende
BuildBiffPalettePlan-methoden bloot die een mutatievrij paletplan van 56 slots teruggeven met bronpaletidentiteit, vergrendelde slots, voorgestelde kleuren, geaggregeerde true-color-toewijzingen, exacte dekking en perceptuele foutstatistieken
Gewijzigd
- BIFF-paletplanning behoudt nu geïndexeerde consumenten en bestaande exacte kleuren voordat vrije slots worden toegewezen en gebruikt daarna alleen deterministische, op frequentie gewogen OKLab-clustering wanneer directe en opgeloste themakleuren de resterende capaciteit overschrijden
- Het opbouwen van het paletplan leest opgeslagen stijl- en voorwaardelijke-opmaak-metadata zonder paletitems, aantallen aangepaste kleuren, cellen, opslaggedrag of sparse opslag te wijzigen
Versie 2.361.45
Toegevoegd
- Klassieke XLS- en XLSX-werkmappen leggen nu overeenkomende
ScanIndexedColorUsage-methoden bloot die een deterministische 56-slot-inventaris teruggeven met openbare en fysieke indexen, genormaliseerde ARGB-waarden, definitie- en verwijzingsaantallen, consumentsoorten en behoudvergrendelingen
Gewijzigd
- Het scannen van het gebruik van geïndexeerde kleuren dekt nu werkmapstijlpools, sparse celverwijzingen, benoemde stijlen, bereikoverlays, werkbladrasterlijnen, vormen, opmerkingen, rich text, diagramlettertypen, differentiële stijlen, gegevensbalken en kleurschalen af zonder ongebruikte cellen te materialiseren of de werkmapstatus te wijzigen
- Geïndexeerde kleuren van voorwaardelijke opmaak doorlopen nu klassieke BIFF- en OpenXML-differentiële stijlen, gegevensbalken en kleurschalen via roundtrips, inclusief streamingopslag die differentiële stijl-id’s vóór de werkbladonderdelen uitgeeft
Versie 2.361.44
Toegevoegd
- Klassieke XLS- en XLSX-werkmappen leggen nu overeenkomende
NearestIndexedColor-methoden bloot die de dichtstbijzijnde openbare paletindex, het fysieke slot, de genormaliseerde ARGB-waarde, de gekwadrateerde perceptuele afstand en de exacte-overeenkomst-status teruggeven
Gewijzigd
- Het zoeken van de dichtstbijzijnde geïndexeerde kleur deelt nu één gecachte OKLab-implementatie over beide werkmapengines en de legacy-kleurbeheerder, met deterministische beslechting via de laagste index en cachebijwerkingen beperkt tot feitelijke paletmutaties
- Query’s voor de dichtstbijzijnde kleur doorzoeken alleen de 56 fysieke BIFF-paletitems, wijzen gedeeltelijk transparante invoer af en wijzigen nooit de palet- of werkmapstatus
Versie 2.361.43
Toegevoegd
- Klassieke XLS- en XLSX-werkmappen leggen nu overeenkomende
ResolveIndexedColor-overloads bloot die openbare kleurindexen, BIFF-icv-waarden en OOXML-geïndexeerde kleuren classificeren en daarbij palet-, automatische, systeem- of ongeldige metadata teruggeven - Het getypeerde geïndexeerde-kleurresultaat rapporteert de ruwe index, het paletslot, de systeemkleurrol, de genormaliseerde ARGB-waarde en of een concrete kleur is opgelost
Gewijzigd
- Automatische en systeemkleurtokens zoeken het huidige Windows-bureaublad niet langer impliciet op; aanroepers kunnen een expliciete resolver opgeven wanneer een concrete omgevingskleur nodig is
- Thematische systeemkleuren gebruiken nu hun opgeslagen fallback-RGB-waarde, waardoor laden, opslaan en headless verwerking over machines heen deterministisch blijven
Opgelost
- Ongeldige OOXML-geïndexeerde kleurwaarden lossen niet langer op tot ondoorzichtig zwart, en de standaardwaarden van de legacy-kleurbeheerder gebruiken nu de exacte paletwaarden met 128 kanalen
Versie 2.361.42
Toegevoegd
TXLSWorksheetenTXLSXWorksheetleggen nu overeenkomendeTryGetOutlineNode-,SetOutlineNodeCollapsed- enSetOutlineDisplayLevel-methoden bloot voor samenvattingsknooppunten in rijen of kolommen met 1-gebaseerde nummering
Gewijzigd
- Overzichtsquery’s en -updates van werkbladen zetten sparse engine-metadata nu om naar gecomprimeerde plannen, behouden standaard de geneste onderliggende status en passen verborgen- en samengevouwen-wijzigingen toe zonder ongebruikte werkbladcoördinaten te doorzoeken
- OpenDocument-rij- en kolomgroepen behouden nu hun oorspronkelijke geneste weergavestatus over directe metadatwijzigingen, structurele bewerkingen, ODS-roundtrips en conversie naar XLSX-samenvattingsknooppuntmarkeringen heen
TXLSXWorksheet.ToggleRowGroupedenToggleColGroupedblijven beschikbaar als richtingbewuste compatibiliteitswrappers rond de samenvattingsknooppunt-API
Versie 2.361.41
Toegevoegd
TXLSOutlineGeometrykan nu gecomprimeerdeTXLSOutlineMutationPlan-instanties opbouwen voor idempotent samenvouwen of uitvouwen van knooppunten en voor 1-gebaseerde wijzigingen van het overzichtsweergaveniveau- Overzichtsmutatieplannen leggen expliciete onderliggende modi voor behouden, samenvouwen en uitvouwen bloot en houden geneste samenvouwmarkeringen standaard onafhankelijk
Gewijzigd
- Het uitvouwen van een genest overzichtsknooppunt houdt bij het afleiden van zichtbaarheid nu rekening met samengevouwen voorouders en afstammelingen, en bulksgewijze knooppuntdetectie doorloopt alleen gematerialiseerde bereiken met een lineaire, monotonische-stackpassage
Versie 2.361.40
Toegevoegd
- De nieuwe engine-onafhankelijke eenheid
lxOutlinebouwt rij- of kolomoverzichtgeometrie op uit gesorteerde, sparse bereiken en detecteert knooppunten met samenvatting ervoor of erna, geneste detailbereiken, samenvattingsniveaus, verborgen status en expliciete samenvouwmarkeringen zonder ongebruikte werkbladcoördinaten te doorzoeken
Versie 2.361.39
Toegevoegd
- De kolommetadata van klassieke XLS legt nu de onafhankelijke overzichts-samenvouwmarkering bloot via
TXLSColumnInfo.CollapsedenTXLSColumnInfoList.Collapsed
Opgelost
- Samenvouwmarkeringen van kolomoverzichten in klassieke XLS overleven nu BIFF-roundtrips, kolomformaatkopieën, werkbladkopieën en het samenvoegen van aangrenzende records, terwijl gedefinieerde breedte, best-fit en fonetische vlaggen intact blijven
Versie 2.361.38
Opgelost
- Overzichtssamenvattingskolommen in klassieke XLS behouden nu hun logische linker- of rechterpositie over links-naar-rechts- en rechts-naar-links-werkbladweergaven heen in plaats van het tegenovergestelde
WSBOOL-richtingsbit te schrijven
Versie 2.361.37
Toegevoegd
- Klassieke XLS- en XLSX-werkbladen leggen nu
EvaluateFormulaAtbloot voor alleen-lezen evaluatie van A1- of R1C1-formules in een expliciete doelcelcontext IXLSFormulaEvaluationTemplatecompileert één keer een onveranderlijk formuleanker en evalueert het herhaaldelijk in andere cellen viaEvaluateAtofEvaluateAtWithOptions- Opties voor formule-evaluatie omvatten nu limieten voor formulelengte, syntaxitemstappen, recursiediepte en gegenereerde arraybytes; uitputting wordt gerapporteerd als
xlfeResourceLimit
Gewijzigd
- Eenmalige en herbruikbare evaluatie delen nu werkbladlokale namen, gestructureerde verwijzingen, niet-gecachede formuleafhankelijkheden, arraywortels, vluchtigheidsstatus, annulering en expliciet geautoriseerde externe verwijzingen zonder de werkmapstatus te schrijven
- De bestaande
Calculate-methoden van werkmap en werkblad blijven compatibiliteitsfaçades rond de getypeerde contextuele evaluator
Opgelost
- Contextuele evaluatie behoudt nu formulefoutvarianten en onderscheidt fouten bij het parsen, niet-ondersteunde functies, kringverwijzingen, externe verwijzingen, annulering, werkbladlevensduur en resourcelimieten als foutoorzaken
- Herbruikbare R1C1-sjablonen vertalen relatieve rij- en kolomoffsets nu vanaf hun compileeranker wanneer ze in een andere doelcel worden geëvalueerd
Versie 2.361.36
Toegevoegd
ConvertExternalDefinedNamesToRefErrorsis nu beschikbaar op klassieke XLS- en XLSX-werkmappen om bevestigde gedefinieerde namen van externe werkmappen los te koppelen zonder gewone celformules te herschrijven- Overgeslagen misvormde of niet-ondersteunde definities worden gerapporteerd via
xlsDiagnosticDefinedNameConversionSkipped
Gewijzigd
- De conversie vervangt geselecteerde definities atomair door native
#REF!en behoudt daarbij werkmap- of werkbladbereik, zichtbaarheid, opmerkingen, macro- en ingebouwde vlaggen, onbekende attributen en onderdelen van externe koppelingen
Opgelost
- Slotsyntaxis van externe gedefinieerde namen zoals
=[1]!RemoteNamewordt nu opgelost via de opgegeven werkmapkoppeling, en afhankelijke formules behouden de resulterende Excel-foutwaarde tijdens herberekening
Versie 2.361.35
Toegevoegd
TXLSWorkbookWorkspace.Recalculateevalueert geregistreerde formuleknooppunten van klassieke XLS-, XLSX- en ODS-werkmappen nu in één werkmapoverstijgende topologische passage, met detectie van sterk samenhangende componenten en propagatie van dirty-generatiesTXLSWorkspaceRecalcResultrapporteert hergebruik van de grafiek, dirty en geëvalueerde knooppunten, kringen, geblokkeerde afhankelijken, ongeldigverklaringen en cachehits en -misses tijdens runtime
Gewijzigd
- De werkruimte behoudt zijn afhankelijkheidgrafiek totdat registraties of de formuletopologie veranderen, terwijl gewone waardewijzigingen alleen de betreffende werkmapknooppunten en hun transitieve afhankelijken dirty maken
- Herhaalde leesacties van externe cellen in één berekeningspassage delen een exacte cache over werkmap, werkblad, rij en kolom die vóór elke geplande formuleupdate ongeldig wordt gemaakt
Opgelost
- Bidirectionele koppelingen tussen werkmappen worden niet langer als kringvormig behandeld tenzij de formulecelgrafiek een echte kring bevat; kringleden en hun geblokkeerde afhankelijken worden ongeldig gemaakt in plaats van verouderde gecachte waarden terug te geven
- Een mislukte of door een kring ongeldig gemaakte werkruimtesessie behoudt nu de engine-lokale dirty-status, zodat een latere werkmapherberekening onvoltooide formules opnieuw probeert in plaats van een gedeeltelijke passage als voltooid te behandelen
Versie 2.361.34
Toegevoegd
TXLSWorkbookWorkspace.BuildDependencyGraphmaakt nu één afhankelijkheidgrafiek over geregistreerde klassieke XLS-, XLSX- en ODS-werkmappen heen en behoudt identiteiten van werkmappen, werkbladen, cellen, rechthoekige bereiken en bereikbegrensde gedefinieerde namenTXLSWorkspaceDepGraphlegt query’s bloot voor formuleknooppunten, verwijzingen, randen, celafhankelijken en afhankelijkheden van gedefinieerde namen, plus kandidaatcontrole-diagnostiek voor prestatieverificatie
Gewijzigd
- Grote formulebereiken blijven compacte intervallen in plaats van uit te dijen naar afzonderlijke cellen, terwijl rijintervallbomen zowel het opzoeken van afhankelijken als het opbouwen van randen bijsnijden zonder gepakte werkbladwaarden te materialiseren
- Lokale gedefinieerde namen behouden zowel hun symbolische afhankelijkheid als statisch opgeloste cel- of bereikafhankelijkheden, terwijl externe gedefinieerde namen hun opgegeven slot in de externe werkmap, hun naam en hun werkbladbereik behouden
Opgelost
- Gewone gedefinieerde namen worden niet langer gewist terwijl de formuleparser controleert op een optioneel voorvoegsel van een externe werkmap
Versie 2.361.33
Toegevoegd
TXLSWorkbookWorkspace.OnLoadWorkbookkan nu via een door de aanroeper bestuurd beleid een externe werkmap hooguit één keer per genormaliseerde identiteit opvragen, terwijlResolveWithLoadergetypeerde diagnostiek rapporteert voor niet-gevonden, fout, kring en resourcelimietMaxLoadDepth,MaxWorkbookCountenResetLoadAttemptsbieden expliciete grenzen en herhaalbeheer voor het laden van externe werkmappen
Gewijzigd
- Gelijktijdige aanvragen voor externe werkmappen delen nu één lopend laadresultaat, en geneste herintreding wordt geweigerd zonder te wachten in een cross-thread-laadkring; de standaardwerkruimte voert nog steeds geen bestandssysteem- of netwerktoegang uit
Versie 2.361.32
Toegevoegd
- Klassieke XLS-werkmappen leggen nu
CreateWorkspaceWorkbook,RegisterExternalWorkbook,UnregisterExternalWorkbookenExternalWorkspacebloot, waardoor klassieke, XLSX- en ODS-werkmappen externe formulewaarden kunnen leveren via één engine-onafhankelijke werkruimte - Caches van externe koppelingen in klassieke XLS decoderen getal-, tekenreeks-, booleaanse, fout- en lege waarden uit getypeerde XCT- en CRN-records nu in een sparse opzoeking met constante tijd zonder werkbladen te materialiseren
Gewijzigd
- Evaluatie van externe formules lost werkbladnamen nu op vóór positionele fallbacks en leest consistent eerst een expliciet geregistreerde live werkmap, daarna een getypeerde bestandscache, en geeft vervolgens
#REF!terug, terwijl vernietigde registraties worden ingetrokken zonder impliciete bestands- of netwerktoegang - Tussen aanhalingstekens geplaatste identiteiten van externe werkmappen mogen URI-schema’s, Windows-schijfletters en andere dubbele punten bevatten zonder te worden aangezien voor een scheidingsteken van driedimensionale werkbladbereiken, zodat IRI’s van ODF-externe bronnen intact blijven tijdens de formule-import
Versie 2.361.31
Toegevoegd
TXLSWorkbookWorkspace,IXLSWorkspaceWorkbookenTXLSXWorkbook.CreateWorkspaceWorkbookbieden een threadveilige basis voor identiteit en registratie van externe werkmappen met expliciete oplossingsstatus, generatietracking en intrekbare werkmapadapters
Gewijzigd
TXLSXWorkbook.RegisterExternalWorkbookbehoudt nu paden en extensies, lost relatieve relatiedoelen op tegen de bezittende werkmap, wijst dubbelzinnige aliassen of doelen met dezelfde basisnaam af in plaats van er stilzwijgend één te kiezen, trekt registraties in wanneer een doelwerkmap wordt vernietigd en behoudt de getypeerde fallback van de externe-koppelingcache zonder impliciete bestands- of netwerktoegang
Versie 2.361.30
Toegevoegd
- Alleen-lezen werkmapweergaven van klassieke en XLSX-bestanden kunnen formules nu op verzoek evalueren via
xlsvEvaluateFormulasen het onafhankelijke resultaat rapporteren viaFormulaEvaluationzonder opgeslagen formuliecaches te vervangen
Gewijzigd
- Gelijktijdige alleen-lezen weergaven isoleren nu formulerecursievlaggen, scalaire resultaten, gecompileerde XLSX-formules en arraymatrices, terwijl externe XLSX-formules alleen bestandslokale caches van externe koppelingen gebruiken en nooit live-werkmapregistraties dereferentiëren
Opgelost
- Gecachte waarden van externe XLSX-koppelingen lossen de 1-gebaseerde werkbladindex uit externe XTI-records nu op naar de juiste op nul gebaseerde entry van het gecachte blad
Versie 2.361.29
Toegevoegd
- XLSX-werkmappen leggen nu
IXLSXWorkbookOwner.CreateReadOnlyViewbloot met weergavelokale actieve bladen, op waarde gebaseerde gematerialiseerde en gepakte celsnapshots, gecachte formulieresultaten, optionele formuletekst, een veilige vrijgavevolgorde van eigenaar of weergave en fail-fast-schrijuitsluiting
Gewijzigd
- Alleen-lezen XLSX-weergaven gebruiken alleen lokaal opgeslagen caches van externe formules en dereferentiëren nooit zwakke live-werkmapregistraties
Versie 2.361.28
Toegevoegd
- Klassieke werkmappen leggen nu
CreateReadOnlyViewenIXLSReadOnlyWorkbookViewbloot voor weergaven met constante toegangstijd tot een gedeeld model, met onafhankelijke actieve bladen, celsnapshots op waarde, gecachte formulieresultaten, optionele formuletekst, een referentiegetelde levensduur van de eigenaar en fail-fast-schrijuitsluiting
Versie 2.361.27
Toegevoegd
- Klassieke, XLSX- en ODS-werkmappen leggen nu
CreateFormulaCacheReaderen de gedeeldeIXLSFormulaCacheReader-interface bloot voor engine-onafhankelijke inspectie van de formulecache met veilige ongeldigverklaring van de levensduur
Gewijzigd
- Inspectie van de cache van gedeelde formules behoudt nu het onafhankelijk opgeslagen resultaat van elk lid, zodat een volger zonder gecachte waarde ontbrekend rapporteert in plaats van de waarde van het wortellid over te nemen
Versie 2.361.26
Toegevoegd
TXLSXWorkbook.TryGetCachedFormulaValuerapporteert nu aanwezigheid, herkomst en waardesoort van de XLSX- en ODS-formulecache zonder berekening of wijziging van de werkmap
Opgelost
- XLSX- en ODS-formulecaches behouden nu ontbrekende en expliciet lege resultaten, lege tekenreeksen, booleaans onwaar, numerieke nul, getypeerde fouten en expliciete datums tijdens opslaan en heropenen, terwijl gewijzigde formules geen verouderde gecachte resultaten meer serialiseren
Versie 2.361.25
Toegevoegd
- Klassieke werkmappen leggen nu
TryGetCachedFormulaValuebloot met expliciete cacheaanwezigheid, herkomst en waardesoort, zodat een opgeslagen formulieresultaat kan worden gelezen zonder berekening, callbacks van gebruikersfuncties, tokendecompilatie of wijziging van de werkmap
Opgelost
- Boolean- en foutcaches van klassieke XLS-formules gebruiken nu de opgegeven BIFF-payloadbyte in gewone en gedeelde formules, en geladen foutresultaten blijven tijdens opslaan en heropenen getypeerde
varError-waarden
Versie 2.361.24
Toegevoegd
- Klassieke en XLSX-werkmappen bieden nu een
CreateLoadedCellCursor(Boolean)-overload die onafhankelijk opgemaakte opgeslagen lege cellen kan opnemen alsxlckBlank-snapshots
Gewijzigd
- Optionele doorkruising van lege cellen behoudt de volgorde van werkblad, rij en kolom, houdt gepakte XLSX-opslag gecomprimeerd en sluit coördinaten met overgeërfde opmaak plus onopgemaakte Empty- en Null-placeholders uit
Versie 2.361.23
Toegevoegd
- XLSX-werkmappen leggen nu
TXLSXWorkbook.CreateLoadedCellCursorbloot voor rij-gebaseerde doorkruising van opgeslagen waarde- en formulecellen over werkbladen heen met constante status TXLSLoadedCellKindomvat nuxlckError, zodat opgeslagen XLSX-foutwaarden hun eigen waardesoort behouden
Gewijzigd
- XLSX-cursors doorlopen gematerialiseerde sparse rijblokken of gepakte opslag direct zonder cellen te sorteren of gepakte waarden te materialiseren, en formulesnapshots geven de huidig opgeslagen cachewaarde terug zonder herberekening
- Werkmapbrede topologiewijzigingen en vrijgave van de werkmap maken XLSX-cursors ongeldig via een gedeelde levensduurlease, terwijl bewerkingen van bestaande celinhoud de doorkruising geldig houden en vastgelegde snapshots in eigendom blijven
Versie 2.361.22
Toegevoegd
- Klassieke werkmappen leggen nu
IXLSWorkbook.CreateLoadedCellCursorbloot voor rij-gebaseerde doorkruising van opgeslagen waarde- en formulecellen over werkbladen heen met constante status TXLSLoadedCellSnapshotgeeft eigen bladidentiteit, 1-gebaseerde coördinaten, stijl, waardesoort, waarde en formuletekst terug zonder interne celobjecten bloot te leggen
Gewijzigd
- Cursors voor geladen cellen falen direct nadat celtopologie, de werkbladcollectie of het vervangen van het werkmapmodel verandert, terwijl bewerkingen van bestaande celinhoud de doorkruising geldig houden en eerder vastgelegde snapshots ongewijzigd laten
Versie 2.361.21
Toegevoegd
- Celopslag en werkbladcollecties van klassieke en XLSX-werkbladen leggen nu onafhankelijke structurele generatietellers bloot voor veilige langlopende doorkruising
XlsValidateStructureGenerationenEXLSLoadedCellCursorInvalidatedbieden één fail-fast-validatiecontract voor lezers van geladen cellen
Gewijzigd
- Cellen aanmaken, verwijderen, wissen, coördinaten herordeneren, overgangen van gepakte opslag, herbouw van indexen en werkbladen toevoegen, verwijderen of verplaatsen laten de relevante generatie oplopen, terwijl bewerkingen van de inhoud van bestaande cellen, hernoemen of activeren van werkbladen en no-op-mutaties haar stabiel houden
Versie 2.361.20
Toegevoegd
TXLSForwardReaderaccepteert nu ODS-invoer via hetzelfde callback-oppervlak als XLS, XLSX, CSV en TSVPeakRowBufferedBytesenSheetPassesStartedleggen de piekwerkset aan logische rijen van de gedeelde rijbackend en het aantal geslaagde werkbladpassages bloot
Gewijzigd
TXLSForwardReaderpastTXLSRowCursornu aan voor elk ondersteund formaat en deelt rijgrenzen, kolomprojectie, formuliestatus, rich text, wachtwoord, overgeslagen records en streampositiegedrag in plaats van aparte scanpaden te onderhouden- Bladindexen van de forward reader zijn consistent 1-gebaseerd, en werkbladen die door
OnSheetworden overgeslagen worden niet geopend of gedecomprimeerd
Versie 2.361.19
Toegevoegd
TXLSRowCursorlegt nu expliciete statussen bloot voor gesloten, vóór-de-eerste, actief, EOF, geannuleerd en foutief, plus een idempotenteCancel-methode die de actieve werkbladstream vrijgeeft zonder de bron te sluitenCurrentRowViewlevert een op generatie gecontroleerde geleende weergave van de huidige rij zonder de celarray te dupliceren; vooruitgaan, een blad selecteren, annuleren, sluiten of vernietigen van de cursor maakt eerdere weergaven ongeldig metEXLSRowCursorViewInvalidated- Streamopeningen accepteren nu
xsoBorrowedofxsoOwneden dragen eigendom pas over na een geslaagde opening, enPeakRowBufferedBytesrapporteert de geschatte piek van de logische rijbuffer sinds de laatste opening
Gewijzigd
- Fouten bij werkbladonderdelen en het starten van een passage behouden nu hun oorspronkelijke leesuitzondering en zetten de cursor in de foutieve status in plaats van te verschijnen als annulering of normaal EOF; het expliciet selecteren van een blad reset de passage voor een herkansing
Versie 2.361.18
Toegevoegd
TXLSDirectCellenTXLSRowCursorCellleggen nuHasFormulaenFormulaTextAvailablebloot en onderscheiden gewone waarden, formules met beschikbare tekst en formules waarvan de tekst onderdrukt of onbeschikbaar isTXLSDirectReader,TXLSForwardReaderenTXLSRowCursorbieden nuIncludeFormulaText; uitschakelen behoudt gecachte waarden, coördinaten, stijlen en de aanwezigheid van formules en voorkomt dat formuletekst zich ophoopt in XLSX- en ODS-streams
Gewijzigd
- Rijgrenzen en kolomprojectie worden nu in de XLS-, XLSX-, ODS-, CSV- en TSV-backends gepusht vóór toewijzing van waarden, formules en rich text; herhaalde ODS-kolomspannen springen direct tussen geselecteerde kolommen en herhaalde rijblokken worden bijgesneden tot het gevraagde bereik
- Opties voor de rijcursuspassage zijn bevroren terwijl een werkbladpassage actief is en worden weer muteerbaar na EOF, bladselectie of sluiten, zodat een passage geen incompatibele filter- of decodeerinstellingen mengt
Versie 2.361.17
Toegevoegd
TXLSRowCursoropent nu ODS-bestanden en streams in eigendom van de aanroeper, detecteert ODS-pakketten automatisch aan hun mimetype ofcontent.xml, laadt werkbladnamen vooraf en streamt de geselecteerde tabel viaFindFirstenFindNextzonder een werkmap te materialiseren
Gewijzigd
- ODS-rijdoorkruising vouwt herhaalde rijen en kolommen lui uit, laat overdekte cellen als zelfstandige waarden weg, behoudt opgemaakte lege cellen en gecachte formulewaarden, herstelt geleende streamposities en rapporteert ongeldige of rastegelimiteerde herhaalaantallen via
OnSkippedRecord
Versie 2.361.16
Toegevoegd
TXLSRowCursorstreamt nu CSV- en TSV-bestanden of streams in eigendom van de aanroeper, met UTF-8- en UTF-16-BOM-detectie, meerregelige records tussen aanhalingstekens, geëscapete aanhalingstekens, detectie van komma-, puntkomma-, tab- of pijpscheidingstekens, een optionele overschrijving van het scheidingsteken en optionele herkenning van getal-, ISO-datum-, booleaanse en fouttypes
Gewijzigd
TXLSForwardReaderenTXLSRowCursordelen nu één pauzeerbare tekstrijbackend en behouden identieke callback- en pull-resultaten terwijl de Variant-, formule- en rich-text-payloads van de vorige rij worden vrijgegeven voordat wordt doorgegaan
Versie 2.361.15
Toegevoegd
TXLSRowCursoropent nu klassieke.xls-werkmappen uit bestanden of streams, detecteert BIFF-compoundcontainers automatisch en geeft gecachte numerieke of tekenreeks-formulieresultaten terug plus opgeslagenBlank- enMulBlank-cellen, terwijl alleen de huidige logische rij wordt vastgehouden
Gewijzigd
Open-overloads van de rijcursor accepteren een optioneleTXLSForwardFormat; bestandsopeningen zijn eigenaar van hun interne BIFF-stream, streamopeningen lenen de stream van de aanroeper en herstellen de oorspronkelijke positie bijClose, en herhaaldeFindFirst-passages springen rechtstreeks naar het geselecteerde werkblad
Versie 2.361.14
Toegevoegd
- Formuleberekening ondersteunt nu
ISFORMULAvoor afzonderlijke cellen, verwijzingen over werkbladen heen en rechthoekige bereiken, en geeft bij bereikinvoer een booleaans array van dezelfde vorm terug zonder de gerefereerde formules te evalueren
Gewijzigd
- Controles op de aanwezigheid van formules onderscheiden gewone waarden en lege cellen, leden van gedeelde formules, leden van klassieke en XLSX-matrixformules, dynamische array-ankers en dynamische spill-kinderen; gegenereerde arrays worden begrensd door
FormulaArrayMemoryLimit - XLSX slaat
ISFORMULAop met het_xlfn.-voorvoegsel, ODS schrijft de standaard OpenFormula-spelling en klassieke XLS-opslag wijst de niet-ondersteunde toekomstfunctie af zonder een gedeeltelijke stream vast te leggen
Opgelost
- Het parsen van formuletekst herkent nu de zeven standaard Excel-foutliteralen, waardoor
#REF!kan doorwerken via functies die alleen verwijzingen accepteren, terwijl een gedefinieerde naam die naar een scalar oplost#VALUE!rapporteert in plaats van#NAME?
Versie 2.361.13
Toegevoegd
- Formuleberekening ondersteunt nu
UNICHARover het gehele Unicode-scalarbereik, inclusief aanvullende en privaat gebruikte tekens, met Excel-compatibele fouten voor nul, waarden buiten bereik, surrogaat-codepunten en Unicode-noncharacters - Formuleberekening ondersteunt nu
BAHTTEXTmet Thaise baht- en satangtekst, middelpuntafronding van nul af met twee decimalen, negatieve waarden, herhaalde miljoenengroepen en eindige invoer in wetenschappelijke notatie
Gewijzigd
UNICHARenBAHTTEXTmappen bereiken en gegenereerde arrays element voor element terwijl lokale fouten behouden blijven; XLSX slaatUNICHARop met zijn toekomstfunctievoorvoegsel terwijlBAHTTEXTin zowel XLS als XLSX een standaard kale functie blijft
Versie 2.361.12
Toegevoegd
- Formuleberekening ondersteunt nu
COMBINAenPERMUTATIONAmet afgekapte niet-negatieve argumenten, gecontroleerde overflow, singleton-array-broadcasting en fouten per element, plusMUNIT-eenheidsmatrices zonder vast dimensieplafond - Klassieke en XLSX-werkmappen leggen
FormulaArrayMemoryLimitbloot met een standaardwaarde van 64 MiB om gegenereerde formulearray-payloads te begrenzen, inclusief parallelle XLSX-herberekeningsworkers
Gewijzigd
PERMUTATIONAgebruikt logaritmische exponentiatie,COMBINAverkort zijn multiplicatieve recursievergelijking enMUNITwijst een compacte numerieke matrix toe terwijl alleen de diagonaal wordt geschreven
Opgelost
- Numerieke formulearrays worden niet langer geclassificeerd als scalaire getallen, en nieuw aangemaakte klassieke werkmappen passen BIFF97-rasterlimieten toe tijdens formuleberekening vóór hun eerste opslag
Versie 2.361.11
Toegevoegd
- Formuleberekening ondersteunt nu
COT,ACOT,COTH,ACOTH,CSC,CSCH,SECenSECHmet regels voor hoofdwaarden, domeinen, singulariteiten, eindige invoer en grote argumenten over scalaire en broadcast-array-operanden heen
Opgelost
- Toegewezen formulefuncties bewaren directe scalaire mislukkingen nu als spreadsheetfoutwaarden, gebruiken annuleringsbestendige reciprocal- en exponentiële-staart-takken voor grote geldige invoer, schrijven exacte
_xlfn.-namen zonder_xlws.en wijzen niet-ondersteunde klassieke BIFF-formules netjes af
Versie 2.361.10
Toegevoegd
- Formuleberekening ondersteunt nu
CEILING.MATHenFLOOR.MATHmet weggelaten significantie- en mode-argumenten, tekenonafhankelijke significantie, precieze grenzen op decimale veelvouden en de opgegeven richtingen van de modus voor negatieve getallen
Gewijzigd
- Arrayfuncties op formuleniveau kunnen nu een lineaire elementmapper delen met singleton-rij- en singleton-kolombroadcasting, eenmalige bereiksnapshots en conversie- of berekeningsfouten per element; XLSX gebruikt het
_xlfn.-voorvoegsel voor beide nieuwe functies terwijl klassieke BIFF-opslag niet-ondersteunde formules netjes afwijst
Versie 2.361.9
Toegevoegd
- Formuleberekening ondersteunt nu
SORTBYmet stabiele sortering op meerdere sleutels per rij of kolom, onafhankelijke oplopende of aflopende richtingen, standaardwaarden bij weggelaten richting, bereik- of gegenereerde-arraysleutels en eenmalige bron- en sleutelsnapshots gevolgd door O(n log n)-sortering
Opgelost
- Klassieke BIFF-opslag faalt nu netjes wanneer een formule niet kan worden weergegeven in plaats van succes te rapporteren nadat een interne toekomstfunctie-id is geweigerd, terwijl XLSX
SORTBYmet_xlfn.schrijft en nooit_xlws.toevoegt
Versie 2.361.8
Gewijzigd
- De nulwaardeweergavemodus van werkbladen gebruikt nu één beslissing op basis van de ruwe waarde over werkmapviewer, voorbeeld, afdruk, bitmap-, EMF-, SVG-, PDF-, klassieke HTML- en XLSX-HTML-paden heen; een werkelijke numerieke nul wordt verborgen vóór getalnotatie en tekstmeting, terwijl de formuleweergavemodus voorrang behoudt
Opgelost
- XLSX-werkbladweergaven parsen, schrijven en kopiëren de nulweergavestatus nu via één instelling, behandelen de datumbasis 1904 correct, behouden visuals van voorwaardelijke opmaak en hyperlinkgeometrie voor verborgen nulcellen en laten opgeslagen waarden, openbare opgemaakte tekst en CSV- en ODS-uitvoer ongewijzigd
Versie 2.361.7
Gewijzigd
- De formuleweergavemodus van werkbladen gebruikt nu één tekstbeslissing die rekening houdt met beveiligde cellen over werkmapviewer, voorbeeld, afdruk, bitmap-, EMF-, SVG-, PDF-, klassieke HTML- en XLSX-HTML-paden heen; formuletekst gebruikt tekstuitlijning bij de uitlijning Algemeen, behoudt expliciete uitlijning en krijgt een niet-persistente, tweevoudige effectieve lay-outbreedte zonder in naburige cellen over te lopen
Opgelost
- XLSX-werkbladweergaven accepteren nu zowel
showFormulas="1"alsshowFormulas="true", behouden de instelling tijdens werkbladkopieën binnen dezelfde werkmap en over werkmappen heen en geven de vereistesheetView-status uit zonder formuliecaches, CSV-uitvoer, ODS-persistentie of het openbare contract van opgemaakte waarden te wijzigen
Versie 2.361.6
Gewijzigd
- Externe werkmapformules in XLSX delen nu één grammaticabewuste lexer voor werkmapvoorvoegels over
OnlyExternal-conversie, formulediagnostiek, berekeningsbinding, kopiëren over werkmappen heen en serialisatie van gegenereerde formules; numerieke koppelingsslots zijn canoniek, terwijl gestructureerde verwijzingen, tekenreeksliteralen, misvormde indexen en dubbelzinnige bestandsnaamvoorvoegsels veilig worden afgewezen TXLSXExternalLinklegt nu zijn bron-RelationshipId, de 1-gebaseerdeSourceSloten het getypeerdeLinkKindbloot zodat items van werkmap-, DDE-, OLE- en niet-opgeloste externe verwijzingen gecontroleerd kunnen worden zonder de identiteit af te leiden uit verzamelvolgorde of doeltekst
Opgelost
- Het wijzigen van een XLSX-doel van een externe koppeling of een bladlijst maakt gecompileerde bindingen van externe formules nu per revisie ongeldig in plaats van elke cel opnieuw te doorzoeken, en ongewijzigde DDE- of OLE-koppelingsonderdelen zonder relatiebestanden blijven tijdens het opslaan byte-exact behouden
Versie 2.361.5
Opgelost
- Formuleslots van externe werkmappen in XLSX volgen nu de documentvolgorde van externe verwijzingen in
workbook.xmlin plaats van de volgorde van het relatiebestand; ontbrekende, niet-opgeloste en verkeerd getypeerde relaties behouden lege slots zodat latere[N]-verwijzingen niet verschuiven
Versie 2.361.4
Gewijzigd
- Het bevriezen van klassieke XLS-formules met
OnlyExternalclassificeert nu bewaarde BIFF-verwijzingen en converteert alleen bevestigde externe werkmapformules, terwijl interne, add-in-, DDE/OLE- en misvormde verwijzingen formules blijven
Opgelost
- Formuleresultaten die beginnen met een gelijkteken of apostrof blijven nu letterlijke tekenreeksen tijdens waardeconversie, en groepen matrixformules worden in een snapshot vastgelegd voordat een wortel- of spill-formule wordt vrijgegeven
Versie 2.361.3
Gewijzigd
- Ondersteunende koppelingen en externe bladindexen in klassieke XLS gebruiken nu een begrensde, getypeerde classificatie voor zelf-, zelfde-blad-, add-in-, externe-werkmap-, DDE/OLE-, ongebruikte en onbekende records
Opgelost
- Misvormde payloads van ondersteunende koppelingen worden byte voor byte behouden in plaats van als ander koppelingstype te worden gereconstrueerd, en afgekapte tabellen van externe bladen lezen niet langer voorbij hun recordgegevens
Versie 2.361.2
Opgelost
- Klassieke XLS-formules lossen de op nul gebaseerde XTI-index in tokens van externe gedefinieerde namen nu op naar de juiste interne entry van het externe blad, inclusief de eerste entry
Versie 2.361.1
Opgelost
- De directe XLSX-schrijver geeft de basis-SpreadsheetML-
showDropDown-onderdrukkingsvlag nu alleen uit wanneerShowDropDownis uitgeschakeld, waarmee de openbare weergavegerichte API-semantiek behouden blijft
Versie 2.361.0
Toegevoegd
- Diagramseries hebben
CategoriesMultiLevelgekregen: wanneer het is ingesteld, geven ze de categorieën uit alsmultiLvlStrRef(hiërarchische aslabels) in plaats van een vlakke tekenreeksverwijzing, met roundtrip-herstel uit opgeslagen diagrammen
Versie 2.360.0
Opgelost
- Naamopmerkingen van klassieke XLS gebruiken nu de juiste
NAMECMT-record-id ($0894); de eerder gebruikte id ($0019) behoort volgens de BIFF-specificaties toe aanWINDOWPROTECT
Toegevoegd
WindowProtectedbij klassieke werkmappen doorloopt de vensterbeveiligingsvlag van de werkmap via roundtrip door hetWINDOWPROTECT-record ($0019), waarbij ruw vastgelegde recordlichamen winnen tenzij de eigenschap expliciet wordt geschreven
Versie 2.359.0
Toegevoegd
- Diagramgegevenstabellen leggen onafhankelijke schakelaars
showHorzBorder/showVertBorder/showOutlinebloot in plaats van altijd elke rand te tekenen - Lijndiagrammen hebben droplijnen (
HasDropLines) gekregen en gestapelde balkdiagrammen serielijnen (HasSeriesLines), beide met roundtrip; series kunnen afzonderlijk viaLegendDeleteduit de legenda worden verwijderd terwijl ze getekend blijven
Versie 2.358.0
Toegevoegd
- Rapportbanden hebben semantiek voor vast gedrag en lege datasets gekregen:
EmptyBandPolicybehoudt, wist of verwijdert de sjabloonrijen wanneer de dataset leeg is (geen onopgeloste placeholders meer achterblijven),FixedBandschrijft de kopieën voor formulierbanden in overlay-stijl over de rijen eronder zonder iets in te voegen, enDeleteLastRowklapt de laatste kopie samen zodat navolgende inhoud vlak aansluit (gedrag als bij het X-bereik)
Versie 2.357.0
Toegevoegd
- PDF-export kan zelfstandige OpenType-lettertypen met CFF-contouren insluiten via een
FontFile3-OpenType-stream en eenCIDFontType0-afstammeling; automatische en volledige modi behouden het volledige programma, terwijl een niet-beschikbare vereiste subset faalt voordat de uitvoer wordt vastgelegd OnGetFontDirectorieslevert door puntkomma’s gescheiden mappen voor een opgevraagde lettertypefamilie en -stijl; geaccepteerde structuren worden één keer recursief doorzocht en geïndexeerd op interne lettertypemetadata zodat fallback-resolutie uit de cache kan plaatsvinden
Gewijzigd
- Ingesloten lettertypen met OpenType-GPOS- of legacy-kerninggegevens gebruiken nu gepositioneerde glyph-voorschotten voor eenvoudige tekst evenals complexe scripts, waardoor meting, terugloop, uitlijning en de glyphplaatsing in de PDF consistent blijven
Versie 2.356.0
Toegevoegd
- Het insluiten van PDF-lettertypen werd een configureerbaar beleid met vier modi:
FontEmbeddingkiest automatisch historisch gedrag, vereiste subsetting, insluiting van het volledige programma of map-only-lettertypen waarvan de programma’s zijn verwijderd terwijl de CID-toewijzing en de ToUnicode-tabellen overleven; PDF/A wijst map-only-uitvoer af - Het
OnFontEmbed-event wordt één keer per Unicode-lettertype geactiveerd voordat metrieken en glyph-toewijzingen worden opgelost, ontvangt diens naam en bestandspad en kan via het explicieteHandled-contract een modus per lettertype of vervangende lettertypebytes accepteren
Versie 2.355.0
Toegevoegd
- Herberekening van klassieke XLS gebruikt nu een lui opgebouwde afhankelijkheidgrafiek, propageert invoerwijzigingen alleen naar transitieve afhankelijken, herberekent vluchtige formules bij elke passage en evalueert formules in afhankelijkheidsvolgorde in plaats van de gehele sparse celhoop opnieuw te doorzoeken
- Kringverwijzingen in klassieke XLS volgen nu
EnableIteration,MaxIterationsenMaxIterationChange; sterk samenhangende componenten isoleren onafhankelijke kringen, itereren ze deterministisch en berekenen daarna de stroomafwaartse formules - Bijbehorende bestanden van PDF/A-3 hebben een gedetailleerde
AddAttachment-overload gekregen met Unicode-weergavenamen, beschrijvingen, wijzigingstijden, geëscapete MIME-namen, metadata over de bestandsgrootte en Source-, Data-, Alternative-, Supplement- of Unspecified-relaties TXLSPDFWritermaakt zelfstandige PDF-documenten zonder werkmap, met expliciete paginaformaten, uitvoer over meerdere pagina’s, rechthoeken, lijnen, ellipsen, gemeten opgemaakte tekst, coördinatentransformaties, rechthoekig bijsnijden en besturing van de grafische status
Gewijzigd
- Het uitschakelen van
UseFullPrecisionbij klassieke XLS rondt gecachte resultaten van formules en wat-als-datatabellen nu af naar de effectieve weergegeven numerieke precisie voordat afhankelijke formules ze gebruiken, inclusief percentageopmaak en middelpuntafronding van nul af
Opgelost
- Herberekening van klassieke formules gebruikt nu de native op nul gebaseerde celcoördinaten, houdt berekeningsfouten buiten de succes-cache en behoudt de foutpropagatie door afhankelijke arrayfuncties
Versie 2.354.0
Toegevoegd
- Diagramassen hebben de enumeratie voor de snijpuntmodus gekregen (
Crosses: autoZero / max / min, uitgegeven alscrosseswanneer geen explicieteCrossesAtis ingesteld) plus per-as stijlen voor hoofd- / secundaire streepjesmarkeringen (in,out,cross), allemaal met roundtrip AutoTitleDeletedop diagrammen vervangt de hardgecodeerde automatische-titelvlag en onderdrukt de van series afgeleide titel wanneer het is ingesteld
Versie 2.353.0
Toegevoegd
- Diagramseries hebben
Smooth/SmoothSetgekregen voor het tekenen van gebogen lijnen enMarkerFillColor/MarkerBorderColorvoor expliciete markerkleuren; beide blijven behouden tijdens opslaan en openen, en de gedeelde renderer tekent afgevlakte segmenten als kwadratische curven en gebruikt de markerkleuren
Versie 2.352.0
Toegevoegd
- De opmaak van de diagramruimte doorloopt een roundtrip:
RoundedCorners, expliciete achtergrond- en randkleuren van het diagram en de achtergrondkleur van het tekengebied blijven behouden tijdens opslaan en openen, en de gedeelde diagramrenderer gebruikt de achtergrond- en randkleuren in plaats van altijd wit op grijs te tekenen - Diagrambeveiligingsschakelaars doorlopen een roundtrip achter één hoofdschakelaar:
ProtectionEnabledplusProtectedChartObjects,ProtectedDataEditing,ProtectedFormatting,ProtectedSelectionenProtectedUserInterfacegeven het OOXML-elementprotectionuit en parsen het
Versie 2.351.0
Gewijzigd
- Balk- en kolomdiagrammen in de gedeelde pagineringsrenderer volgen nu de lay-outopties van de diagramgroep: GapWidth bepaalt de clustergrootte, Overlap verbreedt en trekt naburige balken naar elkaar toe, en gestapelde / procentueel gestapelde groeperingen accumuleren één volledige clusterbalk per categorie in plaats van series naast elkaar te tekenen
Versie 2.350.0
Toegevoegd
- Kopiëren van bereiken over werkmappen heen wijst nu elke celstijl op waarde opnieuw toe aan de lettertype-, opvullings-, rand-, getalnotatie-, uitlijnings- en beveiligingspools van de doelwerkmap, zodat
CopyRangeToenCloneRangeTotussen twee open werkmappen hun opmaak onafhankelijk van de poolvolgorde behouden - Klassieke XLS-werkmappen doorlopen de ingebouwde numerieke en datum-documenteigenschappen via roundtrip:
CreatedDate,LastSavedDate,RevisionNumberenEditTimeMinutesblijven behouden via de OLE-SummaryInformation-stream, waarbij nulwaarden worden overgeslagen en een volledige wisactie ze verwijdert
Versie 2.349.0
Toegevoegd
- Klassieke XLS-werkmappen leggen de revisiebeveiligingsstatus van de gedeelde werkmap bloot achter gestructureerde eigenschappen:
SharedRevisionProtectedenSharedRevisionPasswordHashdoorlopen een roundtrip, terwijl ruw vastgelegde recordlichamen uit geparseerde bestanden nog steeds winnen tenzij de eigenschappen expliciet worden geschreven - Ondersteuning voor rapportversleuteling:
TXLSCompiledReportTemplate.CreateEncryptedopent rechtstreeks een met wachtwoord beveiligd sjabloon, enRunToEncryptedFilevoert het rapport uit en schrijft in één aanroep een ECMA-376-versleuteld resultaat
Versie 2.348.0
Toegevoegd
- Plakopties vanuit het klembord voor beide engines:
PasteFromClipboardaccepteert een alleen-waarden-modus (gecachte resultaten behouden, formules, opmaak en samenvoegingen overslaan) en rijen-invoegen / kolommen-invoegen-modi die bestaande inhoud verschuiven voordat het blok wordt neergezet - Forward-readers rapporteren overgeslagen inhoud: de directe lezer, de rijcursor en de forward reader leggen
OnSkippedRecordbloot, geactiveerd wanneer een misvormde celverwijzing wordt overgeslagen of een BIFF-bladscan afbreekt op afgekapte of niet-overeenkomende records
Versie 2.347.0
Toegevoegd
- Combinatoren voor het vormgeven van rapporttabellen:
Filterstreamt overeenkomende rijen lui,Sortvoert een stabiele sortering met meerdere sleutels uit enDistincthoudt de eerste rij per sleuteltupel vast - Adapters voor gegevensbronnen:
FromDataSetlegt een openTDataSetvast als snapshot in een rapporttabel (veldnamen worden kolommen, de datasetpositie wordt hersteld) enFromObjectswijst gepubliceerde eigenschappen van willekeurige objectlijsten en arrays toe aan kolommen - Bidirectionele rapportbanden:
RunBidirectionallaat elke hoofdrij zijn eigen kolommen aansturen vanuit een gerelateerde kindtabel, wat kartelige kolomindelingen oplevert waarbij kortere rijen de extra klonen leeg laten PreprocessAndRunvoert een sjabloon tweemaal uit: de eerste passage vult waarden en voert structurele directives uit zodat het sjabloon zich aanpast aan de gegevens, de tweede passage compileert de omgevormde werkmap opnieuw en vult de resterende placeholders
Versie 2.346.0
Toegevoegd
- Rapportplaceholders accepteren een standaardwaarde:
{{name;fallback}}schrijft de fallbacktekst wanneer de sleutel ontbreekt of leeg is - Rapportexpressies hebben
dbvalue(table, row, field[, default])endbcount(table)gekregen om elke geregistreerde datacontexttabel per rij en kolom te lezen, plustonumber(text)voor conversie van tekenreeks naar getal en relatieve verwijzingen viaref(rowOffset, colOffset)die bandkopieën volgen; sjablonen, runners en banden leggen eenDataContext-eigenschap bloot - Een kale
{{=formula(...)}}-cel schrijft nu een live formule in de cel in plaats van platte tekst, en andere kale expressies behouden hun geëvalueerde type (getallen blijven numeriek) - Nieuwe structurele rapportdirectives:
{{#imgsize zoom=150}}schaalt de afbeelding die aan de directivecel is verankerd opnieuw,{{#comment text}}koppelt een celopmerking,{{#html <b>bold</b>}}voert een fragment in de rich text in en{{#sheetvisible Sheet false}}/{{#deletesheet Sheet}}beheren de zichtbaarheid en verwijdering van werkbladen
Versie 2.345.0
Toegevoegd
- XLSX-werkmappen hebben een herberekeningsbeleid bij het opslaan gekregen:
RecalcBeforeSavekiest handmatig (standaard), herberekenen-indien-dirty of altijd herberekenen wanneer een bestand wordt opgeslagen RecalcNeededrapporteert of momenteel een formulecel of vastgelegde bewerking dirty is, enRecalcCellherberekent de werkmap en geeft de vers berekende waarde van één cel terug per blad, rij en kolom
Versie 2.344.0
Toegevoegd
- Rapportsjablonen ondersteunen structurele directives in celtekst:
{{#delete A2}}wist het benoemde bereik,{{#format fmt=0.00 bold fill=FFFF00}}past getalnotaties, vet, cursief, lettertype- en opvullingskleuren toe op de kolom boven de directivecel, en{{#aggregate sum A2:A99}}schrijft formules in de stijl van=SUM(A2:A99)– alles wordt uitgevoerd nadat de waardeplaceholders zijn gevuld, directivecellen worden daarna verbruikt en onbekende directive-werkwoorden worden nog steeds gerapporteerd als sjabloondiagnostiek
Versie 2.343.0
Toegevoegd
- De ZIP-schrijver produceert ZIP64-archieven: items op of voorbij de 32-bits groottegrenzen reserveren een extra ZIP64-veld in hun lokale header waarbij de klassieke velden sentinelwaarden krijgen, records van de centrale map geven 64-bits groottes en offsets uit met een verhoogde version-needed, en aan het end-of-central-directory-record gaan het ZIP64-EOCD-record en de locator vooraf zodra een klassiek veld verzadigd raakt
- De plafonds voor item- en archiefgrootte aan de schrijfkant stijgen naar respectievelijk 16 GB en 64 GB; de beveiligingen bij decompressie aan de leeskant zijn ongewijzigd
Versie 2.342.0
Toegevoegd
- Ingesloten afbeeldingen dragen toegankelijkheidsmetadata:
AltTextenAltTextTitleop elke afbeelding worden geserialiseerd als de tekenattributendescrentitleen opnieuw geladen in het getypeerde model voor werkmappen die de ruwe anker-XML niet opnieuw afspelen
Gewijzigd
- Slicer- en timeline-onderdelen doorlopen de opake pakketlaag al verliesvrij via roundtrip (end-to-end geverifieerd in deze release); het roundtripcontract wordt nu geborgd door een regressietest die het openen en opnieuw opslaan van pakketten met slicers dekt
Versie 2.341.0
Toegevoegd
- Rapportrunners kunnen de voltooide uitvoer automatisch laten passen:
AutofitModekiest rij-, kolom- of beide passages over elk werkblad nadat alle doelen zijn toegepast en vóór serialisatie, enAutofitAdjustmentvoegt optionele speling toe boven de gemeten groottes - Rijen met terugloop krijgen hun grootte op basis van het gemeten aantal regels ten opzichte van de kolombreedte, zodat meerregelige celtekst uit sjablonen de rij laat groeien zoals de eigen autofit van Excel dat zou doen
Versie 2.340.0
Toegevoegd
- PDF-exporten kunnen de initiële viewermodus instellen – bladwijzers, miniaturen, volledig scherm, optionele inhoud of bijlagen – via het catalogusitem
/PageMode - PDF-exporten kunnen een openactie definiëren die naar een gekozen pagina springt met een expliciete zoomfactor of het bladwijzerpaneel opent wanneer het document wordt geladen
- XMP-metadata draagt nu
DocumentID- enInstanceID-id’s, eenxmpMM:History-event, wijzigings- en metadata-datums en dedc:format-declaratie die archiveringsvalidatoren verwachten
Versie 2.339.0
Toegevoegd
- Een fysieke afdrukpijplijn: het nieuwe
TXLSPrintDocumentdrukt werkbladen, werkmappen of alle zichtbare bladen af via het gedeelde pagineringsmodel, met paginavensters, kopiësortering, een documenttitel en events vóór nieuwe pagina en na paginageneratie - Het voorbeeld van de werkmapviewer krijgt zoommodi – pagina passend, breedte passend of een expliciete factor van 25% tot 400% – met Ctrl+muiswiel-zoom, het omslaan van pagina’s met het muiswiel en horizontaal pannen wanneer de ingezoomde pagina het venster overschrijdt
Versie 2.338.0
Toegevoegd
- Diagramrendering tekent nu de waardeas: streepjesmarkeringen en rechts uitgelijnde numerieke labels langs de linkerrand, hoofdrasterlijnen indien ingeschakeld, schaalverdeling in weergave-eenheden, omgekeerde oriëntatie en logaritmische begrenzing
- Series die aan de secundaire waardeas zijn toegewezen worden tegen hun eigen schaal afgebeeld, zodat combinatiediagrammen onafhankelijke primaire en secundaire groottes behouden
- Bellendiagrammen renderen oppervlaktegeschaalde bellen die zijn afgeleid uit de kolom met bellengroottes in plaats van vaste markerpunten
- Diagrammen in het geheugen lossen hun waarde-, categorie- en bellenbereiken op tegen het bezittende blad wanneer de caches leeg zijn, zodat vers gemaakte diagrammen identiek aan geladen diagrammen worden gerenderd
- Het diagrammodel krijgt bewerkbare waarden voor de gatgrootte van ringdiagrammen, de hoek van het eerste taartpunt, de radarstijl en het type taart-van-taart, de splitsingspositie, de splitsingsmodus, de grootte van het secundaire tekengebied en de breedte van de tussenruimte, alles persistent tijdens opslaan en laden
Opgelost
- Categoriediagrammen waarvan de punten waarden maar geen numerieke categorieën bevatten breken het renderen niet langer af met een placeholder, wat eerder streepjesmarkeringen, rasterlijnen en serie-uitvoer onderdrukte voor elke kolom, balk- en lijndiagram
Versie 2.337.0
Toegevoegd
- Gepagineerde uitvoer kan celopmerkingen renderen als een lijst aan het einde via de nieuwe
PrintComments-modus op de SVG-exporteur en het pagineringsmodel: celadres, auteur en tekst verschijnen onder de laatste gegevensrij van het blad - Benoemde tekenobjecten worden geëxporteerd als PNG-afbeeldingen met de geconfigureerde DPI en schaal via
ExportObjectAsPNG, met een alleen-metenGetObjectSize-tegenhanger die de puntafmetingen van het object teruggeeft zonder te renderen - Ankers van tekstvormen buiten het gebruikte bereik vergroten nu het afgedrukte oppervlak, zoals diagrammen en afbeeldingen al deden
Gewijzigd
- De pagineringsrenderer cachet opgeloste cellettertypen per passage en onthoudt herhaalde tekstmetingen, waardoor overtollige leesacties uit de lettertypepool en GDI-meetaanroepen uit shrink-to-fit-lussen en tekstterugloop verdwijnen
Versie 2.336.0
Toegevoegd
- Rotatie van celtekst wordt nu gerenderd in pagina-afbeelding, SVG, afdruk en voorbeelduitvoer: hoeken van 1–90 graden tegen de klok in en met de klok mee roteren rond het celmiddelpunt en de 255-stapelvorm geeft één letter per regel uit
- Cellen met subscript en superscript renderen met verschoven basislijn en verminderde glyphgrootte in plaats van hun verticale uitlijning te verliezen
- Kop- en voettekstsecties volgen hun
&nn-puntgrootte- en&K-kleuropmaakcodes in elke door paginering gestuurde uitvoer - Kolombreedten in gepagineerde uitvoer zijn afgeleid van de gemeten maximale cijferbreedte van het Normal-lettertype van de werkmap, zodat werkmappen op basis van andere lettertypen dan Calibri 11 pagineren met Excel-nauwkeurige kolomgrenzen
- Werkbladen met een aangepaste klassieke rasterkleur renderen hun rasterlijnen in dat paletitem in plaats van in de vaste grijze standaard
Versie 2.335.0
Toegevoegd
- Ongeveer zeventig klassieke werkbladfuncties worden nu naast het parsen ook geëvalueerd: de groep wiskunde en goniometrie
ATAN2 ASIN ACOS SINH COSH TANH ASINH ACOSH ATANH EVEN ODD, de groep datum en tijdTIME HOUR MINUTE SECOND DATEVALUE TIMEVALUE DAYS360, de financiegroepMIRR IRR IPMT PPMT DB,TRANSPOSE TYPE N ADDRESS ROMAN HYPERLINK MAXA MINAen de spellingswijzen van vóór 2010 van de distributie- en statistiekfamilie zoalsNORMSDIST TDIST CHIDIST FDIST POISSON QUARTILE PERCENTILE PERCENTRANK COVAR CHITEST GAMMALN, die doorverwijzen naar de implementaties met puntnamen die hun argumentlijsten delen
Opgelost
- Verouderde vormen van de normale CDF met één argument zoals
NORMSDISTberekenden een fout geschaalde benadering van de foutfunctie MIRRstelde positieve kasstromen samen met een periode-exponent die er één naast zat, waardoor de resultaten afweken van de Excel-waarden
Versie 2.334.0
Toegevoegd
- Rapportband-placeholders die uit één waardeveld bestaan schrijven nu het ruwe gegevenstype in de doelcel: getallen blijven numeriek, datums blijven datumcellen en krijgen de standaarddatumnotatie wanneer de cel op Algemeen staat, en booleans behouden hun celtype, zodat stroomafwaartse SUM-, sorteer- en diagramverwijzingen werken in gegenereerde rapporten
- Aangepaste tabelstijlen hebben de volledige set secties gekregen, waaronder draaitabel-subtotaal-, tussenkop-, lege-rij- en paginaveldsecties, per sectie lettertypenaam, grootte, cursief, streepgrootte en randen aan vier zijden via
SetSectionEx, pluspivot/table-vlaggen, de werkmapeigenschappenDefaultTableStyleName/DefaultPivotStyleNameen een volledige roundtrip aan de leeskant van stijlen, secties en dxf-attributen - Het openen van een versleutelde XLSX-werkmap zonder wachtwoord activeert nu
TXLSXWorkbook.OnPasswordmet hetzelfde herhaalcontract als de klassieke engine, waardoor GUI-wachtwoordprompts mogelijk zijn zonder vooraf te weten dat het bestand is versleuteld - Het opslaan van klassieke BIFF5-werkmappen met wachtwoord past nu XOR-verhulling toe en BIFF8-werkmappen kunnen standaard RC4 kiezen via
EncryptionType, waarmee de klassieke versleutelingsmatrix wordt voltooid naast de bestaande RC4 CryptoAPI-standaard - Tekstrendering van werkbladen in pagina-afbeelding, SVG, afdruk en voorbeelduitvoer volgt nu verticale uitlijning en WrapText-tekstterugloop met een gulzige regelafbreking, in plaats van omloopcellen af te snijden op één gecentreerde regel
Opgelost
- Foutcellen geven nu hun Excel-foutliteral zoals #DIV/0! of #REF! weer in elk renderpad in plaats van een ongedefinieerde lege tekst
- Secties van aangepaste tabelstijlen worden geschreven in de schema-vorm
tableStyleElementzodat Excel de stijl herkent, en een sectielettertypekleur verliest haar vette instelling niet langer - Snapshots van rapportbanden behouden elke gebonden kolomwaarde wanneer een band groeit voorbij zijn oorspronkelijke capaciteit
Versie 2.333.0
Toegevoegd
TXLSPDFSignature.CertificationPolicykan een DocMDP-certificeringssignatuur maken die geen wijzigingen, het invullen en ondertekenen van formulieren of het invullen, ondertekenen en annoteren toestaat; gecertificeerde catalogi verwijzen via/Permsnaar de signatuur, gewone gecertificeerde uitvoer gebruikt PDF 1.5 en incompatibele PDF/A-1-certificering wordt geweigerd voordat de doelstream wordt gewijzigd
Versie 2.332.0
Gewijzigd
- Automatische getagde PDF geeft nu een volledige tabelstructuur uit, met rijen, semantische kop- en gegevenscellen, dichte marked-content-id’s per pagina, exacte ouderboomtoewijzingen, rij- en kolomoverspanningen van samengevoegde cellen en artefactisolatie voor paginaversiering, diagrammen, afbeeldingen, kop- en voetteksten
Opgelost
- Herbruik van één PDF-exporteur wist nu binaire objectslots tussen documenten, waardoor wordt voorkomen dat een ICC-profiel, afbeelding of andere stream uit een eerdere export een nieuw toegewezen object vervangt wanneer de objectnummering verandert
Versie 2.331.0
Toegevoegd
- Een uniforme XLSX-tekenfaçade stelt de volgorde van gemengde afbeeldingen, grafieken, tekstvakken, behouden ankers en groepen bloot, met voorwaartse, achterwaartse, naar voren, naar achteren, transformatiebewuste groep- en opslaan-opnieuw-openen-groep-opheffen-bewerkingen die de tekenrelaties behouden
- Benoemde stijlen ondersteunen automatische of expliciete gekoppelde opmaakonderdelen terwijl lokale overschrijvingen behouden blijven, en alle 60 ingebouwde lichte, medium en donkere tabelstijlen worden opgelost via de gedeelde HTML-, PDF-, afbeelding-, voorbeeld- en viewer-opmaakpaden
TXLSPDFBookmarkondersteunt hiërarchische Unicode-bladwijzers, relaties tussen broers/zussen en kinderen, kleuren, vetgedrukte of cursieve titels en uitgevouwen of ingeklapte afstammelingenTXLSPageImageExporter.ExportAllAsTiffschrijft geselecteerde pagina’s naar een stream of bestand als één LZW-gecomprimeerde multipage-TIFF met voortgang, annulering en atomische bestandsvervanging- Klassieke XLS-openingen kunnen stoppen na globale metadata of rechtstreeks naar geselecteerde werkbladen zoeken via gevalideerde
BOUNDSHEET-offsets, inclusief herpositionering van versleutelde streams TXLSFormatSnapshotlegt een volledige klassieke celopmaak vast onafhankelijk van de bronwerkmap enIXLSRange.ApplyFormatpast deze toe op cel-, rij- of kolombereiken- Compatibele rij-majeur getypeerde XLSX-bulkbewerkingen gebruiken compacte RLE-opslag, met openbare statistieken van gecomprimeerde cellen en bytes plus transparante eenmalige materialisatie voor stabiele objecthandles
Gewijzigd
- Stijl-alleen lege XLSX-cellen delen referentiegetelde payloads met copy-on-write lokale bewerkingen, automatische compactie in bulkopmaak-, benoemde-stijl-update-, kopieer-, sorteer-, opmaakpatch-, opslaan- en laadpaden, en meetbare vermeden payloadbytes
- Dynamische arrays streamen rechtstreeks naar scalaire aggregaten, herhaalde exacte opzoekingen hergebruiken getypeerde incrementele bereikcaches, en onveranderlijke staatloze formule-tokens worden gedeeld tussen compilaties
- Elliptische bogen gebruiken vlakheidgestuurde adaptieve kubische Bezier-subdivisie die wordt gedeeld door PDF-, SVG- en bitmapuitvoer, waarbij de precisie alleen toeneemt waar schaal of excentriciteit dit vereist
- XLSX-pakketuitvoer stabiliseert nu gedeelde tekenreeksen, hyperlinks, relaties en de volgorde van onderdelen, zodat omgekeerde constructie byte-identieke deterministische pakketten oplevert
- De uniforme voorwaartse lezer voor XLS, XLSX, CSV en TSV houdt het geheugen begrensd; BIFF8-vervolgstukken van gedeelde tekenreeksen stromen over een configureerbare drempel terwijl projectie, geselecteerd blad, versleuteling en bescherming tegen ongeldige invoer behouden blijven
Opgelost
- C++Builder Win64-pakketkoppeling genereert geen dubbele Delphi-generieke objectlijst-vtables meer uit werkmapvergelijking- en importcontrole-eenheden
Versie 2.330.0
Toegevoegd
TXLSXWorksheet.Subtotalvoegt gegroepeerde subtotaalrijen in, een configureerbare eindtotaalrij, formules, overgeërfde zichtbare opmaak en Excel-compatibele overzichtsniveaus voor gesorteerde gegevensbereikenGetCellVisibleFormatlost werkblad-, rij-, kolom-, bereikoverlay- en expliciete celopmaak op zonder een lege cel te materialiserenCheckDataValidationtest een kandidaatwaarde tegen de regels die één cel bestrijken en kan deze alleen atomair vastleggen wanneer deze geldig is
Gewijzigd
- Opzoek-scanmemo’s gebruiken compacte exacte binaire sleutels en één payload-opzoeking per cachehit, waardoor de toewijzing bij herberekening en het hashtabelwerk afnemen zonder de opzoekvergelijkingen te wijzigen
- CSV-export met vaste breedte vult elk veld in één bewerking, waardoor de opvultijd lineair blijft in de geconfigureerde uitvoerbreedte
Opgelost
- Achterwaartse
ReplaceTextIn-scans roepen nu vervangingscallbacks aan in de gevraagde omgekeerde scanvolgorde - Opgemaakte cellen zonder waarde of formule blokkeren de tekstoverloop van naburige cellen niet langer in SVG-, afbeelding- en voorbeeldweergave
- Klassieke XLS-numerieke uitvoer normaliseert negatieve nul naast niet-eindige en subnormale waarden voordat BIFF-numerieke records worden geschreven
Versie 2.329.0
Toegevoegd
A1ToR1C1converteert A1-stijl formules naar R1C1-notatie (relatieve offsets, absolute$-vormen, bereiken en rondritten viaR1C1ToA1), waarmee beide richtingen van referentiestijl-conversie worden voltooid
Gewijzigd
- Het herberekenings-opzoekgeheugen slaat scanvectoren van minder dan vijf cellen over in
VLOOKUP,XLOOKUP/XMATCHenMATCH, waar een ruwe scan goedkoper is dan de woordenboek-rondrit
Versie 2.328.0
Toegevoegd
- De gedeelde paginarenderer achter SVG-, afbeelding- en voorbeelduitvoer tekent nu XLSX-celstijlen: effen vullingen (met alfa), lettertypen en kleuren per cel, horizontale uitlijning met Excel’s numeriek-rechts standaard, Excel-stijl randincassering waarbij de zwaarste gedeelde rand wint, krimpen-op-maat dat het lettertype naar de kolom schaalt, en overloop van lange tekst in opeenvolgende lege buurcellen
Versie 2.327.0
Toegevoegd
- De CSV/TSV-lader krijgt importrichtlijnen per kolom (
cctText,cctNumber,cctDate,cctBoolean,cctSkip) die de wizard Tekst importeren van Excel weerspiegelen, zodat individuele kolommen kunnen worden gedwongen tot tekst om voorloopnullen te behouden, naar een type worden gecastreerd of uit de import worden verwijderd - Tekstimport met vaste breedte: het toewijzen van veldbreedten schakelt de lader van scheidingstekenparsing om naar slicing op tekenpositie, en de opslaanfunctie kan met spaties opgevulde kolommen met vaste breedte uitvoeren met afkapping
Versie 2.326.0
Toegevoegd
- Het zoeken in XLSX-werkbladen krijgt windowed
FindTextIn- enReplaceTextIn-methoden die de scan beperken tot een rechthoekig celbereik, plus een kolom-majeur scanvolgordevlag die de modus Zoeken: op kolommen van het dialoogvenster Zoeken en vervangen van Excel weerspiegelt; de achterwaartse scan accepteert nu een nulanchor om te starten vanuit de rechterbenedenhoek - Bij het opslaan wordt nu bewaakt tegen formules langer dan Excel’s limiet van 8192 tekens, met snelle foutmelding waarbij de betreffende cel wordt geïdentificeerd in plaats van een werkmap te schrijven die Excel in herstelmodus zou openen
Opgelost
- Niet-eindige numerieke celwaarden (NaN en positief of negatief oneindig) kunnen geen niet-parseerbare tokens meer lekken in opgeslagen XLSX-onderdelen; ze worden nu geserialiseerd als
#NUM!-foutcellen, en subnormale doubles worden in zowel de XLSX- als de BIFF8-schrijvers naar nul gespoeld, overeenkomend met wat Excel kan opslaan en weergeven
Versie 2.325.0
Toegevoegd
- API’s voor werkmapformaten bevatten nu bewerkbare XML-kaarten (XML Maps) en schemabindingen, geordende meerdere werkmapvensters, selecties in meerdere gebieden en per vensterdeel, en verliesvrije inspectie van formule-tokens in eigendom van de aanroeper, reconstructie, vervanging van verwijzingen en atomair terugschrijven voor XLS en XLSX
- De verwerking van werkmappen omvat nu stabiel horizontaal of verticaal sorteren met aangepaste comparators en expliciete formuleverplaatsing, conversie van stijlen en formules van BIFF2 tot en met BIFF4, één geprojecteerde façade voor voorwaartse lezers voor XLS, XLSX, CSV en TSV, getypeerde aangepaste weergaven en bewerkbare submodellen voor OLAP-, webtabel-, vaste-tekst- en parameterverbindingen
- Berekening en inspectie omvatten nu gestructureerde diagnostiek voor ontbrekende functies, externe verwijzingen en circulaire afhankelijkheden, globale en werkmap-lokale UDF-registers, bidirectionele visuele Unicode-volgorde, AutoFit-strategieën voor samengevoegde cellen, getypeerd behoud van Excel 4-macrobladen en opdrachtscanning, en de functies
ISOMITTED,ARRAYTOTEXT,VALUETOTEXT,PDURATIONenRRI - Gecompileerde rapportage bestrijkt nu placeholders voor de hele werkmap, benoemde rij-, kolom- en kruistabelbanden, uitbreidbare Excel-tabelbanden, één abstractie voor tabellen en cursors, exacte relatie-indexen met samengestelde sleutels, luie datacontexten, streaming tabelcombinators, beheerde benoemde queryproviders, bladbanden per record, vervolgbladen bij overloop en onveranderlijke recursieve includes
- Het opstellen van rapporten omvat nu gecompileerde voorwaarden, opzoekacties, reguliere expressies, dynamische formules en formaten, afbeeldingsvelden, herbinding van diagramseries, herbruikbare runners met stream- of atomair bestandsresultaat, afhankelijkheidsbewust klonen van bereiken, planning van paginering met vaste voettekst en gebalanceerde paginering, geadresseerde diagnostiek, strikte uitvoering, sjablooncontrole en veilige migratie van ondersteunde verouderde placeholders
- PDF-uitvoer omvat nu automatische getagde structuurbomen, zichtbare of onzichtbare door de host ondertekende velden, expliciete conformiteitsprofielen voor PDF/A-1, PDF/A-2 en PDF/A-3 op niveau a en b, atomaire voortgang en annulering, stijlbewuste gecachte lettertype-fallback, contextuele vormgeving van complexe tekst, native meerstapsverlopen, alfa per stop, celvulpatronen, schaduwen en gepositioneerde opmerkingannotaties
- Gedeeld renderen omvat nu native SVG voor bereiken, pagina’s, werkmappen en benoemde objecten, incrementele PNG- en JPEG-pagina’s, backend-neutrale layoutgeometrie, inline vectordiagrammen en -vormen in HTML, stateful gedeeltelijke HTML-sessies met gedeelde CSS, gerenderde afbeeldingseffecten, geometrie voor vector-voorinstellingsvormen en WordArt, geavanceerde wetenschappelijke en financiële diagramdetails en een deterministische lay-out van datalabelbotsingen en verbindingslijnen
Gewijzigd
- Alle 55 gecontroleerde mogelijkheidsposten F01 tot en met F18, R01 tot en met R19 en V01 tot en met V18 hebben nu voltooide ondersteunde implementaties met expliciete grenzen voor eigendom, formaatveiligheid, annulering en uitvoer
- Grote rapportsjablonen compileren objectdoelen en expressies eenmaal, materialiseren alleen gebonden asvelden, verbruiken datacursors eenmaal, hashen relatie- en verbindingssleutels, bevriezen voorvoegsels van bronverzamelingen voor herhaald disjunct klonen en vermijden het opnieuw scannen van gegenereerde werkmapobjecten
- Renderpaden delen paginering, geometrie, objectplaatsing, effectstatus en caches voor documentbronnen, terwijl PDF-, SVG-, HTML-, bitmap-, metabestand-, voorbeeld- en afdrukuitvoer alleen hun formaatspecifieke encoders behouden
Opgelost
- XLSX-schrijffuncties voor cellen serialiseren nu hun effectieve vervangingswaarden zonder verouderde rich-text-runs te behouden, BIFF-externe-naamtokens behouden de volledige 4-byte naamindex, en bronnen van topniveau-verbindingen ronden onafhankelijk van tekstimportbronnen, met behoud van de oudere bron-fallback
- Verouderde BIFF-stijlen en formulebetekenis, hertoewijzing van werkmapvensters en selecties, gemengde absolute formuleverwijzingen, eigendom van formule-tokens en het terugschrijven van ongeldige tokens behouden nu deterministisch verliesvrij gedrag bij laden, bewerken en opslaan
- Rapportuitbreiding wijst nu deterministische conflicten op het gebied van tabellen, filters, namen, overlappingen, gedeeltelijke objecten, rasters en query-ondersteuning af vóór structurele schrijfbewerkingen, behoudt de kardinaliteit van tabellen met nul rijen waar representeerbaar, houdt exacte integer-verbindingssleutels boven 2^53 en rapporteert deterministische toegepaste aantallen na annulering of fouten
- PDF- en vectoruitvoer behouden nu Unicode-toewijzingen van fallback-lettertypen, grafeem- en vormgevingsclusters, beperkingen van archiefprofielen, verloop-alfa, afbeeldingseffecten, diagramversieringen, dichte labelplaatsing en uitvoeratomiciteit, zonder dat bronnen groeien door herhaalde inhoud
Versie 2.324.0
Toegevoegd
- Verliesvrije inspectie van formule-tokens en beveiligd terugschrijven voor XLS en XLSX via
TXLSFormulaTokenStream,ParseFormulaTokens,GetFormulaTokens,FormulaTokensToTextenSetFormulaTokensleggen RPN-token-soorten en -klassen, ruwe BIFF-tokens en extra payloads, onafhankelijke verwijzingsvlaggen, klonen, vervanging van verwijzingen, contextherkomst en exact hergebruik van compatibele BIFF bloot, terwijl onjuist gevormde, incompatibele, aan arrays toebehorende of niet-ondersteunde streams vóór celmutatie worden afgewezen - Uitbreidbare Excel-tabelrapportbanden via
TXLSCompiledTableReportBandgebruiken één begrensde cursormomentopname om één gegevenssjabloonrij uit te breiden, terwijl kopteksten, totalen, tabel- en AutoFilter-bereiken, filter- en sorteerstatus, kolommetadata, berekende formules en totaalformules, stijlen, gestructureerde verwijzingen en afhankelijke werkbladobjecten behouden blijven; representeerbare resultaten met nul rijen verwijderen de gegevenssjabloonrij, terwijl query-ondersteunde, conflicterende, ongeldige en overlopende lay-outs vóór schrijfbewerkingen falen - Stijlbewuste PDF-lettertype-fallbackketens via
SetFontFallbackChain,AddFontFallbackenClearFontFallbackChainslossen bronfamilie- en stijlniveaus op op basis van glyphdekking, cachen geladen lettertypevarianten en selecties, behouden aanvullende scalairen en grafeemclusters over reeksen heen, kennen afzonderlijke CID’s toe aan Unicode-reeksen met gedeelde glyphs, sluiten zelfstandige TTC-lettertypevarianten in en wijzen PDF/A-uitvoer atomair af wanneer er geen ingebed glyph beschikbaar is
Versie 2.323.0
Toegevoegd
- Herbruikbare werkmaprapportsjablonen via
TXLSCompiledReportTemplate: placeholders worden eenmaal gecompileerd en kunnen herhaaldelijk worden toegepast zonder de werkmap opnieuw te scannen, met behulp van een gesorteerde waardeopzoeking en vooraf gesplitste tekstfragmenten over cellen, rich text, opmerkingen, thread-opmerkingen, hyperlinks, tekstvakken, diagramtitels en serienamen, kop- en voetteksten, werkbladnamen, gedefinieerde namen en documenteigenschappen - Gegevensbinding voor rapporten via
IXLSReportTable,IXLSReportCursor, lui laden viaIXLSReportTableProvider, geheugentabellen met willekeurige toegang enTXLSReportRelationIndex, dat een hash van onderliggende elementen met samengestelde sleutel eenmaal opbouwt en rijnummers behoudt in plaats van rijpayloads te kopiëren voor herhaalde master-detailopzoekingen - Formuleberekening evalueert nu
PDURATIONvoor het aantal perioden dat nodig is om een beoogde investeringswaarde te bereiken enRRIvoor het equivalente periodieke groeipercentage, inclusief met Excel compatibele numerieke foutgrenzen en het vereiste OOXML-opslagvoorvoegsel_xlfn. - Formuleberekening evalueert nu
ISOMITTED,ARRAYTOTEXTenVALUETOTEXT, inclusief een speciale waarde voor weggelaten argumenten die onderscheiden blijft van een lege cel, BIFF-roundtrips van tokens voor ontbrekende argumenten, een- en tweedimensionale arrays, strikt escapen van tekenreeksen, gelokaliseerde scheidingstekens, regels voor foutconversie en OOXML-voorvoegsels voor toekomstige functies - Gestructureerde formule-preflight via
TXLSXWorkbook.AnalyzeFormulaIssuesrapporteert ontbrekende functies, externe werkmapverwijzingen en exacte componenten van circulaire afhankelijkheden met celcoördinaten en begrensde ledenlijsten, terwijl tekenreeksliteralen en lokale gestructureerde verwijzingen worden uitgesloten van onjuiste overeenkomsten - Afhankelijkheidsbewust klonen van bereiken via
TXLSXWorksheet.CloneRangeTokopieert geselecteerde cellen, samengevoegde bereiken, voorwaardelijke opmaak, gegevensvalidaties, hyperlinks, opmerkingen, afbeeldingen en diagrammen in één bewerking, verplaatst toegepaste bereiken en ankers, en vertaalt formulepayloads met gemengde relatieve en absolute verwijzingssemantiek; rapportbanden gebruiken hetzelfde pad voor afhankelijke objecten - Voortgang en annulering van PDF-export via
TXLSPDFExport.OnProgress,OnProgressExenCancel: meldingen aan het begin, per pagina en aan het einde voegen verwaarloosbare callback-overhead toe, annulering wordt gecontroleerd tussen rijenpassen en paginaobjecten, geannuleerde streams ontvangen geen gedeeltelijke PDF en de exporter blijft herbruikbaar - Diagnostiek van gecompileerde rapporten via
TXLSCompiledReportTemplate.Analyze, strikte uitvoering enWriteDiagnosticsidentificeert ontbrekende waarden, lege placeholders en niet-afgesloten placeholders met het doeltype plus werkblad- en celcoördinaten vóór mutatie, of schrijft dezelfde bevindingen naar een diagnostisch werkblad - Herbruikbare rapportuitvoering via
TXLSCompiledReportRunnerbiedt voortgang aan het begin, bij het doel en aan het einde met de statussen voltooid, geannuleerd en mislukt, ondersteunt annulering vóór de eerste schrijfbewerking of tussen gecompileerde doelen, rapporteert het exacte toegepaste aantal en blijft herbruikbaar na annulering of uitzonderingen zonder de werkmap opnieuw te scannen - AutoFit-strategieën voor samengevoegde cellen voor klassiek XLS en XLSX laten de eerste of laatste rij of kolom de vereiste groei absorberen, of deze gelijkmatig over de samengevoegde reeks verdelen, terwijl het gedrag van verouderde overloads, verborgen statussen, expliciete grenzen en deterministische herhaalde aanroepen behouden blijven
- Optionele PDF-opmerkingannotaties via
TXLSPDFExport.ExportCommentsAsAnnotationsplaatsen Unicode-auteur en opmerkingtekst op de rechthoek van de oorspronkelijke cel, terwijl de bestaande pagina met opmerkingen aan het einde behouden blijft; opmerkingindexen per blad worden in ongeveer O(C log C)-tijd opgebouwd en ondersteunen celopzoekingen in O(log C) - Hiërarchische registers voor door de gebruiker gedefinieerde functies laten XLS- en XLSX-werkmappen procesbrede handlers delen, terwijl werkmap-lokale overschrijvingen, vervanging, verwijdering, leegmaken en de bestaande fallback van werkmapgebeurtenissen behouden blijven; de gemiddelde opzoektijd is O(1), lokale overeenkomsten maskeren globale namen en handlers draaien buiten registervergrendelingen voor veilige parallelle herberekening en zelfverwijdering
- Luie combinators voor rapporttabellen via
TXLSReportTableFactorybieden bovenste rijen, kolomprojectie, rijtelling, minimale en meervoudige aggregatiedefinities, schema-afgebeelde unie, aaneengesloten splitpartities en duplicaatbehoudende innerlijke of linker hash-verbindingen, zonder volledige tussenliggende rijpayloads te materialiseren - Incrementele PNG- en JPEG-pagina-export via
TXLSPageImageExporterondersteunt XLS- en XLSX-bereiken, werkbladen en werkmappen met paginaselectie, DPI, schaal, JPEG-kwaliteit, voortgang, annulering en herbruikbare sessies; er wordt per sessie één pagineringsmodel opgebouwd en het bitmapgeheugen wordt na elke pagina vrijgegeven - Meerdere XLSX-werkmapvensters via
TXLSXWorkbook.WorkbookViewsbehouden onafhankelijke actieve tabbladen, eerste zichtbare bladen, zichtbaarheid, geminimaliseerde status, geometrie, tabbladweergave, scrollen, onbekende kenmerken, extensies en correct opnieuw toegewezen werkbladweergavebindingen, terwijl de bestaande eigenschappen voor één venster de eerste weergave blijven aanspreken - Benoemde rij-, kolom- en kruistabelrapportbanden via
TXLSCompiledReportBandbreiden een sjabloon met gedefinieerde naam structureel uit vanuit eenmalige begrensde datamomentopnamen, behouden formules en afhankelijke werkbladobjecten, leggen expliciete rij- en kolommetadata vast zonder standaardwaarden met grootte nul te creëren, en hergebruiken vaste grenzen van bronverzamelingen, zodat herhaald klonen op hetzelfde blad gegenereerde payloads niet opnieuw scant - PDF-export schrijft nu tweestops- en meerstops-axiale of radiale verlopen als native PDF-schaduweringen, hergebruikt identieke functie-, schaduw- en transparantiebronnen, knipt elke vulling bij tot de cel en past effen of uniform verloop-alfa toe zonder de vroegere benadering met gestreepte rechthoeken
Opgelost
- Aangepaste overschrijvingen van papierbreedte en -hoogte in punten nemen nu deel aan de berekening van de pagineringsband en aan het uiteindelijke paginaobject, zodat pagina-einden en gerenderde afmetingen hetzelfde beschikbare gebied gebruiken
Versie 2.322.0
Toegevoegd
- Formuleberekening evalueert nu de Besselfuncties van de eerste soort
BESSELJ(oscillerend) enBESSELI(gemodificeerd), berekend via de machtreeks met termrecursie voor numerieke stabiliteit over het praktische argumentbereik
Versie 2.321.0
Opgelost
- XLSX-RTF-export bouwt nu een echte lettertypetabel in plaats van Calibri hard te coderen: de voorafgaande scan verzamelt elke afzonderlijke cellettertypenaam, het
\fonttblvermeldt elk met zijn eigen\fN-index en de tekst van elke cel verwijst naar het werkelijke lettertype — werkmappen die zijn opgemaakt met Times New Roman, Courier New of een ander lettertype stromen niet langer visueel terug naar Calibri wanneer ze in Word of WordPad worden geopend
Versie 2.320.0
Opgelost
- PDF-export rendert nu tekstrotatie op het klassieke XLS-enginepad: cellen met een oriëntatie van 90 of 270 graden tekenen hun tekst verticaal via een PDF-tekstmatrix die rond het celcentrum draait, overeenkomstig het bestaande gedrag van het XLSX-pad; voorheen werden verticale kopteksten en geroteerde labels horizontaal gerenderd in PDF’s die zijn gegenereerd uit
.xls-werkmappen
Versie 2.319.0
Toegevoegd
- Formuleberekening evalueert nu de van LAMBDA afhankelijke array-combinators van Excel 365:
MAP(elementgewijze transformatie),REDUCE(samenvouwen tot één waarde),SCAN(samenvouwen dat elke tussenstap verspreidt),MAKEARRAY(opbouwen uit rij- en kolomindexen),BYROW(rijgewijze aggregatie die een kolom verspreidt) enBYCOL(kolomgewijze aggregatie die een rij verspreidt), waarmee de LAMBDA-familie van functioneel programmeren compleet is naast de bestaande ondersteuning voorLAMBDAenLET
Versie 2.318.0
Toegevoegd
- Formuleberekening evalueert nu de financiële functies voor obligaties en schatkistpapier:
COUPDAYBS,COUPDAYS,COUPDAYSNC,COUPNCD,COUPPCD,COUPNUM(dagentel-primities voor coupons),PRICE/YIELD(standaard obligatiewaardering met bisectie-rendementsoplosser),PRICEDISC/YIELDDISC(gedisconteerde effecten),PRICEMAT/YIELDMAT(op looptijd gebaseerd),DURATION/MDURATION(Macaulay en gemodificeerd),TBILLEQ/TBILLPRICE/TBILLYIELD(schatkistpapier),DISC/INTRATE/RECEIVED(disconto en rente),ACCRINTM(opgelopen rente bij looptijd),DOLLARDE/DOLLARFR(conversie van fractionele dollars),EFFECT/NOMINAL(effectieve en nominale rentetarieven),CUMIPMT/CUMPRINC(cumulatieve rente en hoofdsom),FVSCHEDULE(toekomstige waarde met variabele rente) enAMORDEGRC/AMORLINC(Franse afschrijving); al deze functies delen een zelfstandige geneste coupon-datummachine met de vijf standaard dagtelbases
Versie 2.317.0
Toegevoegd
- Het laden van versleutelde werkmappen accepteert nu Agile Encryption-bestanden die het SHA-256-hashalgoritme declareren (geproduceerd door sommige externe schrijvers): de afleiding van de wachtwoordsleutel, de spinlus, de wachtwoordverificator en de IV’s en HMAC van de gegevensintegriteitssleutel/-waarde volgen allemaal de gedeclareerde hash, terwijl bestanden die niet-overeenkomende hashes declareren tussen de sleutelgegevens en de sleutelversleutelaar nog steeds worden afgewezen; opslaan blijft de standaard SHA-512-variant van Excel’s schrijven
Versie 2.316.0
Toegevoegd
SortRangebehoudt formules op beide werkmapengines: formulecellen reizen met hun rijen mee en hun relatieve verwijzingen verankeren opnieuw volgens de sorteersemantiek van Excel ($-absolute delen blijven staan, verwijzingen die buiten het raster worden verschoven, klemmen op hun plaats), zodat gesorteerde tabellen blijven berekenen in plaats van in te klappen tot waarden- Achtergrondafbeeldingen voor bladen:
SetBackgroundImageplaatst een afbeelding als tegel achter de cellen van een XLSX-werkblad (alleen ter weergave, net als Excel), met een roundtrip via hetpicture-element van het werkblad, de media-relatie en de inhoudstypen van het pakket
Opgelost
- Het herberekenen van een rekenkundige formule die verwijst naar een nooit aangeraakte lege cel breekt niet langer af met een conversiefout — lege operanden dragen 0 bij, net als in Excel
Versie 2.315.0
Toegevoegd
CopyToClipboardpubliceert het native Biff8-klembordformaat naast tekst en HTML op beide werkmapengines, zodat bereiken die in Excel of andere HotXLS-werkmappen worden geplakt waarden, formules, getalnotaties, lettertypen, vullingen, randen, uitlijning en samengevoegde cellen meedragen in plaats van alleen platte tekstPasteFromClipboardgeeft de voorkeur aan de Biff8-payload wanneer die aanwezig is: tekst die uit Excel wordt geplakt behoudt zijn oorspronkelijke waarden zonder afhankelijk van de landinstelling datum- en getalwaarden opnieuw te parseren, formules verankeren hun relatieve verwijzingen opnieuw op het plakdoel en samengevoegde gebieden worden op de bestemming opnieuw opgebouwd; beide engines plakken ook elkaars blokken met volledige opmaak
Gewijzigd
- Formules die in Excel worden geplakt, komen binnen als hun berekende waarden (een beperking van het parseren van het Biff8-klembord van derden door Excel); al het andere — tekst, getallen met opmaak, vullingen, randen en samenvoegingen — wordt verliesvrij in Excel geplakt, en formules overleven volledig in de richtingen Excel-naar-HotXLS en HotXLS-naar-HotXLS
Versie 2.314.0
Toegevoegd
- Camera-objecten op XLSX-werkbladen:
AddCameraplaatst een live momentopname-afbeelding die is gekoppeld aan een celbereik — de gekoppelde afbeelding van de cameratool van Excel — met de bereikbinding die naar de gedocumenteerde tekeningextensie wordt geschreven en een placeholderafbeelding die op het anker wordt geschaald; camera-objecten die door Excel zijn gemaakt, worden opnieuw geopend met behoud van hun bereikbinding
Versie 2.313.0
Toegevoegd
- In-place patchen van werkbladen voor XLSX-pakketten:
BeginPatchop de streaming-schrijver opent een bestaande werkmap en herschrijft exact één werkblad — elk ander onderdeel (stijlen, tekeningen, diagrammen, draaitabellen, aangepaste onderdelen) wordt met zijn gecomprimeerde bytes woordelijk overgekopieerd, zonder iets te decomprimeren of opnieuw te bewerken, zodat een groot sjabloon zijn gegevensblad vernieuwd krijgt in een fractie van een volledige herbouw - De patchmodus kan ook een nieuw werkblad toevoegen: het blad wordt geregistreerd in de onderdelenlijst van de werkmap, relaties en inhoudstypen met nummering die nooit botst met bestaande onderdelen, volgens de eigen strikte of transitionele relatieconventie van het pakket
- Gepatchte pakketten laten de verouderde berekeningsketen automatisch vallen (Excel bouwt deze opnieuw op bij het laden), en functies waarvoor nieuwe pakketonderdelen nodig zouden zijn (tabellen, diagrammen, afbeeldingen, opmerkingen, gedefinieerde namen) melden een duidelijke fout in plaats van een ongeldig pakket te schrijven
Versie 2.312.0
Toegevoegd
- Strikte Open XML-uitvoer: het instellen van
StrictOOXMLop een XLSX-werkmap slaat het pakket op in strikte conformiteit met ISO/IEC 29500 — elke naamruimtedeclaratie en elk relatietype schakelt van de transitionele vocabularia naar de striktepurl.oclc.org-vocabularia over werkbladen, gedeelde tekenreeksen, stijlen, thema, tekeningen, diagrammen, opmerkingen, documenteigenschappen en behouden onderdelen heen, terwijl inhoudstypen, onderdeelnamen en de VML-vocabularia blijven zoals beide conformiteitsklassen ze delen - Het lezen van werkmappen met strikte conformiteit is nu volledig: relatietypen die in strikte vorm zijn geschreven, verwijzen naar dezelfde doelen als hun transitionele equivalenten, als aanvulling op de acceptatie van strikte element-naamruimten, zodat bestanden die zijn opgeslagen in de modus “Strict Open XML Spreadsheet” van Excel net als elke andere werkmap worden geopend
- Opslaan met strikte uitvoer ingeschakeld meldt een duidelijke fout voor functies die alleen bestaan als Microsoft-extensies (VBA-projecten, formulierbesturingselementen, thread-opmerkingen, metadata van dynamische arrays) in plaats van een pakket te schrijven dat niet zou valideren
Opgelost
- Aangepaste documenteigenschappen declareerden een verkeerd gespelde naamruimte voor waardetypen, waardoor het eigenschappenonderdeel in externe hulpmiddelen de validatie niet zou kunnen doorstaan
Versie 2.311.0
Toegevoegd
- Het lezen van een XLS-werkmap behoudt niet-herkende werkbladrecords: elke record die de getypeerde parser niet modelleert, wordt woordelijk vastgelegd en bij het opslaan opnieuw afgespeeld, zodat bestanden met leveranciersspecifieke of nieuwere-spec records zonder verlies een roundtrip door HotXLS maken
Versie 2.310.0
Toegevoegd
- Vormen met vooraf ingestelde geometrie op XLSX-werkbladen:
AddPresetShapeschrijft elk van de 187 OOXML-ST_ShapeType-voorinstellingstokens (rightArrow,flowChartDecision,star5, …) woordelijk naar de<a:prstGeom>van de tekening, en de eigenschapPrstTokenlaat bestaande vormen van geometrie wisselen — tokens overleven een roundtrip door opslaan en opnieuw openen
Versie 2.309.0
Toegevoegd
- Sjabloonverwerking op werkbladen:
ApplyTemplatevervangt{{key}}-placeholders over alle cellen — waarden behouden hun native typen, formule-placeholders worden vóór het parseren vervangen — enFillTemplateBandkloont een sjabloonblok eenmaal per record met vertaling van formule-rijen per kloon, het klonen van samengevoegde bereiken en een#skip-veld voor voorwaarden op rijniveau, waarmee elk handgemaakt blad wordt omgezet in een datagedreven rapportgenerator
Versie 2.308.0
Toegevoegd
- PDF-export kan bestanden bijvoegen:
AddAttachmentbrengt ruwe documenten in de geëxporteerde PDF als/EmbeddedFiles-items (bestandsspecificatie, ingebedde stream met optioneel MIME-subtype en de catalogus-naamboom), zodat rapporten samen met hun ondersteunende gegevens in één zelfstandig bestand worden verzonden
Gewijzigd
- Het lezen van een XLS-werkmap met een niet-herkend BIFF-versiewoord wijst de hele stream niet langer af: de lezer valt terug op de BIFF8-lay-out, zodat bestanden van schrijvers die ongebruikelijke versienummers produceren nog steeds worden geladen wanneer hun records kunnen worden geparseerd
Versie 2.307.0
Toegevoegd
- Centraal beheer van tijdelijke bestanden: elk tijdelijk bestand dat de bibliotheek maakt, wordt geregistreerd en opgeruimd, zodat een afgebroken export of een uitzondering tussen maken en verwijderen geen verweesde tijdelijke bestanden meer achterlaat
VerifyEncryptedSaveopent een zojuist geschreven versleutelde container opnieuw via de volledige decryptiepipeline en laat het opslaan mislukken wanneer het wachtwoord deze niet kan ontgrendelen — beschadigde containers komen onmiddellijk aan het licht in plaats van bij de volgende keer dat de gebruiker ze opent- Gegevensset-export activeert een
OnExportLimit-gebeurtenis wanneer rijsplitsing in werking treedt, en de rasterlimieten van de werkmap per formaatversie worden als constanten blootgelegd (65536×256 voor BIFF8, 1048576×16384 voor de 2007+-formaten) voor onderhandeling over mogelijkheden
Versie 2.306.0
Toegevoegd
- XLSX-werkbladen krijgen het opstellen van formulierbesturingselementen:
AddFormButton,AddFormCheckBox,AddFormRadioButton,AddFormComboBoxenAddFormListBoxschrijven knop-, selectievakje-, keuzerondje-, vervolgkeuze- en lijstbesturingselementen met bijschriften, gekoppelde cellen, aangevinkte status en macrobinding — het opslagpad genereert de VML-vormen, dectrlProps-onderdelen per besturingselement, hun relaties en de inhoudstype-items, en bestanden met besturingselementen laten hun onderdelen bij het opnieuw openen woordelijk een roundtrip maken
Versie 2.305.0
Toegevoegd
- PDF-export krijgt een optionele
UsePDFA-modus die documenten produceert die als PDF/A-2b zijn geïdentificeerd: het sRGB IEC61966-2.1-profiel wordt ingebed als de GTS_PDFA1-uitvoerintentie, de XMP-metadata bevatten depdfaid-onderdeel-/conformiteitsidentificatie en de kop kondigt PDF 1.7 aan — combineer dit met een ingebed TrueType-lettertype (UnicodeFontFileof het automatisch geselecteerde geïnstalleerde lettertype) voor archiefgeschikte uitvoer
Versie 2.304.0
Toegevoegd
- Live-evaluatie over werkmappen heen:
RegisterExternalWorkbookkoppelt een werkmapobject aan een boeknaam, zodat formules zoals[Book.xlsx]Sheet!A1compileren (het voorvoegsel[Book]Sheet!Refwordt nu geparseerd als een echte externe verwijzing) en bij elke herberekening de huidige status van het geregistreerde object lezen; het ongedaan maken van de registratie verbreekt de live-koppeling en valt terug op de cache van externe koppelingen
Versie 2.303.0
Toegevoegd
- Werkmapvergelijking via
TXLSXWorkbookCompare: koppelt bladen op naam en rapporteert toegevoegde/verwijderde bladen, toegevoegde/verwijderde cellen, gewijzigde waarden, gewijzigde formules en toegevoegde/verwijderde samengevoegde bereiken — als een gestructureerde difflijst voor hulpmiddelen en als één leesbare regel per verschil viaReport
Versie 2.302.0
Toegevoegd
- De streaming directe schrijver krijgt een rijtoevoer in pull-modus:
OnNeedRowwordt eenmaal per verwachte rij geactiveerd en de leverancier schrijft die rij rechtstreeks via de schrijver, waarbij het einde van de gegevens wordt gedeclareerd om te stoppen — datapipelines kunnen een export aansturen zonder rijlijsten vooraf te bufferen
Versie 2.301.0
Toegevoegd
- ODS-export schrijft celformules: verwijzingen binnen hetzelfde blad vertalen naar de standaard
of:=OpenFormula-notatie (tussen haakjes geplaatste verwijzingen, puntkomma-argumentseparatoren en tekenreeksliteralen blijven ongewijzigd), terwijl bladgekwalificeerde en gestructureerde verwijzingen gebruikmaken van demsoxl:-passthrough die Excel zelf gebruikt voor uitwisseling tussen suites — opgeslagen pakketten heropenen met de oorspronkelijke Excel-formuletekst
Versie 2.300.0
Toegevoegd
- Van rechts naar links gerenderde werkbladen worden nu overal gespiegeld weergegeven: PDF-export spiegelt de kolomgeometrie over de afdrukbreedte (kolom A rechts, celinhoud ongewijzigd) en beide HTML-exporteurs geven
dir="rtl"op de tabel uit, zodat de browser de kolomvolgorde omdraait — de bladvlag gaat al rond door XLSX en BIFF
Versie 2.299.0
Toegevoegd
- Datasetexport (
TDataToXLS) krijgt een titelband en een voettekstband:Titlerendert één samengevoegde, vet opgemaakte rij boven de koptekst (eigenTitleFonten optioneleTitleColor), enFootervoegt een regel toe onder de laatste gegevens- of samenvattingsrij ForEachFormattedCellop een werkblad doorloopt elke gevulde cel in rij-/kolomvolgorde en levert de weergavetekst — met toegepaste getalnotatie — via een callback, klaar voor indexering en tekstextractie
Versie 2.298.0
Toegevoegd
- Het ApiTour-voorbeeld opent nu direct in een live showcase: een in-memory verkoopdashboard met KPI-tegels, formules tussen bladen (
SUMIF/COUNTIF), gegevensbalken, een kleurenschaal, een iconenset en twee grafieken rendert in de ingebouwde werkmapviewer zodra het voorbeeld start, elke rastercel blijft bewerkbaar met directe herberekening en ververste voorwaardelijke opmaak, en acties met één klik exporteren de showcase naar PDF, HTML en CSV of geven deze door aan Excel met live bouw- en exporttijden - Het C++Builder-ApiTour-voorbeeld spiegelt de nieuwe Delphi-showcase, de ingebouwde viewer, de formulebalk, de exportacties en het activiteitenlogboek
Gewijzigd
- De ApiTour-voorbeelden vervangen modale resultaatdialoogvensters door een activiteitenlogboek in het venster, terwijl de klassieke doorloop voor maken, wijzigen en exporteren zijn gedrag behoudt
Versie 2.297.0
Toegevoegd
- PDF-export krijgt een optionele
UseXRefStream-modus die PDF 1.5-bestanden produceert met gecomprimeerde objectstromen en een binaire kruisverwijzingsstroom: kleine woordenboekobjecten reizen in één Flate-gecomprimeerde container en de klassieke xref-tabel en trailer worden vervangen door een compacte stroom, waardoor geëxporteerde documenten kleiner worden terwijl de paginainhoud byte-identiek blijft
Versie 2.296.0
Toegevoegd
- De streaming directe schrijver krijgt een optionele
AutoSplitRows-modus: een rij voorbij de werkbladlimiet (1048576) sluit het huidige blad af en gaat verder op een nieuw aangemaakt blad<name>_2,<name>_3…, zodat onbegrensde exporten nooit een ongeldige rij-index uitgeven FillTableCalculatedColumnop een werkblad duwt de formule van een berekende tabelkolom naar beneden in elke gegevensrij, per cel rijvertaald zoals Excel’s eigen auteursfunctie dat doet, en herberekent daarna op natuurlijke wijze
Versie 2.295.0
Gewijzigd
- XLSX-HTML-export centraliseert de celopmaak: identieke stijlcombinaties worden één keer uitgevoerd als
td.cN-klassen in een stylesheet in plaats van een herhaald inlinestyle-attribuut op elke cel, waardoor de HTML-uitvoer voor uniform opgemaakte tabellen kleiner wordt; visuele overlays van voorwaardelijke opmaak blijven inline zodat ze hun per-cel-karakter behouden
Versie 2.294.0
Opgelost
- Gestructureerde verwijzingen in de vorm van de huidige rij (
Table[@Col]) worden nu tijdens herberekening geëvalueerd tegen de eigen rij van de formulecel, zowel in het seriële als in het parallelle evaluatietraject; voorheen las elke dergelijke formule rij 1 van de kolom — doorgaans de koptekst — en mislukte de herberekening meteen met een typeconversiefout wanneer die rij tekst bevatte
Versie 2.293.0
Gewijzigd
- De optionele memo
RecalcAggregateCacheomvat nu ook onvoorwaardelijke aggregaten over één bereik —SUM,AVERAGE,MIN,MAX,COUNTenCOUNTAover één eenvoudig enkelbladbereik — zodat herhaalde totalen over hetzelfde blok het resultaat van de eerste doorgang hergebruiken onder dezelfde referentiestabiliteitscontrole als de voorwaardelijke familie
Versie 2.292.0
Toegevoegd
- Generator van werkmap naar code (
TXLSCodeGen): doorloopt een werkmap en geeft de broninstructies uit die deze herbouwen — bladaanmaak, celwaarden, formules, getalnotaties, kolombreedten en samengevoegde bereiken — in Delphi- of C++Builder-dialecten, zodat een met de hand gemaakte file een kant-en-klaar API-voorbeeld wordt - Importvalidator voor kolomregels (
TXLSImportCheck): per kolom regels voor verplicht, tekstlengte, regex-patroon en uniekheid plus een callback van de aanroeper die over de gegevensrijen van een werkblad loopt; overtredingen kunnen worden teruggeannoteerd met een rood lettertype en een redencommentaar, enKeepOnlyViolationscomprimeert het blad tot de koptekst plus falende rijen voor een werkmap voor “corrigeer en stuur terug”
Versie 2.291.0
Toegevoegd
- CSV-import accepteert een optierecord:
OpenCSV-overloads nemen het overslaan van voorafgaande regels (SkipRows, voor titelbanners boven het raster) en het trimmen van witruimte (AutoTrim) naast de schakelaars voor scheidingsteken en typedetectie FillMergedCellValuesop een werkblad kopieert de ankerwaarde van elk samengevoegd bereik naar elke bedekte lidcel, zodat bladen in rapportstijl met samengevoegde labels als één vlak raster worden gelezenAddListValidationkrijgt een overload met een array van tekenreeksen die de items in één aanroep tot één vervolgkeuzelijst samenvoegt- Datasetexport (
TDataToXLS) krijgt zebrastrepen (AlternatingColor, getekend op oneven detailrijen) en een totaalrij (SummaryRow) die echteSUM-formules toevoegt voor de geëxporteerde numerieke velden of een door de aanroeper benoemde veldlijst, met een vet bijschriftcel
Opgelost
- Datasetexport past nu de geconfigureerde
DetailColor-achtergrond toe op detailcellen; voorheen werd de eigenschap geaccepteerd maar nooit getekend
Versie 2.290.0
Gewijzigd
- De optionele memo
RecalcLookupCacheomvat nu ook exacte en benaderendeVLOOKUP-scans,HLOOKUPenMATCH-vergelijkingssoorten 0 en 1, zodat werkmappen die deze klassieke opzoekingen over hetzelfde bereik herhalen, de uitkomst van de eerste scan hergebruiken tijdens een herberekeningsdoorgang onder dezelfde referentiestabiliteitsveiligheidscontrole alsXLOOKUP/XMATCH
Versie 2.289.0
Toegevoegd
- De streaming directe schrijver krijgt een optionele
TrackColumnWidths-modus: het werkblad wordt in het geheugen klaargezet terwijl rijen streamen, zodat het opgeslagen bestand de<dimension>-hint van het gebruikte bereik en per kolom breedtes draagt die zijn afgestemd op de langste geziene weergavetekst (tekens plus opvulling, begrensd op 255), waarmee autofit wordt benaderd voor exporten waarvan de gegevens pas bekend worden tijdens het streamen; expliciet ingestelde kolombreedten winnen altijd
Versie 2.288.0
Toegevoegd
- Het openen van XLSX-pakketten verdraagt niet-canonieke namespace-prefixen: werkbladen, grafieken, tekeningen en documenteigenschapsdelen die hun elementen aan een anders geprefixt (of ISO 29500 strict) namespace binden, worden tijdens het parseren genormaliseerd naar de standaardvocabulaire, zodat bestanden van externe generatoren en savers in strikte modus correct laden
- Werkbladen waarvan de cellen het
r-positieattribuut weglaten, plaatsen elke cel na zijn voorganger in scanvolgorde, en rijen zonderr-attribuut zetten de rijreeks voort — de conventie die verschillende streaming schrijvers gebruiken
Versie 2.287.0
Toegevoegd
Openleest Excel 2.0/3.0/4.0-werkmappen (BIFF2-4): onbewerkte BIFF-stromen zonder OLE-wrapper laden met hun getallen, tekst, booleaanse waarden, fouten en gecachte formuleresultaten; tekenreeksresultaten van formules arriveren via het BIFF2-4 String-record, en het codepagina-record van de stroom stuurt de tekstdecodering
Gewijzigd
- BIFF2-4-documenten worden gelezen voor waarden — getalnotaties en stijlen van die generaties zijn niet gemodelleerd, dus datums verschijnen als onbewerkte serienummers en formules als hun laatst berekende waarden
Versie 2.286.0
Toegevoegd
- Getalnotaties met vergelijkingssecties (
[>=100],[<0], …) selecteren de sectie op basis van de waarde overal waar weergavetekst wordt gerenderd, in overeenstemming met het gedrag van voorwaardelijke opmaak van Excel - Tekstsecties van getalnotaties (
"ID:"@) sjabloneren tekenreekswaarden in plaats van de notatie te negeren SetCellFromHtmlvult een cel vanuit een licht HTML-fragment:<b>/<strong>,<i>/<em>,<u>,<br>en<font color=...>worden rijke runs; andere tags vervallen terwijl hun tekst behouden blijft- De
TaggedText-markup accepteert<br>-regelafbrekingen,<strong>/<em>-aliassen, de<font color=...>-attribuutvorm en de entiteiten"/ - Blokken voor kolommen bij elkaar houden (
KeepColumnsTogether) stoppen verticale paginascheidingen binnen een kolomgroep, in navolging van de functie op rijniveau in paginering, voorbeeld en PDF-uitvoer - Klassieke Spinner- en ScrollBar-formulierbesturingselementen kunnen in XLS-bestanden worden opgenomen met Min/Max/Inc/Page-instellingen en een gekoppelde cel, uitgevoerd via het OBJ FtSbs-subrecord
WriteAutoValueherkentm/d/yyyy- end.m.yyyy-datums met optionele tijden (inclusief AM/PM) naast de ISO-vorm, en wijst onmogelijke kalenderdatums afConvertFormulasToValueskrijgt eenOnlyExternal-modus die alleen formules bevriest die naar andere werkmappen verwijzen, en de klassieke XLS-façade krijgt de methode voor het hele blad- Auto-fit voor rijen meet samengevoegde cellen tegen hun gecombineerde kolombreedte en verdeelt de benodigde hoogte over de samengevoegde rijen
Versie 2.285.0
Toegevoegd
- PDF-export tekent werkbladgrafieken als native vectorgraphics: gegroepeerde, gestapelde en procentueel gestapelde kolommen en balken, lijngrafieken met markeringen, vlakgrafieken, cirkel- en ringdiagrammen met percentagelabels, spreidingsdiagrammen en radardiagrammen — elk met een getiteld kader, automatisch geschaalde assen, tick-labels, rasterlijnen, een legenda, optionele datalabels per punt, effen vullingen per reeks en Excel’s standaard accentpalet; 3D-grafiektypen worden gerenderd als hun 2D-projectie
- Grafieken die voorbij de laatste cel zijn verankerd, breiden nu het afgedrukte oppervlak uit, zodat een grafiek onder de gegevensrijen nog steeds verschijnt in PDF- en voorbeelduitvoer in plaats van te worden afgesneden
Versie 2.284.0
Toegevoegd
- PDF-kop- en voetteksten renderen Excel’s stijlcodes:
&Bvet,&Icursief,&U/&Eenkel/dubbel onderstreept,&Sdoorgehaald,&X/&Ysuper-/subscript,&nnlettergrootte,&Kkleur en de trefwoorden voor gewicht&"Font,Style" - PDF-export respecteert de zwart-wit afdrukmodus van het werkblad door vullingen, lettertypen, randen, gegevensbalken en iconen te reduceren tot luminantiegrijs
- Afgedrukte rij- en kolomkoppen (rijnummers en kolomletters) worden naast het raster gerenderd wanneer het blad daarom vraagt
- Centreren bij afdrukken:
CenterHorizontally/CenterVerticallyverplaatsen het afgedrukte raster tussen de marges terwijl kop- en voettekstbanden op hun plaats blijven - Celopmerkingen worden afgedrukt als een rode hoekindicator (modus zoals weergegeven) of als een pagina met opmerkingenlijst na het blad via de nieuwe werkbladeigenschap
PrintCommentsAtEnd, die Excel’scellComments="atEnd"-paginainstellingswaarde rondbrengt - Interne hyperlinks (
Sheet!Cell-doelen) worden klikbare GoTo-koppelingen in het document die naar de pagina van het doelblad springen - De exporteur stelt een
PageLayout-voorkeur voor de viewer beschikbaar en schrijft een XMP-metadatapakket naast het documentinformatiewoordenboek - TrueType-verzamelingslettertypen (
.ttc) kunnen dienen als het ingebedde Unicode-lettertype; de vet- en cursiefsnitten van het ingebedde lettertype worden gesynthetiseerd wanneer alleen een gewoon snit bestaat
Gewijzigd
- Kolombreedten worden omgezet via Excel’s formule voor maximale cijferbreedte (Calibri 11-metrieken) in plaats van een vaste schatting per teken, zodat PDF- en voorbeeldbreedten overeenkomen met Excel’s opgeslagen pixelbreedten
- Omgebroken regels worden opnieuw gemeten vanaf het eerste teken van elke eigen regel, waarmee omgebroken regels worden gecorrigeerd die de breedte negeerden van woorden die door een eerdere afbreking naar beneden waren verplaatst
Versie 2.283.0
Toegevoegd
- PDF-export breekt
WrapText-cellen af met echte woordafbreking, regel-voor-regel horizontale uitlijning, verticale blokuitlijning en uitgevulde of verdeelde tussenruimte - PDF-export rendert geroteerde celtekst via PDF-tekstmatrices, inclusief verticaal gestapelde tekst, en respecteert
ShrinkToFitdoor de lettergrootte te verkleinen totdat de waarde past - PDF-tekst die een cel overloopt, strekt zich nu uit over lege buurcellen en wordt afgesneden bij de eerste bezette cel, in overeenstemming met Excel’s afdrukgedrag; algemene uitlijning lijnt getallen rechts uit zoals Excel
- PDF-export tekent rich-text-runs met per run lettertypestijl, -grootte, kleur, onderstreping, doorhaling, superscript en subscript; omgebroken regels behouden de opmaak per run
- PDF-export tekent diagonale celranden en echte dubbellijnsranden
- Tekst over samengevoegde cellen wordt nu over de hele samengevoegde rechthoek getekend, uitgelijnd, afgebroken en verankerd met hyperlinks, en bedekte samengevoegde leden tekenen niet langer hun eigen achtergrond
Gewijzigd
- PDF-tekstbreedten komen uit gekalibreerde voortgangstabellen per teken in plaats van een vaste gemiddelde tekenbreedte, zodat uitlijning, afbreking en verkleining overeenkomen met de afgedrukte pagina
- Celinspringing verschuift tekst zoals Excel, en cellen met een iconenset springen hun waarde in naast het icoon
Versie 2.282.0
Toegevoegd
- PDF-export behoudt PNG-transparantie: afbeeldingen met een alfa-kanaal geven nu een soft-mask-vlak uit in plaats van transparantie te verliezen, inclusief paletafbeeldingen met een tRNS-chunk
Gewijzigd
- PDF-paginainhoudstromen zijn nu Flate-gecomprimeerd, waardoor geëxporteerde documenten aanzienlijk kleiner worden zonder vereisten voor de viewer boven PDF 1.4
- PDF-export bundelt opeenvolgende tekstbewerkingen in gedeelde tekstblokken en slaat redundante selectie van lettertype, grootte en kleur over, waardoor zowel de uitvoergrootte als de generatietijd afnemen
- Aangrenzende cellen met dezelfde effen vulling worden gerenderd als één samengevoegde rechthoek, en collineaire randsegmenten met dezelfde stijl worden getekend als één run in plaats van randen per cel
- PNG-afbeeldingen worden in PDF ingebed zonder decoderen en opnieuw coderen, met behoud van de oorspronkelijke gecomprimeerde stroom en exacte pixels
- Afbeeldingen met identieke byte-inhoud worden één keer ingebed en gedeeld, ongeacht hoeveel afbeeldingsobjecten ernaar verwijzen
Opgelost
- Hyperlinkannotaties worden nu ook aangemaakt voor linkcellen waarvan de tekst via het pad van het ingebedde Unicode-lettertype wordt gerenderd
- PDF-inhoudsbytes hangen niet langer af van de actieve systeemcodepagina, zodat westerse tekst op elke Windows-landinstelling identiek wordt gerenderd
Versie 2.281.0
Opgelost
- Klembordlezers kappen de datahandle niet langer af tot 32 bits, waardoor
XLSGetClipboardBiff8en het XML-spreadsheet-plakpad op 64-bits toepassingen leeg retourneerden - Klembordbewerkingen proberen het klembord maximaal een halve seconde opnieuw te openen wanneer een andere toepassing het vasthoudt, in plaats van te falen bij de eerste concurrentie
Gewijzigd
- Opzoekingen van regels voor voorwaardelijke opmaak (
FindAt/IndexOfCell-paden) parseren het celbereik van elke regel één keer in plaats van bij elke bevraagde cel, in overeenstemming met de cache van gegevensvalidatie - PDF-export bouwt een hyperlinkindex per blad en vervangt de lineaire scan per cel door een binaire zoekopdracht
Versie 2.280.0
Toegevoegd
- Door de gebruiker gedefinieerde functies kunnen bij naam worden geregistreerd:
RegisterUserFunctionstuurt formules die die naam aanroepen rechtstreeks naar hun handler (geen globale if-keten in éénOnUserFunction), terwijl het werkmapgebeurtenis niet-geregistreerde namen blijft bedienen ScanUnknownFunctionscontroleert een werkmap op formulefuncties die de berekeningsengine niet kan evalueren, en meldt elke cel en naam — ideaal voordat herberekening wordt ingeschakeld voor externe bestandenRecoveryMode: een structureel beschadigd werkbladonderdeel wordt overgeslagen met een waarschuwingsdiagnose in plaats van de hele open-bewerking af te breken- Native BIFF8-klembordnotatie:
XLSSetClipboardBiff8/XLSGetClipboardBiff8publiceren en lezen deBiff8-stroom die Excel zelf gebruikt, zodat uitwisseling via het klembord waarden, formules en opmaak behoudt
Gewijzigd
- Controle van gegevensvalidatie parseert het celbereik van elke regel één keer in plaats van bij elke cel, waardoor
CheckDataValidationsover grote bladen sneller wordt
Versie 2.279.0
Toegevoegd
- PDF-export bedt werkbladafbeeldingen in: PNG-/GIF-/BMP-bitmaps worden omgezet naar Flate-gecomprimeerde RGB-XObjects en JPEG-bestanden gaan ongewijzigd door via DCTDecode (zonder hercompressie); identieke afbeeldingen op meerdere pagina’s delen één object, en afbeeldingen die zonder expliciete grootte zijn toegevoegd, gebruiken nu standaard hun pixeldimensies op 96 DPI
- Blokken bij elkaar houden:
KeepRowsTogethervoorkomt dat print-/PDF-paginering binnen een rijblok breekt dat op één pagina past, enXlsxAutoPageBreakszet de natuurlijke (met behoud van blokken) paginagrenzen om in expliciete rijafbrekingen, zodat Excel pagineert zoals de export - Configureerbare XLSX-compressie:
ZipCompressionLevelselecteert het deflate-niveau voor opslaan (-1 standaard tot en met 9) - Reproduceerbare opslag:
DeterministicOutputzet de tijdstempels van zip-items vast, zodat het twee keer opslaan van dezelfde werkmap byte-identieke bestanden oplevert
Opgelost
- Beschadigde compoundbestanden met cyclische FAT-ketens laten de klassieke .xls-lader niet langer hangen — de doorlopen van directory- en streamketens dragen cycluswachten
Versie 2.278.0
Toegevoegd
- PDF-export geeft klikbare linkannotaties uit voor werkbladhyperlinks: cellen met een URL krijgen een onzichtbare /Link-rechthoek met een URI-actie over het celgebied
- PDF-export schrijft een documentstructuur (bladwijzers): elk geëxporteerd werkblad wordt een bladwijzer die naar zijn eerste gerenderde pagina verwijst
Versie 2.277.0
Toegevoegd
- Gegevensvalidatie krijgt een controle-API:
CheckDataValidationsscant gevulde cellen tegen de regels van het blad (lijstlidmaatschap, grenzen voor geheel getal/decimalen/datum/tijd, tekstlengte, aangepaste formules via de rekenmachine) en rapporteert elke overtredende cel met de regelindex en een reden - Getypeerde aangepaste documenteigenschappen maken een roundtrip via
docProps/custom.xml: tekst-, getal-, datum- en booleaanse items opWorkbook.CustomProperties - Aangepaste XML-gegevensonderdelen maken een roundtrip via
Workbook.CustomXmlPartsmet relaties op werkmapniveau en inhoudstypen - Afbeeldingen accepteren een SVG-metgezel:
AddImagePairslaat de SVG-bytes naast de raster-fallback op, schrijft desvgBlip-extensie en het extra mediaonderdeel dat Excel 2016+ verbruikt - Grafieken kunnen de tekst van datalabels uit een celbereik halen (“Waarde uit cellen”) via
DataLabelsRange, uitgevoerd als grafiekextensie en hersteld bij het openen - Aangepaste tablestijlen:
Workbook.CustomTableStylesdefinieert benoemde stijlen met gekleurde/vette secties (koptekstrij, totaalrij, strepen, randkolommen), geschreven naartableStylesmet hun eigen differentiële stijlen zodat tabellen ze bij naam kunnen refereren
Versie 2.276.0
Toegevoegd
- Celverloopvullingen: lineaire vullingen per graad en padverlopen met kleuren per stop maken een roundtrip via
gradientFill, renderen als CSS-verlopen in HTML-export, band-geïnterpoleerde vullingen in PDF-export en de werkmapviewer, en worden aangeboden via het gemakTXLSXFills.AddLinearGradient - Getalnotaties voor verstreken tijd (
[h]:mm:ss,[mm]:ss,[s]) renderen nu doorlopende totalen in plaats van rond te draaien als een klok, in elk weergavepad (FormattedText, HTML, PDF, waarden van voorwaardelijke opmaak) - Breukgetalnotaties (
# ?/?,# ??/??, vaste noemers zoals0/8) renderen met de beste rationale benadering van Excel, inclusief het verbergen van nul-gehelen en uitlijningsspatiëring - Kleurhaken in de stijl van
[Red]komen nu naar boven viaTXLSXCell.GetFormattedTextColoren herschilderen de celtekst in PDF-export TXLSXWorkbook.ValidateNumberFormatcontroleert een aangepaste opmaakreeks zoals het dialoogvenster Aangepaste opmaak van Excel dat doet — sectietelling, aanhalingstekenbalans en haakjesinhoud (kleuren, voorwaarden, verstreken eenheden, landinstellingsrichtlijnen)- De status van bevroren deelvensters kan worden uitgelezen via
GetFrozenPanes, en de scrollpositie van het deelvenster rechtsonder maakt een roundtrip viaSetPaneScroll/GetPaneScroll(geschreven alstopLeftCell) - De schakelaar voor het weergeven van rij-/kolomkoppen
DisplayRowColHeadersmaakt een roundtrip viashowRowColHeaders - Grafieken stellen
DispBlanksAs(opening / overspanning / nul) enPlotVisibleOnlybloot in plaats van ze hard te coderen, en herstellen beide uit bewaard ChartML bij het openen - Opmerkingen dragen bewerkbare kadergeometrie (
WidthPt/HeightPt, VML-punten) plus een tekstgestuurdeAutoSizeFromText-heuristiek
Versie 2.275.0
Toegevoegd
- Zoeken en vervangen begrijpt jokertekens van Excel:
*(elke reeks tekens),?(precies één teken) en~als escape voor een letterlijke*,?of~— dezelfde semantiek die Excel zelf toepast in Zoeken en vervangen,COUNTIF-familiecriteria en autofilters - Het XLSX-werkblad
FindTextkrijgt een overload met opties: hoofdlettergevoelig matchen, hele celinhoud matchen, ook formuletekst doorzoeken naast waarden, jokertekenmodus en achterwaarts scannen, met een startanker zodat herhaalde aanroepen door de overeenkomsten lopen ReplaceTextkrijgt dezelfde optieset plus een optionele callback per overeenkomst die elke vervanging cel voor cel kan accepteren, herschrijven, overslaan of afbreken- Het klassieke XLS-werkblad
FindText/ReplaceTextkrijgt overloads voor jokertekens en hele cellen, zodat beide façades de zoeksemantiek van Excel delen GetRangeStatisticsscant een rechthoek en rapporteert minimum, maximum, som, gemiddelde, aantal numerieke waarden en aantal gevulde cellen in één doorgangWriteAutoValueschrijft tekst zoals Excel’s eigen celinvoer die interpreteert:TRUE/FALSEworden booleaanse waarden, foutliteralen zoals#N/Aworden foutwaarden, ondubbelzinnige ISO-datums worden datums, gewone getallen in invariant-formaat worden getallen, en al het andere — inclusief voorloopnullen en duizendtallenscheidingstekens — blijft tekst (beide façades)GetHtmlFromCellrendert één cel als een opgemaakt HTML-fragment met geëscapete markup, als aanvulling op de HTML-export van het hele bladSortRangeaccepteert een hoofdletterongevoelige vlag zodat tekstsleutels alfabetisch ordenen ongeacht hoofdletters (XLSX-façade)
Versie 2.274.0
Toegevoegd
- Excel-tabellen maken nu een roundtrip van tabellen zonder koptekst en opmerkingen per tabel via de nieuwe tabeleigenschappen
HasHeaderRowenComment, geschreven alsheaderRowCount="0"en hetcomment-attribuut - Grafieken kunnen een galerijstijl van Excel selecteren via de nieuwe eigenschap
ChartStyle(1–48 of het uitgebreide bereik 101–148), geroundtript via het stijlelement van het grafiekonderdeel - Combinatiegrafieken kunnen de laagopbouw van het plotgebied sturen via een nieuwe eigenschap
ZOrderop elke plotgroep, zodat een kolomreeks achter of voor een lijnreeks kan renderen - Werkbladen en afzonderlijke cellen kunnen formules bevriezen tot hun berekende waarden via
ConvertFormulasToValuesenConvertFormulaToValue, waarbij het gecachte resultaat behouden blijft terwijl de formule, de koppeling naar gedeelde formules en de array-metadata worden verwijderd - Gedefinieerde namen dragen nu een optionele opmerking via de nieuwe naameigenschap
Comment, geroundtript via het klassieke naam-opmerkingrecord en hetcomment-attribuut van de XLSX-gedefinieerde naam - PDF-export accepteert aangepaste papierafmetingen in punten via de nieuwe eigenschappen
PaperWidthenPaperHeight, waarmee de enum voor papierformaat voor elk gerenderd werkblad wordt overschreven - PDF-export kan de kop- of voettekstband onderdrukken via de nieuwe set
HidePrintObjects - PDF-kop- en voettekstveldcodes
&F(bestandsnaam) en&Z(pad) worden nu uitgebreid met behulp van het bronwerkmappad dat door bestandsgebaseerde exporten wordt vastgelegd - Gegevensbalken ondersteunen een onafhankelijke randkleur voor negatieve waarden via de nieuwe instellingen
NegativeBorderColorenNegativeBarBorderColorSameAsPositive, uitgevoerd in de gegevensbalkextensie van Excel 2010+ - Ingebouwde celstijlen waarvan de identificaties geen legacy-recordplaats hebben (Hyperlink, Title, Headings, Accents, Good/Bad/Neutral, …) lossen nu hun canonieke weergavenamen op bij het opslaan, zodat de stijlgalerij van Excel een roundtrip overleeft
- Agile-versleutelde werkmappen dragen nu een echt
dataIntegrity-blok: de schrijver geeft een spec-conform HMAC over het volledige versleutelde pakket uit, en bij het openen wordt dit geverifieerd, waarmee een verkeerd wachtwoord of een gemanipuleerd pakket wordt gedetecteerd; bestanden van schrijvers zonder het blok openen nog steeds ongewijzigd - Klassieke werkmappen ondersteunen de schrijfreservering “wachtwoord om te wijzigen” van Excel via
SetModifyPassword(aanbevolen alleen-lezen-vlag, legacy-wachtwoordhash en reserverende gebruikersnaam uitgevoerd als het recordpaar WRITEPROT + FILESHARING);IsWriteReservedrapporteert de status en een leeg wachtwoord wist deze - Een opt-in
RecalcLookupCache-memo versnelt opzoekingsintensieve herberekening: herhaaldeXLOOKUP/XMATCH-scans over hetzelfde bereik hergebruiken het resultaat van de eerste scan. De memo wordt alleen ingeschakeld wanneer de afhankelijkheidsgraaf aantoonbaar referentiestabiel is (geenOFFSET/INDIRECTof onoplosbare verwijzingen, geen circulaire ketens, geen What-If-gegevenstabellen) en blijft anders stil uit, zodat resultaten altijd identiek zijn - Een bijbehorende
RecalcAggregateCache-memo versnelt herberekening van voorwaardelijke aggregaten: herhaaldeSUMIF/COUNTIF/AVERAGEIF-scans over hetzelfde bereik en dezelfde criteria hergebruiken het eerste resultaat, onder dezelfde referentiestabiliteitscontrole en met identieke resultaten LAMBDA-expressies evalueren met volledige closures: een gedefinieerde naam waarvan RefersTo eenLAMBDAis, kan bij naam met argumenten worden aangeroepen (=MyFunc(5)), closures binden lexicaal binnenLET(=LET(f, LAMBDA(x, x*2), f(21))), parameters overschaduwen kolomverwijzingen met dezelfde spelling, en de formuletekst maakt een woordelijke roundtrip; een kaleLAMBDAdie als celresultaat wordt opgeslagen, behoudt het gedrag overslaan-zonder-waardeLETheeft nu volledige semantiek: elke binding is zichtbaar voor latere bindingen en voor de body-expressie, inclusief genesteLET-compositie — ter vervanging van de eerdere gedeeltelijke implementatie- Formuletekst accepteert nu de komma als argumentseparator naast de klassieke puntkomma, overeenkomstig de canonieke syntaxis van Excel voor geplakte en geïmporteerde formules
- Gestructureerde verwijzingen in formules worden nu geëvalueerd:
Table[Column],Table[[Column]], kolombereiken en de itemvormen[#Data]/[#All]/[#Headers]/[#Totals]lossen tijdens het parseren op tegen de Excel-tabellen van de werkmap, zodat=SUM(Table1[Amount])berekent terwijl de oorspronkelijke formuletekst nog steeds woordelijk een roundtrip maakt; onoplosbare verwijzingen behouden het eerdere gedrag overslaan-zonder-waarde en de vormen van de huidige rij ([@Column]) blijven niet-ondersteund
Gewijzigd
- Wanneer een werkmap volledige precisie uitschakelt, worden herberekende resultaten nu opgeslagen afgerond op het aantal decimalen dat door de getalnotatie van elke cel wordt getoond, overeenkomstig het gedrag “precisie zoals weergegeven” van Excel voor door HotXLS berekende waarden
- Regels voor voorwaardelijke opmaak die naar XLSX worden geschreven, krijgen nu blad-unieke prioriteiten, waarmee bestanden met dubbele prioriteiten die Excel om reparatie lieten vragen, worden geëlimineerd
- Voorwaardelijke opmaak die via de nieuwe eigenschap
IsPivotals PivotTable-scoped is gemarkeerd, wordt naar de extensiebucket geleid in plaats van naar het hoofdblok voor voorwaardelijke opmaak van het werkblad, waar Excel deze zou weggooien of verkeerd plaatsen
Versie 2.273.0
Gewijzigd
TXLSXWorkbook.PreserveRawPartskopieert nu ongewijzigde werkbladafbeeldingen, kop- en voettekstafbeeldingen en grafiekonderdelen met hun oorspronkelijke gecomprimeerde payloads, terwijl bewerkingen van afbeeldingsgegevens en bewerkingen van het grafiekmodel het serialisatiepad volgen- Een succesvolle bestands-SaveAs accepteert nu het vastgelegde pakket als de volgende basislijn voor ruwe kopieën, waardoor daaropvolgende opslagen nieuw geserialiseerde ondoorzichtige gegevens, VBA, verbindingen, externe koppelingen, afbeeldingen, grafieken, thema’s en draaitabelpayloads kunnen hergebruiken zonder het eerdere bronpakket opnieuw te openen
Opgelost
- Onbekende werkblad- en tekeningrelaties uit pakketten met niet-standaard onderdeelposities worden nu opnieuw gebaseerd tegen hun gegenereerde canonieke eigenaars, inclusief tekening-alleen-pakketten waarvan de enige ankers bewaarde niet-ondersteunde vormen zijn
- Een mislukte kopie van een gecomprimeerd lid draait nu zijn gedeeltelijke lokale header, payload-bytes, items van de bovenliggende map en de telling van het centrale register terug vóór de veilige serialisatie-fallback, waardoor onbereikbare gegevens zich niet in het uitvoerarchief kunnen ophopen
Versie 2.272.0
Gewijzigd
- XLSX-SaveAs opent nu één gevalideerd bronarchief voor de volledige opslagbewerking en kopieert elk ongewijzigd ondoorzichtig onderdeel dat via relaties bereikbaar is met zijn oorspronkelijke gecomprimeerde payload, waarbij herhaalde scans van het centrale register plus decompressie en recompressie worden vermeden, terwijl gewijzigde payloads nog steeds het serialisatiepad volgen
Opgelost
- Onbekende werkmaprelaties uit pakketten waarvan de werkmap een niet-standaard onderdeelnaam gebruikt, worden nu opnieuw gebaseerd tegen de gegenereerde werkmaplocatie, waardoor hun bewaarde doelonderdelen na SaveAs niet onbereikbaar worden
- Geprojecteerde directe reads behouden nu definitie van gedeelde formule-masters buiten de geselecteerde rij- of kolomset, zodat geselecteerde volgercellen nog steeds hun correct vertaalde formules ontvangen zonder niet-geselecteerde waarden of rich text opnieuw op te bouwen
- Het bewerken van een grafiek verwijdert niet langer een niet-gemodelleerde as-getalnotatie louter omdat het opstellen van de getalnotatie van datalabels een element met dezelfde lokale naam gebruikt
Versie 2.271.0
Opgelost
- De klassieke HTML-exporteur schrijft nu UTF-8 en declareert dit met een
<meta charset>plus een HTML5-doctype; voorheen werd de stream in de systeem-ANSI-codepagina geschreven, waardoor elke niet-ASCII-celwaarde werd beschadigd, en de ontbrekende charset-declaratie liet de pagina over aan de grillen van de browser
Versie 2.270.0
Toegevoegd
- Datalabels van grafieken kunnen nu een expliciete getalnotatie en een plaatsing dragen via de nieuwe serie-eigenschappen
LabelNumFmtenLabelPos(met hun*Set-vlaggen), uitgevoerd als<c:numFmt>en<c:dLblPos>in zowel de standaard- als de combinatiegrafiekschrijver — waardoor percentage- of valuta-labeltekst en labelposities zoals buiten-einde of midden mogelijk worden; elke afzonderlijke instelling schakelt ook het labelblok in, en niet-ingestelde reeksen blijven byte-identiek
Versie 2.269.0
Toegevoegd
- Lijn- en spreidingsgrafiekseries kunnen nu een expliciet markersymbool en -grootte dragen via de nieuwe eigenschappen
MarkerSymbol,MarkerSizeenMarkerSet, uitgevoerd als het<c:marker>-blok van de reeks in zowel de standaard- als de combinatiegrafiekschrijver; niet-ingestelde reeksen houden automatische markers - Waarde-assen met weergave-eenheden kunnen nu het eenheidslabel tonen (“Duizenden”, “Miljoenen”, …) via de nieuwe as-eigenschap
ShowDispUnitsLabel
Versie 2.268.0
Toegevoegd
- XLSX-grafiektrendlijnen ondersteunen nu een vast intercept plus voorwaartse en achterwaartse prognoseperioden via de nieuwe eigenschappen
Intercept/InterceptSet,ForwardenBackward, uitgevoerd als<c:intercept>/<c:forward>/<c:backward>; voorheen bood alleen de klassieke BIFF-grafiekbouwer deze besturingselementen, en niet-ingestelde trendlijnen blijven byte-identiek
Versie 2.267.0
Toegevoegd
- Formuleberekening evalueert nu de functies voor complexe getallen
IMCOS,IMSIN,IMTAN,IMSEC,IMCSC,IMCOT,IMLOG2enIMLOG10, waarmee de technischeIM*-familie compleet wordt met trigonometrische, reciproke en logaritmedekking voor grondtal 2/grondtal 10 over complexe tekenreeksoperanden
Versie 2.266.0
Gewijzigd
- De streaming directe lezer past nu kolomprojectie toe voordat celwaarden worden verzameld: wanneer een geprojecteerde kolomset is geconfigureerd, slaan cellen daarbuiten het bouwen van de waarde-, formule- en rich-text-reeks over dat voorheen voor elke cel werd uitgevoerd en aan het einde van de cel werd weggegooid, waardoor reads van brede bladen die slechts enkele kolommen projecteren worden versneld
Versie 2.265.0
Toegevoegd
- Plotgroepen van balk- en kolomgrafieken stellen nu een configureerbare groeperingsmodus bloot (
clustered,stacked,percentStacked), een clustergapbreedte en een serie-overlap via de nieuwe eigenschappenBarGrouping,GapWidthenOverlap; voorheen was elke balk-/kolomgrafiek hard gecodeerd opclusteredzonder gap- of overlapbesturing, en niet-ingestelde groepen blijven byte-identiek terwijl de samenvoeglijst voor bewerken-na-openen de nieuwe elementen als eigendom behandelt
Versie 2.264.0
Opgelost
- PDF-celranden weerspiegelen nu de randstijl en -dikte van het werkblad in plaats van elke rand als een identieke effen lijn van 0.75 pt te tekenen: XLSX-cellen renderen de diktes dun, medium, dik, haar en dubbel en de patronen gestreept, gestippeld, streep-punt, streep-punt-punt en schuin streep-punt, en BIFF-cellen renderen de stijlen dun, medium en gestreept/gestippeld
Versie 2.263.0
Toegevoegd
- PDF-export kan nu documentmetadata insluiten via de nieuwe eigenschappen
DocumentTitle,DocumentAuthor,DocumentSubjectenDocumentKeywords; wanneer er een is ingesteld, draagt de PDF een/Info-woordenboek met die velden plus eenCreator/Producer-identiteit en eenCreationDate, terwijl standaardexporten zonder metadata byte-identiek blijven
Versie 2.262.0
Opgelost
- CSV-export plaatst niet langer te veel aanhalingstekens om velden: een interne spatie dwingt niet langer tot aanhalingstekens, zodat waarden zoals
John Smithzonder aanhalingstekens worden geschreven, overeenkomstig RFC 4180 en Excel; velden met het scheidingsteken, een dubbel aanhalingsteken, een regelafbreking of voorloop- of naloopwitruimte worden nog steeds zoals voorheen tussen aanhalingstekens geplaatst
Versie 2.261.0
Toegevoegd
- Elke grafiekserie kan nu een effen vulkleur dragen via de nieuwe eigenschap
SolidFillHex, uitgevoerd als de vormeigenschappen<c:spPr>van de reeks; het toewijzen van een hex-kleur stempelt de reeks met een merk- of paletkleur in plaats van de automatische themakleur van Excel, terwijl niet-ingestelde reeksen byte-identiek blijven en de samenvoeglijst voor bewerken-na-openenspPrals eigendom behandelt, zodat het vervangt in plaats van dupliceert
Versie 2.260.0
Gewijzigd
- De sparse celopslag-backend laat nu elke buffer van 256-rijblokken geometrisch groeien (verdubbeling) in plaats van bij elke toegevoegde cel opnieuw toe te wijzen, waarmee de kwadratische kopieerkosten bij het laden van dichte werkbladen worden verwijderd
Versie 2.259.0
Opgelost
- De BIFF8-records voor objectbeveiliging (
OBJECTPROTECT) en scenariobeveiliging (SCENARIOPROTECT) van werkbladen worden nu teruggelezen in de bladbeveiligingsstatus, zodat de vergrendelingsvlaggen een roundtrip overleven in plaats van te worden geschreven maar verloren te gaan bij het opnieuw laden - De BIFF8-werkmapglobals-records
MMS,RefreshAllenUseSelFSworden nu door een roundtrip behouden in plaats van stilzwijgend te worden verwijderd
Versie 2.258.0
Toegevoegd
- Geformatteerde weergavetekst herkent nu de kleurrichtlijnen
[Cyan]en[Magenta]en de geïndexeerde paletrichtlijnen[Color1]tot en met[Color8], zodat HTML-achtige opgemaakte uitvoer die kleuren toepast in plaats van ze weg te gooien
Versie 2.257.0
Toegevoegd
- Formuleberekening evalueert nu de technische en wiskundige functies
FACTDOUBLE,SQRTPI,DELTA,GESTEP,SERIESSUMenCONVERT, waarbijCONVERTeenheden van massa, afstand, tijd, druk, kracht, energie, vermogen, magnetisme, temperatuur en volume dekt en niet-overeenkomende eenheidscategorieën afwijst
Versie 2.256.0
Opgelost
- Geformatteerde weergavetekst rendert minuten nu correct in tijdsmaskers zoals
hh:mm,mm:ssen[h]:mm:ss; voorheen werd Delphi’smm(maand) gebruikt, zodat minuutvelden het maandnummer toonden - Landinstellings- en valutarichtlijnen zoals
[$-409]en[$$-1009]worden nu uit opgemaakte uitvoer verwijderd in plaats van te lekken als een letterlijk$-409-voorvoegsel, terwijl een valutateken dat in de richtlijn aanwezig is, wordt behouden
Versie 2.255.0
Toegevoegd
- Het lezen van ZIP-pakketten begrijpt nu ZIP64-archieven, waarbij het extra veld met uitgebreide informatie en het ZIP64-record en de locator voor het einde van het centrale register worden geparseerd, zodat werkmappen waarvan onderdelen of offsets de klassieke limieten van 4 GB / 65535 items overschrijden correct openen in plaats van te falen bij de sanity-check van het einde van het centrale register
Versie 2.254.0
Beveiliging
- De wachtwoordverificatie van versleutelde werkmappen vergelijkt de verificator-hash nu in constante tijd voor zowel Agile- als Standard Encryption, waarmee een timing-zijkanaal wordt gesloten dat zou kunnen onthullen hoeveel voorloopbytes van de wachtwoordhash overeenkomen
- Agile-versleuteling valt niet langer terug op een tijdsgebaseerde pseudowillekeurige generator voor salts, verificators en tussenliggende sleutels wanneer de systeem-CSPRNG niet beschikbaar is; het faalt nu veilig dicht in plaats van voorspelbaar sleutelmateriaal uit te geven
Versie 2.253.0
Toegevoegd
- Formuleberekening evalueert nu de array-vormgevende functies van Excel 365
VSTACK,HSTACK,TOROW,TOCOL,WRAPROWS,WRAPCOLS,TAKE,DROP,CHOOSECOLS,CHOOSEROWS,EXPAND,RANDARRAYenTEXTSPLIT, waarbij hun resultaten via de bestaande dynamische-array-mechaniek worden verspreid - Formuleberekening evalueert nu de moderne tekstfuncties
TEXTBEFOREenTEXTAFTERmet afhandeling van instantienummer, hoofdletterongevoeligheid, match-einde en niet-gevonden - Formuleberekening evalueert nu
RANDBETWEEN,ISEVEN,ISODDen hetFORECAST.LINEAR-alias vanFORECAST
Versie 2.252.0
Toegevoegd
- Gedefinieerde namen dragen een optioneel commentaar, dat via een roundtrip als het BIFF8 NAMECMT-record en het OOXML-
definedName-comment-attribuut behouden blijft - Doelen van hyperlinks naar lokale bestanden worden genormaliseerd (conversie van backslash naar slash,
file://- enfile:///-voorvoegsels, percent-codering van gereserveerde tekens), zodat Excel ze woordelijk opslaat - De vulsoorten van vormen, afbeeldingen en tekstvakken (effen, afbeelding, verloop, geen, automatisch) worden nu getypeerd boven de ruwe vultype-eigenschap en maken getrouw een roundtrip
- Gegevensbalken voor voorwaardelijke opmaak ondersteunen de onafhankelijke randkleuren van negatieve-waardebalken van Excel 2010+
- Draaitabel-cachevelden behouden de koppeling van meerlagige datum- en numerieke groepering bij een roundtrip
- Callbacks van gebruikersfuncties ontvangen een descriptor van het argumenttype, zodat handlers letterlijke waarden, cel- of bereikverwijzingen en arrayconstanten kunnen onderscheiden
- Formulecompilatie accepteert gelokaliseerde functienamen (Duits, Frans, Spaans), die vóór het lexen naar canoniek Engels worden herschreven
- Hulpprogramma’s voor wachtwoorden en versleuteling stellen benoemde retourcode-constanten beschikbaar
Gewijzigd
- Pakket- en XLSX-opslagen doorlopen nu grotere deflate-buffers met een hoger compressiegeheugenniveau en slaan een redundante controlesompass over reeds gecomprimeerde bytes over, waardoor de CPU- en verstreken tijd van het opslaan afneemt
- De interne groei van string-builders, lijsten en hashtabellen gebruikt nu geometrische (verdubbelende) toewijzing samen met een eerder hash-herschaalpunt, waardoor de toewijzingsdrukte en de opzoekkosten dalen wanneer een werkmap veel stijlen, namen, gedefinieerde bereiken of gedeelde tekenreeksen draagt
- Opzoekingen in de tabel met gedeelde tekenreeksen vergelijken nu de opgeslagen bytes rechtstreeks voordat een volledige tekenreeks wordt gematerialiseerd, waardoor de toewijzingen bij opzoekingen in grote tabellen met gedeelde tekenreeksen afnemen
Versie 2.251.0
Opgelost
- XLSX-openen en -opslaan behouden nu vreemde naamruimtedeclaraties van de werkmapwortel, markup-compatibiliteitsattributen, volledige werkmapniveau-
<extLst>-payloads en hun onbekende relaties bij het regenereren van de getypeerde werkmapstatus; behoudenr:id-verwijzingen volgen de hertoewijzing van relatie-ID’s in plaats van verouderd te raken wanneer ze conflicteren met gegenereerde werkblad- of werkmaprelaties
Versie 2.250.0
Gewijzigd
- XLSX-invoeren van schaarse rijen slaan nu alleen hun kolom en stabiele celhandle op, waarmee ongebruikte payload-tags plus redundante classificatie en een tweede rij-indexopzoeking worden geëlimineerd telkens wanneer een celwaarde, formule of rich-text-object verandert
Versie 2.249.0
Toegevoegd
- De overloads
TXLSRTFImport.LoadFromRTFenTXLSWorksheet.OpenRTFkunnen tabellen of paragraaflijsten importeren op een expliciet op één gebaseerd doelrij- en doelkolomnummer, terwijl de oorspronkelijke overloads op A1 blijven starten
Gewijzigd
- XLSX-getypeerde rijschrijvers voegen nu strikt voorwaartse batches rechtstreeks toe aan vooraf vergrote schaarse rijvectoren, en schaarse celopzoeking lost eerste-kolom- en laatste-kolomtreffers op zonder binair zoeken, terwijl overlap-schrijfbewerkingen hun bestaande vervangingspad en stabiele celhandles behouden
Opgelost
- Bestandsondersteund XLSX-kopiëren van ruwe onderdelen en selectief blad laden gebruiken nu een privé-identiteit van het bronarchief met validatie van grootte en tijdstempel, zodat een later openen van de stream of een openbare
FileName-toewijzing behouden onderdelen niet naar een andere werkmap kan omleiden RefreshPivotCacheschakelt ververste caches nu over naar getypeerde serialisatie, zodat opnieuw opgebouwde records tijdens het opslaan niet kunnen worden overschreven door verouderde ruwe pakketbytes- Het kopiëren van ruwe gecomprimeerde ZIP-items vereist nu dat de bronstream exact het gedeclareerde aantal gecomprimeerde bytes bevat, waarbij zowel afgekapte als te lange invoeren vóór registratie in de centrale directory worden afgewezen
- Het hergebruiken van één RTF-importeur reset nu de status van de parser voor codepagina en tekstopmaak tussen documenten, zodat vet, cursief, onderstreping, doorhaling en lettergrootte niet in de volgende import kunnen lekken
MetadataOnly-XLSX-opens vermijden nu gedeelde-tekenreeks-, persoon-, werkbladrelatie-, opmerking-, tekening-, diagram-, tabel-, querytabel-, draaitabel- en vanaf het werkblad bereikbare ondoorzichtige payloads, terwijl werkmapeigenschappen, namen, bladstatussen, stijlen, thema, verbindingen en externe koppelingen behouden blijven
Versie 2.248.0
Gewijzigd
- XLSX SaveAs kopieert nu ongewijzigde
connections.xml-onderdelen ruw uit het bronpakket wanneer het geparseerde verbindingsmodel ongewijzigd is, waarbij de getrouwheid van de bron-XML behouden blijft en onnodige decompressie en recompressie wordt vermeden, terwijl bewerkte verbindingen nog steeds vanuit het getypeerde model worden herschreven
Versie 2.247.0
Gewijzigd
- XLSX SaveAs kopieert nu ongewijzigde externe-koppeling-XML en relatieonderdelen ruw uit het bronpakket wanneer het geparseerde model ongewijzigd is, waarbij onbekende extensie-XML behouden blijft en onnodige decompressie en recompressie wordt vermeden, terwijl bewerkte koppelingen nog steeds vanuit het getypeerde model worden herschreven
Versie 2.246.0
Toegevoegd
- De overloads
TXLSHTMLImport.LoadFromHTMLkunnen importeren op een op één gebaseerd doelrij- en doelkolomnummer, één op nul gebaseerde tabel op het hoogste niveau of alle tabellen selecteren, en getallen parseren met een expliciet decimaalteken zonder de globale formaatinstellingen te wijzigen
Gewijzigd
- XLSX-stijlladen lost nu elke celstijl op via een gedeelde onveranderlijke cellXf-array in plaats van herhaalde constructie van tekenreekssleutels en lineaire kaartzoekopdrachten, waardoor de opentijd van werkmappen met stijlen en tijdelijke toewijzingen afnemen
Opgelost
- Gewijzigde VBA-projectbytes omzeilen nu het kopiëren van behouden ruwe onderdelen, zodat het opslaan van een bewerkte macro-ingeschakelde werkmap de oorspronkelijke
vbaProject.bin-payload niet kan herstellen - Het kopiëren van ruwe ZIP-leden wijst nu compressiemethoden anders dan STORE en DEFLATE af in plaats van een niet-overeenkomende compressiekop uit te voeren, waardoor aanroepers veilige decompressie- en herschrijf-fallbackpaden kunnen gebruiken
- HTML-import negeert nu rij- en celtags buiten tabellen op het hoogste niveau en behoudt het gevestigde alle-tabellen-gedrag van de oorspronkelijke overloads
Versie 2.245.0
Toegevoegd
- Bewerkbare
TXLSWorkbookViewer-cellen met invoer die rekening houdt met beveiligde cellen, formule-invoer en herberekening, rechthoekige bereikselectie, selectie van formuleverwijzingen en begrensde circulaire ongedaan-maak- en opnieuw-uitvoeren-geschiedenis TXLSPivotDesignerbiedt een herbruikbaar niet-visueel veldlijstmodel met rij-, kolom-, filter- en waardezones, deterministische veldverplaatsing, aggregatieselectie, layoutvalidatie en toepassing van resultaten- Klassieke XLS-werkmappen bieden nu
CalculateAndVerify-diagnostiek met gedeelde niet-overeenkomende records die de werkbladidentiteit, op één gebaseerde celcoördinaten, gecachte en vers berekende waarden en de formuletekst bevatten - Klassieke XLS- en XLSX-werkbladen bieden nu getypeerde numerieke, tekenreeks- en variant-rij- en -kolomschrijvers met op één gebaseerde coördinaten, afknippen op de rastergrens, directe schrijfbewerkingen op het celmodel en een geretourneerd schrijfaantal
Gewijzigd
- Het tekenen van de XLSX-viewer behoudt nu schaarse werkbladen door materialisatie van lege cellen tijdens hertekenen en stijlresolutie te vermijden
TXLSXWorksheet.ReplaceTextbezoekt nu opgeslagen cellen rechtstreeks in lineaire tijd zonder de volledige celverzameling te kopiëren en te sorteren
Opgelost
- Klassiek XLS-lezen en -schrijven met RC4 en RC4 CryptoAPI behouden nu elke door
[MS-XLS]vereiste body van platte-tekstrecords, houdenBoundSheet8.lbPlyPosongeversleuteld, verbruiken overeenkomende keystream-posities en activeren de ontcijfering vóór het lezen van het eerste versleutelde record naFILEPASS - SpreadsheetML-serialisatie past de symmetrische
_xHHHH_-codec nu alleen toe op Xstring-velden, terwijl formules en verwijzingssyntax gewone XML-escaping gebruiken, zodat literals in de vorm van tokens hun exacte formulebetekenis behouden
Versie 2.244.0
Toegevoegd
- Multi-formaat klembordimport:
XLSPasteFromClipboardRichgeeft de voorkeur aan het XML-spreadsheet-klembordformaat (dat formules, stijlen en samenvoegingen meedraagt) boven platte Unicode-tekst, metXLSClipboardHasXmlSpreadsheet,XLSGetClipboardXmlSpreadsheetenXLSParseXmlSpreadsheetvoor formaatdetectie, extractie en SpreadsheetML 2003-parsing
Versie 2.243.0
Toegevoegd
- Externe gedefinieerde namen:
TXLSXExternalLinkparseert, slaat en schrijft nu<definedNames>-invoeren (naam + refersTo) uit externe werkmapkoppelingen rond, metAddDefinedName,FindDefinedNameen geïndexeerdeDefinedNames[]-toegang - Verversingsfoutstatus per blad: elke
TXLSXExternalSheetDatadraagt eenRefreshError-vlag die registreert of de laatste verversingspoging is mislukt, geparseerd uit en uitgevoerd naar hetrefreshError-attribuut
Versie 2.242.0
Toegevoegd
TXLSXWorkbook.PreserveRawPartskopieert de gecomprimeerde representatie van ongewijzigde onderdelen (thema, VBA-project, draaitabellen en draaitabel-caches) tijdens SaveAs rechtstreeks uit het bronarchief, waardoor decompressie en recompressie van behouden ondoorzichtige invoeren wordt vermeden
Versie 2.241.0
Toegevoegd
- De eigenschap
TXLSXWorkbook.SelectedSheetsmaakt selectief werkblad laden mogelijk: Open parseert cel-XML alleen voor bladen die in de lijst worden genoemd, terwijl andere bladen hun namen en zichtbaarheidsstatussen met nul cellen behouden. RoepLoadSheet(Index)aan om een overgeslagen blad op verzoek vanuit het oorspronkelijke archief te materialiseren
Versie 2.240.0
Toegevoegd
- De
TXLSXWorkbook.MetadataOnly-openmodus parseert werkmapeigenschappen, gedefinieerde namen, bladnamen en zichtbaarheidsstatussen, stijlen, thema, verbindingen en externe koppelingen, maar slaat alle werkblad-cel-XML en satellietonderdelen over voor snelle ontdekking van eigenschappen en namen uit grote werkmappen
Versie 2.239.0
Toegevoegd
- Compacte celopslag in blokken van 256 rijen met stabiele openbare handles, rijgewijze cachevriendelijke serialisatie en stijlverdichting over alle werkmap-pools vóór elke opslag
- Interval-stijloverlays laten rij-, kolom- en rechthoekopmaak compact blijven zonder lege celobjecten te materialiseren, lossen lui op bij celtoegang, overleven structurele bewerkingen en maken een roundtrip als compacte kolom-, rij- en alleen-stijl-celinvoeren
Gewijzigd
- Normale werkmapopslag streamt nu elke werkbladrij rechtstreeks naar de deflate-stroom van het pakket, zodat het piekgeheugen de grootste enkele rij volgt in plaats van de volledige werkblad-XML
- Gedeelde tekenreeksen en hulp-XML-onderdelen streamen nu één invoer tegelijk door één herbruikbare UTF-8-serialisator, waardoor het piekgeheugen wordt begrensd door de grootste invoer in plaats van het hele onderdeel
Versie 2.238.0
Toegevoegd
TXLSPaginationModelbouwt herbruikbare logische pagina’s voor XLS- en XLSX-bereiken, werkbladen en werkmappen met papiergeometrie, marges, kopteksten, voetteksten, rij- en kolombanden, herhaalde titels, paginavolgorde, rasterlijnenbeleid en plaatsingen van tekeningenTXLSWorkbookViewerbiedt nu afdrukvoorbeeld met gedeeld model, paginanavigatie met toetsenbord en scrollwiel, gecachtePaginationModel-toegang, explicieteRefreshPaginationen EMF-uitvoer van geselecteerde pagina’sTXLSPDFExport.CreatePaginationModelstelt het exacte eigendoms-paginamodel beschikbaar dat door het tellen en renderen van PDF’s wordt gebruikt voor alle zes XLS- en XLSX-invoertypen
Gewijzigd
- PDF-export en paginatelling gebruiken nu één pagineringsengine in plaats van afzonderlijke XLS- en XLSX-paginalussen te onderhouden
- Aanpassen-aan-breedte- en aanpassen-aan-hoogte-schaling lost nu op tegen de werkelijke paginabanden, inclusief handmatige afbrekingen en herhaalde titels, binnen het schaalbereik van 10% tot en met 400% van Excel
Versie 2.237.0
Toegevoegd
TXLSFormulaDebuggercreëert een interactieve sessie in eigendom die de geparseerde expressieboom, bronbereiken, operatoren, operandknooppunten en -waarden, tussenresultaten, deterministische evaluatievolgorde en een navigeerbare huidige-stapstatus bevat- Formule-debugsessies leggen cel- en bereikafhankelijkheden met opgeloste bladcoördinaten bloot, rapporteren geselecteerde en overgeslagen takken voor
IF,IFERROR,IFNA,CHOOSE,IFSenSWITCH, en behouden herstelde innerlijke fouten met hun oorspronkelijke knooppunt
Gewijzigd
- Werkmap- en werkblad-
Calculateretourneren Excel-formulefouten nu als standaardVariant-foutwaarden in plaats van ze naarNullte converteren TXLSFormulaTracerregistreert nu exacte operandstapels vóór en na voor push- en reductiestappen
Versie 2.236.0
Toegevoegd
TXLSXWorksheet.StructuralEditRegistrylaat werkbladmetagegevens in eigendom van de toepassing nu deelnemen aan rij- en kolominvoegingen of -verwijderingen viaIXLSXStructuralEditParticipant
Gewijzigd
- XLSX-structurele bewerkingen voltooien hun verwijzingsgevoelige werk nu in één beveiligde transactie die formules, namen, validaties, voorwaardelijke opmaak, opmerkingen, hyperlinks, tekeningen, tabellen, query’s, scenario’s, gegevenstabellen, afdrukinstellingen, sparklines, draaitabel-caches en -weergaven en werkbladextensies dekt
Opgelost
- Ingevoegde of verwijderde rijen en kolommen werken nu beveiligde bereiken, ankers van thread-opmerkingen, opnieuw geopende VML van klassieke opmerkingen, lokale en bladoverschrijdende sparklineverwijzingen, getypeerde draaitabelbronnen en -ankers, berekende draaitabelformules en herkenbare verwijzingen in behouden werkbladextensie-XML bij
Versie 2.235.0
Toegevoegd
TXLSDirectWritervoegt nu klassieke opmerkingen, verankerde werkbladafbeeldingen, formule-ondersteunde kolom-, balk-, lijn-, vlak-, cirkel-, ring- en spreidingsdiagrammen en volledige door de aanroeper geleverde ChartML toe zonder een volledig werkmapobjectmodel te construeren- Afbeeldingen kunnen als bytes, doorzoekbare streams met optionele eigendomsoverdracht of bestandspaden worden geleverd en kunnen PNG-, JPEG-, GIF-, BMP-, EMF- of WMF-inhoud gebruiken
Gewijzigd
- Rijke directe-schrijveronderdelen gebruiken zijkanaladescriptoren van het huidige blad, kennen werkbladrelatie-id’s toe vóór het blad wordt gesloten en streamen media en gerelateerde XML-onderdelen na de werkblad-XML om het rijgeheugen onafhankelijk van de bladgrootte te houden
Versie 2.234.0
Toegevoegd
TXLSDirectReaderstelt nu opt-in-gebeurtenissen voor dimensie, bladformaat, kolom, rij, vensterdeel en samengevoegd bereik bloot met getypeerde layoutrecords- Kolom- en rijgebeurtenissen rapporteren breedtes of hoogtes, verborgen en samengevouwen status, overzichtsniveaus en bronstijlindexen zonder werkbladcelobjecten te construeren
Gewijzigd
- Toegewezen layout-callbacks gebruiken een metagegevenspass met begrensd geheugen vóór de celaflevering, zodat samengevoegde bereiken en andere layoutfeiten aankomen vóór cellen die ervan afhangen, terwijl gewone alleen-cel-scans het oorspronkelijke éénpasspad behouden
- Parallelle directe leesbewerkingen houden layout-callbacks op de aanroepende thread en voltooien de metagegevens van het geselecteerde blad voordat geordende werkcelwachtrijen worden leeggemaakt
Versie 2.233.0
Toegevoegd
TXLSXChartTextStylebiedt nu getypeerde lettertypenamen, puntgroottes, RGB-kleuren, nadruk en tekstrotatie voor diagramtitels, legenda’s, astitels en aslabelsTXLSXChartLayoutbiedt nu genormaliseerde handmatige positionering van plotgebied, diagramtitel, astitel en legenda met expliciete rand- of factor-modus en innerlijke of uiterlijke plotdoelen- Diagrammen leggen nu getypeerde zichtbaarheid, positie, overlay, tekststijl en layoutbesturing van de legenda bloot, samen met overlay-instellingen van de diagramtitel
Gewijzigd
- Handmatige layouts serialiseren altijd volledige x-, y-, breedte- en hoogtegroepen met Office-compatibele standaardmodi, zodat Excel geen gedeeltelijke of conflicterende coördinaten weggooit
Opgelost
- Het bewerken van getypeerde diagramlettertypen of -layouts behoudt niet-gerelateerde extensielijsten en inhoud van aangepaste naamruimten, terwijl het wissen van een bekende kleur- of nadrukeigenschap de geïmporteerde waarde tijdens structurele samenvoeging niet langer herstelt
Versie 2.232.0
Toegevoegd
TXLSXImagestelt nu op percentage gebaseerde bijsnijdranden, transparantie, helderheid, contrast, rotatie in graden en rek- of tegelvulmodi blootTXLSXImage.HasPreservedXmlrapporteert of geïmporteerde DrawingML beschikbaar is, terwijlClearPreservedXmléén afbeelding laat kiezen voor schone regeneratie van het getypeerde model
Gewijzigd
- Waarden van afbeeldingseffecten gebruiken compacte opslag met vast punt en schrijven native DrawingML-eenheden zonder per-effect-hulpobjecten toe te wijzen
Opgelost
- Het bewerken van een ondersteunde eigenschap op een geïmporteerde afbeelding behoudt nu niet-gerelateerde extensies, markup-compatibiliteitskeuzes, aangepaste attributen, vormeffecten en naamruimtegekwalificeerde inhoud
Versie 2.231.0
Toegevoegd
- Geïmporteerde XLSX-diagrammen behouden nu hun oorspronkelijke ChartML terwijl
TXLSXWorkbook.PreserveUnsupportedPartsis ingeschakeld, waarbij onbekende naamruimten, markup-compatibiliteitsalternatieven, extensielijsten, aangepaste stijlen en niet-gemodelleerde opmaak behouden blijven TXLSXChart.HasPreservedXmlrapporteert of de oorspronkelijke ChartML beschikbaar is, enClearPreservedXmllaat toepassingen één diagram kiezen voor schone regeneratie van het getypeerde model
Gewijzigd
- Het opslaan van een onaangeraakt geïmporteerd diagram speelt zijn oorspronkelijke ChartML af, terwijl bewerkingen aan ondersteunde eigenschappen structureel alleen de gemodelleerde diagramknooppunten overlappen en niet-gerelateerde inhoud op zijn plaats houden
Opgelost
- Het bewerken van een diagramtitel, reeks, as of andere ondersteunde eigenschap gooit niet-gerelateerde door Excel gemaakte extensies, alternatieve inhoud, stijlen of opmaak van het diagramonderdeel niet langer weg
Versie 2.230.0
Toegevoegd
TXLSXChart.AddPlotGroupbouwt nu geordende combinatiediagrammen waarvan de diagramfamilies en reeksen onafhankelijke primaire of secundaire astoewijzingen behouden- Diagrammen leggen nu primaire en secundaire categorie- en waardenassen plus een reeksas bloot, met getypeerde categorie-, waarde-, datum- en reeksasinstellingen, waaronder posities, id’s, kruisingen, datumeenheden, labelintervallen en zichtbaarheid
- Kolom-, balk-, lijn-, cirkel- en vlakdiagrammen hebben nu speciale 3D-diagramtypen met configureerbare rotatie, hoogte, diepte, perspectief, haakse assen en tussenruimtediepte
- Reeksen leggen nu getypeerde tekenreeks- en numerieke caches bloot voor namen, categorieën, waarden en belgrootten, inclusief schaarse puntindexen en numerieke formaatcodes
Gewijzigd
- De compatibiliteit-
ChartType-,AddSeries- en platteSeries-API’s blijven de primaire plotgroep aanspreken, terwijl het diagrammodel elke geordende plotgroep behoudt
Opgelost
- Het openen en opnieuw opslaan van combinatiediagrammen klapt ze niet langer in één diagramfamilie samen en verliest geen secundaire, datum- of reeksassen
- Verwijzingen van diagramformules en gecachte reekswaarden overleven nu werkmapkopieën en open-/opslagcycli zonder te worden afgevlakt of weggegooid
- Diagramankers worden nu op basis van de relatie-id aan hun diagramonderdelen gekoppeld, zodat toepassingen die relatie-invoeren herordenen de diagraminhoud niet langer tussen werkbladposities verwisselen
Versie 2.229.0
Toegevoegd
TXLSXWorksheet.HeaderFooterImagesmaakt, vindt, vervangt en verwijdert nu getypeerde afbeeldingssleuven voor elke linker-, midden- en rechterkoptekst- of voettekstpositie op oneven, even en eerste pagina's- Koptekst- en voettekstafbeeldingen tonen hun ruwe gegevens, formaat, titel, puntafmetingen en puntmarges, met direct laden vanuit PNG-, JPEG-, GIF-, BMP-, EMF- en WMF-bestanden
Gewijzigd
- Afbeeldingen voor even pagina's en de eerste pagina schakelen automatisch de bijbehorende pagina-varianten in en behouden de vereiste afbeeldingsveldcodes wanneer koptekst- of voettekst wordt bewerkt
Opgelost
- Werkbladopmerkingen en koptekst- of voettekstafbeeldingen behouden nu onafhankelijke VML-relaties wanneer ze één werkblad delen
- Door Excel gemaakte koptekst- en voettekst-afbeeldingssleuven behouden nu hun afbeeldingsbytes, formaten, titels, afmetingen, marges en relaties door open- en opslancycli
Versie 2.228.0
Toegevoegd
- Klassieke XLS-werkbladen en vormverzamelingen maken en ontdekken nu getypeerde
TXLSButton- enTXLSRadioButton-besturingselementen naast selectievakjes, combinatievakken en keuzelijsten - Formulierbesturingselementen tonen nu macronamen, gekoppelde cellen, invoerbereiken, selectiestatussen, vlakke of 3D-weergave en keuzegroepekoppelingen via getypeerde eigenschappen
- Gedefinieerde namen tonen
IsMacrozodat macrobindingen de vereiste werkmapnaam-metadata behouden
Opgelost
- Het bewerken en opnieuw opslaan van klassieke formulierbesturingselementen verwijdert niet langer selectiestatussen, macrobindingen, formules van gekoppelde cellen, bronbereiken of ondersteunde keuzegroep-metadata
- Het wissen van een bronbereik van een combinatievak of keuzelijst verwijdert nu de geserialiseerde invoerformule in plaats van het vorige bereik te herstellen bij de volgende open
Versie 2.227.0
Toegevoegd
LINESTenLOGESTretourneren nu complete multivariabele coëfficiënt-arrays en optionele vijfrijige statistiekmatricesTRENDenGROWTHretourneren nu gevormde voorspelling-arrays voor enkelvoudige en multivariabele invoer
Gewijzigd
- Array-rekenkunde, vergelijkingen, samenvoeging, unaire negatie en procentbewerkingen zenden nu scalairen en enkelvoudige rijen of kolommen uit met behoud van per-cel resultaten
- Berekeningsafhankelijkheden breiden nu geneste werkmap- en werkbladnamen, formule-gedefinieerde namen en multi-gebied verwijzingen uit met bereikbewuste cyclusbescherming
Opgelost
- Een fout in één array-element laat niet langer het complete resultaat inklappen en valt niet onterecht terug op scalaire evaluatie
- Formule-gedefinieerde namen waarvan de afhankelijkheden statisch kunnen worden opgelost dwingen niet langer onnodige vluchtige volledige herberekening af
Versie 2.226.0
Toegevoegd
- Bestaande XLSX-pivotcaches en pivottabelweergaven laden nu via pakketrelaties in het getypeerde model, inclusief cacherecords, velden, gedeelde items, groepering, filters, formaten, berekende definities en uitbreidingen
TXLSPivotTable.Makeevalueert nu berekende cachefelden, berekende items en berekende gegevensleden met afhankelijkheidsbewuste naambinding- Uitgebreide
ShowDataAs-modi voegen ouderpercentages, lopende percentages en oplopende of aflopende rang toe met geldige XLSX-uitbreidingsopmaak
Gewijzigd
- Pivot-resultaatgeneratie past nu itemzichtbaarheid, paginaselecties en bijschrift-, datum-, aggregaat- en waardefilters toe voordat gegroepeerde domeinen worden opgebouwd
- Numerieke, datum- en discrete groepen, label- of gegevenswaarde-sortering, geconfigureerde subtotalen en optioneel gerealiseerde totaalkolommen of -rijen nemen nu deel aan resultaatgeneratie
Opgelost
- Pivot-filters gebruiken nu schema-geldige markering van filters op wortelniveau en symbolische filtertypen in plaats van dubbelzinnige numerieke waarden
- Relatiegestuurd laden neemt niet langer aan dat pivotcache-, cacherecord- of pivottabeldeelnamen conventioneel of sequentieel zijn
Versie 2.225.0
Toegevoegd
TXLSXWorkbook.ConnectionsenTXLSXWorksheet.QueryTablesbieden nu getypeerd ontwerpen en bewerken voor metagegevens van externe databases, web, tekst en queryresultaten- Verbindingsparameters behouden hun exacte Boolean-, integer-, drijvende-komma-, tekenreeks- of celverwijzingssoort, inclusief expliciete nul-, false- en lege-tekenreekswaarden
Gewijzigd
- Het openen en opslaan van XLSX lost en schrijft nu verbindings- en querytabel-onderdelen via hun bezittende relaties, synchroniseert resultatentabellen en gedefinieerde namen, en behoudt onbekende attributen, dochterknooppunten en uitbreidingslijsten
- Bewerkingen van rijen en kolommen houden queryresultaatbereiken uitgelijnd, terwijl het kopiëren van werkbladen binnen hetzelfde werkboek en tussen werkboeken het query-eigendom behoudt en verbindingsidentificatoren en conflicterende namen opnieuw toewijst
Opgelost
- Querytabellen kunnen naast standaardtabellen, gecommentarieerde conversaties en draaitabellen bestaan zonder botsingen van relatie-identificatoren van werkblad of werkboek
Versie 2.224.0
Toegevoegd
- Klassieke XLS- en moderne XLSX-werkbladen bieden nu
AddDataTableenDataTablesvoor What-If-gegevenstabellen met één variabele per rij, één variabele per kolom en twee variabelen
Gewijzigd
- Herberekening van de werkmap evalueert elk gegevenstabelresultaat met een geïsoleerde invoercontext, inclusief indirecte formuleafhankelijkheden, en behoudt definities plus gecachte resultaten door openen, opslaan, werkblad kopiëren en structurele rij- of kolombewerkingen
Opgelost
- Verwijderde What-If-invoercellen produceren nu
#REF!-resultaten, en klassieke herberekening van de werkmap bezoekt elk werkblad in plaats van het eerste werkblad over te slaan - Rijen invoegen bovenaan een klassiek werkblad riskeert niet langer een toegangovertreding op Win64
Versie 2.223.0
Gewijzigd
- Annulering van de parallelle directe lezer propagteert nu door actieve ZIP-lidlezingen en elke decompressiestap in plaats van te wachten op de volgende XML-pull
Opgelost
- Het afbreken van een parallelle werkbladscan wacht niet langer op het voltooien van een grote gecomprimeerde XML-lezing voordat geblokkeerde workers worden vrijgegeven
Versie 2.222.0
Toegevoegd
TXLSDirectReader.ParallelBufferMemoryLimitbegrenst de totale raw-cell-wachtrijlading voor parallel scannen van werkbladen, terwijlParallelPeakBufferedBytesde gemeten piek beschikbaar stelt voor diagnostiek en capaciteitstests
Gewijzigd
- Parallelle directe lezingen streamen nu ZIP-vermeldingen van werkbladen naar worker-lokale XML-lezers en begrensde producent-consument-wachtrijen in plaats van volledig uitgepakte werkblad-XML en volledige celbuffers per werkblad te behouden
- Actieve werkbladen ontvangen onafhankelijke wachtrijbudgetten en worden verwerkt in windows ter grootte van een worker, waarbij de callback-volgorde behouden blijft zonder latere werkbladen toe te laten het momenteel uitgezonden werkblad uit te hongeren
Opgelost
- Celafbrekingen, callback-fouten en worker-fouten wekken nu geblokkeerde producenten en consumenten, stoppen XML-pulls coöperatief, voegen alle workers samen en laten de directe lezer herbruikbaar achter
Versie 2.221.0
Gewijzigd
- Het openen van XLSX met meerdere werkbladen streamt nu elke ZIP-vermelding van een werkblad direct naar zijn worker-lokale inflater en XML-lezer in plaats van uitgepakte werkblad-XML te behouden vóór het parseren
- Gelijktijdige werkbladlezers serialiseren alleen korte gepositioneerde lezingen uit de pakketbron, zodat decompressie en XML-parsing parallel blijven terwijl de overgangswerkblad-invoer geheugen begrensd is door het aantal actieve workers
Versie 2.220.0
Toegevoegd
- De resultaatgeneratie van de draaitabel voert nu alle negen klassieke
ShowDataAs-modi uit, waaronder verschil, percentage van een basiselement, procentueel verschil, lopend totaal, percentage van rij, percentage van kolom, percentage van het totaal en indexberekeningen xlPivotBaseItemPreviousenxlPivotBaseItemNextbieden getypeerde selectors voor aangrenzende basiselementen in vergelijkingsberekeningen
Gewijzigd
- Draaitabelpercentages en indexwaarden gebruiken rij-, kolom- en groototalen die direct uit de bronrecords worden geaggregeerd, waarbij de juiste semantiek voor Average, Product, Count, variantie en standaarddeviatie behouden blijft zonder de bron opnieuw te scannen
- Lopende totalen volgen de draaitabelitemvolgorde, worden onafhankelijk gereset voor elke peergroep en behouden opslag van verspreide resultaten voor draaitabellen met hoge cardinaliteit
Opgelost
- BIFF8-
SXDI-records gebruiken nu de standaard vaste opmaak van 14 bytes en behoudenShowDataAs, basisveld, basiselement, getalnotatie en weergavenaam via getypeerde leesbewerkingen, terwijl verouderde HotXLS-records leesbaar blijven - XLSX-gegevensvelden schrijven nu draaitabelveldindexen, wijzen vorige en volgende selectors toe aan de vereiste OOXML-waarden en zenden basiskenmerken alleen uit voor modi die ze gebruiken
- Ontbrekende vergelijkingscellen blijven leeg, terwijl aanwezige nuldelenaars
#DIV/0!retourneren in plaats van te worden verward met ontbrekende gegevens
Versie 2.219.0
Opgelost
VDBpast nu variabele afschrijving op afnemende saldo's toe over fractionele perioden, schakelt over naar lineaire afschrijving wanneer voordelig en eertno_switch- Nulfactoren, restwaardegrenzen, fractionele startperioden en ongeldige periodebereiken volgen nu Excel-compatibele resultaten in plaats van perioden af te ronden en een versimpelde benadering van afschrijving op afnemend saldo te retourneren
Versie 2.218.0
Toegevoegd
TXLSXWorksheet.Scenariosbiedt nu getypeerd samenstellen van de What-If Scenario Manager met benoemde scenario's, actieve en getoonde indexen, veranderlijke-celbereiken, gebruikers- en opmerkingmetagegevens, vergrendelde en verborgen statussen, en eigendomswaarden van invoercellen- Scenariodefinities volgen nu werkbladkopieën en structurele bewerkingen van rij of kolom, terwijl Excel-compatibiliteitsgrenzen worden gevalideerd voordat ongeldige metagegevens kunnen worden geschreven
Opgelost
- Het openen en opslaan van door Excel gemaakte scenario's behoudt nu hoofdkenmerken en geneste invoercellen in plaats van de hiërarchie plat te slaan tot verliesrijk ruwe XML
- Scenario-, AutoFilter-, gegevensconsolidatie-, samengevoegde-cel en fonetische werkbladelementen gebruiken nu de schema-volgorde zodat strenge spreadsheetverbruikers geen reparatiepas nodig hebben
Versie 2.217.0
Toegevoegd
TXLSXWorksheet.IgnoredErrorsbiedt nu getypeerd samenstellen voor elke standaardcategorie van genegeerde fouten met verwijzingen naar meerdere gebieden, ondersteuning voor het kopiëren van werkbladen, updates bij structurele bewerkingen en heen-en-weer round-trips bij openen/opslaanTXLSXWorkbookexposeert nu de referentiemodus, herberekenen bij opslaan, volledige precisie, gelijktijdige berekening en handmatige gelijktijdigheidsinstellingen naast de bestaande berekeningsopties
Opgelost
- Elke niet-standaard werkmapberekeningsinstelling produceert nu onafhankelijk en rond-trijpt een volgens schema geordend
calcPr-element, inclusief iteratielimieten die zijn geconfigureerd voordat iteratie is ingeschakeld - Berekeningsmodi, referentiemodi, iteratiegrenzen, berekeningsidentificatoren en aantallen handmatige gelijktijdigheid wijzen nu ongeldige waarden af of normaliseren deze in plaats van dubbelzinnige werkmapstatus te schrijven
Versie 2.216.0
Gewijzigd
XMATCHenXLOOKUPvoeren nu logarithmische oplopende of aflopende binaire zoekacties uit wanneer gevraagd, inclusief Excel-compatibele duplicaat- en benaderingsovereenkomstgrenzenXIRRhonoreert nu zijn schatting met een beveiligde solver die hoge en schattingsgevoelige nulpunten kan vinden, terwijlXNPVgecompenseerde sommatie en gevalideerde datum- en rente-invoer gebruikt- De XLSX-defined-name lookup met hoge kardinaliteit gebruikt nu een luie scope-bewuste hash-index met behoud van geserialiseerde volgorde, lokale-naamvoorrang en first-match-gedrag
- Behouden XLSX-pakketonderdelen wijzen nu hun opgegeven ongecomprimeerde grootte eenmaal toe met behoud van volledige lengte- en CRC-verificatie
Opgelost
- Ongeldige lookup-modi, binaire zoekacties met jokertekens, tweedimensionale lookup-bereiken en niet-overeenkomende
XLOOKUP-retourvectoren rapporteren nu formulefouten in plaats van dubbelzinnige resultaten te produceren XIRRenXNPVwijzen nu ongeldige kasstroomtekens, rentes, schattingen en datums af, kappen fractionele datumserienummers af en rapporteren non-convergentie in plaats van een ongeverifieerd middenpunt te retourneren
Versie 2.215.0
Toegevoegd
FREQUENCYretourneert nu een verticale array met één resultaat per interval plus de overflow-emmer
Gewijzigd
SORTgebruikt nu een stabiele schaalbare ordening voor rijen of kolommen, waarbij de bronvolgorde van gelijke sleutels behouden blijftUNIQUEgebruikt nu stabiele hash-geïndexeerde matching voor rijen of kolommen, inclusiefexactly_once-resultaten en hoofdletterongevoelige tekstPERCENTRANK.INC,PERCENTRANK.EXCenMODE.MULTschalen nu efficiënt op input met hoge kardinaliteit in plaats van te leunen op kwadratische zoekacties
Opgelost
- De optie
by_colvanSORTenUNIQUEwerkt nu op kolommen in plaats van terug te vallen op rij-gedrag
Versie 2.214.0
Toegevoegd
- Het openen van XLSX accepteert nu streaming UTF-16 little-endian en big-endian XML-onderdelen met een byte-volgorde-markering of de vereiste endianness-specifieke declaratie, inclusief tekens buiten het Basic Multilingual Plane
Gewijzigd
- Het vernieuwen van pivottabel-caches met een hoge kardinaliteit gebruikt nu deterministische hash-indexen voor gedeelde waarden en wijst de recordmatrix eenmaal toe, waarbij de volgorde van eerst-geziene items behouden blijft terwijl herhaalde lineaire zoekacties en rij-voor-rij-groei worden vermeden
- Geprojecteerde directe leesacties verwerpen cellen buiten de geselecteerde rijen en kolommen voordat ruwe waarden, formules en opgemaakte tekst naar per-bladbuffers worden gekopieerd
Opgelost
- Misvormde XML met dubbele byte-volgorde-markeringen, niet-ondersteunde of tegenstrijdige coderingsdeclaraties, UTF-32-handtekeningen, oneven UTF-16-bytelengten of ongeldige surrogaatparen wordt nu geweigerd
- Parallelle directe-lees workers initialiseren nu alle taakstatus voordat ze worden gestart, nemen geen nieuwe bladtaken meer aan na een fout, brengen deterministisch de taakfout met de laagste index opnieuw naar boven en ruimen elke gemaakte worker op als de pool-constructie mislukt
Versie 2.213.0
Toegevoegd
T.TESTevalueert nu onafhankelijke steekproeven met zowel samengevoegde gelijke variantie als Welch ongelijke variantie, naast gepaarde steekproeven, inclusief eenzijdige en tweezijdige waarschijnlijkheden
Gewijzigd
- Het openen van XLSX volgt nu werkmap-, werkblad- en tekening-relatiedoelen voor werkbladen, gedeelde tekenreeksen, stijlen, thema's, macro’s, externe koppelingen, opmerkingen, opmerkingen in threadvorm, VML, tekeningen, afbeeldingen, grafieken, tabellen en pivottabellen, inclusief geldige pakketten die hernoemde of niet-aaneengesloten onderdeelpaden gebruiken
Opgelost
- Misvormde pakketten met dubbele relatie-identificaties staan niet langer toe dat een latere niet-ondersteunde relatie het eerste bruikbare doel vervangt tijdens herstel voor compatibiliteit
Versie 2.212.0
Gewijzigd
- Formule-afhankelijkheidsregistratie schaalt nu beter op grote werkbladen door cel- en bereikafhankelijkheden te indexeren vóór herbouw en het ongeldig verklaren van vuile cellen
- Grote statistische en regressieformules evalueren nu elke numerieke waarde in de opgegeven bereiken in plaats van te stoppen bij de vorige buffer met vaste grootte
Opgelost
- XLSX-cellen buiten het werkblraster worden consistent geweigerd, zodat ongeldige coördinaten niet langer als alias voor geldige cellen kunnen fungeren
- Het bewerken van formules zet de berekeningsmodus van de werkmap, iteratielimieten, vlaggen voor volledige berekening of andere berekeningsinstellingen niet langer terug
- Blob-lijst-leesacties valideren nu expliciet de gevraagde bereiken en staan geldige lege segmenten aan het einde van de stroom toe
Beveiliging
- Klassieke XLS-versleuteling dekt nu pivotcache-stromen samen met de werkbladgegevens
- Misvormde SST-extensiestaarten en ZIP-centrale-map-records worden geweigerd voordat een te grote toewijzing, afgebroken leesacties of in opmerkingen ingebedde valse map-records het laden kunnen beïnvloeden
Versie 2.211.0
Toegevoegd
TXLSPivotTable.Makematerialiseert nu elk geconfigureerd gegevensveld met zijn eigen aggregatie en breidt de waarden uit op rijen of kolommen volgensDataFieldAxisIsRow
Gewijzigd
- De pivot-resultaatgeneratie hergebruikt hash-geïndexeerde rij- en kolomsleuteldomeinen over alle gegevensvelden, kiest dichte of ijle accumulator-opslag op basis van de resultaatvorm, behoudt de cache-itemvolgorde boven de negen sleutels en zendt leesbare gecombineerde labels uit voor assen met meerdere velden
Opgelost
Countomvat nu niet-lege tekst-, Booleaanse-, fout-, datum- en numerieke cachewaarden, terwijlCountNumsalleen numerieke en datumwaarden omvat,Productnul retourneert voor kruispunten zonder numerieke waarden, lege cellen niet langer als vermeldingen worden meegeteld en pivots met alleen waarden hun totalen kunnen materialiseren zonder rij- of kolomvelden
Versie 2.210.0
Toegevoegd
TXLSWorkbookViewerrendert nu XLSX-voorwaardelijke vullingen, letterkleur en -nadruk, getalnotaties, directionele positieve en negatieve gegevensbalken, verlopen, randen, assen, verborgen waarden en alle ingebouwde pictogrammenset-familiesTXLSWorkbookViewer.RefreshConditionalFormatsbouwt de voorbereide aggregaat- en drempelstatus opnieuw op nadat aanroepers een gekoppelde XLSX-werkmap op hun plaats hebben gewijzigd
Gewijzigd
- De viewer cachet één voorbereide voorwaardelijke-opmaak-evaluator per actief werkblad, hergebruikt deze bij scrollen, selecteren en opnieuw tekenen en geeft deze vrij wanneer de werkmap of het werkblad verandert
Opgelost
- Gegevensbalk-assen aan de uiterst rechtse rand worden nu binnen de eigenaar-cel geknipt in plaats van in de aangrenzende cel te worden getekend
Versie 2.209.0
Toegevoegd
- XLSX-werkbladen stellen nu een voorbereide voorwaardelijke-opmaak-evaluator beschikbaar die regelprioriteit,
StopIfTrue, relatieve formules, differentiële stijlen, Top/Bottom-rangschikking, boven/onder-gemiddelde tests, dubbele en unieke waarden, relatieve datumperiodes, twee- en driekleuren-schalen, gegevensbalken en pictogrammensetten voor elke cel oplost
Gewijzigd
- HTML- en PDF-export renderen nu overeenkomende voorwaardelijke vullingen, letternadruk en -kleur, getalnotaties, kleurschalen, directionele positieve en negatieve gegevensbalken, expliciete assen, pictogrammenfamilie-glyphen, verborgen waarden en themakleuren met tint-resolutie
- Grote domeinen voor voorwaardelijke opmaak hergebruiken nu gecompileerde relatieve formules zonder per-cel syntaxisboomtoewijzing, streamen gemiddelde, deviatie, minimum- en maximumstatistieken, behouden geordende waarden alleen voor rangschikkings- of percentielregels, sorteren Unicode-dubbele sleutels in batches en gebruiken rijband-kandidaatindexen om het scannen van niet-gerelateerde regels te vermijden
Opgelost
- Klassieke voorwaardelijke regels laden nu expressietypen correct en evalueren omgekeerd tussen grenzen, hoofdletterongevoelige tekstpredikaten, lege cellen en foutpredikaten consistent
Versie 2.208.0
Gewijzigd
- De verpakte cel-opslag-engine schrijft nu native getagde tekenreeks-, Booleaanse-, fout- en lege payloads, itereert cellen in rij-major-volgorde en run-length-codeert opeenvolgende cellen van gelijk type voor lager geheugengebruik en snellere sequentiële uitvoer
- Klassieke werkmap-gedeelde tekenreeksen houden de tekensbytes nu in één toewijzing en maken gedecodeerde tekenreekswaarden lui aan, wat de toewijzings overhead voor grote unieke-tekenreekstabellen vermindert
Toegevoegd
- Pivottabellen kunnen nu een volledige resultaatmatrix berekenen uit cacherecords met rij- en kolomsleutelgroepering en alle 11 ondersteunde aggregatiefuncties
- Klassieke werkmap-grafieken stellen nu getypeerde reeksen, as-, legende- en grafiekgroepinformatie beschikbaar voor conversie- en inspectieworkflows
Versie 2.207.0
Toegevoegd
TXLSPivotCache.RefreshFromSourcebouwt een draaitabelcache uit een bronwerkbladbereik: het leest de koprij om de velden te benoemen, distilleert de afzonderlijke waarden van elke gegevensrij tot het gedeelde-itemdomein per veld, stelt het veldtype vast op basis van de eerste niet-lege waarde en registreert de gedeelde-itemindex voor elk (record, veld) — zodat een draaitabel programmatisch uit een gegevensbereik kan worden gemaakt in plaats van te vertrouwen oprefreshOnLoadvan Excel. Een op callbacks gebaseerde waardelezer houdt de draaitabeleenheid vrij van een directe werkbladafhankelijkheid
Versie 2.206.0
Toegevoegd
- Nieuwe
TlxCellMMU(eenheidlxCellMMU) implementeert een compacte, rij-major celopslagengine met run-length-codering van runs met gelijk type en lege runs, en een getagd-byte typecode die tevens fungeert als selector van de gegevensbreedte — zodat een kolom met kleine gehele getallen één byte per cel kost in plaats van acht. De engine codeert getallen in de kleinste breedte die de waarde behoudt (int8 / int16 / int32 / 2-decimaal / 4-decimaal geschaalde gehele getallen / IEEE double), slaat tekenreeksindex-, boolean-, fout- en lege cellen compact op en stelt eenGetValue/SetNumber/SetString-API plus een voorwaartse iterator beschikbaar. Dit is de volgende-generatie-backend achter een featureflag voor de bestaandeTXLSXCells-API, gericht op een 10–25× reductie van de werkset op dichte bladen
Versie 2.205.0
Toegevoegd
TXLSCustomChart.GetChartInfodecodeert nu een semantische samenvatting uit de onbewerkte BIFF-diagramrecordstroom — de diagramtypefamilie (bar, line, pie, area, scatter, radar, doughnut, surface, bubble), het aantal reeksen en de aanwezigheid van een legenda — zodat het type van een BIFF-diagram programmatisch kan worden opgevraagd en een BIGH-naar-XLSX-diagramconversie de juiste doel familie kan kiezen. De byte-doorvoeropslag die heen-en-terug-lezen-getrouwheid garandeert, is ongewijzigd
Versie 2.204.0
Gewijzigd
- De klassieke
.xls-tabel met gedeelde tekenreeksen schrijft nu alleen-ASCII-tekenreeksen in de gecomprimeerde Latin-1-codering ([MS-XLS] §2.5.294fHighByte=0, één byte per teken) in plaats van altijd UTF-16 te gebruiken, waardoor de SST-grootte — en daarmee het.xls-bestand — voor ASCII-rijke werkmappen ruwweg wordt gehalveerd
Versie 2.203.0
Toegevoegd
- Nieuwe
TlxCompoundFileleest en schrijft het Compound File Binary (OLE2)-containerformaat rechtstreeks in puur Pascal, zonder afhankelijkheid vanole32.dll/ COMIStorage— wat de deur opent naar in-memory en platformonafhankelijke.xls-verwerking. De lezer bestrijkt de v3-lay-out die HotXLS in het wild tegenkomt (header + DIFAT in de header + FAT-ketenloop + MiniFAT en de mini-stream voor streams onder 4096 bytes + de mapstructuur); de schrijver genereert een minimaal maar geldig v3-container, voldoende voor de uitvoer van HotXLS
Versie 2.202.0
Toegevoegd
- De sorteertoestand van de autofilter heeft nu een getypeerd model (
TXLSXSortStatemetTXLSXSortCondition-kinderen) dat sorteer-op waarde / celkleur / lettertypekleur / pictogram, sorteerwijze (none / stroke / pinYin), hoofdlettergevoeligheid, kolomsortering en aangepaste lijsten per conditie bestrijkt — zodat toepassingen sorteertoestanden programmatisch kunnen bouwen in plaats van onbewerkte XML te bewerken, terwijl de verouderde ondoorzichtigeSortStateXml-doorvoer nog steeds wint voor bestanden die HotXLS niet heeft gemaakt - Dynamische filters worden nu gelezen en geschreven als een getypeerd
TXLSXDynamicFilterType(boven/onder gemiddelde en std-dev, vandaag/gisteren/morgen, deze/vorige/volgende week, maand, kwartaal en jaar, jaar-tot-datum, Q1–Q4, M1–M12) met optioneleval/maxVal-grenzen — het openen van een werkmap die een dynamisch filter gebruikt, laat dit niet langer vallen bij opslaan
Versie 2.201.0
Toegevoegd
- Oppervlakte- en 3D-oppervlaktediagrammen (
xlsxChartSurface/xlsxChartSurface3D) zijn nu eersteklas diagramtypen — geschreven, gelezen en heen en terug gelezen zoals de andere diagramfamilies - De API voor het maken van automatische vormen bestrijkt een praktische subset van de OOXML-lijst met vooraf ingestelde geometrie — driehoeken, ruiten, parallellogrammen, zeshoeken, achthoeken, pijlen, chevrons, callouts, stroomdiagramknooppunten, sterren, harten, zon, maan, haakjes en accolades — die elk worden toegewezen aan het correcte
prst-token en de[MS-ODRAW]-vorm-id, zodat gemaakte vormen correct in Excel worden weergegeven (de volledige lijst met 187 voorinstellingen werd al behouden bij het heen en terug lezen via onbewerkte-anker-doorvoer)
Versie 2.200.0
Opgelost
- Het openen van een werkmap waarvan de autofilter een kleurenfilter of een pictogramfilter gebruikt, laat dat filter niet langer vallen bij opslaan —
colorFiltereniconFilterworden nu in getypeerde kolommen gelezen (TXLSXAutoFilterColumn.SetColorFilter/SetIconFilter) en woordelijk opnieuw uitgezonden, in plaats van verloren te gaan als niet-herkende filterkolom-kinderen
Versie 2.199.0
Toegevoegd
TCondFormatRule.Evaluatebeantwoordt of een regel voor voorwaardelijke opmaak van toepassing is op een bepaalde cel, waaronder celwaarde-vergelijkingen, formule-expressies, tekst bevat/begin/einde, lege en foutregels — de basis voor het opvragen welke cellen een regel momenteel markeert en voor het renderen van CF-resultaten buiten Excel
Gewijzigd
FACTen de interne faculteitshelpers gebruiken nu een vooraf berekende 0!..170!-tabel in plaats van bij elke aanroep een O(n)-product opnieuw te berekenen, waardoorFACT, multinomiale coëfficiënten en de Poisson/Binomial/chi-kwadraat-verdelingspaden worden versneld
Versie 2.198.0
Gewijzigd
- Het opslaan van een werkblad groepeert cellen nu in rijen met een enkele count-then-fill pass in plaats van de index van elke rij te vergroten met een realloc-per-cel, wat een verborgen O(cellen × cellen-per-rij) kopie op grote bladen elimineert
- De formule-afhankelijkheidsgrafiek indexeert nu de referentiebereiken op (blad, rij), zodat het zaaien van een vuile cel binair zoekt in de kandidaatband in plaats van elke formule op elke gewijzigde cel te scannen — hoe groter de werkmap en hoe meer bladen deze heeft, hoe groter de versnelling bij herberekening
- Rij-major, kolom-gesorteerde celtraversatie wordt nu beschikbaar gesteld als
TXLSXWorksheet.BuildRowMajorCellOrder, zodat opslaan, klembord, autofilter en andere op rijen geordende verbruikers één traversatie delen in plaats van deze opnieuw af te leiden
Versie 2.197.0
Opgelost
- Radar-, koers- en taart-in-taart/balk-in-taart-diagrammen gaan niet langer verloren wanneer een
.xlsx-werkmap die ze bevat wordt geopend en opnieuw opgeslagen — de diagramlezer herkent nu de containerelementenc:radarChart,c:stockChartenc:ofPieChartdie hij al schrijft, waardoor symmetrische lees-/schrijfdekking wordt hersteld SUBTOTALmet functiecodes 101–111 sluit nu waarden op verborgen rijen uit, enAGGREGATErespecteert nu zijn optiecodes voor verborgen rijen negeren (2, 3, 6, 7), overeenkomstig Excel in plaats van de varianten met verborgen opnemen en verborgen negeren identiek te behandelen- Het aanroepen van een ingebouwde functie met vast aantal argumenten met meer argumenten dan gedeclareerd (bijvoorbeeld
=SIN(1,2)) geeft nu centraal#VALUE!in plaats van door de dispatcher te worden geaccepteerd
Versie 2.196.0
Opgelost
- Het invoegen of verwijderen van rijen en kolommen partitioneert nu celwaarde- en expressie-voorwaardelijke opmaak plus gegevensvalidaties wanneer bewerkte doelgebieden verschillende relatieve formuleankers vereisen, terwijl regelinstellingen behouden blijven, unieke prioriteiten voor voorwaardelijke opmaak worden toegewezen en geaggregeerde domeinen van voorwaardelijke opmaak intact blijven
Versie 2.195.2
Gewijzigd
- PDF-export maakt nu een subset van het ingesloten TrueType-lettertype via de Windows-
fontsub.dll-APICreateFontPackage, waarbij alleen de glyphs worden bewaard die het document daadwerkelijk heeft gerenderd in plaats van het volledige.ttfin te sluiten — doorgaans krimpt de PDF 8–20× voor Unicode-rijke bladen; er wordt teruggevallen op volledige insluiting wanneer subsetting niet beschikbaar is
Versie 2.195.1
Opgelost
- Het invoegen of verwijderen van rijen en kolommen op de klassieke
.xls-engine herschrijft nu elke getroffen formuleverwijzing (celformules en gedefinieerde namen) zodat deze overeenkomt met de semantiek van Excel — verwijzingen onder een invoeging verschuiven, verwijzingen volledig binnen een verwijdering worden#REF!en gedeeltelijk overlappende gebieden krimpen — in plaats van verouderde coördinaten achter te laten
Versie 2.195.0
Gewijzigd
- Het verwijderen van tabelkolommen zet nu elk getroffen gestructureerde-verwijzing-token om naar
#REF!in werkbladformules, tabelformules, gedefinieerde namen en diagramreeksen, terwijl niet-gerelateerde verwijzingen en tekenreeksliteralen behouden blijven
Opgelost
- Het verwijderen van een volledige tabel laat niet langer gekwalificeerde gestructureerde verwijzingen achter die naar een tabel wijzen die niet meer bestaat
- Gekloonde gegevensvalidaties behouden nu hun IME-invoermodus
Versie 2.194.0
Gewijzigd
- Rij- en kolombewerkingen houden nu de kolomidentificatoren, namen, berekende formules, totaalformules, filterkolommen, filterbereiken en sorteercondities van Excel-tabellen afgestemd op de bewerkte tabel
Opgelost
- Formules voor voorwaardelijke opmaak en gegevensvalidatie herbaseren nu relatieve en gemengde verwijzingen wanneer verwijdering hun eerste doelgebied verwijdert
- Sorteertoestanden van werkbladen en tabellen schrijven nu geldige kenmerken en negeren condities waarvan de bereiken zijn verwijderd
Versie 2.193.0
Gewijzigd
- Rij- en kolombewerkingen werken nu complexe en bereikoverschrijdende formules van gedefinieerde namen, gegevensbereiken van bellendiagrammen en op formules gebaseerde visuele drempels van voorwaardelijke opmaak bij
- Bellendiagrammen en spreidingsdiagrammen herstellen nu hun X-as-, Y-as- en belgrootte-reeksenbereiken wanneer ze opnieuw worden geopend
Opgelost
- Doelen met meerdere gebieden voor voorwaardelijke opmaak en gegevensvalidatie verschuiven nu elk overlevend gebied onafhankelijk in plaats van de volledige doellijst ongewijzigd te laten
- Ankers van tekstvakken en WordArt verplaatsen of vergroten nu mee met ingevoegde en verwijderde rijen en kolommen
Versie 2.192.0
Toegevoegd
- Streaming-direct-leesbewerkingen en rij-cursortraversatie kunnen nu kiezen voor gestructureerde rijke tekenreeksen met volledige runopmaak, fonetische runs en fonetische eigenschappen, terwijl begrensde gedeelde-tekenreeksenopslag behouden blijft
TXLSDirectWriter.WriteRichStringschrijft opgemaakte en fonetische tekst als inline of ontdubbelde gedeelde tekenreeksen
Gewijzigd
- Ontdubbeling van rijke gedeelde tekenreeksen onderscheidt nu runopmaak en fonetische metadata, terwijl gewone tekenreeks-interning op het bestaande snelle pad blijft
Opgelost
- Fonetische tekst in inline tekenreeksen wordt niet langer opgenomen in de weergegeven celwaarde
Versie 2.191.0
Toegevoegd
TXLSXRange.SetDynamicArrayFormulamaakt nu native dynamische-array-formules met de volledige Excel-XLDAPR-metadataketen
Gewijzigd
- Dynamische-array-roots delen nu één ontdubbeld werkmapmetadata-record en blad- of bereikkopieën tussen werkmappen wijzen dat record opnieuw toe in de bestemmingswerkmap
- Ondersteunde dynamische-array-metadata blijft beschikbaar wanneer het behoud van niet-ondersteunde pakketonderdelen is uitgeschakeld, terwijl niet-gerelateerde waardemetadata nog steeds wordt verwijderd
Opgelost
- Dynamische-array-spill-cellen worden niet langer gemodelleerd als verouderde CSE-volgers, en het vervangen of wissen van de root laat niet langer verouderde metadata-indexen achter
- Het verwijderen van de laatste dynamische-array-root verwijdert nu het ongebruikte metadata-onderdeel, de werkmaprelatie en de contenttype-invoer
Versie 2.190.0
Gewijzigd
- Streaming-direct-leesbewerkingen en rij-cursortraversatie breiden volgers van gedeelde formules nu uit tot volledige celrelatieve formules, terwijl projectie en begrensd geheugengedrag behouden blijven
Opgelost
- Dynamische-array-werkmappen behouden nu cel- en waardemetadata-indexen, kenmerken voor formuleherberekening, metadata-pakketrelaties en ongewijzigde voorvoegsels van toekomstige functies tijdens openen- en opslaan-cycli
- Het uitschakelen van het behoud van niet-ondersteunde onderdelen laat niet langer zwevende werkbladmetadata-indexen achter nadat het metadata-onderdeel is verwijderd
Versie 2.189.0
Toegevoegd
- Het openen van XLSX-werkmappen breidt volgers van gedeelde formules nu uit tot volledige formules per cel met correcte relatieve, absolute, gemengde, bereik- en bladgekwalificeerde verwijzingen
Opgelost
- Zelfsluitende volgers van gedeelde formules leggen geen latere waarde- of formule-XML meer vast, en hun gecachte resultaten overleven openen- en opslaan-cycli
- CSE-arrayformules behouden nu hun anker- en volgerrelaties bij bewerkingen van de rij- of kolomstructuur, kopieën van volledige bereiken, werkbladduplicatie en bladkopieën tussen werkmappen
- Het toewijzen van een normale formule of het wissen van een cel verwijdert nu verouderde CSE-arraylidmaatschappen, zodat de berekening niet naar een oud arrayanker kan worden omgeleid
- Het kopiëren van slechts een deel van een CSE-array maakt niet langer zwevende volgerverwijzingen in de bestemming
- Bereikkopieën maken nu een momentopname van overlappende bronnen en verschuiven relatieve formuleverwijzingen, waardoor wordt voorkomen dat broncellen of arrayankers worden overschreven voordat ze zijn gekopieerd
- Rij- of kolombewerkingen die slechts een deel van een CSE-array snijden, worden afgewezen in plaats van de array stilzwijgend te vergroten of los te koppelen
Versie 2.188.0
Toegevoegd
TXLSDirectReader.SharedStringMemoryLimitbegrenst het geheugen van gedecodeerde gedeelde tekenreeksen en migreert grotere tabellen automatisch naar geïndexeerde tijdelijke opslag die bij sluiten wordt verwijderd, met een cache voor waarden van vaste grootteTXLSRowCursor.SharedStringMemoryLimitstelt dezelfde begrensde opslagbesturing voor gedeelde tekenreeksen beschikbaar voor alleen-voorwaartse rijtraversatie
Gewijzigd
- Directe gedeelde-tekenreeksen-parsing behoudt nu waarden met alleen witruimte, CDATA, XML-entiteiten, niet-BMP-tekens, lege items en de runvolgorde van rijke tekst, terwijl fonetische gidstekst wordt uitgesloten van de weergegeven waarde
Opgelost
- Het openen van XLSX-werkmappen behoudt nu elk gedeelde-tekenreeksenitem in documentvolgorde, waardoor latere celindexen niet worden samengevouwen door dubbele tekst of anders opgemaakte rijke tekenreeksen
- Het opslaan van XLSX-werkmappen ontdubbelt rijke tekenreeksen nu op basis van run-grenzen en opmaakeigenschappen in plaats van alleen zichtbare tekst, waardoor afzonderlijke opmaak behouden blijft voor cellen met dezelfde weergegeven waarde
Versie 2.187.0
Toegevoegd
TXLSDirectReader.FirstRowenLastRowbeperken streaming-leesbewerkingen tot een op 1 gebaseerd rijbereik en stoppen het werkbladparsen na het aangevraagde bereikTXLSDirectReader.IncludeColumnenClearColumnProjectionbieden kolomprojectie in constante tijd die niet-geselecteerde cellen overslaat vóór het decoderen van waarden en het verzenden van callbacks
Versie 2.186.0
Toegevoegd
TXLSDirectWriter.UseSharedStringskan herhaalde tekst ontdubbelen tot een OOXML-gedeelde-tekenreeksenonderdeel met nauwkeurige totalen en unieke tellingen, waardoor de pakketgrootte voor herhalingszware gegevens wordt verkleindTSimpleDomReaderbiedt een compacte XML-boom in één passage voor willekeurige toegangsquery’s op werkmapmetagegevens en pakketonderdelen, met hoofdlettergevoelige QName- en local-name-opzoeking
Gewijzigd
- Direct XLSX-lezen gebruikt nu hash-ondersteunde exacte elementdispatcher, het oogsten van kenmerken in één passage en opzoeking van de kolom van de huidige rij in constante tijd, terwijl het streaminggeheugengedrag behouden blijft
- De generatie van gedeelde-tekenreeksen-XML gebruikt nu een buffer met lineaire groei om herhaalde kopieën van hele tekenreeksen op grote tabellen met afzonderlijke tekenreeksen te voorkomen
Opgelost
- CSV-formule-export voegt geen tweede gelijkheidsteken meer toe wanneer de formuletekst er al een bevat
- XLSX-PDF-export kapt celtekst niet langer af op basis van een schatting van het aantal tekens vóór de lay-out
- Naam-hashes van de XML-lezer volgen nu verwerkingsinstructies, kenmerken en bewegingen terug naar de bijbehorende elementen zonder verouderde elementstatus bloot te leggen
Versie 2.185.1
Opgelost
- Het invoegen of verwijderen van rijen en kolommen past nu lokale en bladoverschrijdende formuleverwijzingen exact één keer aan, terwijl functienamen en tekstliteralen behouden blijven
Versie 2.185.0
Toegevoegd
TXLSPDFExportbiedt nu op 1 gebaseerdeFirstPage- enLastPage-uitvoerselectie, een volledig logischPageCounten zesCalculatePageCount-overloads voor klassieke en XLSX-bereiken, werkbladen en werkmappen zonder PDF-paginaobjecten te construerenTXLSXWorkbook.SaveWorkbookAsHTMLpubliceert zichtbare werkbladen in één navigeerbaar HTML-document met stabiele ankers per blad, geëscapete titels en bladnamen en een optie om verborgen of zeer verborgen bladen op te nemenTDataToXLS.BeforeRecordkan records overslaan vóór de rij-uitvoer enBeforeValuekan veldwaarden transformeren of onderdrukken met context van dataset, detailniveau, bronveld en exportkolomTXLSWorkbookViewerstelt opmerkingen en hyperlinks van de geselecteerde cel beschikbaar, activeert een door de toepassing bestuurde hyperlinkgebeurtenis, tekent opmerkingindicatoren en XLSX-lettertypen, vullingen en uitlijning, en normaliseert selectie en weergave over samengevoegde bereiken heen
Gewijzigd
- Het ConversionWorkbench-voorbeeld kan nu PDF-uitvoer produceren en publiceert alle zichtbare XLSX-werkbladen voor HTML-doelen, terwijl het WorkbookViewer-voorbeeld navigatie door samengevoegde cellen, opmerkingen en hyperlinkactivering demonstreert
Versie 2.184.0
Toegevoegd
- Klassieke XLS- en XLSX-bereiken kunnen Unicode-tabeltekst en opgemaakte HTML naar het Windows-klembord kopiëren via
CopyToClipboard, waarbij formules, samengevoegde cellen, koppelingen, weergaveopmaak en veilig geciteerde ingesloten tabs, regeleinden en aanhalingstekens behouden blijven TXLSXWorkbookbehoudt nu aangepaste pakketonderdelen die bereikbaar zijn via onbekende pakketroot-, werkmap-, werkblad- of tekeningrelaties, waaronder de afhandeling van botsingen in relatie-ID’s, contenttypes, onderliggende relaties, compressiekeuze en exacte payload-bytes;PreserveUnsupportedParts,UnsupportedPartCount,UnsupportedPartBytesenClearUnsupportedPartsstellen controle en diagnostiek beschikbaar- Klassieke XLS-opslagen stellen begin-, werk- en eindcallbacks met annulering beschikbaar via
OnProgressEx, terwijlIXLSWorkbookProgressgestructureerde diagnostiek biedt met stabiele codes, ernst, bewerking, bladcontext, native retourwaarden en uitzonderingsdetails TXLSXWorkbookstelt nu dezelfde gestructureerdeDiagnostics-,LastDiagnostic- enOnDiagnostic-oppervlakken beschikbaar voor opslaan, openen, herberekening, annulering en het rapporteren van uitzonderingen- Geparseerde VBA-modules ondersteunen nu het bewerken van
SourceCodeen het terugschrijven van de bijgewerkte gecomprimeerde modulestroom via klassieke XLS-opslagen, zelfstandige VBA-opslag en macro-ingeschakelde OOXML-opslagen, terwijl stroomvoorvoegsels en onaangeroerde projectinhoud behouden blijven - Klassieke werkbladen en vormverzamelingen stellen nu getypeerde formulierbesturingen
TXLSCheckBox,TXLSComboBoxenTXLSListBoxbeschikbaar met aanmaakhelpers, labels, inspectie van het besturingstype, celankers, verwijdering en openen/opslaan-detectie TXLSXRange.ApplyFormatPatchkan selectief lettertype-, vul-, rand-, getalnotatie-, uitlijnings- en beveiligingscomponenten kopiëren met tegelpatroon van de bron, terwijl bestemmingswaarden en niet-geselecteerde opmaak behouden blijvenTDataToXLSkan gekoppelde master-detail-datasets recursief exporteren viaReadDetailTablesenIndentDetailTables, waarbij actieve gegevenskoppelingen behouden blijven, elke detailtabel onder het masterrecord wordt toegevoegd en veld-, titel- en opmaakopties op elk niveau worden overgeërfdTXLSXWorksheet.AddWordArtmaakt celverankerde DrawingML-tekst met vooraf ingestelde vervorming plus configureerbare tekst- en omtrekkleuren, en het pad voor het behoud van de onbewerkte tekeninganker houdt de volledige WordArt-vorm intact bij latere openen/opslaan-cycliTXLSWorkbookViewervoegt een VCL-werkbladviewer toe voor klassieke en moderne werkmapobjecten met het laden van XLS-, XLSX-, XLSM-, sjabloon- en ODS-bestanden, opgemaakte celtekst, klassieke stijlen, rij- en kolomafmetingen, kopteksten, weergave van rasterlijnen en selecties, schuifbalken, muisselectie, toetsenbordnavigatie, celpositionering, het wisselen van werkbladen en selectie- of werkbladgebeurtenissen- Nieuwe Delphi-voorbeelden
FeatureShowcaseenWorkbookViewerdemonstreren opgemaakte PDF-afdrukken, afdruktitels, handmatige paginaeinden, klassieke formulierbesturingen, selectieve opmaakpatches, WordArt, diagnostiek, het tijdens runtime maken van viewers, het laden van bestanden, celnavigatie, het wisselen van werkbladen en viewergebeurtenissen, met bijpassende Engelstalige handleidingen en ontwikkelaarsreferentie-onderwerpen
Gewijzigd
- De PDF-export van klassieke XLS- en moderne XLSX-werkmappen, werkbladen en bereiken schrijft nu elk zichtbaar werkblad in één document, slaat verborgen en diagrambladen over, rendert effen vullingen, lettertypekleuren, lettertypegroottes, vet- en cursiefaccenten, horizontale en verticale uitlijning, expliciete celranden en optionele werkbladrasterlijnen, volgt het afdrukgebied van elk werkblad, papierformaat, oriëntatie, marges, zoom, de instelling voor op breedte passend, kolombreedten, werkelijke rijhoogten, handmatige paginaeinden voor rijen en kolommen, herhaalde titelrijen en -kolommen en driedelige kop- en voetteksten met pagina-, totaalpaginanummer-, bladnaam-, datum- en tijdvelden, pagineert brede en hoge bereiken over beide assen, genereert landinstelling-onafhankelijke PDF-numerieke syntaxis en sluit een geschikt TrueType-lettertype plus een ToUnicode-kaart in voor tekst buiten WinAnsi
- Uitgebreide XLSX-voortgangscallbacks ontvangen nu betrouwbare begin-, werk- en eindstatussen voor opslaan, openen en herberekening, terwijl de verouderde callback alleen werk blijft en elke bewerking de eerdere annuleringsstatus reset
- Klassieke XLS-serialisatie propageert nu werkblad-, diagram-, stijlextensie-, VBA-, besturingsstroom-, opslag- en uitvoercommit-fouten in plaats van succes te rapporteren, en bestandsopslagen faseren het volledige samengestelde bestand voordat de bestemming atomair wordt vervangen
- XLSX- en ODS-bestandsopslagen bouwen nu een volledig zustertijdelijk pakket en vervangen de bestemming alleen atomair na succesvolle finalisatie, zodat bestaande bestanden ongewijzigd blijven na annulering of een fout
Versie 2.183.0
Toegevoegd
TXLSDirectWriterondersteunt nu herbruikbare celstijlhandvatten op pakketniveau en stijlklonen zonder werkbladrijen te bufferen; dezelfde stijlindex kan op elk aantal cellen worden toegepast of over werkbladen heen worden hergebruikt- Directe celstijlen bieden 30 opmaakmogelijkheden, waaronder lettertypenaam, grootte, BGR-kleur, vet, cursief, doorgehaald, omtrek, schaduw, vijf onderstrepingsmodi, 19 vulpatronen met voor- en achtergrondkleuren, vijf onafhankelijk gekleurde randen met 14 lijnstijlen en diagonale richtingen, ingebouwde of aangepaste getalnotaties, horizontale en verticale uitlijning, teruglopen, passend maken, inspringing, tekstrotatie, aanhalingstekenvoorvoegsels en vergrendelde/verborgen beveiliging
- Gestylde overloads zijn beschikbaar voor tekenreeksen, getallen, booleans, datums, formules, fouten en elk type gecachet formuleresultaat, zodat exporteurs met hoge volumes tijdens sequentiële schrijfbewerkingen een vooraf opgebouwde stijl kunnen selecteren op basis van de integer-index
Gewijzigd
- De directe schrijver ontdubbelt gelijke lettertype-, vul-, rand- en getalnotatiecomponenten bij het bouwen van
styles.xml, terwijl de stabiele celstijlindexen die al in werkbladstromen zijn geschreven, behouden blijven - Gegenereerde directe-schrijver-stijltabellen bevatten nu de standaard standaardvullingen
noneengray125vóór aangepaste vullingen voor strengere OOXML-compatibiliteit
Versie 2.182.0
Toegevoegd
TXLSDirectWriterschrijft nu voorwaardelijke opmaak terwijl het rij-aantal-onafhankelijke geheugenprofiel behouden blijft, met acht celwaarde-operatoren, expressieregels, tekstregels voor bevat/bevat-niet/begin-met/eindigt-op, regels voor bovenste of onderste waarde en percentage, regels voor boven of onder het gemiddelde, dubbele en unieke waarden, lege en niet-lege cellen, fout- en niet-foutcellen, gegevensbalken, twee- en driekleurenschalen en alle 17 basisfamilies van iconensets- Directe regels voor voorwaardelijke opmaak ondersteunen expliciete prioriteiten, stop-als-waar-evaluatie, opties voor gemiddelde standaardafwijking en gelijkheid, vervanging van pictogramdrempels, weergave met alleen pictogrammen en omgekeerde weergave, zichtbaarheid van gegevensbalkwaarden, BGR-kleuren en differentiële vul-, lettertypekleur-, vet- en cursieve stijlen
Gewijzigd
- De directe schrijver ontdubbelt equivalente differentiële stijlen over werkbladen heen en slaat alleen regels en stijlen voor voorwaardelijke opmaak op, zodat het geheugengebruik schaalt met het aantal regels in plaats van met het aantal werkbladrijen
- Automatische minimum- en maximumdrempelsoorten van gegevensbalken worden genormaliseerd naar de standaard
min- enmax-tokens in het basis-OOXML-element voor brede compatibiliteit met spreadsheets
Versie 2.181.0
Toegevoegd
TXLSDirectWriterschrijft nu werkblad- en werkmapbeveiliging zonder werkbladgegevens te bufferen, waaronder 15 fijnmazige werkbladmachtigingen, verouderde wachtwoordverificatoren, moderne hash-metagegevens, bewerkbare beveiligde bereiken met optionele wachtwoorden of beveiligingsbeschrijvingen, vergrendelingen van de werkmapstructuur en het venster, toewijzing van de onbewerkte verificator en het wissen van de beveiliging
Opgelost
- Niet-ondersteunde tekeningankers behouden nu elk afsluitend element wanneer ze voor heen-en-terug-leesuitvoer worden gereconstrueerd, zodat tekeningen met alleen vormen goed gevormd blijven na openen en opslaan
- De machtigingen voor XLSX-werkbladbeveiliging volgen nu de OOXML-definitie van de vergrendelingsvlag, zodat toegestane acties
0schrijven, verboden acties1schrijven en weggelaten kenmerken opnieuw worden geopend met hun schema-standaardwaarden - Verouderde XLSX-werkblad-, beveiligd-bereik- en werkmapwachtwoorden gebruiken nu het Excel-compatibele 16-bits verificatoralgoritme met ANSI-conversie en de 15-byte-limiet
Versie 2.180.0
Toegevoegd
- Het XLSX-werkbladmodel leest de elementen van de What-If-scenariobeheerder (
<scenarios>) en Gegevensconsolidatie (<dataConsolidate>) nu heen en terug. Nieuwe onbewerkte-XML-eigenschappenScenariosXmlenConsolidateXmlopTXLSXWorksheetdragen de innerlijke inhoud woordelijk — de schrijver genereert de omhullende elementen, de lezer parseert de scenario-/gegevensconsolidatie-kinderen terug. Financiële-modelleringsbestanden die scenario’s of consolidatiedefinities definiëren, verliezen deze niet langer bij het heen en terug lezen
Versie 2.179.0
Toegevoegd
- Een nieuwe hulpfunctie
XlsxBuildNumFmtbouwt OOXML-getalnotatiecodes op uit semantische eigenschappen —Decimals,Thousands(scheidingsteken),NegativeRed(rode negatieven),CurrencySymbolenPercent. Bellers hoeven niet langer opmaakreeksen zoals"$#,##0.00;[Red]-$#,##0.00"handmatig te schrijven — de generator produceert ze uit eenvoudige parameters. Ontworpen voor gebruik metCell.NumberFormatofWorkbook.NumberFormats.Add
Versie 2.178.0
Toegevoegd
- Het XLSX-werkbladmodel leest de VBA-codenaam nu heen en terug (
<sheetPr codeName="..."/>), essentieel voor VBA-interoperabiliteit waarbij het VBA-project werkbladen per codenaam verwijst. Nieuwe eigenschapCodeNameopTXLSXWorksheet - Opmerkingen ondersteunen nu een zichtbaarheidsschakelaar
AlwaysShowopTXLSXComment— wanneer True is de opmerkballon altijd zichtbaar (de per-opmerking-schakelaar 'Opmerking weergeven/verbergen' van Excel), niet alleen bij zweven met de muis - Gegevensvalidatie leest nu het IME-moduskenmerk (
imeMode) opTXLSXDataValidationheen en terug. De enum met 11 waarden stuurt het gedrag van de CJK-invoermethode bij het invoeren in een cel (noControl / off / on / hiragana / fullKatakana / enz.). Essentieel voor bestanden voor de Japanse/Koreaanse/Chinese landinstelling - Het werkbladmodel krijgt een eigenschap
PaneStatevoor het pane-state-kenmerk op<pane>, naast de bestaande afhandeling van de bevroren-modus — het ondersteunt de toestandenfrozenSplit(bevroren-daarna-schuifbaar) ensplit
Versie 2.177.0
Toegevoegd
- Drie eerder geregistreerde maar niet-geïmplementeerde werkbladfuncties hebben nu een volledige dispatch:
DOLLAR(tekst met valuta-opmaak),FIXED(tekst met vast aantal decimalen en optionele onderdrukking van de komma) enAREAS(aantal gebieden in een verwijzing). Voorheen waren deze geregistreerd inInitFuncHashmaar hadden ze geen case in de rekenengine — het evalueren van=DOLLAR(...)gaf stilzwijgend verkeerde resultaten - Het XLSX-werkbladmodel leest de zoomschalen per weergavetype (
zoomScaleNormal/zoomScalePageLayoutView/zoomScaleSheetLayoutView), de rasterlijnkleur (sheetView color) en de weergavevlaggen van de bladweergave (showFormulas/showZeros) nu heen en terug. Nieuwe eigenschappen opTXLSXWorksheet:ZoomNormal,ZoomPageLayout,ZoomSheetLayout,GridColor,ShowFormulas,ShowZeros - De samenvattingsrichting van overzichten wordt nu heen en terug gelezen. Nieuwe eigenschappen
SummaryBelow,SummaryRightenShowOutlineSymbolsopTXLSXWorksheetbepalen of samenvattingsrijen/-kolommen onder/rechts van de details verschijnen en of overzichtssymbolen zichtbaar zijn. De schrijver genereert<outlinePr>binnen<sheetPr>; de lezer parseert dit terug - De calcPr van de werkmap draagt nu de kenmerken
forceFullCalcencalcCompleted, naast het bestaande drietalcalcId/fullCalcOnLoad/calcMode/iterate
Versie 2.176.0
Toegevoegd
- De XLSX-formule-engine lost nu gestructureerde tabelverwijzingen op vóór de compilatie. Een nieuwe methode
ResolveStructuredRefsopTXLSXWorkbookscant formuletekst opTableName[ColumnSpec]-patronen en vervangt deze door concrete A1-bereikverwijzingen met behulp van deTXLSXTable-verzameling van de werkmap. Ondersteunde specificaties omvatten het kolomgegevensbereik (Sales[Qty]), de kolom van de huidige rij (Sales[@Total]), volledige gegevens (Sales[#Data]/Sales[#All]), kopteksten (Sales[#Headers]) en de totaalrij (Sales[#Totals]). De resolutie wordt automatisch uitgevoerd binnenGetCompiledFormula— bestaande formules worden niet beïnvloed omdat niet-tabel-identificatoren woordelijk worden behouden. Voorheen zorgden gestructureerde verwijzingen ervoor dat de formulecompilatie faalde
Versie 2.175.0
Toegevoegd
- De formule-engine ondersteunt nu compilatie van formules in R1C1-verwijzingsstijl. Een nieuwe methode
GetCompiledFormulaR1C1opTXLSCalculator(enGetCompiledR1C1opTXLSFormula) accepteert een formule in R1C1-notatie (R2C3voor absoluut,R[-1]C[2]voor relatief,RCvoor de huidige cel) en compileert deze door eerst om te zetten naar A1-notatie met behulp van de rij/kolom van de formulecel. Een zelfstandige functieR1C1ToA1voert de conversie uit — deze detecteert zelfstandigeR/C-markeringen (die geen deel uitmaken van een functienaam zoals ROUND), parseert de optionele offsets tussen haakjes en produceert de equivalente A1-verwijzing. Tekenreeksliteralen en identificatoren worden overgeslagen. Voorheen konden alleen formules in A1-stijl worden gecompileerd
Versie 2.174.0
Toegevoegd
- De AutoFilter-uitvoer van
TXLSDirectWriterondersteunt nu werkblad- en tabelfilterkolommen, waardefilters, lege filters, datumgroepsfilters, aangepaste vergelijkingsfilters, dynamische filters, top/bottom-filters, vlaggen voor filterknoppen, sorteertoestanden, sorteercondities, XML-escaping en het onderdrukken van dubbele werkblad-/tabelfilterbereiken tijdens het streamen van XLSX-bestanden
Versie 2.173.0
Toegevoegd
- De tabeluitvoer van
TXLSDirectWriterondersteunt nu tabelopmerkingen, totalen van het aantal rijen, labels voor totaalrijen per kolom, functies voor totaalrijen per kolom, formules voor berekende kolommen, formules voor totaalrijen en XML-escaping voor tabelkolom-metagegevens tijdens het streamen van XLSX-bestanden
Versie 2.172.0
Toegevoegd
TXLSDirectWriterschrijft nu Excel-tabelonderdelen tijdens het streamen van XLSX-bestanden, waaronder werkblad-tabelrelaties, contenttypes van tabelonderdelen, tabelbereiken, kolomnamen, vlaggen voor koprij en totaalrij en weergavevlaggen van ingebouwde tabellestijlen, zonder een volledig werkmapobjectmodel op te bouwen
Versie 2.171.0
Toegevoegd
TXLSDirectWriterschrijft nu werkblad-gegevensvalidaties tijdens het streamen van XLSX-bestanden, waaronder lijst-, geheel-getal-, decimaal-, datum-, tijd-, tekstlengte-, aangepaste-formule- en willekeurigesqref-validaties, plus vlaggen voor prompt, foutmelding, leeg-laten, dropdown en invoer-/foutmelding, zonder een volledig werkmapobjectmodel op te bouwen
Versie 2.170.0
Toegevoegd
TXLSDirectWriterschrijft nu werkmap- en bladlokale gedefinieerde namen tijdens het streamen van XLSX-bestanden, waaronder verborgen namen, opmerkingen, gegenereerde absolute bereiken, afdrukgebieden, afdruktitelrijen, afdruktitelkolommen, gecombineerde afdruktitels, geciteerde bladnaamverwijzingen, XML-escaping en vervangingssemantiek voor herhaalde afdruktitel-setter, zonder een volledig werkmapobjectmodel op te bouwen
Versie 2.169.0
Toegevoegd
TXLSDirectWriterschrijft nu werkblad-hyperlinks tijdens het streamen van XLSX-bestanden, waaronder externe URL-, mailto- en bestandsrelaties, interne bladlocaties, weergavetekst, tooltips, hyperlinkbereiken van één of meerdere cellen, normalisatie van kalewww.-URL's, XML-escaping en percent-gecodeerde relatiedoelen, zonder een volledig werkmapobjectmodel op te bouwen
Versie 2.168.0
Toegevoegd
TXLSDirectWriterschrijft nu afdruk- en werkbladweergave-metagegevens tijdens het streamen van XLSX-bestanden, waaronder weergaveschakelaars voor rasterlijnen en rij-/kolomkoppen, paginamarges, oneven kop-/voetteksttekst, afgedrukte rasterlijnen en koppen, paginacentrering, papierformaat en liggende oriëntatie, passend-op-pagina-afmetingen en handmatige paginaeinden voor rijen of kolommen, zonder een volledig werkmapobjectmodel op te bouwen
Versie 2.167.0
Toegevoegd
TXLSDirectWriterschrijft nu lay-outmetagegevens van werkbladen tijdens het streamen van XLSX-bestanden, waaronder standaard kolom- en rijgrootten, aangepaste kolombreedten, verborgen rijen en kolommen, samengevoegde bereiken, AutoFilter-bereiken, bevroren deelvensters, tabbladkleuren en van rechts naar links werkbladweergaven, zonder een volledig werkmapobjectmodel op te bouwen
Versie 2.166.0
Toegevoegd
- Streaming-XLSX-workflows omvatten nu het weergeven van bladnamen zonder werkbladscans, op naam gebaseerde selectie van bladen met een rij-cursor, streaming van onbewerkte numerieke datums, herbruik van de directe schrijver, schrijven van foutcellen en schrijvers van gecachte formuleresultaten voor numerieke, tekenreeks-, Booleaanse, datum- en foutwaarden
Versie 2.165.0
Opgelost
TXLSDirectReader.ReadStreamherstelt nu de streampositie van de aanroeper na direct scannen, overeenkomstig het gedocumenteerde streamcontract, en stelt toepassingen in staat dezelfde stream na een directe leespassage opnieuw te gebruiken
Versie 2.164.0
Toegevoegd
TDataToXLS-datasetexports ondersteunen nu tekenreeksenlijstenIncludeFieldsenExcludeFields. Toepassingen kunnen geëxporteerde velden op een whitelist plaatsen, gevoelige kolommen weglaten en koppen, gegevensrijen, kolombreedten en exportcallbacks afgestemd houden op de geselecteerde veldset
Versie 2.163.0
Toegevoegd
- CSV-export krijgt configureerbare tekst-citering in zowel de XLS- als de XLSX-engine.
TXLSWorkbookstelt nuCSVEmitFormulasenCSVQuoteAllStringsbeschikbaar, enTXLSXWorkbookvoegtCSVQuoteAllStringstoe. Wanneer ingeschakeld, schrijft de formule-export formuletekst en worden tekenreeksvelden geciteerd, terwijl numerieke, datum-, Booleaanse, Null- en Empty-velden de normale citeringsregels behouden
Versie 2.162.0
Toegevoegd
- De XLSX-engine krijgt een afbreekbaar voortgangsgebeurtenissysteem. Een nieuwe
OnProgressEx-callback opTXLSXWorkbookwordt samen met de bestaandeOnProgressgeactiveerd met drie verbeteringen: (1) een parameterTXLSXProgressState(ppsBegin/ppsWork/ppsEnd) die elke fase afbakent, zodat UIs weten wanneer een bewerking begint en eindigt; (2) een var-parameterAbort: Booleanwaarmee de callback de huidige bewerking halverwege kan annuleren — de lees-/schrijf-/rekenlussen controlerenWorkbook.Aborteden breken netjes af; (3) een nieuwe fasexlsxProgressExportingvoor exportbewerkingen (HTML/RTF/CSV/ODS). Een helpermethodeFireProgresscentraliseert de verzending van de dubbele callback. De vlagFAbortedwordt aan het begin van elke top-level-bewerking (Open / SaveAs / Recalculate) gereset
Versie 2.161.0
Toegevoegd
- Het XLSX-grafiekmodel ondersteunt nu vier nieuwe grafiekelementen voor een sterkere Excel-compatibiliteit. Gegevenstabel van de grafiek (
c:dTable):TXLSXChartkrijgt schakelaarsShowDataTable+ShowDataTableKeys— wanneer ingeschakeld genereert de schrijver het gegevenstabel-element binnen het plotgebied, zodat Excel de brondata als een raster onder de grafiekas weergeeft. Omhoog/omlaag-balken + hoog-laag-lijnen (stock/OHLC-grafiekelementen):TXLSXChartkrijgtHasUpDownBars+UpDownGapWidthenHasHiLowLines— de schrijver genereertc:upDownBarsenc:hiLowLinesbinnen het grafiekelement (lijn-/stockgrafieken). 3D-weergavebesturing:TXLSXChartkrijgtRotation3DX/Rotation3DY/Elevation3D/Perspective3D/RightAngleAxes3D— de schrijver genereertc:view3Dop grafiekniveau wanneer een 3D-eigenschap van de standaard afwijkt. Eerder werd geen van deze elementen gegenereerd, zodat grafieken die met gegevenstabellen, stockgrafiekelementen of 3D-weergaven waren gebouwd ze bij het heen en terug lezen verloren
Versie 2.160.0
Toegevoegd
- Formuleverwijzingen worden nu automatisch aangepast wanneer in de XLSX-engine rijen of kolommen worden ingevoegd of verwijderd. De methode
ShiftSheetGeometry— aangeroepen doorInsertRows/DeleteRows/InsertCols/DeleteCols— doorloopt nu elke overlevende formulecel en herschrijft de A1-verwijzingen om de structurele wijziging te weerspiegelen. Een nieuwe tekstscannerXlsxAdjustFormulaRowColRefsdetecteert verwijzingen naar één cel (A1,$B$2) en bereikverwijzingen (A1:B3), verschuift hun rij-/kolomcomponenten voorbij het invoegpunt en converteert verwijderde verwijzingen naar#REF!. Zowel relatieve als absolute verwijzingen worden verschoven (overeenkomstig het gedrag van Excel). Eerder bleven formules na een structurele bewerking stilzwijgend naar de verkeerde cellen wijzen
Versie 2.159.0
Toegevoegd
- De sorteertoestand van Autofilter wordt nu via de XLSX-engine heen en terug gelezen.
TXLSXWorksheetkrijgt een eigenschapSortStateXmldie de onbewerkte inner-XML van het OOXML-<sortState>-element draagt (sorteerrichting van kolommen, hoofdlettergevoeligheid, sorteerwijze en elke<sortCondition>met zijn aflopende vlag + ref). De schrijver genereert het element na<autoFilter>; de lezer parseert de attributen en sorteercondities terug. Eerder werd de sorteertoestand bij het lezen stilzwijgend verwijderd en nooit geschreven - CJK-fonetische/ruby-instellingen worden nu via de XLSX-engine heen en terug gelezen.
TXLSXWorksheetkrijgtPhoneticFontId,PhoneticType(hiragana / katakana / fullWidthKatakana / noConversion) enPhoneticAlignment(left / center / distributed). De schrijver genereert<phoneticPr>na<sheetData>; de lezer parseert de attributen terug. Eerder werd het fonetische element bij het lezen stilzwijgend verwijderd — bestanden voor de Japanse markt verloren hun furigana-leeshulpinstellingen
Versie 2.158.0
Toegevoegd
- De XLSX-engine leest nu de tabel met benoemde celstijlen (
<cellStyles>) heen en terug. Een nieuwe klasseTXLSXNamedStyle+ verzamelingTXLSXNamedStylesopTXLSXWorkbookdraagt het volledige oppervlak:Name,XfId,BuiltInId,CustomBuiltIn,Hidden,BuiltinLevel. De schrijver genereert één<cellStyle>per item wanneer de verzameling niet leeg is; de lezer parseert ze terug. Eerder hardcodeerde de schrijver één"Normal"-item en gooide de lezer alle benoemde stijlen weg, zodat bestanden met 'Good'/'Bad'/'Total'/aangepast benoemde stijlen die namen bij het heen en terug lezen verloren
Versie 2.157.0
Toegevoegd
- De XLSX-engine leest nu het volledige
<calcPr>-element heen en terug, niet alleen de schakelaars voor iteratieve berekening.TXLSXWorkbookkrijgtCalcId(de identificatie van de rekenengine die Excel gebruikt om te bepalen of gecachte waarden verouderd zijn),FullCalcOnLoad(dwingt Excel om bij openen een volledige herberekening uit te voeren — cruciaal voor werkmappen die door een niet-Excel-engine zijn geproduceerd) enCalcMode(auto / manual / autoNoTable). De schrijver genereert de bijbehorende attributen op<calcPr>; de lezer parseert ze terug. Eerder werden alleeniterate/iterateCount/iterateDeltaverwerkt en werd de rest stilzwijgend verwijderd
Versie 2.156.0
Toegevoegd
- De formule-evaluator implementeert nu 37 werkbladfuncties die eerder waren geregistreerd (ptg toegewezen in InitFuncHash) maar geen dispatch-implementatie hadden — ze vielen door naar
#NAME?. De nieuwe implementaties bestrijken vijf functiefamilies: Regressie (FORECAST,LINEST,TREND,GROWTH,LOGEST,CORREL,PEARSON,SLOPE,INTERCEPT,RSQ,STEYX), Afschrijving (SLN,SYD,DB,DDB,VDB), Beschrijvende statistiek (AVEDEV,DEVSQ,KURT,SKEW,GEOMEAN,HARMEAN,TRIMMEAN,FREQUENCY), Paarsgewijze reeksen (SUMXMY2,SUMX2MY2,SUMX2PY2) en Combinatoriek/wiskunde (COMBIN,PERMUT,FACT,QUOTIENT,ROMAN,DEGREES,RADIANS,STANDARDIZE). De regressiefuncties gebruiken een kleinste-kwadraten-oplosser; de afschrijvingsfuncties implementeren lineaire, som-van-jaarcijfers- en degressieve methoden; de beschrijvende-statistiekfuncties berekenen de gemiddelde absolute afwijking, kurtosis, scheefheid en meetkundige/harmonische/afgeknotte gemiddelden; en de paarsgewijze functies berekenen de som van gekwadrateerde verschillen tussen twee even grote bereiken. Een nieuwe helperCollectRangeValuesopTXLSCalculatorextraheert numerieke waarden uit bereikargumenten voor de statistische functies
Versie 2.155.0
Toegevoegd
- De formule-evaluator ondersteunt nu vijf extra statistische en technische compatibiliteitsnamen:
ERFC,ERFC.PRECISE,BINOM.INV,CHI.INV.RTenF.TEST.ERFCvult de bestaande foutfunctiereeks aan,BINOM.INVzoekt de binominale CDF-drempel,CHI.INV.RTis een alias voor de rechtsstaart-inverse van de chi-kwadraat, enF.TESTgeeft de tweezijdige steekproefvariantie-p-waarde terug
Versie 2.154.0
Toegevoegd
- De formule-evaluator lost nu verwijzingen tussen werkmappen op via een nieuwe
OnGetExternalValue-callback opTXLSCalculator. Wanneer een 3D-bereikverwijzing naar een externe werkmap wijst ([1]Sheet1!A1), leidt de evaluator de aanroep via de callback in plaats van#REF!terug te geven. De XLSX-engine verbindt deze callback metGetExternalCellValue, dat de SupBook-index + bladindex toewijst aan de<sheetDataSet>-cache van de bijbehorendeTXLSXExternalLinken de gecachte celwaarde decodeert op basis van het OOXML-typeattribuut (numeric / boolean / string / error). Eerder gaven formules tussen werkmappen onvoorwaardelijk#REF!terug; de callback-infrastructuur laat nu elke engine (BIFF8, XLSX of een aangepaste calculatorhost) externe waarden leveren - De formule-evaluator voert nu elementgewijze array-broadcasting uit op binaire operatoren (
+/-/*///^). Wanneer een van beide operanden een 1D- of 2D-variant-array is (b.v. een matrixfunctieresultaat, een overgelopen bereik of een CSE-array-operand), wordt de operator element voor element toegepast; een scalaire operand wordt naar elk element van de array-operand gebroadcast. De nieuwe helperApplyArrayBinaryOpverwerkt vormvalidatie, scalaire broadcasting en de voortplanting van delen-door-nul. De legacy scalaire rekenkunde is ongewijzigd — het array-pad wordt alleen geactiveerd wanneer ten minste één operand een variant-array is - De formule-evaluator herkent nu de functie
TABLE(What-If-Analyse-gegevenstabel). Excel slaat gegevenstabellen op als CSE-arrayformules waarvan de bodyTABLE(rowRef, colRef)is; eerder werdTABLEniet herkend en viel door naar#NAME?. De functie is geregistreerd met een synthetische ptg (ftabTABLE = 4232), zodat deze via de BIFF8-formulecodering heen en terug wordt gelezen, en geeft bij evaluatie een tijdelijke waarde (0) terug — de echte resultaten worden door Excel vooraf berekend en als gecachte celwaarden opgeslagen, zodat HotXLS de substitutielogica niet opnieuw evalueert
Versie 2.153.0
Toegevoegd
- Het getypte PivotTable-model bevat nu de getypeerde pagineas-eigenschappen (Hier / Caption / Name), het auto-sorteerbereik en de onbewerkte-XML heen-en-terug-lees-haken voor
<formats>en<extLst>die nodig zijn voor een volledigere Excel-compatibiliteit.TXLSPivotFieldkrijgtPageHier/PageCaption/PageName(F16 — OLAP-hiërarchienaam + pagineas-bijschrift + weergavenaam) enAutoSortScope(F20 — A1-bereikverwijzing die de cellen vastpint die Excel gebruikt om de items van het veld automatisch te sorteren);TXLSPivotTablekrijgtFormatsXml/ExtLstXml(F17 — onbewerkte inner-XML heen-en-terug-lezing voor het<formats>-blok met CF / getalformaatoverschrijvingen en het<extLst>-blok met slicer / timeline / x14, woordelijk gegenereerd wanneer ingesteld, zodat heen-en-terug-lezen zelfs tussen engineversies veilig is). De XLSX-schrijver genereert de bijbehorende<pageField hier=... cap=... name=.../>-attributen, het<autoSortScope>-child van<pivotField>en de<formats>+<extLst>-blokken vóór de afsluitende sentinel - De formule-tracer legt nu per stap snapshots van de operand-stack vast, waardoor een echte stapsgewijze 'Evaluate Formula'-debugger mogelijk wordt.
TXLSFormulaStepkrijgtStepKind(push / reduce / function),StackBefore/StackAfter(met komma's gescheiden snapshots van de operand-stack op het moment dat elke stap begon / eindigde) enTokenStart/TokenEnd(op 1 gebaseerde tekenreeksspanne die de stap terugkoppelt aan de bronformule).TXLSFormulaTracerkrijgtTraceReversed(geeft dezelfde stappen in omgekeerde evaluatievolgorde terug — nuttig voor een stap-terug-UI die van het eindresultaat naar de oorspronkelijke operanden loopt) en een eigenschapStepCount. Eerder legde de tracer alleen Depth / Source / Expression / Value vast zonder stacktoestand - HTML-export sluit nu afbeeldingen per cel in via een nieuwe
OnCellImage-callback opTXLSHTMLExporten een nieuwe optiexhImages. Wanneer de optie is ingesteld en de callback is aangesloten, vraagt de exporter de implementator om het<img>-fragment van elke cel (doorgaans een Base64-data-URI) en voegt dit na de celtekst toe. Dit ontkoppelt de exporter van de BIFF8-afbeeldingsopslag van de XLS-engine (die in het per-blad-MsoDrawing-record leeft), zodat de exporter geen ankers zelf hoeft te parsen. De HTML-export van de XLSX-engine sloot afbeeldingen al in; dit dicht de kloof voor de XLS-engine - RTF-import past nu tekeneigenschappen (vet / cursief / onderstreept / doorgehaald / grootte) uit de RTF-besturingsteksten toe op het lettertype van de doelcel.
TXLSRTFImportvolgt\b/\i/\ul/\strike/\fsdoor het hele document en duwt bij het vastleggen de opmaak van de dominante run in de XF van de cel. Een nieuwe eigenschapImportCharFormat(standaard True) schakelt het gedrag; zet False om de legacy-import met alleen tekst te herstellen. Cellen met meerdere runs vouwen samen tot één XF (de laatste actieve run wint) omdat de cel-API van de XLS-engine op celniveau werkt, niet per fragment — maar dit is veel beter dan alle opmaak te laten vallen, wat de legacy-importer deed - Een nieuwe klasse
TXLSHTMLImportparseert HTML-tabellen naar werkbladcellen. Doorloopt de eerste<table>in de bron en genereert één werkbladrij per<tr>en één cel per<td>/<th>. Respecteertcolspan/rowspan(Excel-stijl samenvoegen), verwijdert tags binnen een cel (geneste opmaak samenvouwen tot platte tekst), decodeert de vijf standaard tekens-entiteiten (&/</>/"/'/ ) en de numerieke vormen&#NNN;/&#xNN;, en dwingt schone numerieke tekenreeksen naar Double, zodat geïmporteerde tabellen berekenbaar blijven. Ontworpen voor de uitvoer die HotXLS zelf produceert (SaveAsHTML) plus algemene kopieer-plak-kwaliteit-HTML-tabellen; geen volledige HTML5-parser
Versie 2.152.0
Toegevoegd
- XLSX-tabellen behouden nu metagegevens van totaalrijen op kolomniveau en tabelformules.
TXLSXTablesteltColumnTotalsRowFunctions[],ColumnTotalsRowLabels[],ColumnCalculatedColumnFormulas[]enColumnTotalsRowFormulas[]beschikbaar;SaveAsgenereert de bijbehorende tabelkolom-XMLtotalsRowFunction,totalsRowLabel,calculatedColumnFormulaentotalsRowFormula,Openleest ze terug, en tabelklonen behouden ze
Versie 2.151.0
Toegevoegd
- Het getypte PivotTable-model bevat nu de filterverzameling per veld, de multi-select-schakelaar, het fieldGroup discretePr + groupItems-oppervlak en het model van berekende items / berekende leden dat nodig is voor een volledigere PivotTable-compatibiliteit.
TXLSPivotFieldkrijgt een getypeerdeTXLSPivotFilters-verzameling (elk item draagtFilterTypeover de 80-ledige OOXML-ST_FilterType-enum — families count / percent / sum / caption / value / date — plusValue1/Value2/StrValue1/StrValue2,EvalOrder,DataField,MemberPropertyId,Name,Description), eenMultipleItemSelectionAllowed-schakelaar (F9) en eenTXLSPivotCalculatedItem-verzameling (F14).TXLSPivotCacheFieldkrijgtDiscreteIndices[]+AddDiscreteIndexenGroupItemLabels[]+AddGroupItemvoor de fieldGroup discretePr + groupItems-blokken (F13).TXLSPivotTablekrijgt eenTXLSPivotCalculatedMember-verzameling (F14). De XLSX-schrijver genereert het bijbehorende<pivotField multipleItemSelectionAllowed="1">, het<filters><filter .../>-blok per veld, het<fieldGroup><discretePr>...</discretePr><groupItems>...</groupItems></fieldGroup>-element, het<calculatedItems>-blok per veld en het<calculatedMembers>-blok op tabelleniveau — zodat programmatisch gebouwde draaitabellen met filters / multi-select / groepering / berekende items heen en terug worden gelezen
Versie 2.150.0
Toegevoegd
- Gedefinieerde namen houden nu hun formuletekst geldig wanneer het werkblad waarnaar ze verwijzen wordt verwijderd of hernoemd. Het verwijderen van een blad herschrijft elke
SheetN!-kwalificatie binnen de formule van een gedefinieerde naam naar#REF!(overeenkomstig het gedrag van Excel); het hernoemen van een blad herschrijft de kwalificatie naar de nieuwe naam. Eerder bleef de formuletekst naar een niet-bestaande bladnaam wijzen, die Excel bij opnieuw openen dan als verbroken koppeling markeerde - Het getypte PivotTable-model bevat nu de sorteervolgorde en lay-outschakelaars op veldniveau, plus de lay-out-/weergaveattributen op tabelleniveau die nodig zijn voor een volledigere PivotTable-lay-outcompatibiliteit.
TXLSPivotFieldkrijgtSortType(manual / ascending / descending),Compact,Outline,SubtotalTop,DragToRow/DragToCol/DragToPage/DragToData,ShowAll,InsertBlankRow,NumFmtId;TXLSPivotTablekrijgtCompact/CompactData/Outline/OutlineData/Indent/ShowEmptyRow/ShowEmptyCol/ShowHeaders/ShowDrill/EnableDrill/FieldListSortAscending/GridDropZonesplusRowHeaderCaption/ColHeaderCaption/ErrorCaption/MissingCaption/ShowError/ShowMissingen het pagineas-lay-outpaarRowPageCount/ColPageCount. De XLSX-schrijver genereert de bijbehorende attributen<pivotField sortType=... compact=... outline=...>en<pivotTableDefinition indent=... outline=... showEmptyRow=...>en het<location rowPageCount=... colPageCount=.../>-element, zodat programmatisch gebouwde draaitabellen de door de gebruiker ingestelde lay-out dragen in plaats van de standaarden van Excel - Een nieuwe methode
FormulaIsVolatileopTXLSWorkbookmeldt of een formule bij elke rekenpassage een herberekening zou afdwingen — d.w.z. dat deze een vluchtige functie aanroept (NOW / RAND / TODAY / OFFSET / INDIRECT) of een niet-oplosbare verwijzing draagt. De probe deelt dezelfde afhankelijkheidsextractor die de herrekeningsengine gebruikt, zodat het antwoord overeenkomt met watRecalculatedaadwerkelijk doet. Aanroepers kunnen het gebruiken om cellen voor een verificatie-UI te markeren, om een vluchtige set van de berekeningsketen in een gloednieuwe werkmap te vullen, of om het cachen van het resultaat van een pas ingevoerde formule over te slaan
Versie 2.149.0
Toegevoegd
- Draaitabelcaches kunnen nu programmatisch worden vernieuwd vanuit hun bronbereik. Een nieuwe methode
RefreshPivotCache(ACacheId)opTXLSXWorkbookscant het bronbereik van de cache opnieuw, herbouwt het domein van gedeelde items per veld (waarden opnieuw ontdubbelen en de per-type grenzen opnieuw afleiden) en herschrijft de itemindexen per record. Eerder vertrouwde HotXLS op de hardcoded vlagrefreshOnLoad="1"en stelde alle vernieuwingswerk uit naar Excel bij de volgende opening; programmatische pijplijnen kunnen nu in-process vernieuwen
Versie 2.148.0
Toegevoegd
InsertColsop de XLSX-engine neemt nu de kolombreedte over van de linkerbuur, overeenkomstig het standaardgedrag van Excel voor 'kolom invoegen'. Eerder nam de ingevoegde kolom de standaardbreedte van de werkmap over, waardoor na een hernieuwd openen een zichtbare getrouwheidskloof ontstond- De XLSX-engine krijgt gemaks-helpers voor het samenvouwen van overzichten,
ToggleColGrouped/ToggleRowGroupedopTXLSXWorksheet, die de overzichtsboom doorlopen en de groep op een bepaald niveau samenvouwen of uitvouwen. De samenvouwvlaggen zelf werden al heen en terug gelezen; dit voegt de ontbrekende doorloop-de-boom-gemaks-API toe
Versie 2.147.0
Toegevoegd
- HTML-export genereert nu
<a name>-ankers op cellen die het doel van interne hyperlinks zijn, zodat#SubAddress-hyperlinks correct worden opgelost wanneer de lezer erop klikt. Eerder werden de koppelingen gegenereerd maar hadden de doelen geen ankers, zodat interne sprongen naar niets oplosten - CSV-export kreeg een eigenschap
CSVEmitFormulasopTXLSXWorkbook. Wanneer True, exporteren formulecellen hun formuletekst (=SUM(A1:A2)) in plaats van de berekende waarde — nuttig voor foutopsporing en voor pijplijnen die opnieuw importeren in een andere engine - URL's van externe hyperlinks worden nu bij schrijven percent-gecodeerd (
XlsxEncodeHyperlinkUrl): spatie, hoekhaken, aanhalingstekens, accolades, verticale strepen, backslashes, circumflexen en backticks worden als%XXgecodeerd in het<Relationship Target="..."/>-attribuut, zodat het bestand in elke browser correct wordt geopend. Bestaande percent-gecodeerde reeksen (%20) blijven behouden zoals ze zijn - Draaitabelstijlinformatie bevat nu het volledige
pivotTableStyleInfo-oppervlak:StyleName,ShowRowHeaders,ShowColHeaders,ShowRowStripes,ShowColStripes,ShowLastColumnopTXLSPivotTable. De XLSX-schrijver genereert het bijbehorende element, zodat programmatisch gebouwde draaitabellen de door de gebruiker gekozen bandenstijl dragen in plaats van de hardcoded standaard - Een nieuwe methode
CalculateAndVerifyopTXLSXWorkbookevalueert elke formulecel opnieuw en vergelijkt het berekende resultaat met de gecachte waarde van de cel. Geeft het aantal niet-overeenkomsten terug (0 = alle gecachte waarden komen overeen met de verse berekening van de engine; vluchtige formules zijn uitgesloten). Nuttig voor QA bij het overzetten van werkmappen tussen engines of bij het valideren dat een schrijver gecachte waarden niet heeft beschadigd
Versie 2.146.0
Toegevoegd
- De XLSX-engine ondersteunt nu iteratieve berekening van circulaire verwijzingen (de iteratieve rekenmodus van Excel). Een nieuw eigenschapdrietal
Iterate/IterateCount/IterateDeltaopTXLSXWorkbookstuurt het gedrag: wanneerIterate=Trueen tijdensRecalculateeen verwijzingscyclus wordt gedetecteerd, evalueert de engine de cellen in de cyclus totIterateCountkeer opnieuw (standaard 100) of tot de verandering van elke cel< IterateDeltais (standaard 0.001), in plaats van#REF!terug te geven. De instellingen worden via het<calcPr iterate="1" iterateCount="N" iterateDelta="X"/>-element van OOXML heen en terug gelezen. Financiële modellen met opzettelijke circulaire verwijzingen (rente-op-rente, circulaire toewijzingen) convergeren nu in plaats van een fout te geven - Draaitabelcachevelden bevatten nu een groeperingsmodel voor groepering op numeriek bereik en datumhiërarchie.
TXLSPivotCacheFieldkrijgtHasGroup+GroupStartNum/GroupEndNum/GroupInterval(numeriek bereik) enGroupByDate/GroupDays/GroupMonths/GroupQuarters/GroupYears/GroupHours/GroupMinutes/GroupSeconds/GroupStartDate/GroupEndDate(datum). De XLSX-schrijver genereert het<fieldGroup><rangePr groupBy="range|days|months|..."/>-element, zodat programmatisch gebouwde draaitabellen met gegroepeerde velden overeenkomen met de uitvoer van Excel - HTML-export genereert nu eindnoten voor opmerkingen. Wanneer
xhCommentsin de exportopties staat, krijgt elke cel met een opmerking een[n]-superscriptkoppeling, en wordt de volledige opmerkingstekst (auteur + inhoud) na de tabel als eindnotensectie weergegeven met een teruganker naar de cel. Eerder waren opmerkingen alleen beschikbaar via hettitle=-attribuut van de cel, dat onzichtbaar is bij afdrukken of kopiëren en plakken
Versie 2.145.0
Toegevoegd
- BIFF8-formulefoutletterwaarden (
tErr-token) worden nu gedecodeerd naar een getypeerdSA_ERROR-syntaxisitem in plaats van dat de formuleparse faalt. Een cel die=#N/Aopslaat (of een van de zeven Excel-foutconstanten) zorgde er eerder voor dat de hele formule bij het lezen werd verwijderd; de foutbyte wordt nu via lezen → evalueren → schrijven heen en terug gelezen en via een nieuweXlsErrorToString-helper naar zijn tekstvorm gereconstrueerd (#NULL!,#DIV/0!,#VALUE!,#REF!,#NAME?,#NUM!,#N/A) - Het BIFF8-
tIsect $0F-token (impliciete intersectie-operator) wordt nu gedecodeerd in de binaire-formulevertaler, waarbij hetzelfdeSA_ISECT-knooppunt wordt gebouwd dat de tekstparser voor@produceert. Eerder zou een binaire formule mettIsectbij het parsen falen - Voorwaardelijke opmaak van gegevensbalken genereert nu het Excel 2010+-
x14-extensieblok in deextLstvan het werkblad wanneer het model een niet-standaard x14-veld draagt (negatieve vulkleur, gradiënt uit, askleur, richting, rand). Een nieuweBuildDataBarExtXmlbouwt het<x14:conditionalFormattings>-ext-element met de bijbehorende prioriteit, het cfvo-paar, de vul- + negatieve + askleuren en de attributen gradient/border/direction/negativeBarColorSameAsPositive
Versie 2.144.0
Toegevoegd
- De XLSX-engine kan nu Agile-versleutelde werkmappen schrijven (
TXLSXWorkbook.SaveAsEncryptedAgile), waarmee een waardevolle lees-/schrijfcompatibiliteitskloof wordt gedicht. Agile is wat Excel 2010+ standaard schrijft voor met een wachtwoord beveiligde .xlsx-bestanden; HotXLS kon Agile eerder alleen lezen, maar alleen Standard Encryption (AES-128) schrijven. De nieuwe schrijfpijplijn spiegelt het bestaande ontsleutelingspad: SHA-512-wachtwoordhashing met een spin-count van 100000 iteraties, AES-256-CBC-pakketversleuteling per segment, een willekeurig gegenereerde tussenliggende sleutel die wordt ingepakt volgens de drie spec-vastgelegde bloksleutels, en een volledige<encryption>-descriptor-XML die de versleutelde verifier + sleutelblobs draagt. De uitvoer is bytegetrouw aan wat Excel produceert en wordt netjes heen en terug gelezen viaXlsLoadAgileEncryptedFile(geverifieerd door test: correct wachtwoord ontsleutelt, fout wachtwoord wordt geweigerd) - Nieuwe cryptografische primitieven ondersteunen het Agile-schrijfpad:
XlsHMACSHA512(RFC 2104, nodig voor hetdataIntegrity-element),XlsBase64Encode(RFC 4648-encoder als spiegelbeeld van de bestaande decoder) enAESEncryptCBC(AES-CBC-versleuteling voor elke sleutelgrootte 128/192/256, de inverse van de bestaandeAESDecryptCBC). De AES-unit importeert nuaes_encrypt_key192/aes_encrypt_key256uit de Gladman-obj (voorheen was alleen 128-bits versleuteling beschikbaar)
Versie 2.143.0
Toegevoegd
- De formule-evaluator parseert en evalueert nu de expliciete intersectie-operator
@(Excel 365-syntaxis voor dynamische arrays, b.v.=A2:A4 @ B2:B4). De lexer genereert een nieuwLT_ISECT-token voor het@-symbool, de precedentieparser bouwt eenSA_ISECT-knooppunt (sterker bindend dan^, losser dan%), en een nieuweIntersectRanges-evaluator lost beide operanden als bereiken op en geeft de waarde van de enige kruisende cel terug — de regel van impliciete intersectie van Excel. De BIFF-tokenserializer genereerttIsect $0F, zodat de operator via XLS heen en terug wordt gelezen, en het pad voor reconstructie van de formuletekst genereert de vorm met impliciete spatie. Eerder faalden dergelijke formules bij het parsen - Een standaard Base64-encoder (
XlsBase64Encode) is nu beschikbaar, als spiegelbeeld van de bestaandeXlsBase64Decode. Dit is de voorwaarde voor het Agile-versleutelingspad bij schrijven, dat saltValue / encryptedVerifierHashInput / encryptedKeyValue / encryptedHmacValue als Base64-attribuutwaarden genereert - De
OnProgress-gebeurtenis van de werkmap wordt nu ook geactiveerd tijdens volledige herberekening (Recalculate), met een nieuwe fasexlsxProgressCalculating. Eerder werd de gebeurtenis alleen tijdens lezen en schrijven geactiveerd, zodat lange volledige herberekeningen de UI geen heartbeat gaven. De gebeurtenis wordt ongeveer elke 4% van de cellen geactiveerd om overstroming te voorkomen - De uitgebreide documenteigenschappen (
docProps/app.xml) lezen nu drie extra velden heen en terug die Excel schrijft voor met een wachtwoord beveiligde / op sjablonen gebaseerde documenten:Manager,TemplateenDocSecurity(een bitveld: 1=met wachtwoord beveiligd, 2=alleen-lezen aanbevolen, 4=alleen-lezen afgedwongen, 8=vergrendeld voor annotaties)
Versie 2.142.0
Toegevoegd
- Het getypte PivotTable-model bevat nu het oppervlak van metagegevens, bron, berekende velden, 'show values as' en grenzen van gedeelde items dat de vorige analyseronde als hiaten markeerde.
TXLSPivotCachekrijgtRefreshOnLoad/RefreshedBy/RefreshedDate/MissingItemsLimit/CreatedVersion/RefreshedVersion/MinRefreshableVersion/EnableRefresh/BackgroundQuery/SaveDataplus een getypeerde vorm van de werkbladbron (SourceName/SourceRelId/SourceIsNamedRange);TXLSPivotCacheFieldkrijgtFormula/DatabaseField/MemberPropertyField(berekende velden) en de grenzen van gedeelde items (ContainsBlank/ContainsInteger/ContainsString/ContainsNumber/ContainsDate/MinValue/MaxValue/MinDate/MaxDate/HasBounds);TXLSPivotDataFieldkrijgtShowDataAs/BaseField/BaseItemvoor de 'show values as'-transformaties (percent-of / difference / running-total / index). De XLSX-schrijver (BuildPivotCacheDefinitionXml/BuildPivotTableXml) honoreert dit alles, zodat een programmatisch gebouwde draaitabel (AddPivotTable) een rijkerepivotCacheDefinition+pivotTableDefinitiongenereert — refreshonload / versietriplet / refreshedBy / named-range-bron / berekende cacheField-formule / sharedItems-grenzen / dataField-subtotaal + showDataAs. Draaitabellen die uit een bestand worden gelezen, blijven hun onbewerkte XML woordelijk heen en terug lezen - Het ankeringsgedrag van afbeeldingen wordt nu heen en terug gelezen via een nieuwe eigenschap
AnchorTypeopTXLSXImage(xaTwoCell= verplaatsen en vergroten met cellen,xaOneCell= verplaatsen maar niet vergroten,xaAbsolute= niet verplaatsen of vergroten). De schrijver kiest het bijpassende ankerelement (xdr:oneCellAnchor/xdr:twoCellAnchor editAs=.../xdr:absoluteAnchor); de lezer parseert de elementnaam + heteditAs-attribuut terug. Komt overeen met het dialoogvenster Eigenschappen van Excel via rechtsklikken → Grootte en eigenschappen - Kop-/voettekst leest nu het onderscheid tussen even en eerste pagina heen en terug.
TXLSXWorksheetkrijgtEvenHeaderText/EvenFooterText/FirstHeaderText/FirstFooterTextplus de vier<headerFooter>-schakelaars (DifferentOddEven,DifferentFirst,ScaleWithDoc,AlignWithMargins). Bestanden waarin de gebruiker 'Verschillende oneven en even pagina's' of 'Verschillende eerste pagina' heeft ingeschakeld, verliezen de secties van even/eerste pagina niet meer bij het heen en terug lezen - Pagina-instelling leest nu de uitgebreide
<pageSetup>-attributen heen en terug die Excel schrijft voor niet-standaard afdrukinstellingen:Copies,FirstPageNumber+UseFirstPageNumber,HorizontalDpi,VerticalDpi,PrintErrors(displayed/blank/dash/NA),UsePrinterDefaults <sheetFormatPr>leest nucustomHeight,zeroHeight,outlineLevelRowenoutlineLevelColheen en terug, zodat bestanden waarin de gebruiker een vastgepinde standaardrijhoogte, standaard verborgen rijen of een standaard overzichtsniveau heeft ingesteld, dat gedrag niet meer verliezen- Voorwaardelijke opmaak van gegevensbalken leest het standaard
gradient-attribuut (gradiënt vs. effen vulling) heen en terug, enTXLSDataBarSpeckrijgt de Excel 2010+-x14-extensievelden (NegativeBarColor,NegativeBarColorSameAsPositive,GradientFill,AxisColormet theme/tint,Direction,Border) op het model, zodat API-gebruikers ze kunnen instellen - Opmerkingballonnen lezen hun VML-tekening woordelijk heen en terug. De lezer legt
xl/drawings/vmlDrawingN.vmlvast zoals het is en de schrijver speelt het bij opslaan af (in plaats van de ingebouwde gele-ballon-sjabloon), zodat de door de gebruiker ingestelde positie / grootte / vulkleur / zichtbaarheid van elke ballon behouden blijft - De hoofdtekst van opmerkingen leest de opmaak per run heen en terug.
TXLSXCommentkrijgt een luieRichText: TXLSXRichText-payload (die het runmodel van de gedeelde tekenreeksen hergebruikt); de schrijver genereert één<r><rPr>...</rPr><t>...</t></r>per run wanneer RichText opmaak bevat, en de lezer parseert<b/>,<i/>,<sz val=N/>,<color rgb=.../>terug zodat vet / cursief / grootte / kleur behouden blijven - De formule-evaluator implementeert nu
SUBTOTAL(alle elf aggregatoren: AVERAGE / COUNT / COUNTA / MAX / MIN / PRODUCT / STDEV / STDEVP / SUM / VAR / VARP, plus de 101–111-varianten die verborgen negeren) enAGGREGATE(negentien aggregatoren met de optiecodevlaggen 0–7 die het overslaan van fouten/verborgen selecteren, waaronder de familie LARGE / SMALL / MEDIAN / PERCENTILE / QUARTILE met hunk-argument). Beide vielen eerder door naar het pad voor niet-ondersteunde functies;SUBTOTALwas geregistreerd maar had geen implementatie,AGGREGATEwas helemaal niet geregistreerd - De werkbladfuncties
CELLenINFOworden nu geëvalueerd:CELLondersteuntaddress,col,row,type,contents,filename,format, en de GUI-status-info_types (color,parentheses,prefix,protect,width) retourneren neutrale standaardwaarden;INFOondersteuntosversion,system,recalc,memavail,numfile,release,origin. Beide waren geregistreerd maar vielen door naar#NAME? - Voorwaardelijke opmaak leest nu de
cfRule-attributenstopIfTrue,stdDev,equalAverageentimePeriodheen en terug, plus de volledige tienledigetimePeriod-familie (yesterday / today / tomorrow / last7Days / lastWeek / thisWeek / nextWeek / lastMonth / thisMonth / nextMonth). Deze werden bij het lezen stilzwijgend verwijderd; Excel schrijft ze routinematig bij de boven-gemiddelde en datumband-regels, en het verwijderen ervan veranderde hoe de regel bij opnieuw openen opnieuw werd geëvalueerd - CSV-export kreeg een eigenschap
TXLSCsvEncodingopTXLSCSVSavermet drie modi:ceSystemAnsi(legacy-standaard),ceUtf16(de historische Unicode-modus) enceUtf8, die een UTF-8-bestand schrijft met de byte-order-markering EF BB BF — de moderne Excel-vriendelijke standaard die op elke locale zonder de tekstimportwizard opnieuw wordt geopend - CSV-import kreeg een eigenschap
LocaleTolerantNumbersopTXLSCSVLoader. Wanneer ingeschakeld, wordt een numeriek veld dat met.als decimaalteken niet kan worden geparseerd, opnieuw geprobeerd met,(en omgekeerd), zodat een Europees3,14op een Amerikaanse machine als het getal 3.14 wordt geïmporteerd. De strikte modus (de standaard) is ongewijzigd, zodat tekst met voorloopnullen, postcodes en andere komma-bevattende tokens tekst blijven
Opgelost
- De getalinferentie in strikte modus van de XLSX-engine dwingt komma-bevattende tekstvelden (b.v.
3,14) niet meer om naar getallen via Delphi'sTryStrToFloat, dat een komma als duizendtalseparator tolereert, zelfs wanneerThousandSeparatoris ingesteld op#0. Dergelijke velden blijven nu tekst, tenzij de nieuwe optieLocaleTolerantNumbersis ingeschakeld
Versie 2.140.0
Gewijzigd
- De XLSX-engine comprimeert nu vóór elke opslag zijn zes per-attribuut-stijlpools (Fonts / Fills / Borders / NumberFormats / Alignments / Protections): een nieuwe
CompactStylePools-pass scant de stijlindexen van elke cel en verwijdert pool-items waarnaar geen enkele cel meer verwijst — de items die zich ophopen wanneer cellen worden gewist, verwijderd of opnieuw opgemaakt nadat het pool-item voor het eerst was toegevoegd. De gecomprimeerde pools leveren een kleinere<cellXfs>-tabel in het uitvoerbestand op (doorgaans 30–70% kleiner voor documenten die verschillende bewerkingscycli hebben doorlopen), overeenkomstig de compressie die de XLS-engine al viaCreateAllReferredListuitvoert
Versie 2.139.0
Toegevoegd
- Vormen op de tekenlaag, verbindingslijnen, groepsvormen en niet-grafiek- grafische frames worden nu woordelijk heen en terug gelezen: wanneer de XLSX-lezer een
<xdr:sp>-,<xdr:cxnSp>-,<xdr:grpSp>- of niet-grafiek-<xdr:graphicFrame>-anker tegenkomt dat het getypte model (afbeeldingen / grafieken / tekstvakken) niet dekt, legt hij de volledige anker-XML vast en speelt deze bij opslaan ongewijzigd af — zodat in Excel gemaakte tekeningen (pijlen, annotaties, gegroepeerde vormen, smart-art-frames) een lees→schrijf-cyclus zonder verlies overleven. Elk werkblad steltRawDrawingAnchorCount/RawDrawingAnchor(i)ter inspectie beschikbaar
Versie 2.138.0
Toegevoegd
- In cache opgeslagen celwaarden van externe koppelingen worden nu heen en terug gelezen op de XLSX-engine: een nieuw
TXLSXExternalCell/TXLSXExternalRow/TXLSXExternalSheetData-model hangt aan elkeTXLSXExternalLinkviaAddSheetData/AddRow/AddCell, de schrijver genereert het bijbehorende<sheetDataSet>-blok binnenexternalLinkN.xml, en opnieuw openen herstelt elke gecachte waarde.FindCachedCell(sheetIdx, row, col)zoekt de laatst bekende waarde van een extern verwezen cel op — de gegevens die Excel zelf toont wanneer de externe werkmap offline is
Versie 2.137.0
Toegevoegd
- De OOXML-cellXf-vlag
quotePrefix— het mechanisme van Excel om opgeslagen tekst als letterlijke waarde te markeren zodat deze numerieke dwang overleeft (CSV-geïmporteerde codes zoals00123, lange rekeningnummers, alles waarvoor de gebruiker een apostrof plaatste) — wordt nu heen en terug gelezen op de XLSX-engine:TXLSXAlignmentkrijgt een eigenschapQuotePrefix, de uitlijningspool-dedup telt het mee, de schrijver genereertquotePrefix="1"op het bijbehorende<xf>, en opnieuw openen herstelt het, of de cellXf nu een child<alignment/>had of een kale self-closing<xf quotePrefix="1"/>was
Versie 2.136.0
Toegevoegd
- Grafiekassen zijn nu volledig programmeerbaar: een nieuw
TXLSXChartAxis-model opCategoryAxisenValueAxisvan elke grafiek steltLogBase(logaritmische schaal, b.v. 10 voor log met grondtal 10),Orientation(normal / reversed),MajorGridlines/MinorGridlines,MinValue/MaxValue(NaN = auto),MajorUnit/MinorUnit,CrossesAt,TickLblPosenDispUnits(weergave-eenheden: hundreds / thousands / millions / billions / trillions) beschikbaar. Alles gebruikt standaard het auto-gedrag van Excel, zodat bestaande grafieken dezelfde XML genereren als voorheen; de schrijver voegt<c:logBase>,<c:orientation>,<c:majorGridlines>,<c:majorUnit>,<c:crossesAt>,<c:tickLblPos>en<c:dispUnits>alleen toe wanneer de aanroeper een niet-standaardwaarde instelt, en het opnieuw openen van zo'n grafiek herstelt elke instelling
Versie 2.135.0
Toegevoegd
- Foutbalken van grafieken zijn nu programmeerbaar en worden heen en terug gelezen op de XLSX-engine: elke
TXLSXChartSerieskrijgtAddErrorBar(dir)die eenTXLSXChartErrBarteruggeeft metValueType(fixed / percentage / stdDev / stdErr / custom),Value,PlusValue/MinusValue(custom) enNoEndCap; per richting (X / Y) wordt één foutbalk-sleuf opgeslagen, de schrijver genereert het bijbehorende<c:errBars>-blok, en opnieuw openen herstelt de richting, het type en de grootte, zodat wetenschappelijke / technische grafieken hun onzekerheidsindicatoren behouden
Versie 2.134.0
Toegevoegd
- Gegevenslabels van grafieken zijn nu programmeerbaar en worden heen en terug gelezen op de XLSX-engine: elke
TXLSXChartSerieskrijgt eigenschappenShowValue,ShowCategoryName,ShowSeriesName,ShowLegendKey,ShowPercent,ShowBubbleSizeenSeparatordie het bijbehorende<c:dLbls>-blok met zijn<c:show*/>-children genereren; het opnieuw openen van zo'n grafiek herstelt de schakelaars, zodat instellingen 'show value' / 'show percent' een opslaan-bewerken-opslaan-cyclus overleven
Versie 2.133.0
Toegevoegd
- Vectorafbeeldingsformaten EMF en WMF zijn nu eersteklas afbeeldingstypen op de XLSX-engine:
TXLSXImageFormatkrijgtxlsxImageEmf/xlsxImageWmf, de schrijver genereert de bijbehorende contenttypesimage/x-emf/image/x-wmfen extensies.emf/.wmf, en de formaatherkenner herkent EMF (01 00 00 73), plaatsbaar WMF (D7 CD C6 9A) en standaard WMF-headers — zodat afbeeldingen die uit Word of PowerPoint zijn geplakt en die Excel als vectordata insluit, nu heen en terug worden gelezen in plaats van te worden verwijderd
Opgelost
- BIFF8-grafiekdeelstromen waarvan het GELFRAME-record (
$1066) de continuatiegrens van 8224 bytes overspant, verliezen nu geen vul-/lijngeometrie meer: de lezer accepteert nu GELFRAME-zelfcontinuatie (Excel schrijft nog een$1066in plaats van de standaard$003CCONTINUE) en laat ook standaard CONTINUE-records binnen de grafiekcontext samenvoegen, overeenkomstig de bestaande multi-chunk-dispatch van de schrijver - BIFF8-achtergrondafbeeldingen van kop-/voettekst (
$0866) waarvan de payload over continuatierecords loopt, worden niet meer beschadigd: elk continuatiesegment herhaalt een 14-byte MSO-header die de lezer nu verwijdert vóór het samenvoegen, zodat de ingebedde afbeeldingsgegevens niet meer per segment met 14 bytes verschoven worden
Versie 2.132.19
Opgelost
- De opslagopruiming van klassiek XLS en versleutelde XLSX geeft nu compound-bestandsstreams deterministisch vrij, waardoor wordt voorkomen dat tijdelijke bestanden vergrendeld blijven na opslaan, laden, VBA- of versleutelde-pakketbewerkingen
- De opgemaakte weergave van uitgebreide integer-variantwaarden past nu consistent het gevraagde getalformaat toe, overeenkomstig het bestaande gedrag voor standaard integerwaarden
- Gedeelde tekenreeksen, gegevensvalidatie, grafiekbladen, ZIP-archieven, PNG-tekeningen en herhaalde tekstformules ruimen nu tijdelijke buffers defensiever op tijdens foutpaden en grote tekstbewerkingen
Versie 2.132.18
Opgelost
- Interne tekenreeksbouwer-waardetoewijzing wist nu eerdere tekst wanneer een lege tekenreeks wordt toegewezen, waardoor wordt voorkomen dat herbruikte XML- en tekstbuffers verouderde inhoud behouden
Versie 2.132.17
Opgelost
- Het maken van XLS-grafiekbladen accepteert nu geciteerde bronbladnamen die een uitroepteken bevatten, wijst te grote rijverwijzingen af voordat ze kunnen terugdraaien naar een geldige BIFF-rij, en beperkt trendlijn-legendenamen tot de BIFF-limiet voor korte tekst, zodat gegenereerde grafiekrecords goed gevormd blijven
Versie 2.132.16
Opgelost
- Interne tekenreekssleutel- en objectsleutellijsten verwijderen nu verouderde opzoeksleutels wanneer een bestaande sleuf wordt overschreven, waardoor wordt voorkomen dat oude sleutels naar vervangende items verwijzen
- Interne vervangingen van objectlijsten en getransformeerde unieke-sleutelcaches geven nu eigendom-items vrij bij overschrijven, wissen en vernietiging, waardoor lekken tijdens herhaalde werkmap- en stijlbewerkingen worden voorkomen
Versie 2.132.15
Opgelost
- Directe XLSX-streaminglezingen decoderen nu Booleaanse cellen die OOXML-letterlijke waarden zoals true en false opslaan
- Interne indexupdates van tekenreeksenlijsten verwijderen nu verouderde sleutels wanneer een bestaande sleuf wordt overschreven, waardoor wordt voorkomen dat oude namen naar de nieuwe waarde verwijzen
Versie 2.132.14
Opgelost
- BIFF8-gegevensvalidatie-prompt- en foutmeldingen waarvan het eerste teken NUL is, behouden nu recordgrenzen in plaats van een niet-overeenkomende DV-lengte te schrijven
Versie 2.132.13
Opgelost
- XML-tekstparsen wijst nu geneste entity-beginnen zoals && af, in plaats van de onafgemaakte entity stilzwijgend te laten vallen
- Gedecompileerde formules schrijven numerieke constanten nu met een invariante punt als decimaalteken, zodat de formuletekst overdraagbaar blijft tussen verschillende regionale instellingen
Versie 2.132.12
Opgelost
- Palet-PNG-transparantie negeert nu transparante kleuren die niet in het afbeeldingspalet aanwezig zijn, in plaats van een willekeurige paletindex als transparant te markeren
- SUMPRODUCT-formules stoppen nu met het scannen van resterende rijen na de eerste rij buiten het gebruikte bereik in lange bereikargumenten, waardoor onnodige cellezingen worden vermeden terwijl het berekende resultaat behouden blijft
Versie 2.132.11
Opgelost
- TEXT-formules geven nu #VALUE! terug wanneer een ongeldig of te groot getalformaat niet kan worden toegepast, in plaats van te worden ingeslikt als een leeg succesvol resultaat
- Het afkappen van de gedeelde-tekenreeks-tabel maakt nu de juiste staartblokken vrij en houdt de tabel herbruikbaar na grote verwijdercycli
Versie 2.132.10
Opgelost
- Exacte MATCH-opzoekingen respecteren nu Excel-jokertekens, en de klassieke XLS-metagegevens van rij-offsets negeren nu rijen buiten het blok in plaats van de opgeslagen werkmapstructuur te beschadigen
- PNG-metagegevens van gecomprimeerde tekst geven nu tijdelijke buffers veilig vrij als de chunk-verwerking een fout oplevert
Versie 2.132.9
Opgelost
- PNG-metagegevens van gecomprimeerde tekst, invoeging van chunk-lijsten en de verwerking van CRC-bytevolgorde blijven nu stabiel op alle ondersteunde Windows-platforms
Versie 2.132.8
Opgelost
- LEFT- en RIGHT-formules rapporteren nu #VALUE! wanneer num_chars niet kan worden omgezet naar een geldig geheel getal
Versie 2.132.7
Opgelost
- SEARCH-formules ondersteunen nu Excel-stijl jokertekens ?, * en ~
- De validatie van werkbladnamen wijst nu ongeldige Excel-tekens voor bladnamen af bij het hernoemen van bladen
- Het verwijderen van handmatige paginaeinden werkt nu na het invoegen van een pagina-einde vóór bestaande einden
Versie 2.132.6
Opgelost
- DATE-formules volgen nu het Excel-compatibele doorschrijfgedrag van maanden en dagen, inclusief aanroepen zoals DATE(2008,14,2)
- Verborgen-lezingen van kolombereiken rapporteren nu de zichtbaarheid van elke kolom afzonderlijk, in plaats van de rijzichtbaarheidstoestand te mengen
- BIFF-rijmetagegevens op de Excel 97-2003-rijlimiet laden nu correct, zodat instellingen voor rij 65536 behouden blijven
Versie 2.132.5
Opgelost
- Het laden van BIFF-werkmappen tolereert nu misvormde tabbladkleuren van werkbladen, afgekapte draaitabellabels en ongeldige datumfragmenten in de draaitabelcache zonder uitzonderingen op te werpen
- Het laden van werkmap-pakketten en -streams ruimt nu mislukte archief- en opslaginstellingspaden consistenter op, waardoor gelekte resources worden vermeden bij misvormde invoer of mislukte opens van stream-ondersteunde opslag
Versie 2.132.4
Opgelost
- De verwerking van ZIP-archieven finaliseert nu het huidige pakket voordat hetzelfde archiefobject voor een ander pakket wordt hergebruikt, en op bestanden gebaseerd archiefopenen staat nu gelijktijdige gedeelde lezers toe
Versie 2.132.3
Opgelost
- Werkmap-pakket schrijven behoudt nu niet-ASCII ZIP-vermeldingnamen met UTF-8-metagegevens, waardoor mojibake wordt voorkomen wanneer namen van pakketonderdelen Unicode-tekst bevatten
- XML-uitvoer schrijft nu onbewerkte tekst en attribuutwaarden als UTF-8-bytes wanneer escaping is uitgeschakeld, overeenkomstig de gedeclareerde documentcodering
- De formule-evaluatie wist nu zijn in-uitvoering-status na callback-uitzonderingen en verwerkt annulering van grote getallen correct op Unicode-Delphi-builds
- Matrixextractie van matrixformules respecteert nu ondergrenzen van Variant-arrays die niet nul zijn, in plaats van een fout te geven voor geldige op één gebaseerde arrays
Versie 2.132.2
Gewijzigd
- Het sorteren van bereiken gebruikt nu een stabiele O(n log n)-sorteerpassage voor grote gesorteerde bereiken, met behoud van het bestaande retourvluchtgedrag van rijinhoud
- ODS- en XLSX-numeriek parseren en opmaken hergebruiken nu invariante opmaakstatus in plaats van deze herhaaldelijk te creëren in hot paths
Opgelost
- XML-parsen accepteert nu geldige CDATA-blokken en UTF-8-verwerkingsinstructies zonder tekst te beschadigen of te falen bij geldige opmaak
- Formuleparsen accepteert nu wetenschappelijke notatie met teken en wijst misvormde of afgekapte formulebytes netjes af
- De open- en opslagpaden van de klassieke werkmap geven streams en storages nu betrouwbaar vrij na fouten, zodat tijdelijke bestanden niet vergrendeld blijven
- De afhandeling van binaire buffers valideert nu de grenzen bij kopiëren en lezen, groeit doelbuffers vóór het kopiëren en wijst misvormde terugverwijzingen van VBA-compressie netjes af
Versie 2.132.1
Opgelost
- De foutmelding gecorrigeerd die wordt gegenereerd wanneer een versleutelde werkmap een niet-ondersteund versleutelingsschema gebruikt: deze beweerde eerder dat ECMA-376 Agile Encryption niet kon worden gelezen, hoewel Agile-ontsleuteling (AES-128/192/256) sinds 2.119.0 wordt ondersteund. De melding vermeldt nu de daadwerkelijk ondersteunde schema's
- Open verwijst bellers nu naar TXLSXWorkbook.OpenEncrypted wanneer een versleuteld OOXML-pakket wordt geweigerd, in plaats van te melden dat versleutelde werkmappen niet worden ondersteund
Versie 2.132.0
Gewijzigd
- XLSX-laden is aanzienlijk sneller: de XML-lezer internt nu herhaalde elementnamen en converteert tekst- en kenmerkwaarden rechtstreeks vanuit de scanbuffer, waardoor de geheugentoewijzingen per cel met meer dan de helft afnemen. Multi-threaded openen (2.128.0) profiteert het meest — de verwijderde toewijzingen waren degenen die de werkthreads serialiseerden — waarbij werkmappen met meerdere bladen nu bijna twee keer zo snel openen als het single-threaded pad op machines met meerdere kernen; single-threaded openen wint ook enkele procenten
Versie 2.131.0
Toegevoegd
- Extensieblokken van werkbladen die HotXLS niet modelleert —
<ext>-vermeldingen in een<extLst>van een werkblad anders dan sparklines, zoals door Excel geschreven voor functies als x14-voorwaardelijke opmaak of slicers — worden nu woordelijk bewaard wanneer een werkmap wordt geopend en bij opslaan teruggeschreven, zodat het openen en opnieuw opslaan van een bestand die extensies niet langer verwijdert. De vastgelegde blokken zijn alleen-lezen zichtbaar viaWorksheet.RawWorksheetExtsen reizen mee met het blad wanneer het naar een andere werkmap wordt gekopieerd
Versie 2.130.0
Toegevoegd
- Opgeslagen werkmappen die formules bevatten, dragen nu het berekeningsketenonderdeel
xl/calcChain.xmlmee, zodat Excel de afhankelijkheidsengine kan voeden vanuit de vastgelegde volgorde in plaats van deze bij het laden opnieuw op te bouwen. Na een aanroep vanRecalculatevolgt de keten de topologische volgorde van de afhankelijkheidsgrafiek; anders worden formulecellen in documentvolgorde vermeld (een geldige hint die Excel ter plekke verfijnt). Het onderdeel, het inhoudstype en de werkmaprelatie worden samen uitgezonden en overleven open-/opslagretourvluchten
Versie 2.129.0
Toegevoegd
- Nieuwe eigenschap
Workbook.ParallelParseThreadsstemt het aantal werkers af voor het multi-threaded Open-pad dat in 2.128.0 is geïntroduceerd (0 = automatisch, één werker per CPU-kern). Werkbladparsing alloceert zwaar en geheugentoewijzing wordt geserialiseerd over threads, dus bij sommige workloads presteert een klein expliciet maximum net zo goed als — of beter dan — het volledige aantal kernen; de eigenschap laat integratoren kiezen wat het beste meet voor hun bestanden
Versie 2.128.0
Toegevoegd
- Multi-threaded XLSX-laden: het openen van een werkmap parseert nu de XML van elk werkblad — de dominante kostenpost bij grote bestanden — op werkthreads, zodat werkmappen met meerdere bladen sneller openen op machines met meerdere kernen. Bladonderdelen worden vooraf uit het pakket geëxtraheerd en elke werker raakt alleen zijn eigen blad aan, zodat de geladen werkmap identiek is aan het seriële resultaat
- Nieuwe eigenschap
Workbook.ParallelParse(standaardTrue) schakelt terug naar single-threaded parsing wanneer deze vóórOpenopFalsewordt gezet — een opt-out van één regel voor beperkte omgevingen
Gewijzigd
- De lees-callback
OnProgresswordt nog steeds één keer per werkblad geactiveerd op de aanroepende thread, nu telkens wanneer een blad voor parsing wordt verzonden in plaats van strikt tussen bladen
Versie 2.127.0
Toegevoegd
- Incrementele herberekening op de XLSX-engine: de nieuwe methode
Workbook.Recalculatebouwt een afhankelijkheidsgrafiek van formules, evalueert elke formulecel één keer in afhankelijkheidsvolgorde en slaat elk resultaat op in de gecachte waarde van de cel. Daaropvolgende aanroepen evalueren alleen de cellen die zijn beïnvloed door waardewijzigingen sinds de laatste passage — bij gekoppelde modellen (financiële bladen, rapportcascades) herberekent het bewerken van één invoer alleen de stroomafwaartse formules in plaats van de hele werkmap - Vluchtige functies (
NOW,TODAY,RAND,OFFSET,INDIRECT) herberekenen bij elke passage, net als formules waarvan de verwijzingen niet statisch kunnen worden opgelost (namen met meerdere gebieden, externe werkmappen) — de engine over-herberekent liever dan een verouderd resultaat te riskeren - Referentiecycli worden gedetecteerd in plaats van door te blijven lopen:
Recalculateretourneert een foutcode wanneer formules een circulaire keten vormen, slaat de cyclusleden over en evalueert nog steeds elke formule buiten de cyclus. Verwijzingen tussen bladen, benoemde bereiken en CSE-matrijformules (resultaten verspreid over het verankerde bereik) nemen volledig deel aan de afhankelijkheidsgrafiek
Gewijzigd
- Het bestaande op-verzoekpad
Calculateblijft ongewijzigd;Recalculateis een aparte opt-in-API en werkmappen die deze nooit aanroepen, gedragen zich precies als voorheen
Versie 2.126.0
Toegevoegd
- Sparklines op de XLSX-engine: werkbladen dragen nu sparklinegroepen — de mini-grafieken in een cel die Excel rendert uit een gegevensbereik — met de drie Excel-typen (lijn, kolom, gewonnen/verloren gestapeld). Maak er één met
Worksheet.AddSparklineGroupof bouw groepen handmatig via de nieuwe verzamelingWorksheet.SparklineGroups, waarbij u per groep elk aantal sparklines toevoegt, elk met een bronbereik en een weergavecel - Sparklinegroepen stellen de volledige optieset bloot die Excel biedt: lijndikte, markers voor gegevenspunten, schakelaars voor nadruk op hoog/laag/negatief/eerste/laatste punt, acht ARGB-kleursleuven (reeks, negatief, as, markers, eerste, laatste, hoog, laag), verticale-asschaal per groep of per sparkline, en afhandeling van gaten/nul/span voor lege broncellen
- Sparklines overleven een volledige opslag→open-retourvlucht: opslaan zendt het extensieblok
extLstvan het werkblad uit ([MS-XLSX] §2.3.6) zodat Excel 2010 en later de sparklines rendert, en het openen van zo'n werkmap — of die nu door HotXLS of Excel is geschreven — herbouwt elke groep, optie en bereik zodat ze blijven bestaan door bewerkingscycli heen. Het kopiëren van een blad naar een andere werkmap kloont ook de sparklinegroepen
Versie 2.125.0
Toegevoegd
- Zeven DBCS-tekstfuncties die bytes tellen, evalueren nu op beide engines:
LEFTB,RIGHTB,MIDB,LENB,FINDB,SEARCHBenREPLACEB. Elk behandelt de invoer als een bytestring onder de systeem-ANSI-codepagina, zodat CJK-tekens (Chinees/Japan/Koreaans) 2 bytes innemen terwijl ASCII 1 byte inneemt; bewerkingen die een DBCS-lead/trail-bytepaar zouden splitsen, springen terug naar de dichtstbijzijnde tekenrand, overeenkomend met het gedrag van Excel
Versie 2.124.0
Toegevoegd
- Vijf hypothesetoets- en distributiefuncties evalueren nu op beide engines:
Z.TEST(eenzijdige rechterstaartkans dat het steekproefgemiddelde onder de nulhypothese ten minstexis),T.TEST(p-waarde van de gepaarde t-toets voor twee steekproeven; niet-gepaarde typen met gelijke/ongelijke variantie worden uitgesteld),CHISQ.TEST(goodness-of-fit-p-waarde via de bovenstaart-chikwadraat-CDF),HYPGEOM.DIST(hypergeometrische PMF/CDF met de cumulatieve vlag) enNEGBINOM.DIST(negatief-binomiale PMF/CDF). De p-waardeberekening hergebruikt de bestaande normale/Student-t/chikwadraat-CDF-helpers van de engine via zelfstandige geneste routines, zodat geen bestaande Calc-methode verandert
Versie 2.123.0
Toegevoegd
- Veertien formulefuncties uit een beoordeling van compatibiliteitshiaten evalueren nu op beide engines:
AVERAGEIF(gemiddelde met één criterium, de SUMIF/COUNTIF-tegenhanger die de engine miste),WORKDAY.INTLenNETWORKDAYS.INTL(aangepaste weekendmaskers via de codes 1-17 of een tekenreeks van 7 tekens ma-zo),XIRRenXNPV(intern rendement en netto contante waarde voor kasstromen met onregelmatige datums, opgelost via inklemming-bisectie),CEILING.PRECISE/FLOOR.PRECISE/ISO.CEILING(tekenonafhankelijk afronden),PERCENTRANK.INC/PERCENTRANK.EXC(percentielrang met de bijpassende inclusieve/exclusieve interpolatie),MODE.MULT(spilt elke waarde die gelijk is voor de hoogste frequentie),ERF.PRECISE(Gaussische foutfunctie via zijn alternerende reeks),ACCRINT(opgelopen rente) enISPMT(periodieke rente voor aflossing met constant hoofdsombedrag)
Versie 2.122.0
Toegevoegd
- Threaded-opmerkingen (Excel 365) retourvliegen nu op de XLSX-engine:
AddThreadedCommentenAddThreadedReplyop een werkblad bouwen een ouder→kind-antwoordboom die in een cel is verankerd, registreren elke auteur automatisch op een nieuwe werkmapniveau-lijstPersonsen zenden het speciale onderdeelxl/threadedComments/threadedCommentN.xmlper blad uit plus het werkmapgebondenxl/person/person.xml; het heropenen van zo'n pakket herbouwt de gespreksboom en deelnemerslijst uit die onderdelen, zodat antwoordketens, identificaties en weergavenamen een volledige lees→schrijfcyclus overleven
Versie 2.121.0
Toegevoegd
- De formule-evaluator berekent nu de dynamische-arrayfuncties van Excel 365
XMATCH,SORT,UNIQUEenSEQUENCE, naast de reeds ondersteundeXLOOKUPenFILTER; resultaten spillen als 2D-arrays zodatSEQUENCE(3;2;1;1)een 3×2-raster retourneert,SORTrijen opnieuw rangschikt op elke sleutelkolom oplopend of aflopend,UNIQUEdubbele rijen inklapt met behoud van het eerste voorkomen, enXMATCHrapporteert de 1-gebaseerde positie van een zoekwaarde met dezelfde exacte/vervangings-/kleiner-volgende/groter-volgende zoekmodi alsXLOOKUP
Versie 2.120.0
Toegevoegd
- Nieuwe methode
PasteFromClipboardop de werkbladen van beide engines leest door tabs gescheiden tekst van het Windows-klembord — de payload die Excel daar plaatst wanneer een bereik wordt gekopieerd, of een gewone selectie uit elke andere toepassing — en schrijft deze in cellen vanaf de opgegeven rij en kolom, met dezelfde getal-/datum-/booleaanse typepromotie die de CSV-loader al gebruikt; tekst die met=begint, wordt een actieve formule, overeenkomend met hoe Excel zelf plakt
Versie 2.119.0
Toegevoegd
- Lezen van ECMA-376 Agile Encryption — de wachtwoordbeveiliging die Excel 2010 en later standaard toepassen:
OpenEncryptedparseert nu de XML-versleutelingsbeschrijver, leidt de sleutels af met SHA-512 spin-count-hashing, verifieert het wachtwoord en ontsleutelt het gesegmenteerde AES-CBC-pakket (AES-128/192/256), zodat werkmappen die rechtstreeks in Excel met een wachtwoord zijn beveiligd, openen zonder dat Excel is geïnstalleerd OpenEncryptedbehandelt alle drie de gevallen via één toegangspunt: gewoon niet-versleuteld.xlsx, Standard Encryption (onzeSaveAsEncrypted-retourvlucht) en Agile Encryption; een onjuist wachtwoord levert in elk schema dezelfde duidelijke fout op
Opgelost
- Het opslaan van een
.xlsx-werkmap waarvan de werkblad-XML grofweg 116 KB overschreed — ongeveer 3.000 rijen met typische tekenreeksgegevens — crashte met een stack overflow; de CRC-32-checksum van de ZIP-schrijver verwerkt gegevens nu in segmenten van 64 KB, waardoor de compressiebackend uit het codepad voor grote invoer blijft dat een te grote tijdelijke buffer op de stack toewijst. Het checksumresultaat blijft ongewijzigd
Gewijzigd
- Deduplicatie van gedeelde tekenreeksen verloopt nu via een hashtabel in plaats van het scannen van de tekenreekslijst, en het onderdeel
sharedStrings.xmlwordt samengesteld via de vooraf gegroeide tekenreeksbuilder in plaats van herhaalde concatenatie — samen met de constante-tijd celindex brengt dit het opslaan van 120.000 tekenreekscellen van tientallen seconden terug naar ongeveer een derde van een seconde
Versie 2.117.0
Gewijzigd
- Celtoegang in XLSX is nu in constante tijd: de celverzameling van het werkblad draagt een hashindex over (rij, kolom), ter vervanging van de eerdere lineaire scan — zodat het vullen, teruglezen of laden van een groot blad lineair schaalt met het aantal cellen in plaats van kwadratisch; het vullen van 100.000 cellen duurt nu ruim onder een seconde waar dit eerder minuten kostte
- De versnelling geldt voor de hele engine:
Cells[r, c],HasCell, het laden van werkmappen, opslaan, kopieën tussen werkmappen, automatische aanpassing en elke helper die cellen op positie raakt, profiteren er allemaal van; het invoegen of verwijderen van rijen en kolommen herbouwt de index in één passage
Versie 2.116.0
Toegevoegd
- PDF-export in de klassieke XLS-engine: nieuwe
SaveAsPDF-methoden op het werkblad en de werkmap renderen het gebruikte bereik (of een door de beller aangeleverd bereik viaTXLSPDFExport) als een gepagineerd raster — celweergavetekst via de getalnotatie, rasterlijnen, kolombreedten afgeleid van de Excel-breedten en geschaald om op de pagina te passen, en automatische paginering over meerdere pagina's - Output is self-contained PDF 1.4 bestand met no external dependencies, met built-in Helvetica lettertype met WinAnsi tekst encoding; portrait van landscape A4 orientation, pagina margin, en lettertype size zijn configurable on exporter
- deze is data-presentation export alongside HTML en RTF: it reproduces tabular content en layout voor reports en document handoff rather than full per-cel styling
Versie 2.115.0
Toegevoegd
- Grafiekcreatie in één aanroep vanuit een gegevensbereik in de XLSX-engine: nieuw
AddChartFromRangebouwt een volledige grafiek en leidt de reeksen automatisch af uit een rechthoekig gegevensblok — het equivalent van 'grafiek invoegen uit selectie' van Excel — met een lay-out met reeksen in kolommen of getransponeerd met reeksen in rijen - Genoemde snelkoppelingen
AddColumnChart,AddBarChart,AddLineChart,AddPieChartenAddAreaChartkiezen een grafiektype op naam via dezelfde stroom van één aanroep, waarbij reeksnamen uit de headerrij en categorielabels uit de eerste kolom worden gelezen - Series references zijn qualified met source blad's quoted naam, so generated chart keeps working wanneer placed on any blad en survives save en reload
Versie 2.114.0
Toegevoegd
- RTF-import in de klassieke XLS-engine, de inverse van de bestaande
SaveAsRTF-export: nieuweOpenRTF-methoden op het werkblad en de werkmap lezen de tabel van een RTF-document in werkbladcellen —\cellschuift de kolom op,\rowschuift de rij op — vanaf A1 - Haalt tabelgegevens op uit bestanden die zijn geproduceerd door
SaveAsRTF, Word of WordPad: numerieke tekst wordt als getallen opgeslagen zodat formules blijven werken, hex- (\'hh) en Unicode- (\uN) escapes worden correct gedecodeerd, en headergroepen (lettertypetabel, kleurentabel, stylesheet, info) worden overgeslagen - Documenten zonder tabel vallen terug op de alineamodus, waarbij elk
\parwordt geïmporteerd als de volgende rij in kolom A
Versie 2.113.0
Toegevoegd
- Lezen van versleutelde
.xlsx-werkmappen:OpenEncryptedontsleutelt nu pakketten met ECMA-376 Standard Encryption (AES-128), waarmee de retourvlucht met de bestaandeSaveAsEncryptedwordt voltooid — het leest de compositebestandscontainer, leidt de sleutel af uit het wachtwoord, verifieert deze en laadt de herstelde werkmap - Een onjuist wachtwoord levert een duidelijke fout 'wachtwoord is onjuist' op, en
OpenEncryptedop een gewoon niet-versleuteld.xlsxblijft het direct laden, zodat bellers elk bestand via één toegangspunt kunnen leiden
Gewijzigd
- Het bericht over niet-ondersteunde versleuteling noemt ECMA-376 Agile Encryption nu specifiek als het resterende niet-ondersteunde schema, aangezien het lezen en schrijven van Standard Encryption beide beschikbaar zijn
Versie 2.112.0
Toegevoegd
- Nieuwe eigenschap
TaggedTextop XLSX-cellen converteert tussen rijke tekst en lichtgewicht opmaak:<b>,<i>,<u>,<s>,<sub>,<sup>,<color=#RRGGBB>,<font=Name>en<size=N>, met</>/&-escapes — zodat celinhoud met meerdere formaten kan worden geproduceerd uit een sjabloonreeks in plaats van runobjecten handmatig samen te stellen - Het schrijven van opmaak bouwt de runlijst en houdt
Valueals de samengevoegde platte tekst; opmaak zonder tags slaat een gewone string op zonder rijke inhoud; lezen serialiseert de kenmerken van elke run als volledige tagsets; onbekende tags worden als letterlijke tekst doorgegeven
Opgelost
- Een rich-tekstrun die volledig uit witruimte bestaat (bijvoorbeeld een enkele opgemaakte spatie tussen woorden) overleeft nu opslaan en opnieuw laden; voorheen werd de spatie verwijderd wanneer het bestand opnieuw werd geopend
Versie 2.111.0
Toegevoegd
- Nieuw
OnProgress-gebeurtenis op de XLSX-werkmap rapporteert laad- en opslagvoortgang: hij wordt één keer per werkblad geactiveerd wanneer het tijdensOpenwordt geparseerd of tijdensSaveAswordt uitgezonden, met de fase (lezen of schrijven), het huidige 1-gebaseerde bladnummer en het totaal — zodat toepassingen over lange operaties met meerdere bladen een voortgangsbalk kunnen aansturen tegen verwaarloosbare callbackkosten
Versie 2.110.0
Toegevoegd
- Nieuwe
TXLSRowCursor-rijcursor in datasetstijl voor.xlsx/.xlsm-bestanden:Open,SelectSheet, vervolgens lopenFindFirst/FindNexteen werkblad één rij tegelijk door, met alleen de cellen van de huidige rij in het geheugen — een pull-gedreven alternatief voor de callbacks vanTXLSDirectReadervoor het sequentieel verwerken van werkbladen met miljoenen rijen - Elke rij stelt het 1-gebaseerde werkbladrijnummer bloot, de gevulde cellen in documentvolgorde (getypeerde waarde, formuletekst, stijlindex) en een
ValueByCol-lookup dieNullretourneert voor kolommen die op die rij niet zijn gevuld; rijen zonder gevulde cellen worden overgeslagen - Bladnamen en -aantal zijn beschikbaar na
Open(overloads voor bestand en stroom), waarbij gedeelde tekenreeksen en datumnotatiedetectie op dezelfde manier worden behandeld als bij de streaming-lezer
Versie 2.109.0
Toegevoegd
- Nieuwe
TXLSXCellFormat-"opmaakkwast" voor de XLSX-engine: beschrijf lettertype, opvulling, rand, uitlijning, getalnotatie en beveiliging één keer en stempel vervolgens elk aantal doelen metApply(enkele cel),ApplyRange,ApplyRows,ApplyColsofApplySheet - Alleen de aspecten die daadwerkelijk zijn aangeraakt worden toegepast — een kwast die alleen
Font.Boldinstelt laat de opvullingen, randen en getalnotaties van de doelen onaangeraakt — zodat kwasten zich samenvoegen met bestaande opmaak, net als de opmaakkwast van Excel - Elke toepassing lost de aangeraakte aspecten één keer op in de stijlpoelen van de werkmap en schrijft vervolgens alleen poelindexen per cel, zodat het opmaken van grote bereiken één poelopzoeking per aspect kost in plaats van per cel;
ApplyRangematerialiseert ontbrekende cellen, terwijl de rij-/kolom-/bladvormen alleen bestaande cellen stempelen
Versie 2.108.0
Toegevoegd
- Lokaliseerbare booleaanse weergavetekst: de nieuwe variabelen
XLSBooleanTrueText/XLSBooleanFalseTextbepalen hoe booleaanse celwaarden worden weergegeven waar weergavetekst wordt geproduceerd —FormattedText, HTML-export en auto-fit-meting — zodat gelokaliseerde toepassingen bijvoorbeeld WAHR/FALSCH of VRAI/FAUX kunnen tonen
Gewijzigd
- Booleaanse cellen worden nu standaard weergegeven als
TRUE/FALSE, overeenkomstig het raster van Excel, in plaats van deTrue/False-hoofdletternotatie van de runtime
Versie 2.107.0
Toegevoegd
- Nieuwe
OnPassword-gebeurtenis op de klassieke XLS-werkmap: wanneerOpeneen versleutelde werkmap tegenkomt en het opgegeven wachtwoord ontbreekt of onjuist is, vraagt de gebeurtenis de toepassing om een wachtwoord en wordt het openen opnieuw geprobeerd (maximaal drie pogingen) — zodat interactieve tools de gebruiker kunnen vragen in plaats van wachtwoorden vooraf te laden of foutcodes te inspecteren - De gebeurtenis ontvangt het huidige wachtwoord by reference en een
Retry-vlag;RetryopFalselaten staan geeft het op en retourneert de oorspronkelijke wachtwoordfout
Versie 2.106.0
Toegevoegd
- Nieuwe
TXLSFileMonitor-klasse bewaakt een werkmapbestand op schijf en activeertOnFileChangedwanneer een ander proces — meestal Excel — eroverheen opslaat, zodat toepassingen hun weergave automatisch opnieuw kunnen laden en vernieuwen - Op polling gebaseerd (tijd van laatste schrijfbewerking plus grootte,
IntervalMsconfigureerbaar, standaard 1 s), zodat het op lokale schijven en netwerkshares werkt zonder een berichtenlus;SynchronizeEventkiest tussen levering op de hoofdthread voor UI-handlers (standaard) en directe levering op de watcher-thread voor console- of servicecode - Een bestand dat kort verdwijnt tijdens een opslagcyclus activeert geen onterechte gebeurtenis; de wijziging wordt gerapporteerd zodra de nieuwe inhoud op zijn plaats staat
Versie 2.105.0
Toegevoegd
- Begrensde auto-fit in de klassieke XLS-engine, overeenkomstig de limieten die de XLSX-engine al biedt: nieuwe
AutoFit(Columns, AMin, AMax)-,ColumnsAutoFit(AMinWidth, AMaxWidth)- enRowsAutoFit(AMinHeight, AMaxHeight)-overloads klemmen elke aangepaste kolombreedte (Excel-breedte-eenheden) of rijhoogte (punten) vast op het opgegeven bereik — 0 laat een zijde onbegrensd, en een volledig lege kolom of rij ontvangt nog steeds het gevraagde minimum
Versie 2.104.0
Toegevoegd
- Nieuwe alleen-lezen
FormattedText-eigenschap retourneert de weergavetekst van een cel — de opgeslagen waarde gerenderd door de getalnotatie, zoals Excel die in het raster toont — met duizendtalscheidingstekens, decimalen, percentages, datum- en tijdmaskers, maskers met meerdere secties voor positief/negatief/nul en booleaanse notaties - Beschikbaar in beide engines: op
IXLSRangein de klassieke XLS-engine (bereiken met meerdere cellen renderen hun ankercel) en opTXLSXCellin de XLSX-engine (cellen met rijke tekst retourneren hun samengevoegde run-tekst)
Versie 2.103.0
Toegevoegd
- Nieuwe
DetectExcelContentFormat-functie (overloads voor bestandsnaam en stroom) identificeert de container van een werkmap aan de hand van de eerste bytes in plaats van de bestandsextensie — met als uitkomst een BIFF/OLE-compoundbestand, een OOXML-.xlsx-pakket, een OpenDocument-.ods-pakket of gewone gescheiden tekst — zodat toepassingen hernoemde of extensieloze bestanden naar de juiste loader kunnen leiden
Gewijzigd
TXLSWorkbook.Opencontroleert nu de inhoudssignatuur en wijst ZIP-gebaseerde pakketten af (een.xlsxof.odshernoemd naar.xls) met een duidelijke boodschap die de juiste loader benoemt, in plaats van te falen met een ondoorzichtige foutcodeTXLSXWorkbook.Openherkent nu OLE-compoundbestandsinhoud (een legacy.xlshernoemd naar.xlsx, of een versleuteld pakket) en meldt wat het bestand werkelijk is, in plaats van een ZIP-parserfout te tonen
Versie 2.102.0
Toegevoegd
- Het kopiëren van werkbladen tussen werkmappen in de klassieke XLS-engine (BIFF8) brengt nu de gedefinieerde namen op werkmapniveau die een formule gebruikt over naar de bestemming — hetzelfde wat Excel doet wanneer een blad tussen werkmappen wordt verplaatst: een naam die de bestemming al heeft, wordt ongewijzigd gebonden (er wordt geen duplicaat gemaakt), een ontbrekende naam wordt geregistreerd met de oorspronkelijke definitie en zichtbaarheid zodat de formule ertegen wordt gehercompileerd, en een naam waarvan de definitie niet kan worden opgelost in de bestemming (bijvoorbeeld wanneer hij verwijst naar een blad dat daar niet bestaat) laat de formule op de berekende waarde zoals voorheen
Versie 2.101.0
Toegevoegd
- Het kopiëren van werkbladen tussen werkmappen in de klassieke XLS-engine (BIFF8) verwijst formules nu opnieuw naar de bronwerkmap als externe koppeling wanneer de bestemming geen blad met de gerefereerde naam heeft en de bron naar een bestand is opgeslagen: de gekopieerde cel blijft een levende formule (de verwijzingen schakelen over naar de vorm [SourceBook]Blad), de berekende waarde van de bron wordt bewaard als het gecachte resultaat zodat leesbewerkingen blijven werken totdat de koppeling wordt vernieuwd, en de externe werkmapverwijzing leest heen en terug via opslaan en opnieuw laden; formules met verwijzingen naar gedefinieerde namen en kopieën van niet-opgeslagen bronwerkmappen behouden de berekende waarde zoals voorheen
Versie 2.100.0
Toegevoegd
- Matrixformules overleven nu werkbladkopieën in de klassieke XLS-engine (BIFF8): elk matrixbereik wordt in de kopie als geheel herbouwd — zowel binnen dezelfde werkmap als tussen werkmappen — waarbij de rootformule tegen de bladnamen van de bestemming wordt gehercompileerd; een matrix die de bestemming niet kan hercompileren, behoudt in plaats daarvan de berekende waarden
Opgelost
- Het kopiëren van een bereik dat matrixformule-cellen bevat tussen klassieke XLS-werkbladen riskeert geen crash meer op de spill-cellen (die zelf geen formuleboom dragen); dergelijke cellen dragen nu hun berekende waarde over
Versie 2.99.0
Toegevoegd
- Grafiekbladen kunnen nu worden gekopieerd tussen klassieke XLS-werkmappen (BIFF8): de grafiekrecordstroom wordt naar de bestemming gekloond, de reeks-categorie-/waarde-/naamverwijzingen worden gehercompileerd tegen de bladnamen van de bestemming (een reeks waarvan het blad geen tegenhanger met dezelfde naam heeft, valt terug op een lege verwijzing zodat het bestand nog steeds opent), de lettertypeverwijzingen van de grafiek migreren op waarde naar de lettertypetabel van de bestemming, en de pagina-instelling, tabkleur, zoom en zichtbaarheid van het grafiekblad gaan mee; dit verwijdert de laatste gedocumenteerde beperking van het kopiëren van werkbladen tussen werkmappen
Versie 2.98.0
Toegevoegd
- Het kopiëren van werkbladen tussen werkmappen in de klassieke XLS-engine (BIFF8) behoudt nu de opmaak van rijke tekst binnen cellen: het lettertype van elke opmaakrun wordt op waarde gemigreerd naar de lettertypetabel van de bestemmingswerkmap en de run wordt herschreven om ernaar te verwijzen, zodat tekenreeksen met gemengde lettertypen hun uiterlijk behouden in plaats van terug te vallen op platte tekst; fonetische (Verre Oosten) hulpgegevens reizen ook met de tekenreeks mee
Opgelost
- Lettertypen die alleen door rich-tekstruns worden gerefereerd (en niet door enige celopmaak) worden niet langer uit de lettertypetabel verwijderd bij het opslaan van een klassieke XLS-werkmap, en de runs volgen nu dezelfde lettertypeherschikking als celopmaken bij het opslaan, zodat rich-tekstreeksen na een opslaan/opnieuw laden-cyclus de juiste lettertypen behouden
Versie 2.97.0
Toegevoegd
- Het kopiëren van werkbladen tussen werkmappen in de klassieke XLS-engine (BIFF8) kloont nu ook ingesloten afbeeldingen: de afbeeldingsbytes migreren naar de afbeeldingenopslag van de bestemmingswerkmap (identieke afbeeldingen worden gedeeld in plaats van gedupliceerd), en elk afbeeldingsframe behoudt zijn celanker, grootte, zichtbaarheid en transparante kleur; een nieuw voorbeeldproject CrossWorkbookCopyXls demonstreert de kopie van de klassieke engine van begin tot eind
Gewijzigd
- De beperkingen van de klassieke XLS-kopie tussen werkmappen zijn nu gedocumenteerd: grafiekbladen worden niet gekopieerd (AddCopy retourneert nil ervoor), en een formule waarvan de bladverwijzing geen blad met dezelfde naam in de bestemming heeft, behoudt de berekende waarde van de bron in plaats van een externe verwijzing te worden
Versie 2.96.0
Toegevoegd
- Het kopiëren van werkbladen tussen werkmappen in de klassieke XLS-engine (BIFF8) kloont nu ook voorwaardelijke opmaak (cel-is- en expressieregels, gegevensbalken, kleurschalen, iconsets en hun differentiële stijlen), gegevensvalidaties (lijst-, numerieke, datum-, tekstlengte- en aangepaste regels met prompt- en foutvensters), de AutoFilter-definitie met zijn criteria per kolom (de vervolgkeuzeknoppen worden in de kopie herbouwd), en tabellen (ids en namen worden opnieuw uitgegeven zodat ze uniek blijven in de bestemmingswerkmap); de regelformules worden gehercompileerd tegen de bladnamen van de bestemming, overeenkomstig het gedrag van celformules
Versie 2.95.0
Toegevoegd
- Klassieke XLS-werkbladen (BIFF8) kunnen nu van de ene werkmap naar de andere worden gekopieerd: TXLSWorksheets.AddCopy voegt een nieuw blad toe aan de bestemmingswerkmap en kopieert de celwaarden van het bronblad, formules (opnieuw gecodeerd als tekst zodat de bestemming ze tegen de eigen bladnamen hercompileert, waardoor 3D-verwijzingen met dezelfde naam levend blijven), samengevoegde cellen, opmerkingen, hyperlinks, rijhoogten, kolombreedten, overzichtsniveaus, bevroren deelvensters, werkbladbeveiliging, pagina-instelling, handmatige paginaeinden, tabkleur en weergave-instellingen; cel-, rij- en kolomopmaak wordt op waarde gemigreerd naar de opmaaktabel van de bestemmingswerkmap, zodat een opgemaakte bron een onafhankelijk opgemaakte kopie oplevert
- De opmaakmigratie tussen werkmappen in de klassieke XLS-engine draagt nu de RGB- en themakleuren met volledige precisie mee naast elk opmaakitem, zodat opvullingen, lettertypen en randen hun exacte kleuren behouden in plaats van terug te vallen op paletbenaderingen; dit geldt ook voor plakken op bereikniveau tussen werkmappen
Versie 2.94.0
Toegevoegd
- Het kopiëren van werkbladen tussen werkmappen kloont nu voorwaardelijke opmaak (met hun differentiële stijlen en de visuele dataBar / colorScale / iconSet-payloads), tabellen, gegevensvalidaties en grafieken (met elke reeks); elk subobject kopieert zijn eigen status diepgaand naar het bestemmingswerkblad
- Formuleverwijzingen tussen werkmappen worden herschreven: een verwijzing waarvan de bladnaam in de bestemming bestaat, wordt ongewijzigd opgelost, anders wordt het een externe verwijzing terug naar de bronwerkmap (die als externe koppeling wordt geregistreerd) of #REF! wanneer de bron geen bestandsidentiteit heeft; de herschrijving geldt voor celformules, regels voor voorwaardelijke opmaak, formules voor gegevensvalidatie en grafiekreeksbereiken
Versie 2.93.0
Toegevoegd
- Een werkblad kan nu van de ene werkmap naar de andere worden gekopieerd: TXLSXSheets.AddCopy voegt een nieuw blad toe aan de bestemmingswerkmap en kopieert de cellen van het bronblad, formules, samengevoegde bereiken, kolom-/rijgrootte, vlaggen voor verborgen/ingeklapt/overzicht, bevroren deelvensters, weergavestatus, beveiliging, pagina-instelling, AutoFilter-bereik en tabkleur ernaartoe; de zes stijlindexen per cel worden via opzoeking op waarde-gelijkheid opnieuw toegewezen aan de eigen lettertype/Fill/rand/NumberFormat/Alignment/Protection-pools van de bestemmingswerkmap, zodat een opgemaakte bron een onafhankelijk opgemaakte kopie oplevert in plaats van indexen die naar de verkeerde pool wijzen
- six per-attribute stijl pools (lettertypen, Fills, randen, NumberFormats, Alignments, Protections) each expose 1-gebaseerd LookupOrAdd dat deduplicates door waarde; new CrossWorkbookCopy sample project demonstrates cross-werkmap copy met stijl behoud
Versie 2.92.0
Toegevoegd
- XLSX-werkmappen ondersteunen nu draaitabellen: TXLSXWorksheet.AddPivotTable scant een vlak bronbereik, bouwt automatisch een pivot-cache en retourneert een getypeerde draaitabel voor de bedrading van de rij-/kolom-/pagina-/gegevensas, als spiegelbeeld van de al lang bestaande BIFF8-(XLS)-engine-API zodat dezelfde code op beide formaten is gericht; PivotSetDataFieldFormat wijst een getalnotatie toe aan elk geaggregeerd waardenveld
- Door Excel gemaakte draaitabellen lezen zonder verlies heen en terug via Openen en vervolgens Opslaan: de XLSX-engine behoudt elke pivot-cachedefinitie, cacherecords en het draaitabelonderdeel woordelijk en speelt bij opslaan de oorspronkelijke bytes af, zodat het opnieuw opslaan van een werkmap de draaitabellen nooit verwijdert of wijzigt, zelfs niet wanneer ze functies gebruiken die het getypeerde model niet blootlegt
Versie 2.91.0
Toegevoegd
- Een werkblad-AutoFilter kan nu worden toegepast op de gegevens, zodat de opgeslagen werkmap opent met de niet-overeenkomende rijen al verborgen, wat overeenkomt met wat Excel doet wanneer een waarde wordt gekozen uit de filtervervolgkeuzelijst
- Ingesloten afbeeldingen stellen hun geometrie bloot in echte eenheden (centimeters, inches, punten) naast de EMU-waarden, en kunnen worden vergroot of verkleind met een schaalfactor met optionele aspectratio-vergrendeling
- Pagina-instelling marges kunnen direct in centimeters worden ingesteld, als een metrisch gemak bovenop de inch-gebaseerde marges
- Beveiligde XLSX-werkbladen bieden nu vijftien fijnmazige machtigingsschakelaars (cellen opmaken, rijen en kolommen invoegen/verwijderen, sorteren, AutoFilter, vergrendelde/ontgrendelde cellen selecteren en meer) via een nieuwe AllowOption-eigenschap, overeenkomend met Excel's Controleren > Blad beveiligen selectievakjes; de instellingen per actie maken een retourvlucht door het bestand
- XLSX-werkbladen kunnen nu worden gedupliceerd (TXLSXSheets.Duplicate): een nieuw blad wordt toegevoegd en de cellen, samengevoegde bereiken, kolom-/rijgrootte, bevroren deelvensters, weergavestatus, beveiliging, pagina-instelling en tabkleur van de bron worden ernaartoe gekopieerd, in navolging van Excel's rechtermuisklik > Verplaatsen of kopiëren > Een kopie maken
- Tweeëntwintig nieuwe voorbeeldprojecten behandelen mogelijkheden die de bibliotheek ondersteunt: werkmapversleuteling, celopmerkingen, hyperlinks, gedefinieerde namen, AutoFilter-evaluatie, ingesloten afbeeldingen, een factuursjabloon, geavanceerde XLSX voorwaardelijke opmaak, samengevoegde cellen, rij-/kolomoverzicht, bevroren deelvensters, lay-out met meerdere bladen, matrixformules, bereik kopiëren/verplaatsen, zoeken/vervangen, datumsystemen, rijke tekst, geavanceerde CSV, HTML-exportopties, aangepaste getalnotaties, verborgen rijen/kolommen en werkbladbeveiliging
Versie 2.90.29
Gewijzigd
- De streaming directe lezer telt nu elke gevulde cel, zelfs wanneer er geen handler per cel is gekoppeld, zodat een eenvoudige ReadFile-aanroep kan worden gebruikt om snel de grootte van een werkblad te bepalen; het geretourneerde aantal en de eigenschap CellCount rapporteren het aantal gescande gevulde cellen
Versie 2.90.28
Toegevoegd
- Formules kunnen nu stap voor stap worden geëvalueerd, het equivalent van de Excel-opdracht 'Formule evalueren': een nieuwe tracer verkleint een expressie één substap per keer, te beginnen bij de binnenste, en rapporteert elke verkleining met de oorspronkelijke sub-expressie, dezelfde sub-expressie nadat de operanden zijn vervangen door hun waarden, en de resulterende waarde, zodat toepassingen kunnen laten zien hoe een resultaat wordt opgebouwd; het respecteert de prioriteit van operators, houdt bereikverwijzingen intact voor functies zoals SUM, en hergebruikt de rekenmachine van het werkblad zodat elke stap overeenkomt met een volledige herberekening
Versie 2.90.27
Toegevoegd
- XLSX-werkmappen kunnen nu cel voor cel worden geproduceerd via een nieuwe streaming directe schrijver die elk werkblad rechtstreeks in het pakket uitzendt naarmate er rijen binnenkomen, zonder een volledige celboom in het geheugen op te bouwen, waardoor zeer grote bestanden kunnen worden gegenereerd met een vrijwel constante geheugenvoetafdruk; de schrijver verwerkt inline tekenreeksen, getallen, booleans, datums en formules over meerdere bladen en werkt samen met de streaming directe lezer
Versie 2.90.26
Toegevoegd
- XLSX-werkmappen kunnen nu cel voor cel worden gescand via een nieuwe streaming directe lezer die gebeurtenissen per cel en per blad genereert zonder een volledige celboom in het geheugen op te bouwen, waardoor de geheugenvoetafdruk vrijwel constant blijft voor zeer grote bestanden; elke gerapporteerde cel bevat zijn waarde, type (getal, tekenreeks, boolean, datum of fout), formletekst en stijlindex, met optionele datumdetectie en ondersteuning voor vroegtijdig afbreken
Versie 2.90.25
Toegevoegd
- Klassieke XLS-werkbladen kunnen nu hyperlinks toevoegen vanaf A1-stijl celverwijzingen met behoud van URL-normalisatie, subadressen van werkmapdoelen, weergavetekst en schermtips
Versie 2.90.24
Toegevoegd
- Klassieke XLS-pagina-einden kunnen nu worden toegevoegd vanaf 1-gebaseerde rij- of kolomposities en A1-stijl celverwijzingen via pagina-einde-collectie en werkblad-helper-overloads
Versie 2.90.23
Toegevoegd
- Klassieke XLS-werkbladen en vormencollecties kunnen nu rechthoek-, ovaal-, lijn- en getypeerde autovorm-tekenobjecten maken van A1-stijl bereiktekenreeksen
Versie 2.90.22
Toegevoegd
- Klassieke XLS-vormencollecties kunnen nu tekstvakken maken van A1-stijl bereiktekenreeksen via een AddTextBox-overload
Versie 2.90.21
Toegevoegd
- Klassieke XLS-tekstvakken kunnen nu worden verplaatst vanaf A1-stijl bereiktekenreeksen via een nieuwe SetArea-overload
Versie 2.90.20
Toegevoegd
- Klassieke XLS-werkbladtekstvakken kunnen nu worden gemaakt van A1-stijl bereiktekenreeksen via een AddTextBox-overload
Versie 2.90.19
Toegevoegd
- Klassieke XLS-werkbladen kunnen nu direct teken-tekstvakken maken van rij- en kolomankers via een nieuwe AddTextBox-methode
Versie 2.90.18
Toegevoegd
- Klassieke XLS-werkbladen kunnen nu celopmerkingen direct maken van rij- en kolomcoördinaten via nieuwe AddComment-overloads