HotXLS versionsnoteringar
Versionshistorik för användarsynliga HotXLS-funktioner, rättningar, XLS/XLSX-förbättringar, exportuppdateringar, kompatibilitetsändringar och dokumentationsändringar
Senaste utgåva
- Senaste version: 2.229.0; Publiceringsdatum: 2026-08-03
Version 2.229.0
Tillagt
TXLSXWorksheet.HeaderFooterImagesskapar, hittar, ersätter och tar nu bort typade bildplatser för varje vänster, mitten- och höger position för sidhuvud eller sidfot på udda, jämna och första sidor- Sidhuvuds- och sidfotsbilder exponerar sina rådata, format, titel, punktdimensioner och punktmarginaler, med direkt inläsning från PNG-, JPEG-, GIF-, BMP-, EMF- och WMF-filer
Ändrat
- Jämna-sidor- och förstasidors-bilder aktiverar automatiskt matchande sidvarianter och upprätthåller de obligatoriska bildfältskoderna när sidhuvuds- eller sidfotstext redigeras
Rättat
- Kalkylbladskommentarer och sidhuvuds- eller sidfotsbilder behåller nu oberoende VML-relationer när de delar ett kalkylblad
- Excel-skapade bildplatser för sidhuvud och sidfot bevarar nu sina bildbytes, format, titlar, dimensioner, marginaler och relationer genom öppna- och spara-cykler
Version 2.228.0
Tillagt
- Klassiska XLS-kalkylblad och formsamlingar skapar och upptäcker nu typade
TXLSButton- ochTXLSRadioButton-kontroller vid sidan av kryssrutor, kombinationsrutor och listrutor - Formulärkontroller exponerar nu makronamn, länkade celler, indataområden, krysslägen, platt eller 3D-utseende och radiogrupplänkar genom typade egenskaper
- Definierade namn exponerar
IsMacroså att makrobindingar behåller den nödvändiga metadatan för arbetsbokens namn
Rättat
- Att redigera och spara klassiska formulärkontroller igen kastar inte längre bort krysslägen, makrobindingar, formler för länkade celler, källområden eller metadata för radiogrupper som stöds
- Att rensa ett källområde för en kombinationsruta eller listruta tar nu bort den serialiserade indataformeln istället för att återställa det tidigare området vid nästa öppning
Version 2.227.0
Tillagt
LINESTochLOGESTreturnerar nu kompletta multivariabla koefficient-arrayer och valfria fem-radiga statistikmatriserTRENDochGROWTHreturnerar nu formade förutsägelse-arrayer för en- och multivariabla indata
Ändrat
- Arrayaritmetik, jämförelser, konkatenering, unär negering och procentoperationer sänder nu skalärer och ensamma rader eller kolumner samtidigt som per-cell resultat behålls
- Beräkningsberoenden expanderar nu nästlade arbetsboks- och kalkylbladsnamn, formeldefinierade namn och multi-area-referenser med omfångsmedvetet cykelskydd
Rättat
- Ett fel i ett arrayelement kollapsar inte längre det kompletta resultatet och faller inte felaktigt tillbaka på skalär utvärdering
- Formeldefinierade namn vars beroenden kan lösas statiskt tvingar inte längre fram onödig volatil fullständig omberäkning
Version 2.226.0
Tillagt
- Befintliga XLSX-pivotcacher och pivottabellvyer laddas nu in i den typade modellen via paketrelationer, inklusive cacheposter, fält, delade objekt, gruppering, filter, format, beräknade definitioner och tillägg
TXLSPivotTable.Makeutvärderar nu beräknade cachefält, beräknade objekt och beräknade datamedlemmar med beroendemedveten namnbinding- Utökade
ShowDataAs-lägen lägger till föräldraprocent, löpande procent samt stigande eller fallande rang med giltig XLSX-tilläggsmarkering
Ändrat
- Pivotresultatgenerering tillämpar nu objektsynlighet, sidval samt rubrik-, datum-, aggregat- och värdefilter innan grupperade domäner byggs
- Numeriska, datum- och diskreta grupper, etikett- eller datavärde-sortering, konfigurerade delsummor och valfria materialiserade totalrader eller -kolumner deltar nu i resultatgenerering
Rättat
- Pivotfilter använder nu schemagiltig rotnivå-filtermarkering och symboliska filtertyper istället för tvetydiga numeriska värden
- Relationsdriven inläsning antar inte längre konventionella eller sekventiella pivotcache-, cachepost- eller pivottabell-delenamn
Version 2.225.0
Tillagt
TXLSXWorkbook.ConnectionsochTXLSXWorksheet.QueryTableserbjuder nu typat skapande och redigering för metadata för externa databaser, webb, text och frågeresultat- Anslutningsparametrar bevarar sin exakta Boolean-, heltals-, flyttals-, sträng- eller cellreferenstäyp, inklusive explicita noll-, false- och tomma strängvärden
Ändrat
- XLSX-öppning och -sparning löser och skriver nu anslutnings- och frågetabelldelar via sina ägande relationer, synkroniserar resultattabeller och definierade namn och bevarar okända attribut, barnnoder och tilläggslistor
- Rad- och kolumnredigeringar håller frågeresultatintervall justerade, medan kopiering av kalkylblad i samma arbetsbok och mellan arbetsböcker bevarar frågeägarskap och mappar om anslutningsidentifierare och motstridiga namn
Rättat
- Frågetabeller kan samexistera med standardtabeller, trådade kommentarer och pivottabeller utan kollisioner av Relationsidentifierare för kalkylblad eller arbetsbok
Version 2.224.0
Tillagt
- Klassiska XLS- och moderna XLSX-kalkylblad exponerar nu
AddDataTableochDataTablesför What-If-datatabeller med en variabel för rad, en variabel för kolumn och två variabler
Ändrat
- Omräkning av arbetsboken utvärderar varje datatabellresultat med en isolerad inmatningskontext, inklusive indirekta formelberoenden, och bevarar definitioner plus cachade resultat genom öppna, spara, kalkylbladskopior och strukturella rad- eller kolumnredigeringar
Rättat
- Borttagna What-If-inmatningsceller producerar nu
#REF!-resultat, och klassisk arbetsboksomräkning besöker varje kalkylblad istället för att utelämna det första bladet - Att infoga rader längst upp i ett klassiskt kalkylblad riskerar inte längre ett åtkomstfel på Win64
Version 2.223.0
Ändrat
- Avbrytning av parallell direktläsare sprids nu genom aktiva ZIP-medlemsläsningar och varje dekomprimeringssteg istället för att vänta på nästa XML-drag
Rättat
- Att avbryta en parallell kalkylbladsskanning väntar inte längre på att en stor komprimerad XML-läsning ska slutföras innan blockerade arbetare frigörs
Version 2.222.0
Tillagt
TXLSDirectReader.ParallelBufferMemoryLimitbegränsar aggregerad raw-cell-kö-last för parallell kalkylbladsskanning, medanParallelPeakBufferedBytesexponerar den uppmätta toppen för diagnostik och kapacitetstester
Ändrat
- Parallella direkta läsningar strömmar nu ZIP-poster för kalkylblad till arbetslokala XML-läsare och begränsade producent-konsument-köer istället för att behålla fullständigt uppackat kalkylblads-XML och fullständiga cellbuffertar per blad
- Aktiva kalkylblad erhåller oberoende köbudgetar och bearbetas i fönster i arbetarstorlek, vilket bevarar återanropsordning utan att tillåta senare kalkylblad att svälta ut det kalkylblad som för närvarande sänds
Rättat
- Cellavbrott, återanropsfel och arbetsfel väcker nu blockerade producenter och konsumenter, stoppar XML-drag samarbetsvilligt, sammanfogar alla arbetare och lämnar direktläsaren återanvändbar
Version 2.221.0
Ändrat
- Att öppna XLSX med flera blad strömmar nu varje ZIP-post för kalkylblad direkt till dess arbetslokala inflaterare och XML-läsare istället för att behålla uppackat kalkylblads-XML före tolkning
- Samtidiga kalkylbladsläsare serialiserar endast korta positionerade läsningar från paketkällan, så dekomprimering och XML-tolkning förblir parallella medan övergående kalkylbladsinmatningsminne begränsas av antalet aktiva arbetare
Version 2.220.0
Tillagt
- Resultatgenerering för pivottabell kör nu alla nio klassiska
ShowDataAs-lägen, inklusive differens, procent av ett baselement, procentuell differens, löpande summa, procent av rad, procent av kolumn, procent av total och indexberäkningar xlPivotBaseItemPreviousochxlPivotBaseItemNexttillhandahåller typade väljare för intilliggande baselement i jämförelseberäkningar
Ändrat
- Pivotprocent och indexvärden använder rad-, kolumn- och totalsummor som aggregeras direkt från källposterna, och bevarar korrekt semantik för Average, Product, Count, varians och standardavvikelse utan att skanna om källan
- Löpande summor följer pivotobjektets ordning, återställs oberoende för varje peer-grupp och behåller gles resultatlagring för pivottabeller med hög kardinalitet
Rättat
- BIFF8-
SXDI-poster använder nu den standardiserade fasta 14-byteslayouten och bevararShowDataAs, basfält, baselement, nummerformat och visningsnamn via typade läsningar, medan äldre HotXLS-poster förblir läsbara - XLSX-datafält skriver nu pivotfältindex, mappar föregående och nästa väljare till de obligatoriska OOXML-värdena och avger basattribut endast för de lägen som använder dem
- Saknade jämförelseceller förblir tomma, medan existerande nollnämnare returnerar
#DIV/0!istället för att förväxlas med saknade data
Version 2.219.0
Rättat
VDBtillämpar nu variabel avskrivning med degressiv avskrivning över fraktionerade perioder, byter till linjär avskrivning när det är fördelaktigt och respekterarno_switch- Nollfaktorer, restvärdesgränser, fraktionerade startperioder och ogiltiga periodintervall följer nu Excel-kompatibla resultat istället för att avrunda perioder och returnera en förenklad approximation av degressiv avskrivning
Version 2.218.0
Tillagt
TXLSXWorksheet.Scenariostillhandahåller nu typad redigering av What-If Scenario Manager med namngivna scenarier, aktiva och visade index, cellintervall som ändras, användar- och kommentarmetadata, låsta och dolda tillstånd samt ägda indatacellsvärden- Scenariedefinitioner följer nu kalkylbladskopior och strukturella rad- eller kolumnredigeringar, medan Excel-kompatibilitetsgränser valideras innan ogiltiga metadata kan skrivas
Rättat
- Öppna och spara Excel-skapade scenarier bevarar nu rotattribut och nästlade indataceller istället för att platta ut hierarkin till förlustbringande rå XML
- Scenario-, AutoFilter-, datakonsoliderings-, sammanslagningscell- och fonetiska kalkylbladselement använder nu schemaordningen så att strikta kalkylbladskonsumenter inte kräver en reparationssweep
Version 2.217.0
Tillagt
TXLSXWorksheet.IgnoredErrorserbjuder nu typad redigering för varje standardkategori av ignorerade fel med flervalsreferenser, stöd för kopiering av kalkylblad, uppdateringar vid strukturella redigeringar samt öppna/spara-rundturerTXLSXWorkbookexponerar nu referensläge, omberäkna vid sparning, full precision, samtidig beräkning och manuella samtidighetsinställningar vid sidan av sina befintliga beräkningsalternativ
Rättat
- Varje beräkningsinställning för arbetsboken som inte är standard producerar och rundturar nu oberoende ett schemaordnat
calcPr-element, inklusive iterationsgränser som konfigurerats innan iteration aktiveras - Beräkningslägen, referenslägen, iterationsgränser, beräkningsidentifierare och manuella samtidighetsräknare avvisar eller normaliserar nu ogiltiga värden i stället för att skriva ett tvetydigt arbetsbokstillstånd
Version 2.216.0
Ändrat
XMATCHochXLOOKUPutför nu logaritmiska stigande eller fallande binära sökningar vid begäran, inklusive Excel-kompatibla gränser för dubbletter och ungefärliga träffarXIRRrespekterar nu sin gissning med en skyddad lösare som kan hitta både höga och gissningskänsliga rötter, medanXNPVanvänder kompenserad summering och validerade indata för datum och ränta- Uppslag för XLSX-definierade namn med hög kardinalitet använder nu ett lat omfångsmedvetet hashindex samtidigt som serialiseringsordningen, företräde för lokala namn och beteendet vid först match bevaras
- Bevarade XLSX-paketdelar allokerar nu sin deklarerade okomprimerade storlek en enda gång, samtidigt som fullständig längd- och CRC-verifiering behålls
Rättat
- Ogiltiga uppslagslägen, binära sökningar med jokertecken, tvådimensionella uppslagsintervall och matchande
XLOOKUP-resultatvektorer rapporterar nu formelfel i stället för att ge tvetydiga resultat XIRRochXNPVavvisar nu ogiltiga kassaflödestecken, räntor, gissningar och datum, trunkerar decimala datumserier och rapporterar utebliven konvergens i stället för att returnera overifierade mittpunkter
Version 2.215.0
Tillagt
FREQUENCYreturnerar nu en vertikal matris med ett resultat per intervall samt ett överflödsuppsamlingskärl
Ändrat
SORTanvänder nu en stabil och skalbar ordning för rader eller kolumner och bevarar källordningen för lika nycklarUNIQUEanvänder nu stabil hashindexerad matchning för rader eller kolumner, inklusiveexactly_once-resultat och skiftlägesokänslig textPERCENTRANK.INC,PERCENTRANK.EXCochMODE.MULTskalar nu effektivt på indata med hög kardinalitet i stället för att förlita sig på kvadratiska genomsökningar
Rättat
- Alternativet
by_colförSORTochUNIQUEverkar nu på kolumner i stället för att falla tillbaka på radbeteende
Version 2.214.0
Tillagt
- XLSX-öppning accepterar nu strömmande UTF-16 little-endian och big-endian XML-delar med byte-ordningsmarkör eller den obligatoriska endian-specifika deklarationen, inklusive tecken utanför det flerspråkiga grundplanet
Ändrat
- Uppdateringar av pivottabellcacher med hög kardinalitet använder nu deterministiska hashindex för delade värden och allokerar postmatrisen en enda gång, vilket bevarar först sedd objektordning och undviker upprepade linjära sökningar samt radvis tillväxt
- Projicerade direktläsningar kastar celler utanför de valda raderna och kolumnerna innan råa värden, formler och rich text kopieras till per-blad-buffertar
Rättat
- Felaktig XML med dubbla byte-ordningsmarkörer, stöds ej eller motsägelsefulla kodningsdeklarationer, UTF-32-signaturer, udda UTF-16-bytelängder eller ogiltiga surrogatpar avvisas nu
- Parallella direktläsar-arbetstrådar initierar nu allt jobbtiltstånd innan start, slutar ta nya bladjobb efter ett fel, kastar om jobbfelet med lägst index deterministiskt och städar upp varje skapad arbetare om poolbyggandet misslyckas
Version 2.213.0
Tillagt
T.TESTutvärderar nu oberoende urval med antingen sammanslagen lika varians eller Welchs olikvärdiga varians utöver parade urval, inklusive ensidiga och tvåsidiga sannolikheter
Ändrat
- XLSX-öppning följer nu mål för arbetsboks-, kalkylblads- och ritrelationsrelationer för kalkylblad, delade strängar, stilar, teman, makron, externa länkar, kommentarer, trådade kommentarer, VML, ritningar, bilder, diagram, tabeller och pivottabeller, inklusive giltiga paket som använder omdöpta eller icke sammanhängande delsökvägar
Rättat
- Felaktiga paket med dubbla relationsidentifierare tillåter inte längre att en senare relation som saknar stöd ersätter det första användbara målet under återställning av kompatibilitet
Version 2.212.0
Ändrat
- Formelberoendespårning skalar nu bättre på stora kalkylblad genom att indexera cell- och intervallberoenden före ombyggnader och ogiltigförklaring av smutsiga celler
- Stora statistiska och regressionsformler utvärderar nu varje numeriskt värde i de angivna intervallen i stället för att stanna vid den tidigare fast storleksbufferten
Rättat
- XLSX-celler utanför kalkylbladets rutnät avvisas konsekvent så att ogiltiga koordinater inte längre kan aliasera giltiga celler
- Redigering av formler återställer inte längre arbetsbokens beräkningsläge, iterationsgränser, fullberäkningsflaggor eller andra beräkningsinställningar
- Blob-listläsningar validerar nu uttryckligen begärda intervall och tillåter giltiga tomma sektorer i slutet av strömmen
Säkerhet
- Klassisk XLS-kryptering omfattar nu pivotcacheströmmar tillsammans med kalkylbladsdata
- Felaktiga SST-tilläggsstjärtar och centrala ZIP-katalogposter avvisas innan överdimensionerad allokering, trunkerade läsningar eller kommentar-inbäddade falska katalogposter kan påverka inläsningen
Version 2.211.0
Tillagt
TXLSPivotTable.Makematerialiserar nu varje konfigurerat datafält med sin egen aggregering och expanderar värdena på rader eller kolumner enligtDataFieldAxisIsRow
Ändrat
- Pivotresultatgenerering återanvänder hashindexerade nyckeldomäner för rader och kolumner över alla datafält, väljer tät eller gles ackumulatorlagring utifrån resultatformen, bevarar cacheobjektordning bortom nio nycklar och avger läsbara kombinerade etiketter för axlar med flera fält
Rättat
Countinkluderar nu icke-tom text, booleska värden, fel, datum och numeriska cachevärden medanCountNumsendast inkluderar numeriska värden och datum,Productreturnerar noll för skärningspunkter utan numeriska värden, tomma celler räknas inte längre som poster och värdebaserade pivoter kan materialisera sina totalbelopp utan rad- eller kolumnfält
Version 2.210.0
Tillagt
TXLSWorkbookViewerrenderar nu XLSX-villkorsfyllningar, teckensnittsfärg och betoning, talformat, riktade positiva och negativa datastaplar, övertoningar, ramar, axlar, dolda värden och alla inbyggda ikonuppsättningsfamiljerTXLSWorkbookViewer.RefreshConditionalFormatsbygger om förberedd aggregerad och tröskeltillstånd efter att anroparen har ändrat en ansluten XLSX-arbetsbok på plats
Ändrat
- Visaren cachar en förberedd villkorsformatutvärderare per aktivt kalkylblad, återanvänder den vid rullning, markering och omritning och frigör den när arbetsboken eller kalkylbladet ändras
Rättat
- Datastapelaxlar vid den högra kanten klipps nu inuti den ägande cellen i stället för att ritas ut i den intilliggande cellen
Version 2.209.0
Tillagt
- XLSX-kalkylblad exponerar nu en förberedd villkorsformatutvärderare som löser regelprioritet,
StopIfTrue, relativa formler, differentiella stilar, Topp/Botten-rankning, över/under-medeltester, dubblett- och unika värden, relativa datumperioder, två- och trefärgade skalor, datastaplar och ikonuppsättningar för vilken cell som helst
Ändrat
- HTML- och PDF-export renderar nu matchande villkorsfyllningar, teckensnittsbetingning och färg, talformat, färgskalor, riktade positiva och negativa datastaplar, uttryckliga axlar, ikonfamiljeglyfer, dolda värden och temafärger med nyansupplösning
- Stora villkorsformatdomäner återanvänder nu kompilerade relativa formler utan per-cell-syntaxträdallokering, strömmar medelvärde, avvikelse, minimum och maximum-statistik, behåller endast ordnade värden för rangordnings- eller percentilregler, batch-sorterar Unicode-dubblettnycklar och använder radbandskandidatindex för att undvika att genomsöka orelaterade regler
Rättat
- Klassiska villkorsregler läser nu in uttryckstyper korrekt och utvärderar omvända mellan gränser, skiftlägesokänsliga textpredikat, tomma celler och fel-predikat konsekvent
Version 2.208.0
Ändrat
- Den packade cellagringsmotorn skriver nu inhemska taggade sträng-, booleska-, fel- och tomma nyttolaster, itererar celler i rad-major-ordning och kör längdkodar konsekutiva liktydade celler för lägre minnesanvändning och snabbare sekventiell utmatning
- Klassiska arbetsbokens delade strängar behåller nu teckenbyte i en enda allokering och skapar avkodade strängvärden lat, vilket minskar allokeringsomkostnaden för stora unika strängtabeller
Tillagt
- Pivottabeller kan nu beräkna en komplett resultatmatris från cacheposter med rad- och kolumnnyckelgruppering och alla 11 stödda aggregeringsfunktioner
- Klassiska arbetsboksdiagram exponerar nu typade serier, axel-, förklings- och diagramgruppinformation för konverterings- och inspektionsarbetsflöden
Version 2.207.0
Tillagt
TXLSPivotCache.RefreshFromSourcebygger en pivotcache från ett källkalkylbladsintervall: den läser rubrikraden för att namnge fälten, destillerar varje datarads distinkta värden till per-fält domän för delade objekt, låser fälttypen från det första icke-tomma värdet och registrerar index för delat objekt för varje (post, fält) — så att en pivottabell kan skapas programmatiskt från ett dataintervall i stället för att förlita sig på Excel’srefreshOnLoad. En återanropbaserad värdeläsare håller pivotenheten fri från ett direkt kalkylbladsberoende
Version 2.206.0
Tillagt
- Nya
TlxCellMMU(enhetenlxCellMMU) implementerar en packad, rad-major cellagringsmotor med kör-längdkodning av liktydade och tomma cellblock, samt en taggad-byta-typkod som även fungerar som dataviddsväljare — så att en kolumn med små heltal kostar en byte per cell i stället för åtta. Motorn kodar tal i den minsta vidden som bevarar värdet (int8 / int16 / int32 / 2-decimal / 4-decimal skalade heltal / IEEE double), lagrar strängindex, booleska, fel- och tomma celler kompakt och exponerar ettGetValue/SetNumber/SetString-API plus en framåtiterator. Detta är nästa generations backend bakom en funktionsflagga för det befintligaTXLSXCells-API:et, med sikte på en 10–25× minskning av arbetsminnet på täta blad
Version 2.205.0
Tillagt
TXLSCustomChart.GetChartInfoavkodar nu en semantisk sammanfattning från råströmmen av BIFF-diagramposter — diagramtypsfamilj (stapel, linje, cirkel, yta, punkter, radar, munk, yta, bubbeldiagram), antal serier och om en förklaring finns — så att en BIFF-diagrams typ kan frågas programmatiskt och att en BIGH-till-XLSX-diagramkonvertering kan välja rätt målfamilj. Den byte-genomströmmande lagringen som garanterar rundtur-fidelitet är oförändrad
Version 2.204.0
Ändrat
- Den klassiska
.xls-tabellen för delade strängar skriver nu ASCII-endast-strängar i den komprimerade Latin-1-kodningen ([MS-XLS] §2.5.294fHighByte=0, en byte per tecken) i stället för att alltid använda UTF-16, vilket ungefär halverar SST-storleken — och därmed.xls-filen — för ASCII-tunga arbetsböcker
Version 2.203.0
Tillagt
- Nya
TlxCompoundFileläser och skriver Compound File Binary-behållarformatet (OLE2) direkt i ren Pascal, utan någotole32.dll/ COMIStorage-beroende — vilket öppnar dörren för minnesintern och plattformsoberoende.xls-hantering. Läsaren täcker v3-layouten som HotXLS möter i praktiken (huvud + DIFAT i huvudet + FAT-kedjevandring + MiniFAT och mini-strömmen för strömmar under 4096 byte + katalogträdet); skrivaren avger en minimal men giltig v3-behållare som räcker för HotXLS utmatning
Version 2.202.0
Tillagt
- Sorteringstillståndet för autofiltrering har nu en typad modell (
TXLSXSortStatemedTXLSXSortCondition-barn) som täcker sortering efter värde / cellfärg / teckensnittsfärg / ikon, sorteringsmetod (none / stroke / pinYin), skiftlägeskänslighet, kolumnsortering och per-villkor anpassade listor — så att program kan bygga sorteringstillstånd programmatiskt i stället för att redigera rå XML, medan det äldre ogenomskinligaSortStateXml-genomflödet fortfarande vinner för filer som HotXLS inte har skapat - Dynamiska filter läses och skrivs nu som en typad
TXLSXDynamicFilterType(över/under medelvärde och standardavvikelse, idag/igår/imorgon, denna/förra/nästa vecka, månad, kvartal och år, år-till-datum, Q1–Q4, M1–M12) med valfriaval/maxVal-gränser — att öppna en arbetsbok som använder ett dynamiskt filter släpper det inte längre vid sparande
Version 2.201.0
Tillagt
- Yt- och 3D-ytdiagram (
xlsxChartSurface/xlsxChartSurface3D) är nu förstaklass diagramtyper — skrivs, läses och rundtur-bevaras som de andra diagramfamiljerna - API:et för att skapa autoshapes täcker en praktisk delmängd av OOXML:s lista över förinställd geometri — trianglar, diamanter, parallellogram, hexagoner, oktagoner, pilar, chevroner, bildtexter, flödesschemanoder, stjärnor, hjärtan, sol, måne, hakparenteser och klamrar — var och en mappad till rätt
prst-token och[MS-ODRAW]-shape-id, så att skapade shapes renderas korrekt i Excel (den fullständiga listan med 187 förinställningar bevarades redan vid rundtur genom rå-ankarpass-through)
Version 2.200.0
Rättat
- Att öppna en arbetsbok vars autofilter använder ett färgfilter eller ett ikonfilter släpper inte längre det filtret vid sparande —
colorFilterochiconFilterläses nu in i typade kolumner (TXLSXAutoFilterColumn.SetColorFilter/SetIconFilter) och avges ordagrant i stället för att förloras som okända filterkolumn-barn
Version 2.199.0
Tillagt
TCondFormatRule.Evaluatesvarar på huruvida en regel för villkorsformatering avfyrar för en given cell, vilket täcker cellvärdesjämförelser, formeluttryck, text innehåller/börjar/slutar, tomma celler och felregler — grunden för att fråga vilka celler en regel för närvarande markerar och för att rendera villkorsformateringsresultat utanför Excel
Ändrat
FACToch de interna faktorialhjälparna använder nu en förberäknad 0!..170!-tabell i stället för att beräkna om en O(n)-produkt vid varje anrop, vilket snabbar uppFACT, multinomialkoefficienter och Poisson/Binomial/chi-i-två-fördelningsvägarna
Version 2.198.0
Ändrat
- Att spara ett kalkylblad grupperar nu celler i rader med ett enda räkna-sedan-fylla-pass i stället för att växa varje rads index med en omallokering per cell, vilket tar bort en dold O(celler × celler-per-rad)-kopiering på stora blad
- Formelns beroendegraf indexerar nu sina referensintervall efter (blad, rad) så att sådd av en smutsig cell binärsöker kandidatbandet i stället för att genomsöka varje formel på varje ändrad cell — ju större arbetsboken är och ju fler blad den har, desto större blir hastighetsökningen vid omberäkning
- Rad-major, kolumnsorterad cellgenomgång exponeras nu som
TXLSXWorksheet.BuildRowMajorCellOrderså att spara, urklipp, autofilter och andra radordnade konsumenter delar en genomgång i stället för att härleda den på nytt
Version 2.197.0
Rättat
- Radar-, aktie- och cirkel-av-cirkel-/stapel-av-cirkeldiagram försvinner inte längre när en
.xlsx-arbetsbok som innehåller dem öppnas och sparas på nytt — diagramläsaren känner nu igen containerelementenc:radarChart,c:stockChartochc:ofPieChartsom den redan skriver, vilket återställer symmetrisk läs-/skrivtäckning SUBTOTALmed funktionskoder 101–111 exkluderar nu värden på dolda rader, ochAGGREGATErespekterar nu sina alternativkoder för att ignorera dolda rader (2, 3, 6, 7), vilket matchar Excel i stället för att behandla varianterna inkludera-dolda och ignorera-dolda identiskt- Att anropa en inbyggd funktion med fast aritet med fler argument än deklarerat (till exempel
=SIN(1,2)) ger nu#VALUE!centralt i stället för att accepteras av dispatchern
Version 2.196.0
Rättat
- Infogning eller borttagning av rader och kolumner partitionerar nu cellvärdes- och uttrycksvillkorsformat samt datavalideringar när redigerade målområden kräver olika relativa formelankare, samtidigt som regelinställningar bevaras, unika villkorsformatprioriteringar tilldelas och aggregerade villkorsformatdomäner hålls intakta
Version 2.195.2
Ändrat
- PDF-export delmängder nu det inbäddade TrueType-teckensnittet via Windows
fontsub.dllCreateFontPackage-API, vilket endast behåller de glyfer som dokumentet faktiskt renderade i stället för att bädda in hela.ttf— vanligtvis krymper PDF:en 8–20× för Unicode-tunga blad; faller tillbaka på full inbäddning när delmängdsning inte är tillgänglig
Version 2.195.1
Rättat
- Infogning eller borttagning av rader och kolumner på den klassiska
.xls-motorn skriver nu om varje påverkad formelreferens (cellformler och definierade namn) så att de matchar Excel-semantik — referenser under en infogning skiftar, referenser helt inuti en borttagning blir#REF!och delvis överlappande områden krymper — i stället för att lämna kvar inaktuella koordinater
Version 2.195.0
Ändrat
- Borttagning av tabellkolumner konverterar nu varje påverkad strukturerad-referens-token till
#REF!över kalkylbladsformler, tabellformler, definierade namn och diagramserier samtidigt som orelaterade referenser och strängliteraler bevaras
Rättat
- Att ta bort en hel tabell lämnar inte längre kvalificerade strukturerade referenser som pekar på en tabell som inte längre finns
- Klonade datavalideringar behåller nu sitt IME-inmatningsläge
Version 2.194.0
Ändrat
- Rad- och kolumnredigeringar håller nu Excel-tabellens kolumnidentifierare, namn, beräknade formler, totalformler, filterkolumner, filterintervall och sorteringsvillkor i linje med den redigerade tabellen
Rättat
- Villkorsformat- och datavalideringsformler baserar nu om relativa och blandade referenser när borttagning tar bort deras första målområde
- Kalkylblads- och tabellsorteringstillstånd skriver nu giltiga attribut och kastar villkor vars intervall raderades
Version 2.193.0
Ändrat
- Rad- och kolumnredigeringar uppdaterar nu komplexa och korsomfattande formler för definierade namn, bubbeldiagramdataintervall och formelbaserade visuella villkorsformattrösklar
- Bubbel- och punktdiagram återställer nu sina X-axel-, Y-axel- och bubb storleks serieintervall när de öppnas på nytt
Rättat
- Multiområdes mål för villkorsformat och datavalidering skiftar nu varje överlevande område oberoende i stället för att lämna den kompletta mållistan oförändrad
- Textrutor och WordArt-ankare flyttas eller ändras storlek nu vid infogade och raderade rader och kolumner
Version 2.192.0
Tillagt
- Strömmande direktläsningar och radmarkörsgenomgång kan nu välja strukturerade rich strings med fullständig kör-formatering, fonetiska körningar och fonetiska egenskaper samtidigt som begränsad lagring av delade strängar behålls
TXLSDirectWriter.WriteRichStringskriver formaterad och fonetisk text som inline- eller deduplicerade delade strängar
Ändrat
- Deduplicering av delade rich-strängar skiljer nu på kör-formatering och fonetiska metadata samtidigt som vanlig sträng-interning behålls på sin befintliga snabba sökväg
Rättat
- Fonetisk text i inline-strängar inkluderas inte längre i det visade cellvärdet
Version 2.191.0
Tillagt
TXLSXRange.SetDynamicArrayFormulaskapar nu inhemska dynamiska-matris-formler med den kompletta Excel XLDAPR-metadatakedjan
Ändrat
- Dynamiska-matris-rötter delar nu en deduplicerad post för arbetsboksmetadata och kopia av kalkylblad eller intervall mellan arbetsböcker mappar om den posten till målarbetsboken
- Stödd dynamisk-matris-metadata förblir tillgänglig när bevarande av ostödda paketdelar är inaktiverat, medan orelaterad värdemetadata fortfarande avlägsnas
Rättat
- Spill-cell för dynamiska matriser modelleras inte längre som äldre CSE-följare, och att ersätta eller rensa roten lämnar inte längre inaktuella metadataindex
- Att ta bort den sista dynamiska-matris-roten tar nu bort den oanvända metadatadelen, arbetsboksrelationen och innehållstypsposten
Version 2.190.0
Ändrat
- Strömmande direktläsningar och radmarkörsgenomgång expanderar nu delade formelföljare till fullständiga cellrelativa formler samtidigt som projektions- och begränsat-minne-beteendet behålls
Rättat
- Dynamiska-matris-arbetsböcker bevarar nu cell- och värdemetadataindex, attribut för omberäkning av formler, metadatapaketrelationer och oförändrade framtida-funktionsprefix under öppnings- och sparcykel
- Att inaktivera bevarande av ostödda delar lämnar inte längre kvarhängande kalkylbladsmetadataindex efter att metadatadelen har tagits bort
Version 2.189.0
Tillagt
- Att öppna XLSX-arbetsböcker expanderar nu delade formelföljare till fullständiga per-cell-formler med korrekta relativa, absoluta, blandade, intervall- och blad-kvalificerade referenser
Rättat
- Självstängande delade formelföljare fångar inte längre upp senare värde- eller formel-XML, och deras cache-resultat överlever öppnings- och sparcyklar
- CSE-matrisformler behåller nu sitt ankar- och följare-förhållande genom rad- eller kolumnstrukturredigeringar, intervallkopior för hela områden, kalkylbladsduplicering och korsarbetsboks-bladkopior
- Att tilldela en vanlig formel eller rensa en cell tar nu bort inaktuellt CSE-matrismedlemskap så att beräkning inte kan omdirigeras till ett gammalt matrisankare
- Att kopiera endast en del av en CSE-matris skapar inte längre kvarhängande följare-referenser i målet
- Intervallkopior ögonblicksbildar nu överlappande källor och skiftar relativa formelreferenser, vilket förhindrar att källceller eller matrisankare skrivs över innan de kopieras
- Rad- eller kolumnredigeringar som skär endast en del av en CSE-matris avvisas i stället för att tyst ändra storlek på eller lösgöra matrisen
Version 2.188.0
Tillagt
TXLSDirectReader.SharedStringMemoryLimitbegränsar avkodat minne för delade strängar och migrerar automatiskt större tabeller till index temporärlagring som raderas vid stängning med en fast storleksvärdecacheTXLSRowCursor.SharedStringMemoryLimitexponerar samma begränsade lagring av delade strängar för framåt-radiell radgenomgång
Ändrat
- Direkt tolkning av delade strängar bevarar nu värden som endast är blanksteg, CDATA, XML-entiteter, tecken utanför BMP, tomma objekt och rich-text-körordning samtidigt som fonetisk vägledningstext utesluts från det visade värdet
Rättat
- Att öppna XLSX-arbetsböcker behåller nu varje objekt i delade strängar i dokumentordning, vilket förhindrar att duplicerad text eller olika formaterade rich-strängar kollapsar senare cellindex
- Att spara XLSX-arbetsböcker deduplicerar nu rich-strängar efter körgränser och formateringsegenskaper i stället för enbart synlig text, vilket bevarar distinkt formatering för celler med samma visade värde
Version 2.187.0
Tillagt
TXLSDirectReader.FirstRowochLastRowbegränsar strömmande läsningar till ett 1-baserat radintervall och stoppar kalkylbladstolkning efter det begärda intervalletTXLSDirectReader.IncludeColumnochClearColumnProjectionger konstant-tids kolumnprojektion som hoppar över omarkerade celler innan värdeavkodning och återanropsutskick
Version 2.186.0
Tillagt
TXLSDirectWriter.UseSharedStringskan deduplicera upprepad text till en OOXML-del för delade strängar med korrekta total- och unika antal, vilket minskar paketstorleken för repetitions-tunga dataTSimpleDomReaderger ett kompakt single-pass XML-träd för slumpmässig åtkomst-frågor av arbetsboksmetadata och paketdelar, med skiftlägeskänslig QName- och lokalt-namn-uppslagning
Ändrat
- Direkt XLSX-läsning använder nu hash-assisterad exakt elementutskick, single-pass attributskörd och konstant-tids uppslagning av aktuell-rad-kolumn samtidigt som strömmande minnesbeteende bevaras
- Generering av XML för delade strängar använder nu en buffert med linjär tillväxt för att undvika upprepade kopior av hela strängen på stora tabeller med distinkta strängar
Rättat
- CSV-formulexport lägger inte längre till ett andra likhetstecken när formeltext redan inkluderar ett
- XLSX-PDF-export trunkerar inte längre celltext med hjälp av en teckenantalsskattning före layout
- XML-läsarens namnhashar spårar nu bearbetningsinstruktioner, attribut och flyttar tillbaka till sina ägande element utan att exponera inaktuellt elementtillstånd
Version 2.185.1
Rättat
- Infogning eller borttagning av rader och kolumner justerar nu lokala och korsark-referenser exakt en enda gång samtidigt som funktionsnamn och textliteraler bevaras
Version 2.185.0
Tillagt
TXLSPDFExporttillhandahåller nu ett 1-baseratFirstPage- ochLastPage-val för utmatning, ett komplett logisktPageCountoch sexCalculatePageCount-överlagringar för klassiska och XLSX-intervall, kalkylblad och arbetsböcker utan att konstruera PDF-sidobjektTXLSXWorkbook.SaveWorkbookAsHTMLpublicerar synliga kalkylblad i ett navigerbart HTML-dokument med stabla per-blad-ankare, escaperade titlar och bladnamn och ett alternativ för att inkludera dolda eller mycket dolda bladTDataToXLS.BeforeRecordkan hoppa över poster före radutmatning ochBeforeValuekan omvandla eller undertrycka fältvärden med kontext för datauppsättning, detaljnivå, källfält och exportkolumnTXLSWorkbookViewerexponerar kommentarer och hyperlänkar för markerade celler, höjer ett programstyrt hyperlänkhändelse, målar kommentarsindikatorer och XLSX-teckensnitt, fyllningar och justering och normaliserar markering och rendering över sammanslagna intervall
Ändrat
- Exemplet ConversionWorkbench kan nu producera PDF-utmatning och publicerar alla synliga XLSX-kalkylblad för HTML-mål, medan exemplet WorkbookViewer demonstrerar sammanslagen-cell-navigation, kommentarer och hyperlänksaktivering
Version 2.184.0
Tillagt
- Klassiska XLS- och XLSX-intervall kan kopiera Unicode-tabelltext och stylad HTML till Windows-urklipp genom
CopyToClipboard, vilket bevarar formler, sammanslagna celler, länkar, visningsformatering och säkert escaperade inbäddade tabbar, radbrytningar och citattecken TXLSXWorkbookbevarar nu anpassade paketdelar nåbara från okända paketrot-, arbetsboks-, kalkylblads- eller ritrelationsrelationer, inklusive hantering av kollisioner för relations-ID, innehållstyper, barnrelationer, komprimeringsval och exakta nyttolastbyte;PreserveUnsupportedParts,UnsupportedPartCount,UnsupportedPartBytesochClearUnsupportedPartsexponerar kontroll och diagnostik- Klassiska XLS-sparningar exponerar återanrop för början, arbete och slut med annullering genom
OnProgressEx, medanIXLSWorkbookProgresstillhandahåller strukturerad diagnostik med stabila koder, allvarlighetsgrad, operation, bladkontext, inhemska returvärden och undantagsdetaljer TXLSXWorkbookexponerar nu samma struktureradeDiagnostics-,LastDiagnostic- ochOnDiagnostic-ytor för spar-, öppnings-, omberäknings-, annullerings- och undantagsrapportering- Tolkade VBA-moduler stöder nu redigering av
SourceCodeoch skrivning av den uppdaterade komprimerade modulströmmen tillbaka genom klassiska XLS-, fristående VBA-lagring och makroaktiverade OOXML-sparningar samtidigt som strömprefix och orörda projektinnehåll bevaras - Klassiska kalkylblad och shape-samlingar exponerar nu typade
TXLSCheckBox-,TXLSComboBox- ochTXLSListBox-formulärkontroller med skapandehjälpare, etiketter, kontroll-typ-inspektion, cellankare, borttagning samt upptäckt vid öppna/spara TXLSXRange.ApplyFormatPatchkan selektivt kopiera teckensnitts-, fyllnings-, kant-, nummerformat-, justerings- och skyddskomponenter med källmönster-ibrukning samtidigt som målvärden och omarkerad formatering bevarasTDataToXLSkan rekursivt exportera länkade master-detail-datauppsättningar genomReadDetailTablesochIndentDetailTables, vilket bevarar aktiva datalänkar, lägger till varje detailtabell under sin master-post och ärver fält-, titel- och formateringsalternativ på varje nivåTXLSXWorksheet.AddWordArtskapar cellförankrad DrawingML-text med förinställd förvridning samt konfigurerbara text- och konturfärger, och raw drawing-anchor-bevarandesökvägen behåller den kompletta WordArt-shapen vid senare öppna/spara-cyklerTXLSWorkbookViewerlägger till en VCL-kalkylbladsvisare för klassiska och moderna arbetsboksobjekt med inläsning av XLS-, XLSX-, XLSM-, mall- och ODS-filer, formaterad celltext, klassiska stilar, rad- och kolumnstorlek, rubriker, rutnät och markeringsrendering, rullningslister, musmarkering, tangentbordsnavigation, cellpositionering, kalkylbladsbyte samt markerings- eller kalkylbladshändelser- Nya Delphi-exempel
FeatureShowcaseochWorkbookViewerdemonstrerar stylad PDF-utskrift, utskriftstitlar, manuella brytningar, klassiska formulärkontroller, selektiva format-lappar, WordArt, diagnostik, visarskapande vid körning, filinläsning, cellnavigation, kalkylbladsbyte och visarhändelser, med matchande engelska guider och utvecklarreferensämnen
Ändrat
- Klassisk XLS- och modern XLSX PDF-export för arbetsbok, kalkylblad och intervall skriver nu varje synligt kalkylblad till ett dokument, hoppar över dolda och diagramblad, renderar solida fyllningar, teckensnittsfärger, teckenstorlekar, fet och kursiv betoning, horisontell och vertikal justering, explicita cellramar och valfria kalkylbladsrutnät, följer varje kalkylblads utskriftsområde, pappersstorlek, orientering, marginaler, zoom, anpassa-till-bredd, kolumnbredder, faktiska radhöjder, manuella rad- och kolumnsidbrytningar, upprepade titelrader och kolumner och tredelade sidhuvuden och sidfötter med sid-, total-sid-, bladnamn-, datum- och tidsfält, paginerar breda och höga intervall över båda axlarna, avger lokaloberoende PDF-numerisk syntax och bäddar in ett kvalificerat TrueType-teckensnitt plus en ToUnicode-mappning för text utanför WinAnsi
- XLSX utökade förloppsåteranrop tar nu emot tillförlitliga början-, arbete- och slut-tillstånd för sparande, öppning och omberäkning, medan det äldre återanropet fortfarande är endast arbete och varje operation återställer tidigare annulleringstillstånd
- Klassisk XLS-serialisering propagerar nu kalkylblads-, diagram-, stilutöknings-, VBA-, kontrollström-, lagrings- och utmatningsfel i stället för att rapportera framgång, och fil-sparning samlar den kompletta sammansatta filen innan målet atomärt ersätts
- XLSX- och ODS-filsparningar bygger nu ett komplett syskon-temporärtpaket och ersätter målet atomärt först efter lyckad slutförande, vilket lämnar befintliga filer oförändrade efter annullering eller fel
Version 2.183.0
Tillagt
TXLSDirectWriterstöder nu återanvändbara cellstil-hanteringar på paketnivå och stil-kloning utan att buffra kalkylbladsrader; samma stilindex kan appliceras på valfritt antal celler eller återanvändas över kalkylblad- Direkta cellstilar tillhandahåller 30 formateringsmöjligheter som spänner över teckensnittsnamn, storlek, BGR-färg, fet, kursiv, genomstruken, kontur, skugga, fem understrykningslägen, 19 fyllningsmönster med förgrund-/bakgrundsfärger, fem oberoende färgade kantkanter med 14 linjestilar och diagonala riktningar, inbyggda eller anpassade talformat, horisontell och vertikal justering, radbrytning, krymp-till-passning, indrag, textrotation, citattecken-prefix och låst/dold-skydd
- Stylade överlagringar är tillgängliga för strängar, tal, booleska, datum, formler, fel och varje cache-formelresultattyp, vilket gör att högvolym-exportörer kan välja en förbyggd stil via heltalsindex vid sekventiell skrivning
Ändrat
- Direktskrivaren deduplicerar lika teckensnitts-, fyllnings-, kant- och talformatkomponenter när
styles.xmlbyggs, samtidigt som stabila cellstilindex som redan har skrivits till kalkylbladsströmmar bevaras - Genererade direkt-skrivar-stiltabeller inkluderar nu standard
none- ochgray125-standardfyllningar före anpassade fyllningar för striktare OOXML-kompatibilitet
Version 2.182.0
Tillagt
TXLSDirectWriterskriver nu villkorsformatering samtidigt som dess minnesprofil oberoende av radantal behålls, med åtta cellvärdesoperatorer, uttrycksregler, innehåller/inte innehåller/börjar-med/slutar-med-textregler, topp eller botten värde- och procentregler, över eller under medel-regler, dubblett- och unika värden, tomma och icke-tomma celler, fel och icke-fel celler, datastaplar, två- och trefärgskalor och alla 17 baslinje-ikonuppsättningsfamiljer- Direkta villkorsformat-regler stöder explicita prioriteter, stop-om-sann-utvärdering, alternativ för genomsnittsstandardavvikelse och likhet, ikontröskelersättning, endast-ikon- och omvänd visning, synlighet för stapelvärde, BGR-färger och differentiella fyllnings-, teckensnittsfärgs-, fet- och kursiv-stilar
Ändrat
- Direktskrivaren deduplicerar likvärdiga differentiella stilar över kalkylblad och lagrar endast villkorsformat-regler och stilar, så att minnesanvändningen skalas med antalet regler snarare än med antalet kalkylbladsrader
- Automatiska tröskelvärden för datastapel-minimum och -maximum normaliseras till standard
min- ochmax-tokens i baselementet för OOXML för bred kalkylbladskompatibilitet
Version 2.181.0
Tillagt
TXLSDirectWriterskriver nu kalkylblads- och arbetsboksskydd utan att buffra kalkylbladsdata, inklusive 15 finmaskiga kalkylbladsbehörigheter, äldre lösenordsverifierare, modern hash-metadata, redigerbara skyddade intervall med valfria lösenord eller säkerhetsbeskrivningar, lås för arbetsboksstruktur och fönster, raw verifierartilldelning och rensning av skydd
Rättat
- Ostödda ritankare behåller nu varje stängande element när de återskapas för rundtur-utmatning, så att shape-endast-ritningar förblir välformade efter öppna och spara
- Behörigheter för XLSX-kalkylbladsskydd följer nu OOXML-definitionen av låst-flagga, så att tillåtna åtgärder skriver
0, förbjudna åtgärder skriver1och utelämnade attribut öppnas med sina schemastandarder - Äldre XLSX-lösenord för kalkylblad, skyddat intervall och arbetsbok använder nu den Excel-kompatibla 16-bitars verifierar-algoritmen med ANSI-konvertering och 15-byte-gränsen
Version 2.180.0
Tillagt
- XLSX-kalkylbladsmodellen rundtur-bevarar nu What-If Scenariohanteraren (
<scenarios>) och Data Konsolidering (<dataConsolidate>)-elementen. Nya egenskaperScenariosXmlochConsolidateXmlmed raw-XML påTXLSXWorksheetbär det inre innehållet ordagrant — skrivaren avger wrapper-elementen, läsaren tolkar scenario-/datakonsoliderings-barn tillbaka. Finansiella modelleringsfiler som definierar scenarier eller konsolideringsdefinitioner förlorar dem inte längre vid rundtur.
Version 2.179.0
Tillagt
- En ny hjälparfunktion
XlsxBuildNumFmtkonstruerar OOXML-talformatkoder från semantiska egenskaper —Decimals,Thousands(separator),NegativeRed(röda negativa),CurrencySymbolochPercent. Anropare behöver inte längre hand-skriva formatsträngar som"$#,##0.00;[Red]-$#,##0.00"— byggaren producerar dem från enkla parametrar. Designad för användning medCell.NumberFormatellerWorkbook.NumberFormats.Add.
Version 2.178.0
Tillagt
- XLSX-kalkylbladsmodellen rundtur-bevarar nu VBA-kodnamnet (
<sheetPr codeName="..."/>), vilket är väsentligt för VBA-interop där VBA-projektet refererar till kalkylblad via kodnamn. Ny egenskapCodeNamepåTXLSXWorksheet. - Kommentarer stöder nu en synlighetsväxel
AlwaysShowpåTXLSXComment— när True är kommentarsballongen alltid synlig (Excels per-kommentar "Visa/Dölj kommentar"-växel), inte bara vid svävning. - Datavalidering rundtur-bevarar nu attributet för IME-läge (
imeMode) påTXLSXDataValidation. Enumen med 11 värden styr CJK-inmatningsmetodens beteende vid cellinmatning (noControl / off / on / hiragana / fullKatakana / etc.). Väsentligt för japanska/koreanska/kinesiska-lokal-filer. - Kalkylbladsmodellen får en egenskap
PaneStateför pane-state-attributet på<pane>utöver befintlig hantering av fryst läge — stöderfrozenSplit(fryst-sedan-rullningsbart) ochsplit-tillstånd.
Version 2.177.0
Tillagt
- Tre tidigare registrerade men ej implementerade kalkylbladsfunktioner har nu full dispatch:
DOLLAR(valuta-formaterad text),FIXED(fast-decimal text med valfri komma-undertryckning) ochAREAS(antal områden i en referens). Tidigare var dessa registrerade iInitFuncHashmen hade inget beräkningsmotor-fall — att utvärdera=DOLLAR(...)returnerade tyst felaktiga resultat. - XLSX-kalkylbladsmodellen rundtur-bevarar nu zoomskalor per vytyp (
zoomScaleNormal/zoomScalePageLayoutView/zoomScaleSheetLayoutView), rutnätslinjefärg (sheetView color) och visningsflaggor för arkvy (showFormulas/showZeros). Nya egenskaper påTXLSXWorksheet:ZoomNormal,ZoomPageLayout,ZoomSheetLayout,GridColor,ShowFormulas,ShowZeros. - Riktningsvisning för översikt rundtur-bevaras nu. Nya egenskaper
SummaryBelow,SummaryRightochShowOutlineSymbolspåTXLSXWorksheetstyr huruvida sammanfattande rader/kolumner visas under/över detalj och huruvida översiktssymboler är synliga. Skrivaren avger<outlinePr>inuti<sheetPr>; läsaren tolkar det tillbaka. - Arbetsbokens calcPr bär nu
forceFullCalc- ochcalcCompleted-attribut vid sidan av den befintliga trioncalcId/fullCalcOnLoad/calcMode/iterate.
Version 2.176.0
Tillagt
- XLSX-formelmotorn löser nu strukturerade tabellreferenser före kompilering. En ny metod
ResolveStructuredRefspåTXLSXWorkbooksöker igenom formeltext efterTableName[ColumnSpec]-mönster och ersätter dem med konkreta A1-intervallreferenser med hjälp av arbetsbokensTXLSXTable-samling. Stödda specifikationer inkluderar kolumndataintervall (Sales[Qty]), aktuell-rad-kolumn (Sales[@Total]), full data (Sales[#Data]/Sales[#All]), rubriker (Sales[#Headers]) och totalrad (Sales[#Totals]). Upplösningen körs automatiskt inutiGetCompiledFormula— befintliga formler påverkas inte eftersom icke-tabell-identifierare lämnas ordagrant. Tidigare orsakade strukturerade referenser att formelkompilering misslyckades.
Version 2.175.0
Tillagt
- Formelmotorn stöder nu kompilering av formler med R1C1-referensstil. En ny metod
GetCompiledFormulaR1C1påTXLSCalculator(ochGetCompiledR1C1påTXLSFormula) accepterar en formel skriven i R1C1-notation (R2C3för absolut,R[-1]C[2]för relativ,RCför aktuell cell) och kompilerar den genom att först konvertera till A1-notation med formelcellens rad/kolumn. En fristående funktionR1C1ToA1utför konverteringen — den upptäckerR/C-markörer som är fristående (inte del av ett funktionsnamn som ROUND), tolkar de valfria parentes-offseten och producerar motsvarande A1-referens. Strängliteraler och identifierare hoppas över. Tidigare kunde endast A1-stil-formler kompileras.
Version 2.174.0
Tillagt
- AutoFilter-utmatning från
TXLSDirectWriterstöder nu kalkylblads- och tabellfilterkolumner, värdefilter, blanka filter, datumgruppfilter, anpassade jämförelsefilter, dynamiska filter, topp/Botten-filter, filterknappsflaggor, sorteringstillstånd, sorteringsvillkor, XML-escapering och undertryckning av duplicerade kalkylblads-/tabellfilterintervall vid strömmande skrivning av XLSX-filer
Version 2.173.0
Tillagt
- Tabellutmatning från
TXLSDirectWriterstöder nu tabellkommentarer, totalrad antal, kolumner för totalradsetiketter, kolumner för totalradsfunktioner, beräknade kolumnformler, totalradsformler och XML-escapering för kolumnmetadata vid strömmande skrivning av XLSX-filer
Version 2.172.0
Tillagt
TXLSDirectWriterskriver nu Excel-tabelldelar vid strömmande skrivning av XLSX-filer, inklusive kalkylbladstabellrelationer, innehållstyper för tabelldelar, tabellintervall, kolumnnamn, flaggor för rubrik- och totalrad samt inbyggda flaggor för tabellstil utan att bygga en full objektmodell för arbetsboken
Version 2.171.0
Tillagt
TXLSDirectWriterskriver nu kalkylbladsdatavalideringar vid strömmande skrivning av XLSX-filer, inklusive list-, heltal-, decimal-, datum-, tidslängd-, anpassad-formel-, godtyckligsqref, inmatningstips, fel-varning, tillåt-tomma, rullgardinsmeny och flaggor för fel/inmatningsmeddelande utan att bygga en full objektmodell för arbetsboken
Version 2.170.0
Tillagt
TXLSDirectWriterskriver nu arbetsboks- och bladlokala definierade namn vid strömmande skrivning av XLSX-filer, inklusive dolda namn, kommentarer, genererade absoluta intervall, utskriftsområden, utskriftstitelrader, utskriftstitelkolumner, kombinerade utskriftstitlar, citerade bladnamnsreferenser, XML-escapering och ersättningssemantik för upprepade utskriftsnamns-uppsättare utan att bygga en full objektmodell för arbetsboken
Version 2.169.0
Tillagt
TXLSDirectWriterskriver nu kalkylbladshyperlänkar vid strömmande skrivning av XLSX-filer, inklusive externa URL-, mailto- och filrelationer, interna bladpositioner, visningstext, verktygstips, en- eller flercelliga hyperlänkintervall, normalisering av enklawww.-URL:er, XML-escapering och procentkodade relationsmål utan att bygga en full objektmodell för arbetsboken
Version 2.168.0
Tillagt
TXLSDirectWriterskriver nu metadata för utskrift och arkvy vid strömmande skrivning av XLSX-filer, inklusive växlar för rutnätslinje- och rad-/kolumnrubrikvisning, sidmarginaler, text för udda sidhuvud/sidfot, utskriftsrutnät och rubriker, sidcentrering, pappersstorlek och landskapsorientering, anpassa-till-sida-dimensioner och manuella rad- eller kolumnsidbrytningar utan att bygga en full objektmodell för arbetsboken
Version 2.167.0
Tillagt
TXLSDirectWriterskriver nu kalkylbladslayoutmetadata vid strömmande skrivning av XLSX-filer, inklusive standardkolumn- och radstorlekar, anpassade kolumnbredder, dolda rader och kolumner, sammanslagna intervall, AutoFilter-intervall, frysta rutor, bladflikfärger och höger-till-vänster-arkvyer utan att bygga en full objektmodell för arbetsboken
Version 2.166.0
Tillagt
- Strömmande XLSX-arbetsflöden inkluderar nu bladnamnslistning utan kalkylbladsgenomsökningar, radmarkörs-bladval via namn, strömmande av råa numeriska datum, återanvändning av direkt-skrivare, felcellsskrivning och cache-formelresultat-skrivare för numeriska, sträng-, booleska, datum- och felvärden
Version 2.165.0
Rättat
TXLSDirectReader.ReadStreamåterställer nu anroparens strömposition efter direkt skanning, vilket matchar det dokumenterade strömkontraktet och låter program återanvända samma ström efter ett direkt läspass
Version 2.164.0
Tillagt
- Datauppsättningexport från
TDataToXLSstöder nu stränglistor förIncludeFieldsochExcludeFields. Program kan vitlista exporterade fält, utelämna känsliga kolumner och hålla rubriker, datarader, kolumnbredder och exportåteranrop i linje med den valda fältuppsättningen
Version 2.163.0
Tillagt
- CSV-export får konfigurerbar textcitationstecken över XLS- och XLSX-motorerna.
TXLSWorkbookexponerar nuCSVEmitFormulasochCSVQuoteAllStrings, ochTXLSXWorkbooklägger tillCSVQuoteAllStrings. När det är aktiverat skriver formulexport formeltext och strängfält citeras medan numeriska, datum-, booleska-, Null- och Empty-fält behåller normala citatteckenregler
Version 2.162.0
Tillagt
- XLSX-motorn får ett avbrytbart förloppshändelsesystem. Ett nytt återanrop
OnProgressExpåTXLSXWorkbookavfyras bredvid det befintligaOnProgressmed tre förbättringar: (1) en parameterTXLSXProgressState(ppsBegin/ppsWork/ppsEnd) som inramar varje fas så att UI:er vet när en operation startar och slutar; (2) en var-parameterAbort: Booleansom låter återanropet avbryta den aktuella operationen mitt i strömmen — looparna för läs/skriv/beräkning kontrollerarWorkbook.Abortedoch bryter ut rent; (3) en ny fasxlsxProgressExportingför exportoperationer (HTML/RTF/CSV/ODS). En hjälparmetodFireProgresscentraliserar dispatch för dubbel-återanrop. FlagganFAbortedåterställs i början av varje toppnivåoperation (Open / SaveAs / Recalculate).
Version 2.161.0
Tillagt
- XLSX-diagrammodellen stöder nu fyra nya diagramelement för starkare Excel-kompatibilitet. Diagramdatatabell (
c:dTable):TXLSXChartfår växlarShowDataTable+ShowDataTableKeys— när aktiverad avger skrivaren elementet inuti plottområdet så att Excel renderar källdatan som ett rutnät under diagramaxeln. Upp/Ner-staplar + hög-låg-linjer (aktie/OHLC-diagramelement):TXLSXChartfårHasUpDownBars+UpDownGapWidthochHasHiLowLines— skrivaren avgerc:upDownBarsochc:hiLowLinesinuti diagramelementet (linje-/aktiediagram). 3D-vy-kontroller:TXLSXChartfårRotation3DX/Rotation3DY/Elevation3D/Perspective3D/RightAngleAxes3D— skrivaren avgerc:view3Dpå diagramnivå när någon 3D-egenskap skiljer sig från standard. Tidigare avges inget av dessa element, så diagram byggda med datatabeller, aktiediagramelement eller 3D-vyer förlorade dem vid rundtur.
Version 2.160.0
Tillagt
- Formelreferenser justeras nu automatiskt när rader eller kolumner infogas eller raderas i XLSX-motorn. Metoden
ShiftSheetGeometry— anropad avInsertRows/DeleteRows/InsertCols/DeleteCols— går nu igenom varje överlevande formelcell och skriver om dess A1-referenser för att återspegla den strukturella ändringen. En ny textskannerXlsxAdjustFormulaRowColRefsupptäcker en-cells-referenser (A1,$B$2) och intervallreferenser (A1:B3), skiftar deras rad-/kolumnkomponenter förbi insättningspunkten och konverterar raderade referenser till#REF!. Både relativa och absoluta referenser skiftas (vilket matchar Excels beteende). Tidigare lämnades formler tyst att peka på fel celler efter en strukturell redigering.
Version 2.159.0
Tillagt
- AutoFilter-sorteringstillstånd rundtur-bevaras nu genom XLSX-motorn.
TXLSXWorksheetfår en egenskapSortStateXmlsom bär den inre XML:en för OOXML-elementet<sortState>(kolumnsorteringsriktning, skiftlägeskänslighet, sorteringsmetod och varje<sortCondition>med sin fallande flagga + ref). Skrivaren avger elementet efter<autoFilter>; läsaren tolkar attributen och sorteringsvillkoren tillbaka. Tidigare släpptes sorteringstillstånd tyst vid läsning och skrevs aldrig. - CJK-fonetiska/ruby-inställningar rundtur-bevaras nu genom XLSX-motorn.
TXLSXWorksheetfårPhoneticFontId,PhoneticType(hiragana / katakana / fullWidthKatakana / noConversion) ochPhoneticAlignment(left / center / distributed). Skrivaren avger<phoneticPr>efter<sheetData>; läsaren tolkar attributen tillbaka. Tidigare släpptes det fonetiska elementet tyst vid läsning — japanska marknads-filer förlorade sina furigana läs-hjälp-inställningar.
Version 2.158.0
Tillagt
- XLSX-motorn rundtur-bevarar nu tabellen för namngivna cellstilar (
<cellStyles>). En ny klassTXLSXNamedStyle+ samlingenTXLSXNamedStylespåTXLSXWorkbookbär hela ytan:Name,XfId,BuiltInId,CustomBuiltIn,Hidden,BuiltinLevel. Skrivaren avger en<cellStyle>per post när samlingen inte är tom; läsaren tolkar dem tillbaka. Tidigare hardcodeade skrivaren en enda"Normal"-post och läsaren kastade alla namngivna stilar, så filer med "Good"/"Bad"/"Total"/anpassat-namngivna stilar förlorade de namnen vid rundtur.
Version 2.157.0
Tillagt
- XLSX-motorn rundtur-bevarar nu det fullständiga elementet
<calcPr>, inte bara växlarna för iterativ beräkning.TXLSXWorkbookfårCalcId(beräkningsmotor-identifieraren Excel använder för att avgöra om cache-värden är inaktuella),FullCalcOnLoad(tvingar Excel att göra en fullständig omberäkning vid öppning — kritiskt för arbetsböcker producerade av en icke-Excel-motor) ochCalcMode(auto / manual / autoNoTable). Skrivaren avger matchande attribut på<calcPr>; läsaren tolkar dem tillbaka. Tidigare hanterades endastiterate/iterateCount/iterateDelta, och resten släpptes tyst.
Version 2.156.0
Tillagt
- Formelutvärderaren implementerar nu 37 kalkylbladsfunktioner som tidigare var registrerade (ptg tilldelad i InitFuncHash) men saknade dispatch-implementation — de föll igenom till
#NAME?. De nya implementationerna spänner över fem funktionsfamiljer: Regression (FORECAST,LINEST,TREND,GROWTH,LOGEST,CORREL,PEARSON,SLOPE,INTERCEPT,RSQ,STEYX), Avskrivning (SLN,SYD,DB,DDB,VDB), Beskrivande statistik (AVEDEV,DEVSQ,KURT,SKEW,GEOMEAN,HARMEAN,TRIMMEAN,FREQUENCY), Matris parvis (SUMXMY2,SUMX2MY2,SUMX2PY2), och Kombinatorisk/Matematik (COMBIN,PERMUT,FACT,QUOTIENT,ROMAN,DEGREES,RADIANS,STANDARDIZE). Regressionsfunktionerna använder en minsta-kvadrat-lösare; avskrivningsfunktionerna implementerar linjär, års-summa, och degressiv avskrivning; funktionerna för beskrivande statistik beräknar medel absolut avvikelse, kurtosis, skevhet, geometrisk/harmonisk/trimmad medel; och de parvisa funktionerna beräknar summan av kvadrerade skillnader mellan två lika stora intervall. En ny hjälpareCollectRangeValuespåTXLSCalculatorextraherar numeriska värden från intervallargument för statistikfunktionerna.
Version 2.155.0
Tillagt
- Formelutvärderaren stöder nu fem ytterligare statistiska och tekniska kompatibilitetsnamn:
ERFC,ERFC.PRECISE,BINOM.INV,CHI.INV.RTochF.TEST.ERFCkompletterar den befintliga fel-funktionsserien,BINOM.INVsöker binomial-CDF-tröskeln,CHI.INV.RTaliaserar chi-i-två-inversen för högra svansen, ochF.TESTreturnerar p-värdet för tvåsvansad urvalsvarians
Version 2.154.0
Tillagt
- Formelutvärderaren löser nu korsarbetsboks-referenser via ett nytt återanrop
OnGetExternalValuepåTXLSCalculator. När en 3D-intervallreferens pekar in i en extern arbetsbok ([1]Sheet1!A1), dirigerar utvärderaren genom återanropet i stället för att returnera#REF!. XLSX-motorn kopplar detta återanrop tillGetExternalCellValue, som mappar SupBook-index + bladindex till den matchandeTXLSXExternalLink:s<sheetDataSet>-cache och avkodar det cache-lagrade cellvärdet efter dess OOXML-typattribut (numeriskt / booleskt / sträng / fel). Tidigare returnerade korsarbetsboks-formler#REF!ovillkorligen; återanropsinfrastrukturen låter nu varje motor (BIFF8, XLSX, eller en anpassad kalkylatorvärd) tillhandahålla externa värden. - Formelutvärderaren utför nu element-vis matris-sändning på binära operatorer (
+/-/*///^). När endera operanden är en 1D- eller 2D-variantmatris (t.ex. ett matris-funktionsresultat, ett spill-intervall, eller en CSE-matrisoperand), appliceras operatorn element-för-element; en skalär-operand sänds till varje element i matrisoperanden. Den nya hjälparenApplyArrayBinaryOphanterar formvalidering, skalär-sändning, och propagation av division-med-noll. Äldre skalär aritmetik är oförändrad — matris-sökvägen aktiveras endast när minst en operand är en variantmatris. - Formelutvärderaren känner nu igen funktionen
TABLE(What-If-analys DataTable). Excel lagrar datatabeller som CSE-matrisformler vars kropp ärTABLE(rowRef, colRef); tidigare varTABLEokänd och föll igenom till#NAME?. Funktionen är registrerad med en syntetisk ptg (ftabTABLE = 4232) så att den rundtur-bevaras genom BIFF8-formelkodning, och vid utvärdering returnerar den ett platshållarvärde (0) — de verkliga resultaten är förberäknade av Excel och lagrade som cache-cellvärden, så HotXLS utvärderar inte ersättningslogiken på nytt.
Version 2.153.0
Tillagt
- Den typade PivotTable-modellen bär nu sidegenskaperna (Hier / Caption / Name), auto-sort-omfånget och raw-XML-rundtur-krokarna för
<formats>och<extLst>som behövs för fullständigare Excel-kompatibilitet.TXLSPivotFieldfårPageHier/PageCaption/PageName(F16 — OLAP-hierarkinamn + sid-axeletikett + visningsnamn) ochAutoSortScope(F20 — A1-intervallreferens som fäster de celler Excel använder för att auto-sortera fältets objekt);TXLSPivotTablefårFormatsXml/ExtLstXml(F17 — raw-inre-XML-rundtur för blocket<formats>för villkorsformat-/talformat-åsidosättningar och blocket<extLst>för slicer / tidslinje / x14, som avges ordagrant när det är satt så att rundtur är säker även över motorversioner). XLSX-skrivaren avger de matchande attributen<pageField hier=... cap=... name=.../>, barnet<autoSortScope>till<pivotField>, och blocken<formats>+<extLst>före den stängande vaktposten. - Formelspåraren registrerar nu ögonblicksbilder av operand-stacken per steg, vilket möjliggör en sann steg-för-steg "Utvärdera formel"-felsökare.
TXLSFormulaStepfårStepKind(push / reduce / function),StackBefore/StackAfter(kommaseparerade ögonblicksbilder av operand-stacken vid det ögonblick varje steg startade / avslutades), ochTokenStart/TokenEnd(1-baserat teckenspann som fäster steget tillbaka till källformeln).TXLSFormulaTracerfårTraceReversed(returnerar samma steg i omvänd utvärderingsordning — användbart för ett steg-bakåt-UI som går från det slutgiltiga resultatet mot de ursprungliga operanderna) och en egenskapStepCount. Tidigare registrerade spåraren endast Djup / Källa / Uttryck / Värde utan något stacktillstånd. - HTML-export bäddar nu in per-cell-bilder via ett nytt återanrop
OnCellImagepåTXLSHTMLExportoch ett nytt alternativxhImages. När alternativet är satt och återanropet är kopplat, frågar exportören implementeraren för varje cells<img>-fragment (vanligtvis en Base64 data-URI) och lägger till det efter celltexten. Detta frikopplar exportören från XLS-motorns BIFF8-bildlagring (som lever i MsoDrawing-posten per blad) så att exportören inte behöver tolka ankare själv. XLSX-motorns HTML-export hade redan inbäddat bilder; detta stänger gapet för XLS-motorn. - RTF-import applicerar nu teckenegenskaper (fet / kursiv / understruken / genomstruken / storlek) från RTF-kontrollorden till målcellens teckensnitt.
TXLSRTFImportspårar\b/\i/\ul/\strike/\fsgenom dokumentet och skjuter in den dominerande körningens formatering i cellens XF vid commit-tid. En ny egenskapImportCharFormat(standard True) växlar beteendet; sätt till False för att återställa den äldre text-endast-importen. Flerkörnings-celler kollapsar till ett enda XF (den sista aktiva körningen vinner) eftersom XLS-motorns cell-API är cellnivå, inte per-fragment — men detta är långt bättre än att släppa all formatering, vilket var vad den äldre importören gjorde. - En ny klass
TXLSHTMLImporttolkar HTML-tabeller till kalkylbladsceller. Den går igenom den första<table>i källan, avger en kalkylbladsrad per<tr>och en cell per<td>/<th>. Den respekterarcolspan/rowspan(Excel-stil sammanslagning), strippar taggar inuti en cell (kollapsar nästlad formatering till vanlig text), avkodar de fem standard teckenentiteterna (&/</>/"/'/ ) och de numeriska formerna&#NNN;/&#xNN;, och tvingar rena numeriska strängar till Double så att importerade tabeller förblir beräkningsbara. Designad för den utmatning HotXLS själv producerar (SaveAsHTML) plus allmänna kopiera-klistra-kvalitet HTML-tabeller; inte en full HTML5-tolk.
Version 2.152.0
Tillagt
- XLSX-tabeller behåller nu kolumnnivå metadata för totalrad och tabellformler.
TXLSXTableexponerarColumnTotalsRowFunctions[],ColumnTotalsRowLabels[],ColumnCalculatedColumnFormulas[]ochColumnTotalsRowFormulas[];SaveAsavger den matchande XML för tabellkolumntotalsRowFunction,totalsRowLabel,calculatedColumnFormulaochtotalsRowFormula,Openläser dem tillbaka, och tabellkloner bevarar dem
Version 2.151.0
Tillagt
- Den typade PivotTable-modellen bär nu filtersamlingen per fält, växeln för flerval, fieldGroup-discretePr + groupItems-ytan, och modellen för beräknade objekt / beräknade medlemmar som behövs för fullständigare PivotTable-kompatibilitet.
TXLSPivotFieldfår en typad samlingTXLSPivotFilters(varje post bärFilterTypeöver OOXML-enumenST_FilterTypemed 80 medlemmar — antal / procent / summa / rubrik / värde / datumfamiljer — plusValue1/Value2/StrValue1/StrValue2,EvalOrder,DataField,MemberPropertyId,Name,Description), en växelMultipleItemSelectionAllowed(F9), och en samlingTXLSPivotCalculatedItem(F14).TXLSPivotCacheFieldfårDiscreteIndices[]+AddDiscreteIndexochGroupItemLabels[]+AddGroupItemför blocken fieldGroup discretePr + groupItems (F13).TXLSPivotTablefår en samlingTXLSPivotCalculatedMember(F14). XLSX-skrivaren avger matchande<pivotField multipleItemSelectionAllowed="1">, per-fält-blocket<filters><filter .../>, elementet<fieldGroup><discretePr>...</discretePr><groupItems>...</groupItems></fieldGroup>, per-fält-blocket<calculatedItems>, och blocket på tabellnivå<calculatedMembers>— så att programmatiskt byggda pivoter med filter / flerval / gruppering / beräknade objekt rundtur-bevaras.
Version 2.150.0
Tillagt
- Definierade namn behåller nu sin formeltext giltig när det kalkylblad de refererar till raderas eller byter namn. Att radera ett blad skriver om varje
SheetN!-kvalificerare inuti ett definierat namns formel till#REF!(vilket matchar Excels beteende); att byta namn på ett blad skriver om kvalificeraren till det nya namnet. Tidigare pekade formeltexten fortsättningsvis mot ett obefintligt bladnamn, vilket Excel då flaggade som en bruten länk vid återöppnande. - Den typade PivotTable-modellen bär nu fältnivå sorteringsordning och layoutväxlar, plus de layout- / visningsattribut på tabellnivå som behövs för fullständigare PivotTable-layoutkompatibilitet.
TXLSPivotFieldfårSortType(manuell / stigande / fallande),Compact,Outline,SubtotalTop,DragToRow/DragToCol/DragToPage/DragToData,ShowAll,InsertBlankRow,NumFmtId;TXLSPivotTablefårCompact/CompactData/Outline/OutlineData/Indent/ShowEmptyRow/ShowEmptyCol/ShowHeaders/ShowDrill/EnableDrill/FieldListSortAscending/GridDropZonesplusRowHeaderCaption/ColHeaderCaption/ErrorCaption/MissingCaption/ShowError/ShowMissingoch layoutparet för sidaxelRowPageCount/ColPageCount. XLSX-skrivaren avger matchande attribut<pivotField sortType=... compact=... outline=...>och<pivotTableDefinition indent=... outline=... showEmptyRow=...>och elementet<location rowPageCount=... colPageCount=.../>så att programmatiskt byggda pivoter bär den användarsatta layouten i stället för Excels standarder. - En ny metod
FormulaIsVolatilepåTXLSWorkbookrapporterar huruvida en formel skulle tvinga fram en omberäkning vid varje beräkningspass — d.v.s. den anropar en flyktig funktion (NOW / RAND / TODAY / OFFSET / INDIRECT) eller bär en olöslig referens. Probet delar samma beroende-extraktor som omberäkningsmotorn använder, så svaret matchar vadRecalculatefaktiskt gör. Anropare kan använda den för att flagga celler för ett verifierings-UI, för att fylla ett calc-chain-flyktigt-set på en helt ny arbetsbok, eller för att hoppa över cache-lagring av resultatet av en nyligen angiven formel.
Version 2.149.0
Tillagt
- PivotTable-cacher kan nu uppdateras från sitt källintervall programmatiskt. En ny metod
RefreshPivotCache(ACacheId)påTXLSXWorkbookskannar cachens källintervall på nytt, bygger om domänen för delade objekt per fält (åter-deduplicerar värden och härleder om de per-typ-gränserna), och skriver om indexen för delade objekt per post. Tidigare förlitade sig HotXLS på flagganrefreshOnLoad="1"och uppsköt allt uppdateringsarbete till Excel vid nästa öppning; programmatiska pipelines kan nu uppdatera i process.
Version 2.148.0
Tillagt
InsertColspå XLSX-motorn ärver nu kolumnbredden från sin vänstra granne, vilket matchar Excels standardbeteende för "infoga kolumn". Tidigare tog den infogade kolumnen upp arbetsbokens standardbredd, vilket producerade ett synligt fidelitetsgap efter en återöppning.- XLSX-motorn får bekvämlighetshjälpare för översiktskollaps
ToggleColGrouped/ToggleRowGroupedpåTXLSXWorksheet, som går genom översiktsträdet och kollapsar eller expanderar gruppen på en given nivå. Själva kollapsflaggorna rundtur-bevarades redan; detta lägger till den saknade bekvämlighets-API:et för att gå trädet.
Version 2.147.0
Tillagt
- HTML-export avger nu
<a name>-ankare vid celler som är mål för interna hyperlänkar, så att#SubAddress-hyperlänkar löser korrekt när läsaren klickar på dem. Tidigare avgs länkarna men målen saknade ankare, så interna hopp löste till ingenting. - CSV-export fick en egenskap
CSVEmitFormulaspåTXLSXWorkbook. När True exporterar formelceller sin formeltext (=SUM(A1:A2)) i stället för det beräknade värdet — användbart för felsökning och för pipelines som återimporterar till en annan motor. - Externa hyperlänk-URL:er är nu procentkodade vid skrivning (
XlsxEncodeHyperlinkUrl): blanksteg, vinkelparenteser, citattecken, klamrar, rör, omvända snedstreck, circumflex och backticks kodas som%XXi attributet<Relationship Target="..."/>så att filen öppnas korrekt i varje webbläsare. Befintliga procentkodade sekvenser (%20) bevaras som de är. - PivotTable-stilinformation bär nu hela ytan
pivotTableStyleInfo:StyleName,ShowRowHeaders,ShowColHeaders,ShowRowStripes,ShowColStripes,ShowLastColumnpåTXLSPivotTable. XLSX-skrivaren avger matchande element så att programmatiskt byggda pivoter bär den användarvalda randstilen i stället för den hardcodeade standarden. - En ny metod
CalculateAndVerifypåTXLSXWorkbookutvärderar varje formelcell på nytt och jämför det beräknade resultatet mot cellens cache-värde. Returnerar antalet oöverensstämmelser (0 = alla cache-värden matchar motorns färska beräkning; flyktiga formler exkluderas). Användbart för QA vid portering av arbetsböcker mellan motorer eller validering av att en skrivare inte korrumperade cache-värden.
Version 2.146.0
Tillagt
- XLSX-motorn stöder nu iterativ cirkelreferensberäkning (Excels iterativa beräkningsläge). En ny egenskapstrio
Iterate/IterateCount/IterateDeltapåTXLSXWorkbookstyr beteendet: närIterate=Trueoch en referenscykel upptäcks underRecalculate, utvärderar motorn om cykelmedlemsceller upp tillIterateCountgånger (standard 100) eller tills varje cells ändring är< IterateDelta(standard 0,001), i stället för att returnera#REF!. Inställningarna rundtur-bevaras genom OOXMLs element<calcPr iterate="1" iterateCount="N" iterateDelta="X"/>. Finansiella modeller med avsiktliga cirkulära referenser (ränta-på-ränta, cirkulära allokeringar) konvergerar nu i stället för att fel. - PivotTable-cache-fält bär nu en grupperingsmodell för numeriskt intervall- och datumpersonhierarkigruppering.
TXLSPivotCacheFieldfårHasGroup+GroupStartNum/GroupEndNum/GroupInterval(numeriskt intervall) ochGroupByDate/GroupDays/GroupMonths/GroupQuarters/GroupYears/GroupHours/GroupMinutes/GroupSeconds/GroupStartDate/GroupEndDate(datum). XLSX-skrivaren avger elementet<fieldGroup><rangePr groupBy="range|days|months|..."/>så att programmatiskt byggda pivoter med grupperade fält matchar Excels utmatning. - HTML-export avger nu slutnoter för kommentarer. När
xhCommentsär bland exportalternativen, får varje kommenterad cell en[n]-indexlänk, och den fullständiga kommentarstexten (författare + kropp) listas som en slutnot-sektion efter tabellen med en tillbakalänk till cellen. Tidigare var kommentarer endast tillgängliga via cellens attributtitle=, vilket är osynligt vid utskrift eller kopiera-klistra.
Version 2.145.0
Tillagt
- BIFF8-formelfel-literaler (
tErr-token) avkodas nu till ett typatSA_ERROR-syntaxobjekt i stället för att misslyckas med formeltolkningen. En cell som lagrar=#N/A(eller någon av de sju Excel-felkonstanterna) orsakade tidigare att hela formeln släpptes vid läsning; felbyten rundtur-bevaras nu genom läsning → utvärdering → skrivning och rekonstrueras till sin textform (#NULL!,#DIV/0!,#VALUE!,#REF!,#NAME?,#NUM!,#N/A) via en ny hjälpareXlsErrorToString. - BIFF8-token
tIsect $0F(implicit skärningsoperator) avkodas nu i den binära formelöversättaren, vilket bygger sammaSA_ISECT-nod som texttolken producerar för@. Tidigare skulle en binär formel som innehölltIsectmisslyckas med tolkning. - Villkorsformatering av datastaplar avger nu Excel 2010+ tilläggsblocket
x14i kalkylbladetsextLstnär modellen bär något icke-standard x14-fält (negativ fyllningsfärg, övertoning av, axelfärg, riktning, kant). En nyBuildDataBarExtXmlbygger elementet<x14:conditionalFormattings>extmed matchande prioritet, cfvo-par, fyllning + negativ + axelfärger, och attributen gradient/border/direction/negativeBarColorSameAsPositive.
Version 2.144.0
Tillagt
- XLSX-motorn kan nu skriva Agile-krypterade arbetsböcker (
TXLSXWorkbook.SaveAsEncryptedAgile), vilket stänger ett hög-värde läs-/skriv-kompatibilitetsgap. Agile är vad Excel 2010+ skriver som standard för lösenordsskyddade .xlsx-filer; HotXLS kunde tidigare läsa Agile men endast skriva Standard Kryptering (AES-128). Den nya skriv-pipelinen speglar den befintliga avkrypterings-sökvägen: SHA-512 lösenordshashning med ett spin-antal på 100000 iterationer, AES-256-CBC paketkryptering per segment, en slumpmässigt genererad mellannyckel inlindad per de tre spec-fästa block-nycklarna, och en komplett<encryption>-beskrivare-XML som bär den krypterade verifieraren + nyckel-blobarna. Utmatningen är byte-trogen mot vad Excel producerar och rundtur-bevaras rent genomXlsLoadAgileEncryptedFile(verifierad genom test: korrekt lösenord avkrypterar, fel lösenord avvisas). - Nya kryptografiska primitiver ligger till grund för Agile-skriv-sökvägen:
XlsHMACSHA512(RFC 2104, behövs för elementetdataIntegrity),XlsBase64Encode(RFC 4648-kodare som speglar den befintliga avkodaren), ochAESEncryptCBC(AES-CBC-kryptering för valfri nyckelstorlek 128/192/256, inversen till den befintligaAESDecryptCBC). AES-enheten importerar nuaes_encrypt_key192/aes_encrypt_key256från Gladman-obj (tidigare var endast 128-bitars kryptering tillgänglig).
Version 2.143.0
Tillagt
- Formelutvärderaren tolkar och utvärderar nu den explicita skärningsoperatorn
@(Excel 365 dynamisk-matris-syntax, t.ex.=A2:A4 @ B2:B4). Lexern avger en ny tokenLT_ISECTför symbolen@, prioritetsparsern bygger en nodSA_ISECT(som binder stramare än^, lösare än%), och en ny utvärderareIntersectRangeslöser båda operanderna som intervall och returnerar värdet för den enda korsande cellen — Excels implicita skärningsregel. BIFF-token-serialiseraren avgertIsect $0Fså att operatorn rundtur-bevaras genom XLS, och sökvägen för formeltext-rekonstruktion avger den implicita blankstegsformen. Tidigare misslyckades sådana formler med tolkning. - En standard Base64-kodare (
XlsBase64Encode) är nu tillgänglig, som speglar den befintligaXlsBase64Decode. Detta är förutsättningen för Agile-krypteringens skriv-sökväg, som avger saltValue / encryptedVerifierHashInput / encryptedKeyValue / encryptedHmacValue som Base64-attributvärden. - Arbetsbokens händelse
OnProgressavfyras nu också under fullständig omberäkning (Recalculate), med en ny fasxlsxProgressCalculating. Tidigare avfyrade händelsen endast under läsning och skrivning, så långa full-omberäkningar gav UI:et ingen puls. Händelsen avfyras ungefär var 4% av cellerna för att undvika översvämning. - De utökade dokumentegenskaperna (
docProps/app.xml) rundtur-bevarar nu tre ytterligare fält som Excel skriver för lösenordsskyddade / mallbaserade dokument:Manager,TemplateochDocSecurity(ett bitfält: 1=lösenordsskyddad, 2=skrivskydd rekommenderad, 4=skrivskydd framtvingad, 8=låst för annotering).
Version 2.142.0
Tillagt
- Den typade PivotTable-modellen bär nu ytan för metadata, källa, beräknat fält, "visa värden som" och gränser för delade objekt som den föregående analysrundan flaggade som gap.
TXLSPivotCachefårRefreshOnLoad/RefreshedBy/RefreshedDate/MissingItemsLimit/CreatedVersion/RefreshedVersion/MinRefreshableVersion/EnableRefresh/BackgroundQuery/SaveDataplus en typad form för kalkylbladskälla (SourceName/SourceRelId/SourceIsNamedRange);TXLSPivotCacheFieldfårFormula/DatabaseField/MemberPropertyField(beräknade fält) och gränserna för delade objekt (ContainsBlank/ContainsInteger/ContainsString/ContainsNumber/ContainsDate/MinValue/MaxValue/MinDate/MaxDate/HasBounds);TXLSPivotDataFieldfårShowDataAs/BaseField/BaseItemför transformeringarna "visa värden som" (procent-av / skillnad / löpande-summa / index). XLSX-skrivaren (BuildPivotCacheDefinitionXml/BuildPivotTableXml) respekterar alla dessa så att en programmatiskt byggd pivot (AddPivotTable) avger en rikarepivotCacheDefinition+pivotTableDefinition— refreshOnLoad / versionstrio / refreshedBy / namngivet-intervall-källa / beräknad cacheField-formel / sharedItems-gränser / dataField-subtotal + showDataAs. Pivottabeller lästa från en fil fortsätter att rundtur-bevara sin raw-XML ordagrant. - Beteende för bildankare rundtur-bevaras nu genom en ny egenskap
AnchorTypepåTXLSXImage(xaTwoCell= flytta och ändra storlek med celler,xaOneCell= flytta men ändra inte storlek,xaAbsolute= varken flytta eller ändra storlek). Skrivaren väljer ankarelementet (xdr:oneCellAnchor/xdr:twoCellAnchor editAs=.../xdr:absoluteAnchor) för att matcha; läsaren tolkar elementnamnet + attributeteditAstillbaka. Detta mappar till Excels högerklick → Storlek och egenskaper → Egenskaper-dialog. - Sidhuvud/sidfot rundtur-bevarar nu differentiering för jämna/första sidor.
TXLSXWorksheetfårEvenHeaderText/EvenFooterText/FirstHeaderText/FirstFooterTextplus de fyra<headerFooter>-växlarna (DifferentOddEven,DifferentFirst,ScaleWithDoc,AlignWithMargins). Filer där användaren aktiverade "Olika udda och jämna sidor" eller "Olika första sidan" förlorar inte längre de jämna/första-sid-sektionerna vid rundtur. - Sidinställningar rundtur-bevarar nu de utökade attributen
<pageSetup>som Excel skriver för icke-standard utskriftsuppsättningar:Copies,FirstPageNumber+UseFirstPageNumber,HorizontalDpi,VerticalDpi,PrintErrors(visade/tomma/streck/NA),UsePrinterDefaults. <sheetFormatPr>rundtur-bevarar nucustomHeight,zeroHeight,outlineLevelRowochoutlineLevelCol, så att filer där användaren satte en användarfast standardradhöjd, dolda standardrader, eller en standardöversiktsnivå inte längre förlorar det beteendet.- Villkorsformatering av datastaplar rundtur-bevarar det standardattributet
gradient(övertoning vs. solid fyllning), ochTXLSDataBarSpecfår Excel 2010+-tilläggsfälten förx14(NegativeBarColor,NegativeBarColorSameAsPositive,GradientFill,AxisColormed tema/nyans,Direction,Border) på modellen så att API-konsumenter kan sätta dem. - Kommentarsballonger rundtur-bevarar sin VML-ritning ordagrant. Läsaren fångar
xl/drawings/vmlDrawingN.vmlsom den är och skrivaren spelar upp den vid sparande (i stället för den inbyggda gul-ballong-mallen), så att varje ballongs användarsatta position / storlek / fyllningsfärg / synlighet överlever. - Kommentarskroppar rundtur-bevarar per-kör-formatering.
TXLSXCommentfår en latRichText: TXLSXRichText-nyttolast (som återanvänder kör-modellen för delade strängar); skrivaren avger en<r><rPr>...</rPr><t>...</t></r>per kör när RichText bär formatering, och läsaren tolkar<b/>,<i/>,<sz val=N/>,<color rgb=.../>tillbaka så att fet / kursiv / storlek / färg överlever. - Formelutvärderaren implementerar nu
SUBTOTAL(alla elva aggregatorer: AVERAGE / COUNT / COUNTA / MAX / MIN / PRODUCT / STDEV / STDEVP / SUM / VAR / VARP, plus 101–111 varianterna som ignorerar dolda) ochAGGREGATE(nitton aggregatorer med alternativkodsflaggorna 0–7 som väljer fel/dold-hoppning, inklusive familjen LARGE / SMALL / MEDIAN / PERCENTILE / QUARTILE med derask-argument). Både föll tidigare igenom till sökvägen för funktioner som saknar stöd;SUBTOTALvar registrerad men saknade implementation,AGGREGATEvar inte registrerad alls. - Kalkylbladsfunktionerna
CELLochINFOutvärderas nu:CELLstöderaddress,col,row,type,contents,filename,format, och GUI-tillståndinfo_type(color,parentheses,prefix,protect,width) returnerar neutrala standarder;INFOstöderosversion,system,recalc,memavail,numfile,release,origin. Båda var registrerade men föll igenom till#NAME?. - Villkorsformatering rundtur-bevarar nu attributen
stopIfTrue,stdDev,equalAverageochtimePeriodcfRule, plus hela den tio-medlemmar storatimePeriod-familjen (igår / idag / imorgon / senaste7Dagar / förraVeckan / dennaVeckan / nästaVeckan / förraMånaden / dennaMånaden / nästaMånaden). Dessa släpptes tyst vid läsning; Excel skriver dem rutinmässigt på reglerna över-medel och datum-band, och att släppa dem ändrade hur regeln utvärderades på nytt vid återöppnande. - CSV-export fick en egenskap
TXLSCsvEncodingpåTXLSCSVSavermed tre lägen:ceSystemAnsi(äldre standard),ceUtf16(det historiska Unicode-läget), ochceUtf8som skriver en UTF-8-fil med byte-ordningsmarkören EF BB BF — den moderna Excel-vänliga standarden som återöppnas utan textimportguiden på valfri lokal. - CSV-import fick en egenskap
LocaleTolerantNumberspåTXLSCSVLoader. När aktiverad, prövas ett numeriskt fält som misslyckas med tolkning med.som decimaltecknet på nytt med,(och vice versa), så att ett europeiskt3,14importeras som talet 3,14 på en USA-maskin. Strikt läge (standard) är oförändrat så att nolla-ledande text, postnummer och andra komma-bärande tokens förblir text.
Rättat
- XLSX-motorns strikta slutsats dragning av tal tvingar inte längre komma-bärande textfält (t.ex.
3,14) till tal via DelphisTryStrToFloat, som tolererar ett komma som tusenseparator även närThousandSeparatorär satt till#0. Sådana fält förblir nu text om inte det nya alternativetLocaleTolerantNumbersär aktiverat.
Version 2.140.0
Ändrat
- XLSX-motorn komprimerar nu sina sex per-attribut-stil-pooler (Teckensnitt / Fyllningar / Kanter / TalFormat / Justeringar / Skydd) före varje sparande: ett nytt pass
CompactStylePoolsskannar varje cells stilindex och kastar poolposter som inte längre refereras av någon cell — de poster som ackumuleras när celler rensas, raderas, eller stylas om efter att poolposten först lades till. De komprimerade poolerna producerar en mindre<cellXfs>-tabell i utmatningsfilen (vanligtvis 30–70% mindre för dokument som har gått igenom flera redigeringscyklar), vilket matchar den komprimering XLS-motorn redan gör viaCreateAllReferredList
Version 2.139.0
Tillagt
- Ritlager-shapes, kopplingar, gruppshapes och icke-diagram-grafiska ramar rundtur-bevaras nu ordagrant: när XLSX-läsaren påträffar ett ankare för
<xdr:sp>,<xdr:cxnSp>,<xdr:grpSp>, eller icke-diagram<xdr:graphicFrame>som den typade modellen (bilder / diagram / textrutor) inte täcker, fångar den den kompletta ankare-XML:en och spelar upp den oförändrad vid sparande — så att ritningar skapade i Excel (pilar, bildtexter, grupperade shapes, smart art-ramar) överlever en läs→skriv-cykel utan förlust. Varje kalkylblad exponerarRawDrawingAnchorCount/RawDrawingAnchor(i)för inspektion
Version 2.138.0
Tillagt
- Cache-lagrade cellvärden för externa länkar rundtur-bevaras nu på XLSX-motorn: en ny modell
TXLSXExternalCell/TXLSXExternalRow/TXLSXExternalSheetDatahänger på varjeTXLSXExternalLinkviaAddSheetData/AddRow/AddCell, skrivaren avger det matchande blocket<sheetDataSet>inutiexternalLinkN.xml, och återöppnande återställer varje cache-lagrat värde.FindCachedCell(sheetIdx, row, col)slår upp det senast kända värdet för en externt refererad cell — den data som Excel själv visar när den fjärranslutna arbetsboken är frånkopplad
Version 2.137.0
Tillagt
- OOXML-flaggan cellXf
quotePrefix— Excels mekanism för att markera lagrad text som en literal så att den överlever numerisk tvingande (CSV-importerade koder som00123, långa kontonummer, allt användaren prefixade med en apostrof) — rundtur-bevaras nu på XLSX-motorn:TXLSXAlignmentfår en egenskapQuotePrefix, dedupliceringsräkningen för justeringspoolen räknar den, skrivaren avgerquotePrefix="1"på matchande<xf>, och återöppnande återställer den oavsett om cellXf bar ett barn<alignment/>eller var en bar självt-stängande<xf quotePrefix="1"/>
Version 2.136.0
Tillagt
- Diagramaxlar är nu fullt programmerbara: en ny modell
TXLSXChartAxispå varje diagramsCategoryAxisochValueAxisexponerarLogBase(logaritmisk skala, t.ex. 10 för bas-10-logaritm),Orientation(normal / omvänd),MajorGridlines/MinorGridlines,MinValue/MaxValue(NaN = auto),MajorUnit/MinorUnit,CrossesAt,TickLblPosochDispUnits(visningsenheter: hundratal / tusental / miljoner / miljarder / biljoner). Alla standardvärden är Excels auto-beteende, så befintliga diagram avger samma XML som tidigare; skrivaren lägger till<c:logBase>,<c:orientation>,<c:majorGridlines>,<c:majorUnit>,<c:crossesAt>,<c:tickLblPos>och<c:dispUnits>endast när anroparen sätter ett icke-standardvärde, och att återöppna ett sådant diagram återställer varje inställning
Version 2.135.0
Tillagt
- Diagram-felstaplar är nu programmerbara och rundtur-bevaras på XLSX-motorn: varje
TXLSXChartSeriesfårAddErrorBar(dir)som returnerar enTXLSXChartErrBarmedValueType(fast / procent / stdDev / stdErr / anpassad),Value,PlusValue/MinusValue(anpassad) ochNoEndCap; ett felstapel-plats per riktning (X / Y) lagras, skrivaren avger det matchande blocket<c:errBars>, och återöppnande återställer riktning, typ och magnitud så att vetenskapliga / tekniska diagram behåller sina osäkerhetsindikatorer
Version 2.134.0
Tillagt
- Diagram-dataetiketter är nu programmerbara och rundtur-bevaras på XLSX-motorn: varje
TXLSXChartSeriesfår egenskapernaShowValue,ShowCategoryName,ShowSeriesName,ShowLegendKey,ShowPercent,ShowBubbleSizeochSeparatorsom avger det matchande blocket<c:dLbls>med sina<c:show*/>-barn; att återöppna ett sådant diagram återställer växlarna så att inställningarna 'visa värde' / 'visa procent' överlever en spara-redigera-spara-cykel
Version 2.133.0
Tillagt
- Vektorbildformaten EMF och WMF är nu förstaklass bildtyper på XLSX-motorn:
TXLSXImageFormatfårxlsxImageEmf/xlsxImageWmf, skrivaren avger de matchande innehållstypernaimage/x-emf/image/x-wmfoch filändelserna.emf/.wmf, och format-lukten känner igen EMF (01 00 00 73), placerbar WMF (D7 CD C6 9A) och standard-WMF-rubriker — så att bilder inklistrade från Word eller PowerPoint som Excel bäddar in som vektordata nu rundtur-bevaras i stället för att släppas
Rättat
- BIFF8-diagramunderströmmar vars GELFRAME-post (
$1066) spänner över gränsen för 8224 byte fortsättning förlorar inte längre fyllnings-/linjegeometri: läsaren accepterar nu GELFRAME-självfortsättning (Excel skriver en annan$1066i stället för den standard$003CCONTINUE) och låter också standard CONTINUE-poster sy ihop inuti diagramkontext, vilket matchar skrivarens befintliga dispatch för flera chunk - BIFF8-bakgrundsbilder för sidhuvud/sidfot (
$0866) vars nyttolast spänner över fortsättning-poster korrumperas inte längre: varje fortsättningssegment upprepar ett 14-byte MSO-rubrik som läsaren nu strippar före sammanslagning, så att den inbäddade bilddatan inte längre skiftas med 14 byte per segment
Version 2.132.19
Rättat
- Uppstädning av äldre XLS- och krypterad XLSX-lagring frigör nu compound-fil-strömmar deterministiskt, vilket förhindrar att temporära filer förblir låsta efter spara, ladda, VBA eller krypterad-paket-operationer
- Formaterad visning av utökade heltals-variantvärden applicerar nu det begärda taletformatet konsekvent, vilket matchar det befintliga beteendet för standard heltalsvärden
- Delade strängar, datavalidering, diagramblad, ZIP-arkiv, PNG-ritning och upprepad text-formler städar nu upp temporära buffertar mer försvarsvis under felsökvägar och stora textoperationer
Version 2.132.18
Rättat
- Värdetilldelning för intern strängbyggare rensar nu tidigare text när den tilldelas en tom sträng, vilket förhindrar att återanvända XML- och textbuffertar behåller inaktuellt innehåll
Version 2.132.17
Rättat
- Skapande av XLS-diagramblad accepterar nu citerade källbladnamn som innehåller ett utropstecken, avvisar övertora radreferenser innan de kan slå runt till en giltig BIFF-rad, och begränsar trendlinje-förklaringnamn till BIFF:s korttext-gräns så att genererade diagramposter förblir välformade
Version 2.132.16
Rättat
- Interna listor för strängnycklar och objektnycklar tar nu bort inaktuella uppslagningsnycklar när en befintlig plats skrivs över, vilket förhindrar att gamla nycklar löser upp till ersättningsposter
- Ersättningar i interna objektlistor och transformerade unik-nyckel-cacher frigör nu ägda poster vid överskrivning, rensning och destruktion, vilket förhindrar läckage under upprepade arbetsboks- och stiloperationer
Version 2.132.15
Rättat
- Direkta strömmande XLSX-läsningar avkodar nu booleska celler som lagrar OOXML-literala värden som true och false
- Indexuppdateringar för intern sträng-lista tar nu bort inaktuella nycklar när en befintlig plats skrivs över, vilket förhindrar att gamla namn löser upp till det nya värdet
Version 2.132.14
Rättat
- BIFF8-meddelanden för datavalidering-prompt och -fel vars första tecken är NUL bevarar nu postgränser i stället för att skriva en felmatchad DV-längd
Version 2.132.13
Rättat
- XML-texttolkning avvisar nu nästlade enhetsstarter som && i stället för att tyst släppa den oavslutade enheten
- Dekompilerade formler skriver nu numeriska konstanter med en invariant punkt-decimaltecknare så att formeltext förblir portabel över regionala inställningar
Version 2.132.12
Rättat
- PNG-transparens för palett ignorerar nu transparenta färger som inte finns i bildpaletten i stället för att markera ett godtyckligt palettindex som transparent
- SUMPRODUCT-formler slutar nu skanna återstående rader efter den första raden utanför-använt-intervall i långa intervallargument, vilket undviker onödiga cellläsningar samtidigt som det beräknade resultatet bevaras
Version 2.132.11
Rättat
- TEXT-formler returnerar nu #VALUE! när ett ogiltigt eller för stort talformat inte kan appliceras i stället för att sväljas som ett tomt framgångsresultat
- Trunkering av tabell för delade strängar frigör nu de korrekta svansblocken och håller tabellen återanvändbar efter stora raderingscykler
Version 2.132.10
Rättat
- Exakta MATCH-uppslag respekterar nu Excel-jokertecken, och metadata för klassisk XLS-rad-offset ignorerar nu rader utanför-block i stället för att korrumpera sparad arbetsboksstruktur
- PNG-komprimerad text-metadata frigör nu temporära buffertar på ett säkert sätt om chunk-bearbetning kastar
Version 2.132.9
Rättat
- PNG-komprimerad text-metadata, chunk-lista-insättning och CRC-byte-ordningshantering förblir nu stabila över Windows-plattformar som stöds
Version 2.132.8
Rättat
- LEFT- och RIGHT-formler rapporterar nu #VALUE! när num_chars inte kan konverteras till ett giltigt heltal
Version 2.132.7
Rättat
- SEARCH-formler stöder nu Excel-jokertecken ?, * och ~
- Validering av kalkylbladsnamn avvisar nu ogiltiga tecken för Excel-bladnamn vid namnbyte av blad
- Borttagning av manuell sidbrytning fungerar nu efter att en brytning har infogats före befintliga brytningar
Version 2.132.6
Rättat
- DATE-formler matchar nu Excel-kompatibelt rullningsbeteende för månad och dag, inklusive anrop som DATE(2008,14,2)
- Hidden-läsningar för kolumnintervall rapporterar nu varje kolumns synlighet i stället för att blanda i rad-synlighetstillstånd
- BIFF-rad-metadata vid radgränsen Excel 97-2003 läses nu in korrekt så att inställningar för rad 65536 bevaras
Version 2.132.5
Rättat
- BIFF-inläsning av arbetsbok tolererar nu felaktiga kalkylblads-tab-färger, trunkerade pivotetiketter och ogiltiga pivot-cache-datumfragment utan att kasta undantag
- Inläsning av arbetsbokspaket och strömmar städar nu upp misslyckade arkiv- och lagringsuppsättningssökvägar mer konsekvent, vilket undviker läckta resurser vid felaktig indata eller misslyckade ström-stödda lagringsöppningar
Version 2.132.4
Rättat
- Hantering av ZIP-arkiv slutför nu det aktuella paketet innan samma arkivobjekt återanvänds för ett annat paket, och filbaserad arkivöppning tillåter nu samtidiga delade läsare
Version 2.132.3
Rättat
- Skrivning av arbetsbokspaket bevarar nu icke-ASCII ZIP-postnamn med UTF-8-metadata, vilket förhindrar mojibake när paketdelsnamn innehåller Unicode-text
- XML-utmatning skriver nu rå text- och attributvärden som UTF-8-byte när escapering är inaktiverad, vilket matchar den deklarerade dokumentkodningen
- Formelutvärdering rensar nu sitt pågående tillstånd efter återanropsundantag och hanterar korrekt stora-tal-anullering på Unicode-Delphi-byggen
- Matrisutdrag för matrisformel respekterar nu nedre gränser som inte är noll för Variant-matriser i stället för att kasta för giltiga en-baserade matriser
Version 2.132.2
Ändrat
- Intervallsortering använder nu ett stabilt O(n log n)-ordningspass för stora sorterade intervall, samtidigt som befintligt rundtur-beteende för radinnehåll bevaras
- Numerisk tolkning och formatering för ODS och XLSX återanvänder nu invariant formateringstillstånd i stället för att skapa det upprepade gånger i heta sökvägar
Rättat
- XML-tolkning accepterar nu giltiga CDATA-block och UTF-8-bearbetningsinstruktioner utan att korrumpera text eller misslyckas med giltig markup
- Formeltolkning accepterar nu signerad vetenskaplig notation och avvisar felaktiga eller trunkerade formelbyte på ett rent sätt
- Klassiska sökvägar för öppna och spara av arbetsbok frigör nu strömmar och lagringar på ett tillförlitligt sätt efter fel, vilket förhindrar att temporära filer förblir låsta
- Hantering av binär buffert validerar nu kopierings- och läsggränser, växer destinationsbuffertar före kopiering, och avvisar felaktiga bakåtreferenser för VBA-komprimering på ett rent sätt
Version 2.132.1
Rättat
- Rättade felmeddelandet som kastas när en krypterad arbetsbok använder ett krypteringsschema som saknar stöd: det påstod tidigare att ECMA-376 Agile-kryptering inte kunde läsas, även om Agile-avkryptering (AES-128/192/256) har stötts sedan 2.119.0. Meddelandet listar nu de scheman som faktiskt stöds
- Open pekar nu anropare mot TXLSXWorkbook.OpenEncrypted när den vägrar ett krypterat OOXML-paket, i stället för att säga att krypterade arbetsböcker inte stöds
Version 2.132.0
Ändrat
- XLSX-inläsning är avsevärt snabbare: XML-läsaren intern-lagrar nu upprepade elementnamn och konverterar text- och attributvärden direkt från sin skanningsbuffert, vilket skär per-cell minnesallokeringar med mer än hälften. Flertrådig öppning (2.128.0) drar mest nytta av detta — de allokeringar som togs bort var de som serialiserade arbetartrådarna — med fler-blad-arbetsböcker som nu öppnar nästan dubbelt så snabbt som den entrådade sökvägen på flerkärniga maskiner; entrådad öppning vinner också några få procent
Version 2.131.0
Tillagt
- Kalkylblads-tilläggsblock som HotXLS inte modellerar —
<ext>-poster i ett kalkylblads<extLst>annat än sparklines, som skrivs av Excel för funktioner som x14-villkorsformatering eller slicers — bevaras nu ordagrant när en arbetsbok öppnas och skrivs tillbaka vid sparande, så att öppna och spara om en fil inte längre strippar dessa tillägg. De fångade blocken är synliga skrivskyddade viaWorksheet.RawWorksheetExtsoch följer med bladet när det kopieras till en annan arbetsbok
Version 2.130.0
Tillagt
- Sparade arbetsböcker som innehåller formler bär nu delen
xl/calcChain.xmlför beräkningskedjan, vilket låter Excel så sin beroendemotor från den inspelade ordningen i stället för att bygga om den vid inläsning. Efter ettRecalculate-anrop följer kedjan den topologiska ordningen för beroendegrafen; annars listas formelceller i dokumentordning (ett giltigt tips som Excel förfinar i farten). Delen, dess innehållstyp och dess arbetsboksrelation avges tillsammans och överlever öppna/spara-rundturer
Version 2.129.0
Tillagt
- Ny egenskap
Workbook.ParallelParseThreadsställer in antalet arbetare för den flertrådig öppna-sökvägen som introducerades i 2.128.0 (0 = automatisk, en arbetare per CPU-kärna). Tolkning av kalkylblad allokerar tungt och minnesallokering serialiseras över trådar, så på vissa arbetsbelastningar presterar en liten explicit begränsning lika bra som — eller bättre än — det fulla kärnantalet; egenskapen låter integratorer välja vad som mäts bäst för deras filer
Version 2.128.0
Tillagt
- Flertrådig XLSX-inläsning: att öppna en arbetsbok tolkar nu varje kalkylblads XML — den dominerande kostnaden på stora filer — på arbetartrådar, så att fler-blad-arbetsböcker öppnar snabbare på flerkärniga maskiner. Blad-delar extraheras från paketet i förväg och varje arbetare rör endast sitt eget blad, så att den inlästa arbetsboken är identisk med det seriella resultatet
- Ny egenskap
Workbook.ParallelParse(standardTrue) växlar tillbaka till entrådad tolkning när den sätts tillFalseföreOpen— en enkel avstängning för begränsade miljöer
Ändrat
- Läs-återanropet
OnProgressavfyrar fortfarande en gång per kalkylblad på anropstråden, nu när varje blad skickas för tolkning snarare än strikt mellan blad
Version 2.127.0
Tillagt
- Inkrementell omberäkning på XLSX-motorn: den nya metoden
Workbook.Recalculatebygger en formelberoendegraf, utvärderar varje formelcell en enda gång i beroendeordning och lagrar varje resultat i cellens cache-värde. Efterföljande anrop utvärderar endast de celler som påverkas av värdeändringar sedan det senaste passet — på kedjade modeller (finansiella blad, rapport-kaskader) omberäknar redigering av en indata endast dess nedströms formler i stället för hela arbetsboken - Flyktiga funktioner (
NOW,TODAY,RAND,OFFSET,INDIRECT) omberäknas vid varje pass, liksom formler vars referenser inte kan lösas statiskt (flerområdes-namn, externa arbetsböcker) — motorn över-omberäknar hellre än att riskera ett inaktuellt resultat - Referenscykler upptäcks i stället för att loopa:
Recalculatereturnerar en felkod när formler bildar en cirkulär kedja, hoppar över cykelmedlemmarna och utvärderar ändå varje formel utanför cykeln. Korsark-referenser, namngivna intervall och CSE-matrisformler (resultat spillda över det förankrade intervallet) deltar fullt ut i beroendegrafen
Ändrat
- Den befintliga sökvägen för beräkning på begäran
Calculateär oförändrad;Recalculateär ett separat opt-in-API och arbetsböcker som aldrig anropar det beter sig exakt som tidigare
Version 2.126.0
Tillagt
- Sparklines på XLSX-motorn: kalkylblad bär nu sparkline-grupper — de mini-diagram inuti celler som Excel renderar från ett dataintervall — med de tre Excel-typerna (linje, kolumn, vinst/förlust-stapel). Skapa en med
Worksheet.AddSparklineGroupeller bygg grupper manuellt genom den nya samlingenWorksheet.SparklineGroups, genom att lägga till valfritt antal sparklines per grupp med ett källintervall och en visningscell var - Sparkline-grupper exponerar det fullständiga alternativ-utbud som Excel erbjuder: linje-vikt, datapunkt-markörer, växlar för markering av hög/låg/negativ/första/sista punkt, åtta ARGB-färg-plats (serie, negativ, axel, markörer, första, sista, hög, låg), per-grupp eller per-sparkline vertikal-axel-skalning och hantering av gap/noll/spann för tomma källceller
- Sparklines överlever en fullständig spara→öppna-rundtur: sparande avger kalkylbladets
extLst-tilläggsblock ([MS-XLSX] §2.3.6) så att Excel 2010 och senare renderar sparklines, och att öppna en sådan arbetsbok — oavsett om den skrivits av HotXLS eller Excel — bygger om varje grupp, alternativ och intervall så att de består genom redigeringcykler. Att kopiera ett blad till en annan arbetsbok klonar också dess sparkline-grupper
Version 2.125.0
Tillagt
- Sju DBCS-byte-räknande textfunktioner utvärderas nu på båda motorerna:
LEFTB,RIGHTB,MIDB,LENB,FINDB,SEARCHBochREPLACEB. Var och en behandlar sin indata som en bytesträng under systemets ANSI-kodsida så att CJK-tecken (kinesiska/japanska/koreanska) upptar 2 byte medan ASCII upptar 1; operationer som skulle dela ett DBCS-ledande/släpande byte-par snäpper tillbaka till närmaste teckengräns, vilket matchar Excels beteende
Version 2.124.0
Tillagt
- Fem hypotestest- och distributionsfunktioner utvärderas nu på båda motorerna:
Z.TEST(ensidig högersvans-sannolikhet att urvalsmedelvärdet är minstxunder nollhypotesen),T.TEST(parad två-urval t-test p-värde; oparade lika/olikvärdig-varians-typer är uppskjutna),CHISQ.TEST(anpassnings-godhet p-värde via övre-svans chi-i-två CDF),HYPGEOM.DIST(hypergeometrisk PMF/CDF med den kumulativa flaggan), ochNEGBINOM.DIST(negativ-binomial PMF/CDF). P-värde-matematiken återanvänder motorns befintliga normal/Student-t/chi-i-två-CDF-hjälpare via fristående nästlade rutiner, så ingen befintlig Calc-metod ändras
Version 2.123.0
Tillagt
- Fjorton formelfunktioner från en granskning av kompatibilitetsgap utvärderas nu på båda motorerna:
AVERAGEIF(enskilt-kriterium-medel, syskon-funktionen till SUMIF/COUNTIF som motorn saknade),WORKDAY.INTLochNETWORKDAYS.INTL(anpassade helgmasker via nummer 1-17-koderna eller en 7-tecken Mån-Sön-sträng),XIRRochXNPV(internränta och nuvärde för oregelbundna-datum kassaflöden, lösta genom inneslutande bisektion),CEILING.PRECISE/FLOOR.PRECISE/ISO.CEILING(tecken-agnostisk avrundning),PERCENTRANK.INC/PERCENTRANK.EXC(percentilrang med matchande inklusiv/exklusiv interpolation),MODE.MULT(spiller varje värde som delar högsta frekvens),ERF.PRECISE(Gauss-felfunktion via sin alternerande serie),ACCRINT(upplupen ränta), ochISPMT(periodsränta för konstant-huvud-amortering)
Version 2.122.0
Tillagt
- Trådade kommentarer (Excel 365) rundtur-bevaras nu på XLSX-motorn:
AddThreadedCommentochAddThreadedReplypå ett kalkylblad bygger ett förälder→barn-svarsträd förankrat vid en cell, auto-registrerar varje författare på en ny arbetsboksnivåPersons-lista, och avger den dedikerade delenxl/threadedComments/threadedCommentN.xmlper blad plus den arbetsboksomfattandexl/person/person.xml; att återöppna ett sådant paket bygger om konversationsträdet och deltagarlistan från dessa delar, så att svarskedjor, identifierare och visningsnamn överlever en fullständig läs→skriv-cykel
Version 2.121.0
Tillagt
- Formelutvärderaren beräknar nu Excel 365-funktionerna för dynamiska matriser
XMATCH,SORT,UNIQUEochSEQUENCE, vilka ansluter sig till de redan stöddaXLOOKUPochFILTER; resultat spiller som 2-D-matriser så attSEQUENCE(3;2;1;1)returnerar ett 3×2-rutnät,SORTsorterar om rader efter valfri nyckelkolumn stigande eller fallande,UNIQUEkollapsar dubblettrader och behåller den första förekomsten, ochXMATCHrapporterar den 1-baserade positionen för ett uppslagsvärde med samma exakta/jokertecken/nästa-mindre/nästa-större matchningslägen somXLOOKUP
Version 2.120.0
Tillagt
- Ny metod
PasteFromClipboardpå båda motorernas kalkylblad läser tab-separerad text från Windows-urklipp — den nyttolast Excel placerar där när ett intervall kopieras, eller ett vanligt urval från något annat program — och skriver det till celler med början vid den angivna raden och kolumnen, med samma typ-promotion för tal/datum/boolesk som CSV-laddaren redan använder; inledande=-text blir en levande formel, vilket matchar hur Excel självt klistrar in
Version 2.119.0
Tillagt
- Läsning av ECMA-376 Agile-kryptering — det lösenordsskydd Excel 2010 och senare applicerar som standard:
OpenEncryptedtolkar nu XML-beskrivaren för kryptering, härleder nycklarna med SHA-512 spin-count-hashning, verifierar lösenordet och avkrypterar AES-CBC-segmenterat paket (AES-128/192/256), så att arbetsböcker lösenordsskyddade direkt i Excel öppnas utan att Excel är installerat OpenEncryptedhanterar alla tre fallen genom en ingångspunkt: vanlig okrypterad.xlsx, Standard Kryptering (vårSaveAsEncrypted-rundtur), och Agile-kryptering; ett fel lösenord kastar samma tydliga fel i varje schema
Rättat
- Att spara en
.xlsx-arbetsbok vars kalkylblads-XML översteg ungefär 116 KB — cirka 3 000 rader med typisk strängdata — kraschade med ett stack-overflow; ZIP-skrivarens CRC-32-kontrollsumma bearbetar nu data i 64 KB-sektorer, vilket håller komprimerings-backend borta från sin stora-inmatning-kodsökväg som allokerar en överdimensionerad scratch-buffert på stacken. Kontrollsummeresultatet är oförändrat
Ändrat
- Deduplicering av delade strängar körs nu genom en hash-tabell i stället för att skanna stränglistan, och delen
sharedStrings.xmlsammansätts genom den förväxta strängbyggaren i stället för upprepad sammanslagning — tillsammans med det konstant-tids cellindex tar detta sparandet av 120 000 strängceller från tiotals sekunder ner till ungefär en tredjedels sekund
Version 2.117.0
Ändrat
- XLSX-cellåtkomst är nu konstant-tids: kalkylbladets cellsamling bär ett hashindex över (rad, kolumn), vilket ersätter den tidigare linjära skanningen — så att populerande, tillbakaläsning eller inläsning av ett stort blad skalas linjärt med cellantalet i stället för kvadratiskt; att fylla 100 000 celler tar nu väl under en sekund där det tidigare tog minuter
- Hastighetsökningen gäller över hela motorn:
Cells[r, c],HasCell, arbetsboksinläsning, sparande, korsarbetsboks-kopior, auto-passning och varje hjälpare som rör celler efter position drar alla nytta; rad- och kolumninfogning eller -borttagning bygger om indexet i ett enda pass
Version 2.116.0
Tillagt
- PDF-export i den klassiska XLS-motorn: nya metoder
SaveAsPDFpå kalkylbladet och arbetsboken renderar det använda intervallet (eller ett anropartillhandahållet intervall genomTXLSPDFExport) som ett paginerat rutnät — cellvisningstext genom talformatet, rutnätslinjer, kolumnbredder härledda från Excel-bredden och skalade för att passa sidan, och automatisk flersidig paginering - Utmatning är en fristående PDF 1.4-fil utan externa beroenden, med det inbyggda Helvetica-teckensnittet med WinAnsi-textkodning; stående eller liggande A4-orientering, sidmarginal och teckenstorlek är konfigurerbara på exportören
- Detta är en data-presentations-export bredvid HTML och RTF: den återger tabell-innehåll och layout för rapporter och dokumentöverlämning snarare än full per-cell-styling
Version 2.115.0
Tillagt
- Skapande av diagram med ett anrop från ett dataintervall i XLSX-motorn: ny
AddChartFromRangebygger ett komplett diagram och härleder sina serier automatiskt från ett rektangulärt datablock — motsvarigheten till Excels "infoga diagram från markering" — med serier-i-kolumner eller transponerade serier-i-rader-layout - Namngivna genvägar
AddColumnChart,AddBarChart,AddLineChart,AddPieChartochAddAreaChartväljer en diagramtyp efter namn över samma ett-anrop-flöde, genom att läsa serienamn från rubrikraden och kategorialetiketter från den första kolumnen - Seriereferenser kvalificeras med källbladets citerade namn, så att ett genererat diagram fortsätter fungera när det placeras på valfritt blad och överlever spara och ladda om
Version 2.114.0
Tillagt
- RTF-import i den klassiska XLS-motorn, inversen till den befintliga
SaveAsRTF-exporten: nya metoderOpenRTFpå kalkylbladet och arbetsboken läser ett RTF-dokuments tabell till kalkylbladsceller —\cellavancerar kolumnen,\rowavancerar raden — med början vid A1 - Återvinner tabelldata från filer producerade av
SaveAsRTF, Word eller WordPad: numerisk text lagras som tal så att formler fortsätter fungera, hex- (\'hh) och Unicode- (\uN) escapes avkodas korrekt, och rubrikgrupper (teckensnittstabell, färgtabell, stilmall, info) hoppas över - Dokument utan tabell faller tillbaka på styckes-läge, genom att importera varje
\parsom nästa rad i kolumn A
Version 2.113.0
Tillagt
- Läsning av krypterade
.xlsx-arbetsböcker:OpenEncryptedavkrypterar nu ECMA-376 Standard Kryptering (AES-128)-paket, vilket fullbordar rundturen med den befintligaSaveAsEncrypted— den läser compound-fil-behållaren, härleder nyckeln från lösenordet, verifierar den och laddar den återvunna arbetsboken - Ett fel lösenord kastar ett tydligt "lösenordet är felaktigt"-fel, och
OpenEncryptedpå en vanlig okrypterad.xlsxfortsätter att ladda den direkt, så att anropare kan dirigera varje fil genom en ingångspunkt
Ändrat
- Meddelandet för kryptering som saknar stöd namnger nu ECMA-376 Agile-kryptering specifikt som det återstående schemat som saknar stöd, eftersom läsning och skrivning av Standard Kryptering båda är tillgängliga
Version 2.112.0
Tillagt
- Ny egenskap
TaggedTextpå XLSX-celler konverterar mellan rich text och lättviktig markup:<b>,<i>,<u>,<s>,<sub>,<sup>,<color=#RRGGBB>,<font=Name>och<size=N>, med</>/&-escaper — så att flervals-cellämningsinnehåll kan produceras från en mallsträng i stället för att sättas samman kör-för-objekt för hand - Skrivning av markup bygger kör-listan och behåller
Valuesom den sammanslagna vanliga texten; markup utan taggar lagrar en vanlig sträng utan rich-nyttolast; läsning serialiserar varje körs attribut som kompletta tagg-uppsättningar; okända taggar passerar som bokstavlig text
Rättat
- En rich-text-körning som helt består av blanksteg (till exempel ett enda stylat blanksteg mellan ord) överlever nu spara och ladda om; tidigare släpptes blanksteget när filen öppnades på nytt
Version 2.111.0
Tillagt
- Ny händelse
OnProgresspå XLSX-arbetsboken rapporterar laddnings- och spar-forlopp: den avfyras en gång per kalkylblad när det tolkas underOpeneller avges underSaveAs, bärandes fasen (läsning eller skrivning), det aktuella 1-baserade bladnumret och totalen — så att program kan driva en förloppsindikator över långa fler-blad-operationer till försumbar återanropskostnad
Version 2.110.0
Tillagt
- Ny radmarkör i dataset-stil
TXLSRowCursorför.xlsx/.xlsm-filer:Open,SelectSheet, sedanFindFirst/FindNextgår igenom ett kalkylblad en rad i taget med endast den aktuella radens celler i minnet — ett drag-drivet alternativ tillTXLSDirectReader:s återanrop för sekventiell bearbetning av blad med flera miljoner rader - Varje rad exponerar sitt 1-baserade kalkylblads-radnummer, de populerade cellerna i dokumentordning (typat värde, formeltext, stilindex), och en
ValueByCol-uppslagning som returnerarNullför kolumner som inte är populerade på den raden; rader utan populerade celler hoppas över - Bladnamn och antal är tillgängliga efter
Open(fil- och strömöverlagringar), med delade strängar och detektering av datumformat hanterat på samma sätt som för den strömmande läsaren
Version 2.109.0
Tillagt
- Ny "formatpensel"
TXLSXCellFormatför XLSX-motorn: beskriv teckensnitt, fyllning, kant, justering, talformat och skydd en gång, stämpla sedan valfritt antal mål medApply(enskild cell),ApplyRange,ApplyRows,ApplyColsellerApplySheet - Endast de aspekter som faktiskt rörts appliceras — en pensel som bara sätter
Font.Boldlämnar målens fyllningar, kanter och talformat orörda — så att penslar komponerar med befintlig formatering som Excels format-målare - Varje applicering löser upp de rörda aspekterna i arbetsbokens stil-pooler en enda gång och skriver sedan endast pool-index per cell, så att formatering av stora intervall kostar en pool-uppslagning per aspekt snarare än per cell;
ApplyRangematerialiserar saknade celler medan rad-/kolumn-/blad-formerna stämplar endast befintliga celler
Version 2.108.0
Tillagt
- Lokaliserbar boolesk visningstext: de nya variablerna
XLSBooleanTrueText/XLSBooleanFalseTextstyr hur booleska cellvärden renderas varhelst visningstext produceras —FormattedText, HTML-export och auto-passnings-mätning — så att lokaliserade program kan visa till exempel WAHR/FALSCH eller VRAI/FAUX
Ändrat
- Booleska celler visas nu som
TRUE/FALSEsom standard, vilket matchar Excels rutnät, i stället för kör-tidensTrue/False-kapitalisering
Version 2.107.0
Tillagt
- Ny händelse
OnPasswordpå den klassiska XLS-arbetsboken: närOpenmöter en krypterad arbetsbok och det tillhandahållna lösenordet saknas eller är fel, frågar händelsen programmet efter ett lösenord och försöker öppna igen (upp till tre försök) — så att interaktiva verktyg kan be användaren i stället för att för-ladda lösenord eller inspektera felkoder - Händelsen tar emot det aktuella lösenordet via referens och en flagga
Retry; att lämnaRetryvidFalseger upp och returnerar det ursprungliga lösenordsfelet
Version 2.106.0
Tillagt
- Ny klass
TXLSFileMonitorbevakar en arbetsboksfil på disk och avfyrarOnFileChangednär en annan process — typiskt Excel — sparar över den, så att program kan ladda om och uppdatera sin vy automatiskt - Pollningsbaserad (senaste-skrivning-tid plus storlek,
IntervalMskonfigurerbar, 1 s standard), så att det fungerar på lokala diskar och nätverksdelar lika utan en meddelande-loop;SynchronizeEventväljer mellan huvudtråds-leverans för UI-hanterare (standard) och direkt vakartråds-leverans för konsol- eller service-kod - En fil som kortvarigt försvinner under en spar-cykel avfyrar inte en falsk händelse; ändringen rapporteras när det nya innehållet är på plats
Version 2.105.0
Tillagt
- Begränsad auto-passning i den klassiska XLS-motorn, vilket matchar de gränser XLSX-motorn redan erbjuder: nya överlagringar
AutoFit(Columns, AMin, AMax),ColumnsAutoFit(AMinWidth, AMaxWidth)ochRowsAutoFit(AMinHeight, AMaxHeight)klämmer varje passad kolumnbredd (Excel-bredd-enheter) eller radhöjd (punkter) till det angivna intervallet — 0 lämnar en sida obegränsad, och en helt-tom kolumn eller rad får ändå det begärda minimumet
Version 2.104.0
Tillagt
- Ny skrivskyddad egenskap
FormattedTextreturnerar en cells visningstext — det lagrade värdet renderat genom dess talformat, på det sätt Excel visar det i rutnätet — vilket täcker tusentals-separatorer, decimaler, procent, datum- och tidsmasker, fler-sektion positiv/negativ/noll-masker och booleska format - Tillgängligt i båda motorerna: på
IXLSrangei den klassiska XLS-motorn (fler-cells-intervall renderar sin ankarcell) och påTXLSXCelli XLSX-motorn (rich-text-celler returnerar sin sammanslagna kör-text)
Version 2.103.0
Tillagt
- Ny funktion
DetectExcelContentFormat(filnamn- och strömöverlagringar) identifierar en arbetsboks behållare från sina inledande byte snarare än filändelsen — rapporterande en BIFF/OLE compound-fil, ett OOXML.xlsx-paket, ett OpenDocument.ods-paket eller vanlig avgränsad text — så att program kan dirigera omdöpta eller ändelselösa filer till rätt laddare
Ändrat
TXLSWorkbook.Openluktar nu på innehållssignaturen och avvisar ZIP-baserade paket (ett.xlsxeller.odsomdöpt till.xls) med ett tydligt meddelande som namnger rätt laddare, i stället för att misslyckas med en ogenomskinlig felkodTXLSXWorkbook.Openkänner nu igen OLE compound-fil-innehåll (ett äldre.xlsomdöpt till.xlsx, eller ett krypterat paket) och rapporterar vad filen faktiskt är, i stället för att visa ett ZIP-tolkar-fel
Version 2.102.0
Tillagt
- Korsarbetsboks-kalkylblads-kopiering i den klassiska XLS (BIFF8)-motorn tar nu över de arbetsboksnivå-definierade namn som en formel använder till destinationen — samma sak som Excel gör när ett blad flyttas mellan arbetsböcker: ett namn som destinationen redan har binds som det är (ingen dubblett skapas), ett saknat namn registreras med sin ursprungliga definition och synlighet så att formeln kompileras om mot det, och ett namn vars definition inte kan lösas i destinationen (till exempel pekar det på ett blad som inte finns där) lämnar formeln på sitt beräknade värde som tidigare
Version 2.101.0
Tillagt
- Korsarbetsboks-kalkylblads-kopiering i den klassiska XLS (BIFF8)-motorn pekar nu om formler mot källarbetsboken som en extern länk när destinationen saknar ett blad med det refererade namnet och källan har sparats till en fil: den kopierade cellen förblir en levande formel (dess referenser byter till [SourceBook]Sheet-formen), källans beräknade värde behålls som det cache-lagrade resultatet så att läsningar fortsätter fungera tills länken uppdateras, och den externa arbetsboks-referensen rundtur-bevaras genom spara och ladda om; formler som bär referenser till definierade namn, och kopior från osparade käll-arbetsböcker, behåller det beräknade värdet som tidigare
Version 2.100.0
Tillagt
- Matrisformler överlever nu kalkylblads-kopior i den klassiska XLS (BIFF8)-motorn: varje matrisintervall byggs om som en helhet i kopian — inom samma arbetsbok och över arbetsböcker — med rotformeln omkompilerad mot destinationens bladnamn; en matris som destinationen inte kan kompilera om behåller sina beräknade värden i stället
Rättat
- Att kopiera ett intervall som innehåller matrisformelceller mellan klassiska XLS-kalkylblad riskerar inte längre en krasch på spill-cellerna (som inte bär något eget formelträd); sådana celler överför nu sitt beräknade värde
Version 2.99.0
Tillagt
- Diagramblad kan nu kopieras mellan klassiska XLS (BIFF8)-arbetsböcker: diagrampostströmmen klonas in i destinationen, seriekategori- / värde- / namn-referenser kompileras om mot destinationens bladnamn (en serie vars blad saknar motsvarande med samma namn faller tillbaka på en tom referens så att filen ändå öppnar), diagramtypsnitts-referenser migrerar via värde in i destinationens typsnittstabell, och sidinställning, tab-färg, zoom och synlighet för diagrambladet följer med; detta tar bort den sista dokumenterade begränsningen för korsarbetsboks-kalkylblads-kopian
Version 2.98.0
Tillagt
- Korsarbetsboks-kalkylblads-kopiering i den klassiska XLS (BIFF8)-motorn bevarar nu rich-text-formatering inuti celler: varje formateringskörs typsnitt migreras via värde in i destinationens arbetsboks typsnittstabell och kön skrivs om för att peka på det, så att blandade typsnitts-strängar behåller sitt utseende i stället för att falla tillbaka på vanlig text; fonetisk (fjärran-östlig) tilläggsdata följer också med strängen
Rättat
- Typsnitt som refereras endast av rich-text-körningar (och inte av något cellformat) släpps inte längre från FONT-tabellen när en klassisk XLS-arbetsbok sparas, och körningarna följer nu samma typsnittsom-ordning som cellformat vid sparande, så att rich-text-strängar behåller rätt typsnitt efter en spara/ladda-om-cykel
Version 2.97.0
Tillagt
- Korsarbetsboks-kalkylblads-kopiering i den klassiska XLS (BIFF8)-motorn klonar nu också inbäddade bilder: bildbyte migrerar in i destinationens arbetsboks bildlager (identiska bilder delas snarare än dupliceras), och varje bildram behåller sitt cellankare, storlek, synlighet och transparenta färg; ett nytt CrossWorkbookCopyXls-exempelprojekt demonstrerar den klassiska motor-kopian från ände till ände
Ändrat
- Begränsningar för klassisk XLS korsarbetsboks-kopia är nu dokumenterade: diagramblad kopieras inte (AddCopy returnerar nil för dem), och en formel vars bladreferens saknar motsvarande med samma namn i destinationen behåller källans beräknade värde i stället för att bli en extern referens
Version 2.96.0
Tillagt
- Korsarbetsboks-kalkylblads-kopiering i den klassiska XLS (BIFF8)-motorn klonar nu också villkorsformat (cell-är- och uttrycksregler, datastaplar, färgskalor, ikonuppsättningar och deras differentiella stilar), datavalideringar (list-, numeriska-, datum-, textlängds- och anpassade regler med prompt- och fel-rutor), AutoFilter-definitionen med dess per-kolumn-kriterier (rullgardins-knapparna byggs om i kopian), och tabeller (id:n och namn återges så att de förblir unika i destinationsarbetsboken); regel-formler kompileras om mot destinationens bladnamn, vilket matchar beteendet för cellformler
Version 2.95.0
Tillagt
- Klassiska XLS (BIFF8)-kalkylblad kan nu kopieras från en arbetsbok till en annan: TXLSWorksheets.AddCopy lägger till ett nytt blad till destinationsarbetsboken och kopierar källbladets cellvärden, formler (om-kodade som text så att destinationen kompilerar om dem mot sina egna bladnamn, vilket håller samma-namn-3D-referenser levande), sammanslagna celler, kommentarer, hyperlänkar, radhöjder, kolumnbredder, översiktsnivåer, frysta rutor, bladskydd, sidinställning, manuella sidbrytningar, tab-färg och vyinställningar; cell-, rad- och kolumnformat migreras via värde in i destinationsarbetsboks formattabell, så att en stylad källa producerar en oberoende stylad kopia
- Migrering av korsarbetsboks-format i den klassiska XLS-motorn bär nu full-precision RGB- och temafärger vid sidan av varje formatpost, så att fyllningar, typsnitt och kanter behåller sina exakta färger i stället för att falla tillbaka på palett-approximationer; detta gäller också för intervallnivå-klistring mellan arbetsböcker
Version 2.94.0
Tillagt
- Korsarbetsboks-kalkylblads-kopian klonar nu villkorsformat (med deras differentiella stilar och de visuella nyttolasterna för dataBar / colorScale / iconSet), tabeller, datavalideringar och diagram (med varje serie); varje underobjekt djupkopierar sitt eget tillstånd in i destinationskalkylbladet
- Korsarbetsboks-formelreferenser skrivs om: en referens vars bladnamn finns i destinationen löses som den är, annars blir den en extern referens tillbaka till källarbetsboken (som registreras som en extern länk) eller #REF! när källan saknar fil-identitet; omskrivningen gäller cellformler, villkorsformat-regler, datavaliderings-formler och diagramserieintervall likadant
Version 2.93.0
Tillagt
- Ett kalkylblad kan nu kopieras från en arbetsbok till en annan: TXLSXSheets.AddCopy lägger till ett nytt blad till destinationsarbetsboken och kopierar källbladets celler, formler, sammanslagna intervall, kolumn-/rad-storlek, dolda/kollapsade/översikts-flaggor, frys rutor, vy-tillstånd, skydd, sidinställning, AutoFilter-intervall och tab-färg på det; de sex per-cell-stilindexen mappas om till destinationsarbetsbokens egna pooler för Teckensnitt/Fyllning/Kant/TalFormat/Justering/Skydd via värde-jämlikhets-uppslagning, så att en stylad källa producerar en oberoende-stylad kopia snarare än index som pekar mot fel pool
- De sex per-attribut-stil-poolerna (Teckensnitt, Fyllningar, Kanter, TalFormat, Justeringar, Skydd) exponerar var och en en 1-baserad LookupOrAdd som deduplicerar via värde; ett nytt CrossWorkbookCopy-exempelprojekt demonstrerar korsarbetsboks-kopian med stilbevarande
Version 2.92.0
Tillagt
- XLSX-arbetsböcker stöder nu pivottabeller: TXLSXWorksheet.AddPivotTable skannar ett platt källintervall, bygger auto en pivotcache och returnerar en typad pivottabell för rad- / kolumn- / sid- / data-axel-koppling, vilket speglar det långvariga BIFF8 (XLS)-motor-API:et så att samma kod riktar sig mot valfritt format; PivotSetDataFieldFormat tilldelar ett talformat till varje aggregerat värdefält
- Excel-skapade pivottabeller rundtur-bevaras utan förlust genom Öppna sedan Spara: XLSX-motorn bevarar varje pivotcache-definition, cache-poster och pivottabell-del ordagrant och spelar upp de ursprungliga byte vid sparande, så att spara-om en arbetsbok aldrig släpper eller ändrar dess pivoter ens när de använder funktioner som den typade modellen inte exponerar
Version 2.91.0
Tillagt
- Ett kalkylblads AutoFilter kan nu appliceras på datan så att den sparade arbetsboken öppnar med de icke-matchande raderna redan dolda, vilket speglar vad Excel gör när ett värde väljs från filter-rullgardinsmenyn
- Inbäddade bilder exponerar sin geometri i verkliga enheter (centimeter, tum, punkter) vid sidan av EMU-värdena, och kan storleksändras med en skalfaktor med valfri bildförhållande-låsning
- Sidinställnings-marginaler kan sättas i centimeter direkt, som en metrisk bekvämlighet utöver de tum-baserade marginalerna
- Skyddade XLSX-kalkylblad exponerar nu femton finmaskiga behörighetsväxlar (formatera celler, infoga/radera rader och kolumner, sortera, AutoFilter, markera låsta/olåsta celler, med mera) via en ny egenskap AllowOption, vilket matchar Excels Granska > Skydda blad kryssruta-lista; inställningarna per åtgärd rundtur-bevaras genom filen
- XLSX-kalkylblad kan nu dupliceras (TXLSXSheets.Duplicate): ett nytt blad läggs till och källans celler, sammanslagna intervall, kolumn-/rad-storlek, frys rutor, vy-tillstånd, skydd, sidinställning och tab-färg kopieras på det, vilket speglar Excels högerklick > Flytta eller kopiera > Skapa en kopia
- Tjugotvå nya exempelprojekt täcker funktioner som biblioteket stöder: arbetsbokskryptering, cellkommentarer, hyperlänkar, definierade namn, AutoFilter-utvärdering, inbäddade bilder, en faktura-mall, avancerad XLSX-villkorsformatering, sammanslagna celler, rad-/kolumn-översikt, frys rutor, fler-blad-layout, matrisformler, intervall-kopiera/flytta, sök/ersätt, datum-system, rich text, avancerad CSV, HTML-export-alternativ, anpassade talformat, dolda rader/kolumner och kalkylbladsskydd
Version 2.90.29
Ändrat
- Den strömmande direkt-läsaren räknar nu varje populerad cell även när ingen per-cell-hanterare är ansluten, så att ett vanligt ReadFile-anrop kan användas för att snabbt storleks-sätta ett kalkylblad; det returnerade antalet och egenskapen CellCount rapporterar antalet populerade celler som skannats
Version 2.90.28
Tillagt
- Formler kan nu utvärderas steg för steg, motsvarigheten till Excels kommando Utvärdera formel: en ny spårare reducerar ett uttryck ett del-steg i taget, innerst först, och rapporterar varje reduktion med sitt käll-del-uttryck, samma del-uttryck efter att dess operander har ersatts av sina värden, och det resulterande värdet, så att program kan visa hur ett resultat byggs upp; den respekterar operator-prioritet, håller intervall-referenser intakta för funktioner som SUM, och återanvänder kalkylbladets beräkningsmotor så att varje steg överensstämmer med en fullständig omberäkning
Version 2.90.27
Tillagt
- XLSX-arbetsböcker kan nu produceras cell för cell genom en ny strömmande direkt-skrivare som avger varje kalkylblad rakt in i paketet när rader anländer, utan att bygga ett fullt cell-träd i minnet, så att mycket stora filer kan genereras med ett nästan-konstant minnesavtryck; skrivaren hanterar inline-strängar, tal, booleska värden, datum och formler över flera blad och rundtur-bevaras med den strömmande direkt-läsaren
Version 2.90.26
Tillagt
- XLSX-arbetsböcker kan nu skannas cell för cell genom en ny strömmande direkt-läsare som höjer per-cell- och per-blad-händelser utan att bygga ett fullt cell-träd i minnet, vilket håller minnesavtrycket nästan konstant för mycket stora filer; varje rapporterad cell bär sitt värde, kind (tal, sträng, booleskt, datum eller fel), formeltext och stilindex, med valfri datum-detektering och tidigt-avbryt-stöd
Version 2.90.25
Tillagt
- Klassiska XLS-kalkylblad kan nu lägga till hyperlänkar från A1-stil cellreferenser samtidigt som URL-normalisering, arbetsboksmål-underadresser, visningstext och skärm-tips bevaras
Version 2.90.24
Tillagt
- Klassiska XLS-sidbrytningar kan nu läggas till från 1-baserade rad- eller kolumnpositioner och A1-stil cellreferenser genom sidbrytnings-samling och kalkylbladshjälpare-överlagringar
Version 2.90.23
Tillagt
- Klassiska XLS-kalkylblad och shape-samlingar kan nu skapa rektangel-, oval-, linje- och typade autoshape-ritobjekt från A1-stil intervallsträngar
Version 2.90.22
Tillagt
- Klassiska XLS-shape-samlingar kan nu skapa textrutor från A1-stil intervallsträngar genom en AddTextBox-överlagring
Version 2.90.21
Tillagt
- Klassiska XLS-textrutor kan nu positioneras om från A1-stil intervallsträngar genom en ny SetArea-överlagring
Version 2.90.20
Tillagt
- Klassiska XLS-kalkylblads-textrutor kan nu skapas från A1-stil intervallsträngar genom en AddTextBox-överlagring
Version 2.90.19
Tillagt
- Klassiska XLS-kalkylblad kan nu skapa ritar-textrutor direkt från rad- och kolumnankare genom en ny metod AddTextBox
Version 2.90.18
Tillagt
- Klassiska XLS-kalkylblad kan nu skapa cellkommentarer direkt från rad- och kolumnkoordinater genom nya AddComment-överlagringar
Version 2.90.17
Tillagt
- Klassiska XLS-definierade namn kan nu skapas från ett kalkylbladsnamn och rad-/kolumnkoordinater genom nya Names.Add-överlagringar
Version 2.90.16
Tillagt
- Klassisk XLS-bildinfogning kan nu placera fil- och TBitmap-bilder vid en tillhandahållen kalkylbladscell utan att ändra den aktuella markeringen
Version 2.90.15
Tillagt
- Klassiska XLS-AutoFilter-kolumner kan nu hittas via fältindex genom AutoFilterColumns-samlingen
Version 2.90.14
Tillagt
- Klassiska XLS-definierade namn kan nu lokaliseras via kalkylbladscell genom nya FindByCell-överlagringar på Names-samlingen
Version 2.90.13
Tillagt
- Klassiska XLS-intervall stöder nu att skapa en kommentar med text och författare i ett enda AddComment-anrop
Version 2.90.12
Tillagt
- Klassiska XLS-kommentarer exponerar nu en egenskap Author för att sätta och läsa den sparade kommentarförfattaren genom det typade API:et
Version 2.90.11
Rättat
- Klassisk XLS-intervallkopiering bevarar nu kopierade kommentarsförfattare tillsammans med kommentarstext
Version 2.90.10
Rättat
- Klassisk XLS-AddHyperlink lagrar nu arbetsboks-cell-mål som interna underadresser i stället för externa filsökvägar
Version 2.90.9
Rättat
- Klassisk XLS-intervallkopiering bevarar nu cell-hyperlänkar vid destinationen, inklusive adress, skärm-tips och visad text
Version 2.90.8
Rättat
- XLS- och XLSX-hyperlänkar normaliserar nu enkla www-adresser till absoluta http-URL:er före sparande samtidigt som den visade texten bevaras
Version 2.90.7
Rättat
- Klassisk XLS-ApplyAutoFilter ignorerar nu utom-intervall fältindex innan filterintervallet byggs om, vilket bevarar befintliga kriterier i stället för att rensa dem
Version 2.90.6
Rättat
- Klassiska XLS-diagramserier avvisar nu diagramblad-själv-referenser skiftlägesokänsligt, vilket förhindrar ogiltiga Area3D-datakällor när bladnamnets skiftläge skiljer sig
Version 2.90.5
Rättat
- Klassiska XLS-diagramblad använder nu den normala kalkylbladsnamn-vakten vid applicering av anpassade diagramblad-namn, vilket förhindrar dubbletter som endast skiljer sig åt genom skiftläge
Version 2.90.4
Rättat
- Klassiska XLS-pivottabeller matchar nu källkalkylbladsnamn skiftlägesokänsligt vid skapande eller återanvändning av pivotcacher
Version 2.90.3
Rättat
- Klassiskt XLS-kalkylblads-namnbyte avvisar nu skiftlägesokänsliga dubbletter, vilket håller uppslagningsbeteendet entydigt efter ett namnbyte
Version 2.90.2
Rättat
- Klassisk XLS-kalkylbladsnamn-uppslagning är nu skiftlägesokänslig över SheetByName, TryGetSheetByName, Index och IDByName
Version 2.90.1
Rättat
- Uppslagning av klassiska XLS-definierade namn är nu skiftlägesokänslig, så att namn lösta genom arbetsbokens Names-samling beter sig konsekvent efter spara och återöppna
Version 2.90.0
Ändrat
- BRYTANDE — XLSX-kalkylbladssamlingen är nu 1-baserad.
Workbook.Sheets[i],Sheets.IndexByNameoch den heltalsbaserade egenskapenActiveSheeträknar nu från 1 för att matcha XLS-motorn, så att det första kalkylbladet ärSheets[1]snarare änSheets[0]; den positionellaActiveIndex,Activate,Move-hjälparna och bladindex-argumentet förSaveAsCSV/SaveAsHTML/SaveAsRTFförblir 0-baserade - BRYTANDE — FreezePanes tar raden först på båda motorerna. XLS- och XLSX-motorerna delar nu
FreezePanes(ARow, ACol); metoden XLSXFreezePane(ACol, ARow)och XLS omvända två-argument-överlagring är borttagna, så att ett anrop som fryste N kolumner och M rader måste byta sina två argument - BRYTANDE — XLS-kalkylbladsklasserna förlorade sitt missvisande I-prefix.
IXLSWorksheetochIXLSWorkSheetsblirTXLSWorksheetochTXLSWorksheets(de var alltid klasser, aldrig gränssnitt); de genuina gränssnittenIXLSWorkbookochIXLSrangeär oförändrade - BRYTANDE — XLS datavaliderings-operator-enumen har bytt namn.
TXLSDvOperator-medlemmar ändras frånxlsDv...tillxlsDvOp...(till exempelxlsDvOpBetween), så att de inte längre delar prefix med valideringstyp-enumen och stämmer överens med XLSX-namnenxlsxDvOp...
Version 2.89.46
Rättat
- Anpassade teman överlever en XLSX-rundtur. Att öppna en arbetsbok som bär sitt eget tema och spara den igen behåller det temat i stället för att ersätta det med det inbyggda Office-temat, så att temabaserade färger inte längre skrivs över tyst
- Överlappande sammanslagna områden avvisas. Att sammanfoga ett cellintervall som skär ett befintligt sammanslaget område vägras nu i stället för att skriva överlappande poster som gör att Excel rapporterar den sparade filen som korrupt
- Ett datum skrivet som ett cellvärde visas som ett datum. Att tilldela ett datum eller tid till en cell som fortfarande är på talformatet General applicerar nu ett standard datumformat, så att det visas som ett datum i Excel snarare än ett rått serienummer; ett talformat du sätter själv lämnas oförändrat
Säkerhet
- Djupt nästlade formler kan inte längre uttömma stacken. .xls-formelläsaren begränsar hur djupt formeltokens får nästlas, så att en felaktig eller fientlig arbetsbok med extrem nästling avvisas i stället för att riskera en krasch
Version 2.89.45
Rättat
- ZIP-postnamn flaggade som UTF-8 läses korrekt. När ett arkiv markerar ett medlemsnamn som UTF-8 (allmän-användning bit 11), avkodas namnet som UTF-8 i stället för arkivets lokala kodsida
- Bokstavliga felceller i .xls bevaras. En cell lagrad direkt som ett felvärde (en BOOLERR-post med fel-flaggan satt) behåller sin felkod i stället för att läsas tillbaka tom
- Att kryptera ett paket större än 2 GB misslyckas rent. Standard-kryptering avvisar en överdimensionerad nyttolast i stället för att överskrida sin 32-bitars storleks-aritmetik
Version 2.89.44
Rättat
- ODS-formulexport bevarar definierade namn intakta. Ett definierat namn som liknar en cellreferens (t.ex.
TaxRate2) skrivs inte längre om till en ogiltig ODF-celladress, och tolkning av_xlnm.Print_Titlesdelar inte längre ett bladnamn som innehåller ett komma - ODS-import är säker förbi den sista kolumnen. En rad vars upprepade formaterade textceller sträcker sig bortom kalkylbladets sista kolumn återanvänder inte längre en frigjord rich-text-prototyp
Version 2.89.43
Rättat
- RTF-export bevarar icke-ASCII-text. Celltext skrivs med
\u-Unicode-escaper och rubriken deklarerar en kodsida, så att CJK / kyrilliska / accenterade tecken exporteras intakta i stället för att kollapsa till "?" under skrivarens kodsida - Navigationsramen för flersidig HTML escaperar bladnamn. Bladnamn på index-/ramsidan är HTML-escaperade och icke-ASCII-tecken blir numeriska teckenreferenser, så att en tabb namngiven med markup-tecken eller icke-ASCII-bokstäver renderas korrekt
Version 2.89.42
Rättat
- Vetenskapliga notations-tal i formler tolkas. En literal som
1E3eller2.5E-3inuti en formel tokeniseras nu som ett enda tal i stället för ett tal följt av ett lösryckt namn - SEARCH är Unicode-säker. Den skiftlägesokänsliga SEARCH-funktionen viker inte längre skiftläge genom ANSI-kodsidan, så att icke-ASCII söktext / inuti-text matchar vid rätt teckenposition
Version 2.89.41
Rättat
- 1904-datum-systemet appliceras på XLSX-celldatum. Att läsa eller skriva en arbetsbok som använder Mac 1904-datumbasen skiftar nu datumserier med 1462 dagar, så att datum i sådana arbetsböcker matchar Excel i stället för att vara ungefär fyra år fel
Version 2.89.40
Rättat
- Datum i tredjeparts XLSX-filer laddas som datum. En cell vars stil använder valfritt inbyggt eller anpassat datum/tid-talformat — inte endast HotXLS egen datumstil — läses nu tillbaka som ett datumvärde i stället för ett rått serienummer, inklusive CJK-lokalens datum/tid-format
Version 2.89.39
Rättat
- Datumtalformat detekteras mer noggrant. En formatkod känns igen som datum/tid endast genom oescaperade datum-tokens utanför strängliteraler och hak-sektioner, så att en literal som
#,##0 "MM"inte längre behandlas som ett datum och enbokstavs-koder somm/dinte längre missas - ZIP-arkiv med en stor kommentar läser sin katalogslut-post korrekt. Katalogslut-posten tolkas från skanningsbufferten endast när den är fullständigt fångad, och i övriga fall läses den på nytt från filen, vilket fixar en möjlig feltolkning när en kommentar delar posten över skanningsfönstret
Version 2.89.38
Rättat
- Krypterad XLSX skriven med Standard Kryptering öppnar nu i Excel. Det krypterade paketet chiffreras med AES-128 i ECB-läge som formatet kräver, snarare än CBC, vilket hade lämnat allt efter det första blocket oläsligt
- Lösenordsskyddad BIFF8 (.xls) RC4-avkryptering är korrigerad. Nyckelströmmen är nu om-nycklad och konsumerad i takt med strömpositionen, så att ett korrekt lösenord avkrypterar arbetsbokskroppen i stället för att producera förvrängda celler
Version 2.89.37
Rättat
- Borttagning av ett kalkylblad håller definierade namn konsekventa. Att ta bort ett blad släpper nu arbetsboksdefinierade namn begränsade till det och skiftar namn begränsade till senare blad ned med ett, så att en sparad arbetsbok inte längre pekar ett bladbegränsat namn (såsom ett utskriftsområde eller utskriftstitel) mot fel kalkylblad
Version 2.89.36
Rättat
- Läsning av skadade .xls-filer är mer robust. Fler-cells-nummer-/tomma-poster och färgpaletten överläser inte längre när deras längdfält är korrupta, och arbetsboksläsaren frigörs i stället för att läckas när öppning av en fil kastar ett fel
- Bildinfogning läcker inte längre vid fel. Att ladda en korrupt eller oläsbar bild (BMP / WMF / EMF / JPEG / PNG) frigör sin tillfälliga ström och bitmap snarare än att läcka dem
- Dubblettstilposter undviks vid sparande. En stil vars första matchning är den allra första tabellposten delas nu korrekt i stället för att skrivas två gånger under BIFF-stiloptimering
- HTML-export escaperar typsnittsnamn, så att ett typsnittsnamn som innehåller
&,<,>eller"inte längre bryter det exporterade cellstilattributet
Version 2.89.35
Rättat
- Flera kalkylbladsfunktioner matchar nu Excel.
EXPreturnerar sitt resultat i stället för ett "stöd saknas"-fel, en-argumentWEEKDAYnumrerar söndag som 1,MODbehåller divisorns tecken och decimaldel, ochLEFT/RIGHT/MIDreturnerar#VALUE!för negativa längder eller fel argument-antal - Icke-ASCII numeriska teckenreferenser i XLSX läses nu korrekt. Numeriska XML-entiteter som
中i delade strängar, celltext och attribut avkodas till hela tecknet i stället för en enda trunkerad byte - Villkorsformats-textregler överlever dubbla citattecken. Text som innehåller
"i containsText / beginsWith / endsWith-regler escaperas så att den sparade arbetsboken förblir giltig - Redigeringar av villkorsformat-intervall lämnar inte längre ett löstryckte intervall. Att rensa eller flytta en kolumn ut ur ett villkorsformat-område producerar inte längre ett överlappande spökintervall
- Indexerade blad-tab-färger lästa från .xls använder rätt palettpost, och nummerformaterade datum inuti fler-cells-(MULRK)-poster behåller sin datumdetektering under 1904-datum-systemet
- Top / botten procent AutoFilter-kriterier rundtur-bevaras. Att ladda ett "topp N procent"- eller "botten N procent"-filter från .xls nedgraderar det inte längre till ett vanligt objekt-antal
- mailto:-hyperlänkar känns igen som URL:er, och hyperlänk-ScreenTips (verktygstips) skrivs så att de rundtur-bevaras i stället för att släppas
- HTML-export avger giltiga teckenstorlekar i komma-decimal-lokaler, så att exporterade celltypsnitt inte längre faller tillbaka på webbläsarens standard
- Läsning av felaktiga eller trunkerade filer är mer robust. Korrupta OfficeArt-ritningar, utanför-intervall stil- / färg- / palett- / tema-index, och icke-baslinje-JPEG:er kraschar inte längre eller ger skräp-storlekar, och en minnesläcka för delade strängar vid laddning av rich text fixades
Version 2.89.34
Tillagt
- XLSX-kalkylblads-textrutor är enklare att hantera.
TXLSXWorksheetlägger tillIndexOfTextBoxAt,FindTextBoxAt,DeleteTextBox,DeleteTextBoxAt,DeleteTextBoxesInRangeochClearTextBoxes, vilket låter anropare lokalisera och ta bort fristående rit-textrutor efter ankarcell eller skärande intervall - Manuella XLSX-sidbrytningar kan lokaliseras och tas bort per intervall.
TXLSXWorksheetlägger tillIndexOfRowBreak,IndexOfColBreak,RemoveRowBreaksInRangeochRemoveColBreaksInRangeför direkt underhåll av rad-/kolumn-sidbrytningar
Rättat
- XLSX-kalkylblad med endast textrutor skriver nu rit-relationen. Ett kalkylblad som innehåller fristående rit-textrutor men inga bilder, diagram, kommentarer, hyperlänkar eller tabeller avger nu den matchande rit-relationen
xl/worksheets/_rels/sheetN.xml.relsså att det sparade paketet löser sin referens<drawing r:id="...">
Version 2.89.33
Ändrat
- C++Builder-arbetsbänks-demos matchar nu Delphis granskningsfunktioner. C++Builder-exemplet WorkbookAudit härleder samma allvarlighetsgrad, rekommenderade åtgärd och granskningsbevis som Delphi-versionen i sin arbetsbokslista och i JSON-, CSV- och HTML-rapporterna, och C++Builder-exemplet ConversionWorkbench registrerar källformat, åtgärd och granskningsnotering per konverteringsuppgift, inklusive de aggregerade åtgärds-antalet i HTML-rapporten
Version 2.89.32
Ändrat
- Demon ConversionWorkbench körs nu obevakad från kommandoraden. Att anropa
ConversionWorkbench.exe <folder> [/targets=xlsx,csv,html] [/persheet] [/skip] [/quiet]skannar mappen, konverterar varje källa till de begärda målformaten, skriver konverteringsrapporterna och avslutar;/quiethåller fönstret dolt så att konverteringar kan köras från skript och schemalagda uppgifter - Batchkonverteringar förblir interaktiva. En förloppsindikator spårar uppgiftslistan (markerade källor gånger markerade mål), en Avbryt-knapp avbryter batchen med rapporter som täcker de slutförda uppgifterna, och dubbelklick på en resultatrad öppnar den producerade filen (eller utmatningsmappen för per-blad-CSV-uppsättningar)
- Arbetsbänks-alternativ bevaras mellan sessioner. Mappen, målformaten, avgränsaren, HTML-alternativen, ODS-vxlarna, per-blad-CSV, hoppa-over-befintliga och strömmande-val lagras i en INI-fil bredvid den körbara filen; krypteringslösenordet är medvetet inte beständigt
Version 2.89.31
Ändrat
- Demon WorkbookAudit körs nu obevakad från kommandoraden. Att anropa
WorkbookAudit.exe <folder> [/r] [/quiet]skannar mappen (valfritt med undermappar), granskar varje arbetsbok, exporterar JSON-, CSV- och HTML-rapporterna och avslutar;/quiethåller fönstret dolt så att granskningen kan köras från skript och schemalagda uppgifter - Stora batcher förblir interaktiva. En förloppsindikator spårar batchen, en Avbryt-knapp avbryter den (återstående filer markeras Avbruten), och att markera en arbetsbok fyller nu en per-blad-detaljpanel med struktur-, formel-, referens- och skyddsdetaljer
- Granskningsmappen och undermappsvalet bevaras. Alternativ lagras i en INI-fil bredvid den körbara filen och återställs vid nästa start
Version 2.89.30
Ändrat
- Demon WorkbookAudit härleder nu gransknings-allvarlighetsgrad och rekommenderade åtgärder. Huvudlistan plus JSON-, CSV- och HTML-rapporter inkluderar allvarlighetsgrad, rekommenderad åtgärd och granskningsbevis så att batchgranskningar kan dirigera krypterade, makroaktiverade, externt länkade, skyddade, stil-tunga eller formel-tunga arbetsböcker utan att läsa varje bladrad
- Demon ConversionWorkbench skriver nu en konverterings-gransknings-bok. Varje uppgift registrerar källformat, åtgärd och granskningsnotering, och HTML-rapporten aggregerar åtgärds-antal för accepterade utmatningar, per-blad-CSV-uppsättningar, återanvända filer, val av mål som saknar stöd, källreparationer, återförsöks-kandidater och resultat för manuell granskning
Version 2.89.29
Tillagt
- Klassiska XLS-arbetsböcker läser nu tillbaka dokumentegenskaper vid öppning. Att öppna en befintlig .xls-fil eller ström fyller
Title,Subject,Author,Keywords,Comments,CompanyochManagerfrån filens sammanfattningsinformation, vilket matchar dokumentegenskaps-beteendet för XLSX-modellen; egenskaper sparade av Excel självt, inklusive icke-latinsk text lagrad i lokaliserade ANSI-kodsidor, avkodas korrekt
Version 2.89.28
Ändrat
- Demon ConversionWorkbench får fyra batch-orienterade alternativ. Delphi- och C++Builder-exemplen kan nu dela varje kalkylblad i sin egen CSV-fil (
<name>.<sheet>.csv, för både klassiska XLS- och XLSX-modellkällor), skriva lösenordsskyddad XLSX-utmatning genomSaveAsEncrypted(inklusive den klassiska-XLS-bro-sökvägen), hoppa över konverteringar vars utmatning redan finns (rapporterade som hoppade-över, inte körda-om), och aktivera strömmande XLSX-skrivningar för stora arbetsböcker
Version 2.89.27
Ändrat
- Demon WorkbookAudit skannar nu djupare och flaggar riskmarkörer. Delphi- och C++Builder-exemplen fick undermapps-rekursion med mapp-relativa filnamn, detektering av lösenordsskyddad XLSX genom
CanReadEncrypted(rapporterad som krypterad i stället för ett generiskt öppet-fel), och en Flags-kolumn som framträder VBA-projekt, externa referenser, dolda blad, skyddade blad och krypterade filer i korthet i listan och i varje rapport - Granskningsrapporter bär rikare metadata. JSON-rapporten grupperar hela dokumentegenskaps-uppsättningen (titel, ämne, författare, nyckelord, företag, chef, beskrivning, kategori, skapad, ändrad, senast ändrad av) i ett
docProps-objekt, och alla tre rapportformaten lägger till bild-antal per blad; bladbegränsade definierade namn samlas nu in vid sidan av arbetsboksnivå-namn för klassiska XLS-filer
Version 2.89.26
Tillagt
- Delphi- och C++Builder-demos inkluderar nu en batchkonverterare ConversionWorkbench. Det nya exemplet samlar XLS-, XLSX-, CSV- och ODS-källor från en mapp, konverterar de markerade filerna i en körning till valfri kombination av XLSX-, CSV-, HTML-, RTF-, ODS- och XLS-mål, och dirigerar varje källa genom den matchande objektmodellen, inklusive bron
SaveXLSWorkbookAsXLSXför klassisk XLS och en två-stegs XLS-till-ODS-sökväg - Konverteringsalternativ exponeras per format. Formuläret erbjuder ett val av CSV-avgränsare, alternativ för HTML-titel och tabell-klass, och vxlare för ODS-diagram och bild-inkludering; riktningen XLSX-till-XLS som saknar stöd rapporteras som ostödd i stället för att misslyckas tyst
- Varje körning skriver en konverteringsrapport.
ConversionReport.csvochConversionReport.htmlregistrerar per-uppgift-status, tajming och utmatningsstorlek bredvid de konverterade filerna, och en exempelgenerator skapar XLS-, XLSX-, CSV- och ODS-indata så att arbetsbänken kör direkt
Version 2.89.25
Tillagt
- Delphi- och C++Builder-demos inkluderar nu ett granskningsverktyg WorkbookAudit. Det nya exemplet skannar en mapp med XLS- och XLSX-arbetsböcker och sammanfattar kalkylbladsstruktur, formel-antal med funktionerna i bruk, externa arbetsboks-referenser (poster för externa länkar, parentes-formel-referenser och mål för definierade namn), hyperlänkar, stil-användning, sammanslagna intervall, kommentarer, tabeller, villkorsformat, datavalideringar, diagram, AutoFilter-intervall, frysta rutor och skyddstillstånd
- Granskningsresultat exporteras som JSON-, CSV- och HTML-rapporter. Ett klick skriver
AuditReport.json,AuditReport.csvochAuditReport.htmlbredvid de granskade filerna, vilket täcker metadata på arbetsboksnivå, stilpooler, definierade namn och detaljrader per blad - Granskningsdemon är fristående. En exempelgenerator skapar klassiska XLS- och XLSX-arbetsböcker med formler, externa länkar, dolda blad, hyperlänkar, kommentarer, tabeller, diagram och skyddade blad, så att hela granskningsflödet kör direkt
Version 2.89.24
Rättat
- XLSX-CSV-export skriver nu beräknade formel-resultat.
TXLSXWorkbook.SaveAsCSVutvärderar formelceller genom arbetsbokens formelmotor innan CSV- eller TSV-text skrivs, så att endast-formel-cell exporterar sina visade värden i stället för formeltext
Version 2.89.23
Tillagt
- OpenDocument-export kan nu ställas in med alternativ. Ett nytt exportalternativ-objekt låter den sparade
.odsutesluta diagram eller inbäddade bilder och åsidosätta generator-strängen som registreras i dokumentets metadata, genom nya SaveAsODS-överlagringar som accepterar alternativen - Uteslutet innehåll lämnar inget spår. Att stänga av diagram eller bilder tar bort deras objektmappar, ritramar och manifest-poster tillsammans, så att det sparade paketet aldrig bär en föräldralös referens
Version 2.89.22
Tillagt
- OpenDocument-filer öppnas nu genom det vanliga öppna-anropet. Att skicka en
.ods-fil eller ström till den allmänna öppna-metoden detekterar OpenDocument-paketet och laddar det automatiskt, så att det inte längre är nödvändigt att veta i förväg huruvida en fil är.xlsxeller.ods - En genväg SaveAsODS lades till. Att spara till OpenDocument kräver inte längre att filformat-värdet passeras, vilket speglar hur andra format sparas
- Det laddade formatet kan frågas. En egenskap SourceFormat rapporterar huruvida arbetsboken som öppnades kom från en OpenXML- eller en OpenDocument-fil
Version 2.89.21
Rättat
- Upphöjda och nedsänkta körningar bevaras när rich text sparas till
.xlsx. En körning markerad som upphöjd eller nedsänkt inuti en stylad cell skriver nu sin vertikala position in i den delade strängen och läser den tillbaka, så att den upphöjda eller nedsänkta texten överlever en.xlsx-rundtur i stället för att falla till baslinjen - Upphöjda och nedsänkta bärs över format. Rich text läst från en
.ods-fil behåller sina upphöjda och nedsänkta körningar när arbetsboken sparas på nytt som.xlsxoch återöppnas
Version 2.89.20
Tillagt
- ODS-export och -import bär nu villkorsformat för färgskala och datastapel. En två- eller tre-färgs-skala och en datastapel skrivs med sina värdepunkter och färger och läses tillbaka, vilket utökar de befintliga jämförelsereglerna så att dessa grafiska format överlever en
.ods-rundtur - Formelbaserade villkorsformat stöds. En regel driven av en formel skrivs som ett är-sann-formel-villkor med sitt uttryck översatt till OpenDocument-syntaxen, och läses tillbaka till en formelregel, vid sidan av de befintliga cellvärdesreglerna
Version 2.89.19
Tillagt
- ODS-export och -import bär nu datavaliderings-inmatningstips. Inmatningstiteln och texten som visas när en validerad cell markeras skrivs vid sidan av den befintliga fel-varningen och läses tillbaka, så att inmatningsmeddelandet överlever en
.ods-rundtur - Blad-tab-färg bevaras. Färgen på en blad-tab skrivs till och läses från
.ods-filen, och import accepterar både det vanliga tilläggsattributet och standard OpenDocument-tab-färg-attributet
Version 2.89.18
Tillagt
- ODS-export och -import bär nu rad- och kolumngrupper. Översiktsgrupper skrivs som nästlade rad- och kolumngruppselement och läses tillbaka, så att grupperade rader och kolumner behåller sin översiktsnivå genom en
.ods-rundtur, inklusive flera nivåer av nästling - Kollapsade grupper förblir kollapsade. En grupp vars rader eller kolumner är kollapsade markeras som inte visade vid sparande och återställs vid inläsning, och gruppering sameexisterar med dolda rader, sidbrytningar och rad- eller kolumnstorlek utan att störa
Version 2.89.17
Tillagt
- ODS-export och -import bär nu utskriftsområdet. Utskriftsintervallet för ett blad skrivs till och läses tillbaka från
.ods-filen, så att ett definierat utskriftsområde överlever en spara och ladda om - Manuella sidbrytningar bevaras. Rad- och kolumn-sidbrytningar skrivs som brytning-före-markörer på de påverkade raderna och kolumnerna och läses tillbaka vid inläsning, så att manuell paginering rundtur-bevaras genom
.ods
Version 2.89.16
Tillagt
- ODS-export och -import bär nu sidhuvuden och sidfötter. Att spara till
.odsskriver varje blads sidhuvud och sidfot med sina vänstra, mellersta och högra regioner, och att öppna en.ods-fil läser dem tillbaka, så att fält för sidnummer, sid-antal, datum, tid och bladnamn plus bokstavlig text överlever rundturen - Varje blad behåller sitt eget sidhuvud och sin egen sidfot. En arbetsbok vars blad bär olika sidhuvuden eller sidfötter skriver nu en separat sidstil per blad, så att varje blad laddas om med sitt eget sidhuvud och sin egen sidfot i stället för att dela det första bladet
Version 2.89.15
Tillagt
- ODS-export och -import bär nu textrotation. En cell vars text är roterad behåller sin vinkel genom en
.ods-spara och ladda om, med medurs och moturs vinklar mappade korrekt mellan kalkylbladets och OpenDocuments konventioner - Cellindrag bevaras. Indragsnivån för en cell skrivs som en vänstermarginal vid sparande och läses tillbaka vid inläsning, så att indragna celler behåller sitt djup över en
.ods-rundtur
Version 2.89.14
Tillagt
- ODS-export skriver nu rich text. Att spara en cell vars text blandar flera formateringskörningar till
.odsavger en text-span per körning med sin egen text-familj automatiska stil, så att typsnittsnamn, storlek, fet, kursiv, understruken, genomstruken, färg och upphöjd eller nedsänkt överlever sparandet i stället för att plattas ut till ett format - Identiska kör-stilar delas. Körningar som bär samma formatering återanvänder en enda automatisk stil-post i stället för att avge en dubblett per körning, och en vanlig cell skrivs fortfarande som ett enda stycke utan span
Version 2.89.13
Tillagt
- ODS-import bevarar nu rich-text-formatering. Att öppna en
.ods-fil vars cell blandar flera text-spans med olika formatering bevarar varje körning i stället för att platta ut cellen till vanlig text, så att typsnittsnamn, storlek, fet, kursiv, understruken, genomstruken, färg och upphöjd eller nedsänkt bärs per körning - Vanliga celler förblir vanliga. En cell med en enda oformaterad körning, och valfri numerisk, datum- eller formelcell, lämnas som ett vanligt värde snarare än att befordras till rich text
Version 2.89.12
Tillagt
- ODS-import läser nu diagram. Att öppna en
.ods-fil tolkar varje inbäddat diagramobjekt som refereras från ett kalkylblad, så att kolumn-, stapel-, linje-, cirkel-, yta-, munk-, punkter-, bubbeldiagram- och radar-diagram återställs till det blad som äger dem, vilket fullbordar rundturen med diagram-export - Diagramserieintervall återställs. Varje serie bär sitt värdeintervall, och sitt kategoriaintervall när det finns, konverterat tillbaka från OpenDocuments cell-intervall-stavning så att diagrammet pekar på samma kalkylbladsdata
- Ett skadat eller saknat diagram hoppas över på ett säkert sätt. En ritram vars diagramobjekt saknas eller inte är ett diagram avbryter inte längre inläsningen, och eventuell reserv-bild i samma ram importeras fortfarande
Version 2.89.11
Tillagt
- ODS-export skriver nu inbäddade bilder. Att spara till
.odslagrar varje kalkylbladsbild i paketets mappPictures/, refererar den från en ritram inuti sin förankrande cell, och registrerar den i manifestet, så att bilder placerade i en arbetsbok bärs in i den sparade filen - Bildstorlek bevaras. Varje bild skriver sin bredd och höjd i centimeter, så att en bild sparad till
.odsoch återöppnad behåller samma skärm-storlek - Bilder på en sammanslagen cell förblir förankrade. En bild vars ankare faller inuti ett sammanslaget intervall hostas av intervalllets övre-vänstra cell, och en bild förankrad utanför kalkylbladets rutnät hoppas över i stället för att skrivas som en post utan ritram
Version 2.89.10
Rättat
- Felnivå för ODS-datavalidering överlever nu en rundtur. Att spara en validering vars varning är en varning eller information exporterar den inte längre utan sin varningstyp, så att återöppnande av
.ods-filen behåller den ursprungliga nivån i stället för att tyst nedgradera den till en stopp-varning
Version 2.89.9
Tillagt
- ODS-export skriver nu diagram. Att spara till
.odsserialiserar varje kalkylbladsdiagram till sitt eget inbäddade diagram-underdokument inuti paketet, så att kolumn-, stapel-, linje-, cirkel-, yta-, munk-, punkter-, bubbeldiagram- och radar-diagram bärs in i den sparade filen - Diagram refereras från sitt blad. Bladet som äger ett diagram länkar till det inbäddade diagramobjektet genom en ritram, och varje diagramobjekt registreras i paketets manifest så att LibreOffice öppnar dokumentet utan att rapportera det som skadat
- Serieintervall översätts. Varje diagramserie bär sitt värdeintervall, och sitt kategoriaintervall när det finns, konverterat till OpenDocuments cell-intervall-stavning så att diagrammet pekar på samma kalkylbladsdata
Version 2.89.8
Tillagt
- ODS-import läser nu inbäddade bilder. Att öppna en
.ods-fil extraherar bilder lagrade under paketets mappPictures/, igenkänner PNG-, JPEG-, GIF- och BMP-bilder utifrån sitt innehåll, så att en ritning förankrad i en cell återöppnas som en kalkylbladsbild - Bildplacering bevaras. Varje importerad bild behåller ankarcellen för ritramen som håller den, och dess bredd och höjd konverteras från ramens lagrade dimensioner
- Saknad bildhantering hoppas över på ett säkert sätt. En ritram vars refererade bild saknas i paketet passeras utan fel, så att ett partiellt dokument ändå öppnar
Version 2.89.7
Tillagt
- ODS-export skriver nu frysta rutor. Att spara till
.odsregistrerar varje fruset blads frysta kolumner och rader i paketets vyinställningar, så att ett blad uppdelat i en frusen rubrik återöppnas fruset i LibreOffice och genomOpenODS - ODS-export skriver nu sidinställningar. Sidlayouten i det sparade paketet bär pappersstorleken, orienteringen (stående eller liggande) och de övre, nedre, vänstra och högra marginalerna från kalkylbladets sidinställning, med återgång till A4 stående när ingen sidinställning finns
Version 2.89.6
Tillagt
- ODS-import läser nu frysta rutor. Att öppna en
.ods-fil återställer de frusna kolumner och rader som registrerats i paketets vyinställningar, så att ett blad uppdelat i en frusen rubrik återöppnas fruset - ODS-import läser nu AutoFilter-intervall. Ett filtrerat intervall som lagras i paketet som en databasintervall läses tillbaka till sitt blad, så att AutoFilter-intervall skrivna av
SaveAsläses tillbaka avOpenODS
Version 2.89.5
Tillagt
- ODS-import läser nu villkorsformat. Att öppna en
.ods-fil tar in cellvärdes-jämförelseregler (större än, mindre än, lika med, inte lika med, större eller lika med, mindre eller lika med, mellan, och inte mellan), var och en applicerad på de celler den riktar sig mot - Intervall-regler behåller båda gränserna. En mellan- eller inte-mellan-regel återfår båda sina tröskelvärden, så att den nedre och övre gränsen överlever importen
- Jämförelseregler rundtur-bevaras. Cellvärdes-villkorsformat skrivna till
.odsåteröppnas med sin operator, trösklar och målintervall intakta, så att regler sparade avSaveAsläses tillbaka avOpenODS
Version 2.89.4
Tillagt
- ODS-import läser nu datavalideringar. Att öppna en
.ods-fil tar in valideringar av cellinnehåll: numeriska intervall (mellan och inte-mellan), rullgardinslistor, textlängds-kontroller och skalära jämförelser, var och en applicerad på de celler som refererar den - Valideringsdetaljer bevaras. Flaggan tillåt-tom-cell och fel-varningen (dess stopp-, varnings- eller informationsstil och dess meddelandetext) bärs in i arbetsboksmodellen
- Listmedlemmar överlever rundturen. En rullgardislista skriven till
.odsåteröppnas med sina medlemmar intakta, så att valideringar sparade avSaveAsläses tillbaka avOpenODS
Version 2.89.3
Tillagt
- ODS-export skriver nu strukturella element. Att spara till
.odsbär namngivna intervall, cell-hyperlänkar, dolda rader och kolumner, AutoFilter-intervall, villkorsformat och datavalideringar in i paketet - Namngivna intervall och hyperlänkar rundtur-bevaras. Arbetsboksomfattande namn behåller sin adress, externa och interna cell-länkar behåller sitt mål, visningstext och verktygstips, och dolda rader och kolumner återöppnas dolda
- AutoFilter, villkorsformat och valideringar avges. Ett filtrerat intervall skrivs med sina filterknappar, värdejämförelse-villkorsregler och datavalideringar av cellinnehåll skrivs så att konsumenter såsom LibreOffice behåller dem
Version 2.89.2
Tillagt
- ODS-import läser nu fullständiga cellstilar. Att öppna en
.ods-fil tar in typsnittsnamn, typsnittsstorlek, fet, kursiv, understruken och genomstruken för stylade celler, vid sidan av de cache-lagrade värden och talformat som redan stöds - Typsnittsfärg, bakgrundsfyllning och ramar importeras. Explicita typsnittsfärger mappas till ogenomskinlig RGB, en bakgrundsfärg blir en solid fyllning, och de fyra cellkanterna (övre, nedre, vänstra, högra) bär sin linjestil och färg
- Justering importeras. Horisontell och vertikal textjustering och alternativet radbryt-text appliceras på cellen
- Arv av förälder-stil respekteras. Stilar läser sina värden genom ODS-förälder-stil-kedjan, så att en barn-stil åsidosätter sin förälder attribut för attribut samtidigt som den ärver vad den lämnar osatt
- Stänger skriv/läs-loopen. Cellstilar skrivna av
SaveAstill.odsläses tillbaka avOpenODS, vilket bevarar typsnitt, färg, fyllning, ramar och justering
Version 2.89.1
Tillagt
- ODS-export skriver nu fullständiga cellstilar. Att spara till
.odsbär typsnittsnamn, typsnittsstorlek, fet, kursiv, understruken, genomstruken och typsnittsfärg in i paketet, så att stylade celler behåller sitt utseende vid återöppnande - Bakgrundsfyllningar och cellramar skrivs. Solida bakgrundsfärger och de fyra cellkanterna (övre, nedre, vänstra, högra) avges med sin bredd, linjestil och färg
- Justering och radbrytning bevaras. Horisontell och vertikal textjustering plus alternativet radbryt-text bärs över till ODS-cellstilarna
- Stilar kombineras med talformat. En enda cellstil kan para ihop sitt typsnitt, sin fyllning och sina ramar med ett talformat, och identiska stil-kombinationer delas så att paketet förblir kompakt
Version 2.89.0
Tillagt
- Export till OpenDocument Spreadsheet (.ods).
SaveAsaccepterar nuxlsxOpenDocumentSpreadsheetoch skriver ett giltigt ODF-paket direkt, utan att gå genom ett XLSX-mellansteg - Typade cellvärden skrivs. Text, tal, booleska och datum avges med sina ODF-värdetyper så att värdena behåller sin betydelse vid återöppnande
- Talformat bevaras. Vanliga format (decimaler, tusentals-gruppering, valuta, procent, vetenskaplig och ISO-datum) skrivs som ODF-datastilar och refereras av de celler som använder dem
- Bladstruktur bärs över. Kalkylblad, kolumnbredder och sammanslagna cellintervall skrivs in i paketet
- Rundtur-bevaras genom HotXLS. Ett paket skrivet av
SaveAskan läsas tillbaka medOpenODS, vilket bevarar värden, talformat, kolumnbredder och sammanslagningar
Version 2.88.249
Tillagt
- Konfidensintervall-funktioner beräknas nu i formelmotorn.
CONFIDENCE.NORManvänder normal-kvantilen ochCONFIDENCE.TStudent-t-kvantilen för att returnera halvbredden på ett medelvärdes konfidensintervall - Moderna statistiska namn är tillgängliga.
PERCENTILE.INC,PERCENTILE.EXC,QUARTILE.INC,QUARTILE.EXC,RANK.AVG,COVARIANCE.PochCOVARIANCE.Sutvärderar de inklusiva och exklusiva percentilerna och kvartilerna, genomsnitts-band-rankning, och populations- och urvalskovarians - Alias för de äldre formerna.
MODE.SNGLochRANK.EQmappar till de befintligaMODEochRANK
Version 2.88.248
Tillagt
- Binomialfördelningsfunktionen beräknas nu i formelmotorn.
BINOM.DISTutvärderar sannolikhetens massa och kumulativ fördelning, med den regulariserade ofullständiga betafunktionen för den kumulativa formen - Poissonfördelningsfunktionen beräknas nu i formelmotorn.
POISSON.DISTutvärderar sannolikhetens massa och kumulativ fördelning, med den övre ofullständiga gammafunktionen för den kumulativa formen - Stabil utvärdering. Båda massorna använder en log-gamma-faktoriell form för att förbli exakta för stora antal, och ogiltiga parametrar returnerar
#NUM!
Version 2.88.247
Tillagt
- Betafördelningsfunktioner beräknas nu i formelmotorn.
BETA.DISTochBETA.INVutvärderar den kumulativa fördelningen, sannolikhetstätheten och inversen över ett valfritt[A, B]-intervall - Student t-fördelningsfunktioner är tillgängliga.
T.DIST,T.DIST.RT,T.DIST.2T,T.INVochT.INV.2Ttäcker vänstra svansen, högra svansen, tvåsvansig sannolikhet och deras inverser - F-fördelningsfunktioner är tillgängliga.
F.DIST,F.DIST.RT,F.INVochF.INV.RTutvärderar den kumulativa fördelningen, högra svansen och inverserna - Delad utvärderingskärna. Alla tre familjerna använder den regulariserade ofullständiga betafunktionen med fortsättnings-bråk-utvärdering, inverserna löses genom bisektion, och ogiltiga parametrar returnerar
#NUM!
Version 2.88.246
Tillagt
- Gamma- och chi-i-två-fördelningsfunktioner beräknas nu i formelmotorn.
GAMMA.DIST,GAMMA.INV,CHISQ.DIST,CHISQ.DIST.RT,CHISQ.INVochCHISQ.INV.RTutvärderar den kumulativa fördelningen, sannolikhetstätheten, högra svansen och deras inverser live genomCalculate - Hög-precision log-gamma är tillgänglig.
GAMMALN.PRECISEreturnerar den naturliga logaritmen av gammafunktionen - Noggrann och robust utvärdering. De kumulativa värdena använder serie- och fortsättnings-bråk-expansioner av den regulariserade ofullständiga gammafunktionen, inverserna löses genom bisektion, och ogiltiga parametrar returnerar
#NUM!
Version 2.88.245
Tillagt
- Kontinuerliga fördelningsfunktioner beräknas nu i formelmotorn.
EXPON.DIST,WEIBULL.DIST,LOGNORM.DISTochLOGNORM.INVutvärderar den kumulativa fördelningen, sannolikhetstätheten och inversen live genomCalculate - Sluten-form-utvärdering. Exponential- och Weibull-fördelningarna använder sina analytiska formler, medan lognormalfördelningen återanvänder normal-CDF:en och dess invers; ogiltiga parametrar returnerar
#NUM!
Version 2.88.244
Rättat
- Invers normalfördelning är nu noggrann i svansarna.
NORMSINV,NORM.S.INVochNORM.INVanvände en bas-10-logaritm i svans-grenarna (sannolikheter under ungefär 0,024 eller över ungefär 0,976) där algoritmen kräver den naturliga logaritmen; resultaten är nu korrekta över hela sannolikhetsintervallet
Version 2.88.243
Tillagt
- Normalfördelningsfunktioner med de moderna prickiga namnen beräknas nu i formelmotorn.
NORM.DIST,NORM.INV,NORM.S.DISTochNORM.S.INVutvärderar den kumulativa fördelningen, sannolikhetstätheten och deras inverser live genomCalculate - Prickiga statistiska alias.
STDEV.S,STDEV.P,VAR.SochVAR.Pkänns igen som Excel 2010+-namnen för urvals- och populations-standardavvikelse och varians - Prickiga funktionsnamn tolkas korrekt. Formeltolkaren behandlar nu ett namn såsom
NORM.S.DISTsom en enda funktion, så att dessa funktioner fungerar iCalculateoch rundtur-bevaras genom OOXML-prefixen_xlfn.
Version 2.88.242
Tillagt
- Tekniska funktioner för komplexa tal beräknas nu i formelmotorn.
COMPLEXbygger ett komplext tal som text och familjenIM*läser och opererar på det, allt utvärderat live genomCalculate - Komponenter och aritmetik.
IMREAL,IMAGINARY,IMABS,IMARGUMENTochIMCONJUGATEexponerar komponenterna, medanIMSUM,IMSUB,IMPRODUCTochIMDIVutför komplex aritmetik - Transcendentala funktioner.
IMPOWER,IMSQRT,IMEXPochIMLNutvärderas via polär form, och den imaginära ändelsen kan varaiellerj
Version 2.88.241
Tillagt
- Funktionerna för dynamiska matriser
XLOOKUPochFILTERberäknas nu i formelmotorn. Båda utvärderas live genomCalculate, vilket för modern uppslag och filtrering till kalkylbladsformler och adhoc-utvärdering XLOOKUPmed matchnings- och söklägen. Exakt (standard), jokertecken och ungefärlig nästa-mindre / nästa-större matchning stöds, tillsammans med först-till-sist eller sist-till-först sökning och ett valfritt resultatif_not_foundFILTERmed spillda resultat. Rader vars inkluderingsvektor är TRUE behålls och spillas in i målintervallet viaSetArrayFormula, med ett valfritt värdeif_emptynär inget matchar
Version 2.88.240
Tillagt
- Matematikfunktionerna
GCD,LCM,MROUND,QUOTIENTochMULTINOMIALberäknas nu i formelmotorn. De utvärderas live genomCalculate, vilket täcker största gemensamma delare, minsta gemensamma multipel, avrundning till en multipel, heltalsdivision och multinomialkoefficienten - Bas-omvandling och romerska siffror.
BASEkodar ett tal i valfri bas från 2 till 36 med valfri noll-pad,DECIMALtolkar en sådan sträng tillbaka till ett tal, ochARABICkonverterar ett romerskt tal till dess värde
Version 2.88.239
Tillagt
- Aggregatfunktionerna
PRODUCTochSUMSQberäknas nu i formelmotorn.PRODUCTmultiplicerar sina numeriska argument ochSUMSQsummerar deras kvadrater, båda utvärderade live genomCalculate - A-variant varians och standardavvikelse.
VARA,VARPA,STDEVAochSTDEVPAberäknar urvals- och populations-spridningen samtidigt som de räknar text som 0 och TRUE som 1, till skillnad från de vanliga formerna som ignorerar icke-nummer
Version 2.88.238
Tillagt
- Statistiska aggregatfunktioner beräknas nu i formelmotorn.
VAR,VARP,STDEV,STDEVP,MODE,COUNTBLANKochAVERAGEAutvärderas live genomCalculate - Varians och standardavvikelse.
VARochSTDEVanvänder urvalsformeln medanVARPochSTDEVPanvänder populationsformeln, över både intervall och inline-argument - Vanligaste värde.
MODEreturnerar det tal som förekommer oftast, och rapporterar#N/Anär inget värde upprepas - Tom-räkning.
COUNTBLANKräknar de tomma cellerna i ett intervall, inklusive celler som håller ett tomt textresultat - Text-medvetet medelvärde.
AVERAGEAberäknar medelvärdet av värden samtidigt som text räknas som noll och logiskt TRUE som ett, så att den skiljer sig frånAVERAGE, som ignorerar text
Version 2.88.237
Tillagt
- Bitvisa funktioner beräknas nu i formelmotorn.
BITAND,BITOR,BITXOR,BITLSHIFTochBITRSHIFTutvärderas live genomCalculate - Bitvis AND, OR och XOR.
BITAND,BITORochBITXORkombinerar två icke-negativa heltal bit för bit - Bit-skifte i båda riktningarna.
BITLSHIFTskiftar bitarna i ett tal åt vänster ochBITRSHIFTskiftar dem åt höger; ett negativt skift-belopp vänder riktningen - Excel-kompatibla gränser. Operander måste vara heltal från 0 upp till 2^48-1 och skift-beloppet är begränsat till 53 positioner; värden utanför dessa gränser rapporterar
#NUM! - Rundtur med OOXML-prefixet. När de sparas till XLSX skrivs dessa Excel 2013-funktioner med prefixet
_xlfn.och återöppnas rent, så att de fortsätter visas och omberäknas korrekt
Version 2.88.236
Tillagt
- Tekniska bas-omvandlings-funktioner beräknas nu i formelmotorn.
DEC2BIN,DEC2OCT,DEC2HEX,BIN2DEC,OCT2DEC,HEX2DEC,HEX2BIN,BIN2HEX,HEX2OCT,OCT2HEX,BIN2OCTochOCT2BINutvärderas live genomCalculate - Konverteringar mellan binär, oktal, decimal och hexadecimal. Tal konverteras i valfri riktning över alla fyra baser, inklusive korsbas-paren såsom hexadecimal till binär
- Tecknade värden via två-komplement. Negativa tal representeras i den standard 10-siffriga två-komplement-formen, så att värden rundtur-bevaras korrekt över konverteringar
- Valfri fast-vidd utmatning. Konverteringarna till en textbas accepterar ett valfritt platser-argument som fyller resultatet med inledande nollor till en fast bredd
- Validering av intervall och indata. Värden utanför det representerbara intervallet, eller text som innehåller siffror som inte är giltiga för källbasen, rapporterar
#NUM!
Version 2.88.235
Tillagt
- Datumfunktioner för arbetsdagar beräknas nu i formelmotorn.
WORKDAYochNETWORKDAYSutvärderas live genomCalculate - Helg-medveten datum-stegning.
WORKDAYreturnerar datumet ett givet antal arbetsdagar före eller efter ett startdatum, med lördagar och söndagar hoppade över; ett negativt antal stegar bakåt och ett antal noll returnerar startdatumet - Arbetsdags-räkning.
NETWORKDAYSräknar hela arbetsdagar mellan två datum, inklusive båda ändpunkter, och returnerar ett negativt antal när startdatumet är senare än slutdatumet - Valfria helgdagslistor. Båda funktionerna accepterar ett valfritt helgdags-argument, givet som ett enskilt datum eller ett cellintervall, och exkluderar de datumen från arbetsdags-beräkningen
Version 2.88.234
Tillagt
- Datum- och tidsfunktioner beräknas nu i formelmotorn.
EDATE,EOMONTH,DATEDIF,YEARFRAC,DAYS,WEEKNUMochISOWEEKNUMutvärderas live genomCalculate - Månadsaritmetik med klämning mot månadsslut.
EDATEskiftar ett datum med ett helt antal månader ochEOMONTHreturnerar den sista dagen i den skiftade månaden; båda klämmer till den kortare månaden, till exempel en 31:a skiftad in i februari DATEDIFintervall-enheter. Enheterna"Y","M"och"D"för fullständig-antal plus rest-enheterna"YM","YD"och"MD"stödsYEARFRACdag-räknings-baser. Alla fem baserna är implementerade: US 30/360, faktisk/faktisk, faktisk/360, faktisk/365 och europeisk 30/360- Vecko-numrering.
WEEKNUMstöder söndag-start, måndag-start och ISO (returtyp 21) konventionerna, ochISOWEEKNUMreturnerar ISO 8601-veckonumret
Version 2.88.233
Tillagt
- Databasfunktioner beräknas nu i formelmotorn.
DSUM,DCOUNT,DCOUNTA,DAVERAGE,DMIN,DMAX,DPRODUCT,DGET,DVAR,DVARP,DSTDEVochDSTDEVPutvärderas live genomCalculateoch omberäknas när en arbetsbok återöppnas - Standard villkorstabell-matchning. Villkor placerade under fält-rubrikerna kombineras som AND inom en rad och OR över rader, stöder jämförelseoperatorer såsom
>,<och>=, och tillåter*/?jokertecken-textmatchning; tomma villkorsceller lägger till ingen begränsning - Flexibel fältväljare. Det aggregerade fältet kan ges som en kolumnrubrik-text, ett 1-baserat kolumnindex, eller en referens till en rubrikcell
DGETen-post-uppslag.DGETreturnerar den matchande postens fältvärde, inklusive text, och rapporterar#NUM!när flera poster matchar eller#VALUE!när ingen matchar
Version 2.88.232
Tillagt
OpenODSimporterar nu ODS-bladskydd. ODS-tabeller medtable:protected="true"öppnas nu som skyddade kalkylblad med det befintliga lösenordslösa bladskyddstillståndet; ODS-skyddsnycklar behandlas inte som XLSX-äldre lösenordshashar
Version 2.88.231
Tillagt
OpenODSimporterar nu ODS-namngivna intervall. Poster medtable:named-rangeochtable:cell-range-addressfyller nu arbetsbokensDefinedNames, genom att konvertera ODS-blad-/cell-referenser såsom$Sheet.$A$1:$Sheet.$B$2till XLSX-definierade namn-formler
Version 2.88.230
Tillagt
OpenODSimporterar nu ODS-cellskyddsstilar. Tabellcellsstilar som använderstyle:cell-protectmappar nunone,formula-hidden,protectedochhidden-and-protectedtill importeratLocked- ochFormulaHidden-celltillstånd, inklusive värden ärvda genomstyle:parent-style-name
Version 2.88.229
Tillagt
OpenODSimporterar nu grundläggande ODS-formler. Formelceller som använderof:=elleroooc:=behåller nu sina cache-lagrade skalära värden och importerar en normaliserad XLSX-formel med lokala parentes-referenser såsom[.A1:.B1]och semikolon-argumentseparatorer konverterade till Excel-syntax
Version 2.88.228
Tillagt
OpenODSlöser nu ärvda ODS-rad- och kolumnstilar. Tabellrad- och tabellkolumn-stilar som använderstyle:parent-style-nameärver nu förälderns radhöjd, kolumnbredd och dolda synlighetsinställningar när ODS-paket refererar barn-stilar fråncontent.xml
Version 2.88.227
Tillagt
OpenODSlöser nu ärvda ODS-tabellcellsstilar. Tabellcellsstilar som använderstyle:parent-style-nameärver nu förälderns datastil-mappningar under ODS-import, så att barn-stilar behåller importeradeNumberFormat-värden för XLSX även när datastilen deklareras på förälder-stilen
Version 2.88.226
Tillagt
OpenODSför-laddar nu ODS-rad- och kolumnstilar lagrade istyles.xml. Stil-egenskaper för tabellrad och tabellkolumn frånstyles.xmlmatar nu import av dolda rader/kolumner och radhöjd/kolumnbredd närcontent.xmlrefererar dessa stilnamn
Version 2.88.225
Tillagt
OpenODSanvänder nu ODS-datastilar lagrade istyles.xml. Namngivna tabellcellsstilar och datastilar för tal/datum/tid frånstyles.xmldeltar nu i importeradNumberFormat-upplösning för XLSX, medan automatiska stilar icontent.xmlfortfarande kan åsidosätta dem
Version 2.88.224
Tillagt
OpenODSimporterar nu ODS-bråkformatal. ODS-komponenternumber:fractionmappar nu till XLSX-bråkformat såsom0 ?/??, vilket bevarar inställningar för bråkvisning under import
Version 2.88.223
Tillagt
OpenODSimporterar nu ODS-vetenskapliga talformat. ODS-komponenternumber:scientific-numbermappar nu till XLSX-talformat såsom0.000E+00, vilket bevarar inställningar för vetenskaplig notering under import
Version 2.88.222
Tillagt
OpenODSbevarar nunumber:text-literaler i numeriska ODS-datastilar. Nummer-, procent- och valutastilar som placerarnumber:textföre eller efternumber:numberimporterar nu dessa literaler till XLSX-talformatet, vilket behåller etiketter och enhetssuffix såsomkg
Version 2.88.221
Rättat
OpenODSimporterar nu negativa ODS-tidslängder. Värden föroffice:time-valuesåsom-PT02H03M04Simporteras nu som negativa tidsserievärden i stället för att hoppas över
Version 2.88.220
Rättat
OpenODSlöser nu standard-cellstilar per upprepad kolumn. En upprepad ODS-cell som korsar kolumn-standard-stil-gränser applicerar nu varje målkolumns kolumn- eller tabell-standard talformat i stället för att återanvända den första upprepade kolumnens format
Version 2.88.219
Tillagt
OpenODSbevarar nu bråksekunder i ODS-datumvärden. Tidsstämplar föroffice:date-valuesåsom2026-06-04T12:30:00.250behåller nu sin millisekund-komponent i stället för att trunkeras till hela sekunder
Version 2.88.218
Tillagt
OpenODSimporterar nu ODS-bladsynlighet. ODS-tabeller med doldatable:visibility-värden såsomcollapseimporteras nu som dolda XLSX-kalkylblad i stället för att alltid bli synliga flikar
Version 2.88.217
Tillagt
OpenODSapplicerar nu ODS-standard-cellstilar.table:default-cell-style-namepå tabeller, kolumner och rader deltar nu i talformat-upplösning för celler utan en direkttable:style-name, med cell-, rad-, kolumn- sedan tabell-precedens
Version 2.88.216
Tillagt
OpenODSimporterar nu komponenter för ODS-datum- och tidsstilar. Datum- och tidsdatastilar läser nu vanliga nodernumber:year,number:month,number:day,number:hours,number:minutes,number:seconds,number:am-pmochnumber:textså att importerade celler bevarar komponentordning och separatorer såsomdd/mm/yyyyellerhh:mm
Version 2.88.215
Tillagt
OpenODSimporterar nu ODS-talformat med minsta antal siffror. Nummer-, procent- och valutastilar mednumber:min-integer-digitsochnumber:min-decimal-placesmappar nu tillNumberFormat-strängar för XLSX med inledande nollor och valfria avslutande decimal-platshållare
Version 2.88.214
Tillagt
OpenODSimporterar nu grupperade ODS-talformat. Nummer-, procent- och valutastilar mednumber:grouping="true"mappar nu tillNumberFormat-strängar för XLSX med grupperings-separatorer i#,##0-stil
Version 2.88.213
Tillagt
OpenODSbevarar nu ODS-valutasymboler i importerade talformat. Valutastilar mednumber:currency-symbolanvänder nu den symbolen somNumberFormat-prefix för XLSX, så att format såsomEUR#,##0.00inte längre kollapsar till$#,##0.00
Version 2.88.212
Tillagt
OpenODSrespekterar nu ODS-decimalplats-inställningar i grundläggande talformat. Nummer-, procent- och valutastilar mednumber:decimal-placesmappar nu till matchandeNumberFormat-strängar för XLSX såsom0,0.0%eller$#,##0
Version 2.88.211
Tillagt
OpenODSimporterar nu otypade cache-lagrade skalärvärden för ODS. Celler utanoffice:value-typeanvänder nu tillgängliga attributoffice:value,office:boolean-value,office:date-value,office:time-valueochoffice:string-valueföre återgång till textinnehåll
Version 2.88.210
Tillagt
OpenODSbevarar nu ODS-textstycke-gränser. Flera styckentext:pimporteras med radbrytningar, medan blankstegs-kontrollertext:s,text:tabochtext:line-breakstannar kvar i celltexten i stället för att plattas ut tillsammans
Version 2.88.209
Tillagt
OpenODSimporterar nu ODS-rad- och kolumndimensioner. ODS-tabellkolumn- och tabellradstilar medstyle:column-width/style:row-heightmappas tillColWidth/RowHeight, inklusive upprepade rader och kolumner
Version 2.88.208
Tillagt
- Fönster-krom och geometri-kontroller för XLSX-arbetsbok.
TXLSXWorkbookexponerar nuMinimized,WindowHidden,ShowHorizontalScroll,ShowVerticalScroll,XWindow,YWindow,WindowWidthochWindowHeightför XLSX-fasaden.SaveAsskriver matchande attribut<workbookView>,Openrundtur-bevarar dem, och geometrivärden klämmer till det OOXML-kompatibla intervallet 0..65535
Version 2.88.207
Tillagt
- Vy-kontroller för XLSX-arbetsbok.
TXLSXWorkbookexponerar nuShowSheetTabs,TabRatio,FirstSheetochAutoFilterDateGroupingså att anropare kan styra arbetsbokens flikstapel och AutoFilter-datumgruppering genom XLSX-fasaden.SaveAsskriver motsvarande attribut<workbookView>,Openrundtur-bevarar dem,TabRatioklämmer till 0..1000, ochFirstSheetklämmer till ett befintligt 0-baserat bladindex
Version 2.88.206
Tillagt
- Begränsade XLSX-AutoFit-hjälpare.
TXLSXWorksheet.AutoFitColumn,AutoFitColumns,AutoFitRow,AutoFitRowsochTXLSXRange-omslagenAutoFitColumns/AutoFitRowsaccepterar nu valfria minimum- och maximum-gränser för bredd/höjd, så att anropare kan passa in innehåll samtidigt som de håller rapport-layouter inuti designgränser
Rättat
- XLSX HTML-rich-text-typsnittsnamn. HTML-export avger nu rich-text-CSS
font-familymed dubbelciterade namn före HTML-escapering, vilket matchar den dokumenterade"..."-utmatningen för stylade körningar
Version 2.88.205
Tillagt
- Rektangel-, oval- och linje-shapes (XLS). .xls-ritnings-API:et får
Shapes.AddRectangle,Shapes.AddOvalochShapes.AddLine(plus en allmänAddAutoShape), så att typade autoshapes kan skapas och förankras till ett cellintervall utan att hand-bygga OfficeArt-posterna. Var och en returnerar en shape vars formatering avFillochLinekan sättas; tidigare kunde endast bilder, textrutor och kommentarer läggas till
Version 2.88.204
Tillagt
- Punkter-, bubbeldiagram- och radardiagram (XLSX).
AddChartaccepterar nuxlsxChartScatter(XY-punkter),xlsxChartBubble(med ett per-serie intervall för bubbstorlek) ochxlsxChartRadar, vid sidan av de befintliga kolumn- / stapel- / linje- / cirkel- / yta- / munk-typerna. Punkter- och bubbeldiagramserier plottar kategoriaintervalllet som X och värdeintervalllet som Y; bubbeldiagram lägger till ettBubbleSizeRange
Version 2.88.203
Tillagt
- Typade datavalideringsregler med prompter och varningar (XLS). Den klassiska .xls-motorn får
AddWholeNumberValidation,AddDecimalValidation,AddDateValidation,AddTimeValidation,AddTextLengthValidationochAddCustomValidation(tidigare exponerades endast listvalidering). Var och en returnerar regeln, som kan bära en inmatnings-prompt, en fel-varning med en stopp- / varnings- / informationsikon och en tillåt-tom-växel viaSetPrompt/SetError/AllowBlank
Version 2.88.202
Tillagt
- Inmatnings-prompter och fel-varningar för datavalidering (XLSX). En datavalideringsregel kan nu bära en inmatnings-prompt-ruta (titel och meddelande som visas när cellen markeras) och en fel-varnings-ruta (titel, meddelande och en stopp- / varnings- / informationsikon som visas vid ogiltig inmatning), plus kontroll av listans rullgardinspil. Sätt dem genom
SetPrompt,SetErroroch de nya egenskapernaPromptTitle/Prompt/ErrorTitle/ErrorMessage/ErrorStyle/ShowDropDown; tidigare var endast växlarna visa-meddelande tillgängliga. De rundtur-bevaras vid inläsning
Version 2.88.201
Tillagt
- Fler regeltyper för villkorsformat (XLSX). XLSX-motorn får textregler (innehåller, innehåller inte, börjar med, slutar med), topp/botten-N (med en valfri procent), över- och under-medel, dubblett- och unika värden, och tomma / icke-tomma / fel / icke-fel — var och en genom en dedikerad metod
AddCondFormat*och var och en kapabel att bära en markering via sinStyle. Dessa regler rundtur-bevaras också vid inläsning
Version 2.88.200
Tillagt
- Formel-driven villkorsformatering (XLSX). En ny villkorsformat-regel markerar celler genom en godtycklig formel via
AddCondFormatExpression: formeln utvärderas per cell och de celler där den är sann tar regelns markering
Ändrat
- Villkorsformat markerar nu celler i .xlsx. Cellvärdes- och formel-villkorsformat-regler bär nu en differentiell stil — fyllningsfärg, teckensnittsfärg och fet / kursiv / understruken — skriven in i arbetsbokens stiltabell, så att Excel målar de matchande cellerna. Tidigare sparades XLSX-villkorsformat utan någon markering
Version 2.88.199
Tillagt
- Formelfunktionerna TEXTJOIN och CONCAT. Den inbyggda formelkalkylatorn utvärderar nu
TEXTJOIN(sammanfoga textvärden med en avgränsare, valfritt hoppa över tomma celler) ochCONCAT(sammanfoga textvärden utan avgränsare), vilka båda expanderar intervall-argument cell för cell — till skillnad från den äldreCONCATENATE. Sparade.xlsx-filer skriver dessa Excel 2016-funktioner med prefixet_xlfn.så att Excel öppnar dem som riktiga funktioner, och återöppnande visar det vanliga namnet
Version 2.88.198
Tillagt
- Formelfunktionerna SUMIFS, COUNTIFS, AVERAGEIFS, MAXIFS och MINIFS. Den inbyggda formelkalkylatorn utvärderar nu dessa flervillkors-aggregeringar, vilka summerar, räknar, beräknar medelvärdet av, eller tar det största eller minsta av de celler som uppfyller varje kriterium över ett eller flera parallella intervall; kriterier accepterar jämförelseoperatorer såsom
">=30"och textjokertecken. AVERAGEIFS utan matchande celler returnerar #DIV/0! och MAXIFS/MINIFS returnerar 0, som i Excel, och de nyare MAXIFS och MINIFS skrivs till.xlsxmed Excels prefix_xlfn.
Version 2.88.197
Tillagt
- Formelfunktionerna IFS, SWITCH och IFNA. Den inbyggda formelkalkylatorn utvärderar nu de moderna logiska funktionerna
IFS(värdet av det första villkoret som är sant),SWITCH(matcha ett uttryck mot en lista av fall, med en valfri standard) ochIFNA(ersätt ett värde endast när resultatet är felet #N/A). Eftersom dessa funktioner introducerades efter den ursprungliga .xls-funktionsuppsättningen skrivs de nu vid sparande till.xlsxmed Excels prefix_xlfn.så att Excel öppnar dem som riktiga funktioner, och återöppnande av en sådan fil visar det vanliga funktionsnamnet igen
Version 2.88.196
Tillagt
- Formelfunktionerna INDEX och OFFSET. Den inbyggda formelkalkylatorn utvärderar nu
INDEX(läs ett värde efter dess rad- och kolumnposition inuti ett intervall) ochOFFSET(läs ett värde ett bestämt antal rader och kolumner från en ankarcell), båda genomCalculate. TvåvägsINDEX/MATCH-uppslag ochOFFSET-förankrade referenser beräknas nu korrekt, och en position utanför intervallet returnerar felet #REF! för att matcha Excel
Version 2.88.195
Rättat
- Exporterad HTML bevarar rubrikradens ramar och skuggning. När en cell använde ett namngivet typsnitt skrev XLSX-till-HTML-exporten typsnittsnamnet i dubbla citattecken inuti ett dubbelciterat stilattribut, vilket klippte av stilen så att cellen förlorade sina ramar, fyllning och storlek. Typsnittsnamn är nu enkelciterade, så att en stylad rubrikrad exporteras med sina rutnätslinjer intakta — inklusive den linje som stänger toppen av tabellen — tillsammans med sin bakgrundsfärg
- RTF-export matchar nu HTML- och Excel-layouten. XLSX-till-RTF-exporten fick cellramar, spann över sammanslagna celler och solid fyllningsskuggning, och den skalar nu ned kolumnbredder för att passa den utskrivbara sidan så att en bred auto-passad kolumn inte längre trycker tabellen utanför sidan. Tidigare hade RTF-tabellen inga ramar, släppte sammanslagna titlar och kunde springa långt bredare än sidan
Version 2.88.194
Rättat
- Att spara en .xls-arbetsbok som innehåller en textruta på nytt korrumperar den inte längre. Att öppna en XLS-fil som har en textruta och spara den igen duplicerade tidigare en intern ritningspost, vilket producerade en arbetsbok som kraschade Excel när filen återöppnades. Textrutans ritdata rundtur-bevaras nu korrekt, så att den sparade-om arbetsboken öppnar normalt
Version 2.88.193
Rättat
- Lösenordsskyddade .xlsx-filer öppnar nu i Excel. Att spara en arbetsbok med ett lösenord genom
SaveAsEncryptedproducerade tidigare ett ECMA-376 Standard Kryptering-paket vars AES-chiffertext genererades felaktigt, så att Excel avvisade filen även med rätt lösenord. AES-128-krypteringen producerar nu standard-efterlevande utmatning, och den krypterade arbetsboken öppnar i Excel 2007 och senare med det lösenord som användes för att spara den
Ändrat
- Hårdvaruaccelererad AES för XLSX-kryptering. AES-128-chiffret bakom XLSX Standard Kryptering använder nu AES-NI-CPU-instruktioner på både 32-bitars och 64-bitars Windows när processorn stöder dem, vilket snabbar upp lösenordsskyddade sparanden. Processorer utan AES-NI faller automatiskt tillbaka på den portabla programvaruimplementationen, så att utmatningen är identisk på varje maskin
Version 2.88.192
Tillagt
- Matrisformler överlever XLSX spara och återöppna. En fler-cell-matris (CSE)-formel satt med
SetArrayFormulasparas nu till och laddas från.xlsx-filer som en riktig matrisformel, så att sparande av en arbetsbok och återöppnande håller det förankrade spill-intervallet intakt och varje cell utvärderar fortfarande till sitt eget element av matrisresultatet. Tidigare förlorade en sparad matrisformel sitt spill-intervall när filen återöppnades
Version 2.88.191
Tillagt
- Matrisformler spiller över ett cellintervall (XLSX). XLSX-motorns intervall får samma
SetArrayFormulasom XLS-motorn: en fler-cell-matris (CSE)-formel såsom{=MMULT(A1:B2;D1:E2)}satt över ett cellblock spiller sitt matrisresultat så att varje cell utvärderar till sitt eget element. Detta fullbordar stöd för fler-cell-matrisformler över både XLS- och XLSX-motorerna
Version 2.88.190
Tillagt
- Matrisformler spiller över ett cellintervall (XLS). En ny metod
SetArrayFormulapå ett intervall sätter en fler-cell-matris (CSE)-formel såsom{=MMULT(A1:B2;D1:E2)}över ett cellblock, och formelkalkylatorn spiller nu matrisresultatet in i det blocket så att varje cell läser sitt eget element. Tidigare utvärderades en cell som bar en matrisformel som ostödd. Matrisen beräknas en enda gång per omberäkning och delas över hela intervallet
Version 2.88.189
Tillagt
- Formelfunktionerna MINVERSE och MMULT. Den inbyggda formelkalkylatorn utvärderar nu
MINVERSE(matris-invers) ochMMULT(matris-produkt). Anropade genomCalculate, returnerar var och en resultatmatrisen som en tvådimensionell matris som kan läsas element för element.MINVERSEkräver ett kvadratiskt intervall och returnerar felet #NUM! för en singulär matris;MMULTkräver att de inre dimensionerna överensstämmer (kolumner i det första intervallet lika med rader i det andra) och returnerar annars felet #VALUE!
Version 2.88.188
Tillagt
- Formelfunktionen MDETERM. Den inbyggda formelkalkylatorn utvärderar nu
MDETERM, vilket returnerar matrisdeterminanten för ett kvadratiskt intervall genomCalculate. Ett icke-kvadratiskt intervall, eller ett intervall som innehåller en tom eller icke-numerisk cell, returnerar felet #VALUE! för att matcha Excel
Version 2.88.187
Tillagt
- Statistiska formelfunktioner. Den inbyggda formelkalkylatorn utvärderar nu
MEDIAN,LARGE,SMALLochRANK, så att formler som sammanfattar ett intervall av tal omberäknas korrekt genomCalculate.MEDIANaccepterar en blandning av inline-tal och intervall;LARGEochSMALLreturnerar det k:te största respektive minsta värdet;RANKrapporterar ett tals position, rankande i fallande ordning som standard eller stigande när ett argument för ordning som inte är noll ges
Version 2.88.186
Tillagt
- Uppslags-formelfunktioner. Den inbyggda formelkalkylatorn utvärderar nu
CHOOSEochMATCH, så att formler som väljer ett argument efter index eller hittar ett värdes position inom en rad eller kolumn omberäknas korrekt genomCalculate.MATCHstöder alla tre matchningstyperna — exakt (0), det största värdet som inte är större än uppslaget i ett stigande intervall (1, standard), och det minsta värdet som inte är mindre än uppslaget i ett fallande intervall (-1) — och jämför text skiftlägesokänsligt
Version 2.88.185
Tillagt
- Finansiella formelfunktioner. Den inbyggda formelkalkylatorn utvärderar nu
PV,FV,PMT,NPERochRATE, så att nuvärdes-, framtida värdet-, betalnings-, löptids- och räntesats-formler omberäknas korrekt genomCalculate. De valfria argumenten framtida-värde/nuvärde och betalning-tidpunkt (type) respekteras, ochRATElöses iterativt
Rättat
- Decimalpunkter i formelsträngar. Fixade ett problem där en formelsträng som skickades till
Calculatesom innehöll en decimalpunkt (till exempel=PV(0.05;10;100)) kunde misslyckas med tolkning; numeriska literaler med en decimaldel utvärderas nu korrekt
Version 2.88.184
Tillagt
- Informations-formelfunktioner. Den inbyggda formelkalkylatorn utvärderar nu
ISERROR,ISERR,ISNA,ISNUMBER,ISLOGICAL,ISNONTEXTochISREF, så att fel-testande och typ-testande formler omberäknas korrekt genomCalculate.ISERRexkluderar #N/A medanISNAmatchar endast #N/A
Version 2.88.183
Tillagt
- Text-formelfunktioner. Den inbyggda formelkalkylatorn utvärderar nu
FIND,SEARCH,SUBSTITUTE,REPLACE,TRIM,PROPER,CLEAN,CHAR,CODE,T,EXACTochREPT, så att kalkylblad som använder dessa textfunktioner omberäknas korrekt genomCalculatei stället för att returnera ett resultat för funktion-som-saknar-stöd.FINDär skiftlägeskänslig medanSEARCHinte är det
Rättat
- Funktionen CHAR igenkänd. Fixade ett problem med namn-uppslagning där funktionen
CHARhade registrerats under fel skiftläge och inte kunde lösas i formler
Version 2.88.182
Ändrat
- Formelfunktionen IFERROR. Formelmotorn känner nu igen och utvärderar
IFERROR(value, value_if_error), vilket returnerar återfalls-värdet när det första argumentet utvärderas till ett Excel-fel (#NULL!, #DIV/0!, #VALUE!, #REF!, #NAME?, #NUM!, #N/A) och själva värdet annars. Den rundtur-bevaras på båda motorerna — kodad som en funktions-token i .xls (BIFF8) och som en<f>-formelsträng i .xlsx (OOXML) — så att arbetsböcker öppnar och omberäknas korrekt i Excel
Rättat
- NA() returnerar nu #N/A. Funktionen
NA()utvärderas till felvärdet #N/A i stället för att rapporteras som ostödd, så att felhanterande formler byggda runt den (till exempelIFERROR(NA(), 0)) fungerar som förväntat
Version 2.88.181
Tillagt
- Textrutor (XLSX). Ny
TXLSXWorksheet.AddTextBoxlägger till en fristående textruta förankrad till ett cellrektangel, avges in i kalkylbladets ritning som en shape med en textkropp. Detta tar XLSX-motorn i linje med XLS-motorns befintliga textrute-stöd
Version 2.88.180
Tillagt
- Namngivna konstanter för pappersstorlek (XLSX). XLSX-motorn lägger till
xlsxPaperLetter,xlsxPaperA4,xlsxPaperA3och de andraxlsxPaper*-konstanterna för egenskapenTXLSXWorksheet.PaperSize, vilket speglar XLS-motornsxlPaper*-konstanter så att pappersstorleken kan sättas efter namn i stället för en rå Excel-papperskod
Version 2.88.179
Tillagt
- XLS-dokumentegenskaper. XLS-motorn får egenskaperna
Title,Subject,Author,Keywords,Comments,CompanyochManagerpåIXLSWorkBook, skrivna till .xls-strömmarna OLE SummaryInformation / DocumentSummaryInformation (som Unicode) vid sparande, så att Excels Arkiv > Information-fönster visar dem. Detta tar XLS-motorn i linje med XLSX-motorns befintliga dokumentegenskapsuppsättning
Version 2.88.178
Tillagt
- Yt- och munkdiagram (XLSX).
TXLSXChartTypelägger tillxlsxChartAreaochxlsxChartDoughnutvid sidan av de befintliga kolumn-, stapel-, linje- och cirkeltyperna, så attTXLSXWorksheet.AddChartkan avge yt- och munkdiagram. XLS (BIFF8)-diagrammotorn behåller sin uppsättning kolumn / stapel / linje / cirkel
Version 2.88.177
Tillagt
- Paritet för intervall-operations-API över motorer. XLSX-motorn får Excel-stil intervallmetoder
TXLSXRange.CopyTo,MoveTo,InsertRows,DeleteRows,InsertColsochDeleteCols; XLS-motorn får koordinat-kalkylblads-metoderIXLSWorksheet.CopyRange,MoveRange,InsertRows,DeleteRows,InsertColsochDeleteCols. Båda motorerna exponerar nu intervall-kopiera/flytta och hel-rad/kolumn-infoga/radera under matchande namn
Version 2.88.176
Tillagt
- Inbyggda cellstilar. Ny
TXLSXRange.ApplyBuiltinStyle(XLSX) ochIXLSRange.ApplyBuiltinStyle(XLS) återger utseendet på Excels standard namngivna cellstilar — Good, Bad, Neutral, Calculation, Check Cell, Explanatory Text, Input, Linked Cell, Note, Output, Warning Text, Heading 1-4, Title, Total och Accent 1-6 — i ett enda anrop genom att applicera matchande fyllning och typsnitt
Version 2.88.175
Tillagt
- Intervallsortering. Ny
TXLSXRange.Sort/TXLSXWorksheet.SortRange(XLSX) ochIXLSWorksheet.SortRange(XLS) sorterar om raderna i en rektangel efter en eller flera nyckelkolumner, stigande eller fallande. Hela rader flyttar tillsammans och bär värden och cellformatering; lika nycklar behåller sin ursprungliga ordning (stabil sortering), och tomma celler sorterar alltid sist
Version 2.88.174
Tillagt
OpenCSVimporterar CSV- och TSV-filer till ett kalkylblad. Nya överlagringarTXLSWorkbook.OpenCSVochTXLSXWorkbook.OpenCSVläser avgränsad text med automatisk detektering av separator (komma, semikolon, tabb eller rör), BOM-baserad kodningsdetektering (UTF-8 och UTF-16) och hantering av citattecken enligt RFC 4180.Opendirigerar nu.csv- och.tsv-filer till importören automatiskt
Ändrat
- Valfri detektering av värdetyp. Numeriska, ISO-8601-datum- och booleska fält befordras till typade cellvärden som standard; detektering kan stängas av för att hålla varje fält som text, vilket bevarar inledande nollor, långa siffersträngar och
=-prefixerad text
Version 2.88.173
Ändrat
OpenODSimporterar nu synlighet för dolda rader och kolumner. ODS-stilar förtable-rowochtable-columnmedtable:visibility-värden såsomcollapseellerfiltermappas nu tillRowHidden/ColHidden, inklusive upprepade rader och kolumner
Version 2.88.172
Ändrat
- XLSX-HTML-export bevarar nu vertikal justering.
TXLSXWorkbook.SaveAsHTMLochTXLSXRange.SaveAsHTMLavger CSS-reglervertical-alignför top-, center-, justified- och distributed-celljustering närIncludeStylesär aktiverat
Version 2.88.171
Ändrat
- XLSX-HTML-export hoppar nu över dolda rader och kolumner.
TXLSXWorkbook.SaveAsHTMLochTXLSXRange.SaveAsHTMLutelämnar rader markerade medRowHidden, kolumner markerade medColHiddenoch noll-bredd explicita kolumner från den genererade tabellen och<colgroup>
Version 2.88.170
Ändrat
- XLSX-HTML-export bevarar nu cellramar. När stilar inkluderas avger
TXLSXWorkbook.SaveAsHTMLochTXLSXRange.SaveAsHTMLcellens kantkanter som CSS-stilarborder-left,border-right,border-topochborder-bottom
Version 2.88.169
Ändrat
- XLSX-HTML-export bevarar nu rich-text-körningar. När stilar inkluderas avger
TXLSXWorkbook.SaveAsHTMLochTXLSXRange.SaveAsHTMLTXLSXRichText-körningar som escaperade<span>-element med inline-stilar för typsnitt, färg, betoning och understrykning
Version 2.88.168
Ändrat
- XLSX-HTML-export bevarar nu explicita rad- och kolumnstorlekar. När stilar inkluderas skriver
TXLSXWorkbook.SaveAsHTMLochTXLSXRange.SaveAsHTMLexplicitaColWidth-värden genom en<colgroup>och explicitaRowHeight-värden som<tr>-höjd-stilar
Version 2.88.167
Ändrat
- XLSX-HTML-export bär nu cellkommentarer som verktygstips.
TXLSXWorkbook.SaveAsHTMLochTXLSXRange.SaveAsHTMLskriver XLSX-kommentarer till escaperade attributtitlepå<td>, och export på arbetsboksnivå expanderar sina tabellgränser för att inkludera ankare med endast kommentarer
Version 2.88.166
Ändrat
- XLSX-HTML-export bevarar nu hyperlänkar och förankrade bilder.
TXLSXWorkbook.SaveAsHTMLochTXLSXRange.SaveAsHTMLlindar in länkade celler i escaperade<a>-ankare och avger förankrade bilder som inlinedata:-bild-URI:er. Export på arbetsboksnivå expanderar också sina tabellgränser för att inkludera hyperlänk- och bildankare utanför populerade celler
Version 2.88.165
Tillagt
TXLSXTablebevarar nu synligheten för totalraden. Den nya egenskapenTotalsRowShownskriver och läser OOXML-flaggantotalsRowShownså att XLSX-tabeller kan hålla sin totalrad aktiverad över SaveAs/Open-cykler
Version 2.88.164
Tillagt
TXLSXWorksheethar nu typade hjälpare för datavalidering.AddWholeNumberValidation,AddDecimalValidation,AddDateValidation,AddTimeValidation,AddTextLengthValidationochAddCustomValidationlägger till vanliga XLSX-regler utan att manuellt passera värden förTXLSXDataValidationType
Version 2.88.163
Ändrat
OpenODSimporterar nu ODS-text-hyperlänkar. ODS-länkartext:amedxlink:hrefskapar nu poster iTXLSXHyperlinks, behåller ankar-text i det importerade cellvärdet, och mappar fragment-mål såsom#Sheet.A1till interna arbetsbokslänkar
Version 2.88.162
Ändrat
OpenODSimporterar nu grundläggande cellkommentarer. ODS-celler medoffice:annotationskapar nu poster iTXLSXCommentsmed kommentarstext ochdc:creatorsom författare, samtidigt som annotationstext hålls borta från cellvärdet
Version 2.88.161
Ändrat
ApiTour-demos täcker nu de nuvarande XLSX-arbetsflödeshjälparna. Delphi- och C++Builder-exemplenApiTourdemonstrerar nuWriteRows,ForEachRow,PreviewAutoFilterRows,AutoFilterRowVisible,TXLSXHtmlExportOptionsochOnUserFunctionExvid sidan av arbetsboksskapande, export och återöppnings-inspektions-flöden
Version 2.88.160
Tillagt
OnUserFunctionExlägger till kontext-medvetna återanrop för anpassade formler.TXLSWorkbook,IXLSWorkbookochTXLSXWorkbookkan nu ta emot enTXLSUserFunctionContextmed bladindex, rad och kolumn närCalculatedelegerar en anpassad eller ostödd kalkylbladsfunktion till program-kod
Version 2.88.159
Tillagt
TXLSXHtmlExportOptionslägger till konfigurerbar XLSX-HTML-export. Överlagringar av arbetsboks- och intervall-SaveAsHTMLkan åsidosätta dokumenttiteln, applicera en tabell-CSS-klass, utelämna inline/standard-stilar, undertrycka UTF-8-BOM, eller avge ett tabell-fragment utan det omgivande HTML-dokumentet
Version 2.88.158
Tillagt
TXLSXWorksheet.AutoFilterRowVisibleochPreviewAutoFilterRowslägger till AutoFilter-förhandsgranskningsutvärdering. Program kan testa huruvida en rad matchar kalkylbladets lagrade XLSX-AutoFilter-kriterier eller gå igenom de filtrerade dataraderna med ett synlighetsåteranrop, utan att ändra radens dolda flaggor
Version 2.88.157
Tillagt
TXLSXWorksheet.WriteRowslägger till rad-batch XLSX-utmatning. Anropare kan fylla ett numeriskt eller A1-stil intervall en rad i taget genom att returnera enVariant-matris, med hoppa-över-hel-rad, annullering och ett skrivet-rad-antal
Version 2.88.156
Tillagt
TXLSXWorksheet.ForEachRowlägger till radnivå XLSX-skanning. Återanropet körs en gång per laddad rad, rapporterar raden plus första och sista laddade kolumner, returnerar antalet besökta rader, och stöder annullering
Version 2.88.155
Ändrat
OpenODSimporterar nu cache-lagrade skalära resultat från ODS-formelceller. När en formelcell lagrar numeriska, booleska, datum- eller tids-värden för cache utanoffice:value-type, behåller importören det cache-lagrade cellvärdet samtidigt som ODS-formelsyntax lämnas okonverterad
Version 2.88.154
Ändrat
OpenODSbevarar nu grundläggande ODS-tal- och datumformat. ODS-tabellcellsstilar länkade till datastilar för datum, tid, tal, procent eller valuta mappar nu tillNumberFormat-strängar för XLSX såsomyyyy-mm-ddoch0.00, så att importerade värden behåller grundläggande visningsformatering
Version 2.88.153
Ändrat
- ODS-sammanslagna celler importeras nu som XLSX-sammanslagna intervall.
OpenODSmappartable:number-columns-spannedochtable:number-rows-spannedpå ODS-celler tillTXLSXMergedCells, vilket behåller värdet på den övre-vänstra cellen och lämnar täckta celler tomma
Version 2.88.152
Ändrat
- ODS-bladnamn kan nu läsas utan att ladda kalkylblad.
TXLSXWorkbook.GetODSSheetNames(FileName, AList)ochGetODSSheetNames(Stream, AList)skannar tabellnamn fråncontent.xmli.ods-paket, avkodar XML-escaper, syntetiserar standardnamn för onämnda tabeller, och lämnar arbetsboks-instansen oförändrad
Version 2.88.151
Ändrat
- Klassiska XLS DIMENSION-poster informerar nu om tomma använda intervall. När ett Excel-skrivet .xls-kalkylblad deklarerar ett använt intervall i
DIMENSIONmen bär inga cellposter, exponerar HotXLS nu det intervallet genomUsedRangeoch bevarar det under öppna/spara i stället för att falla tillbaka påA1
Version 2.88.150
Rättat
- Externa formelreferenser från BIFF5-eran laddas nu korrekt. Den klassiska XLS-tolkaren löser nu positiva externa Excel5-bladindex i token
tRef3d/tArea3dochtNameX, så att äldre .xls-formler behåller blad-kvalificerade 3D-intervall och externa namn-referenser under öppna/spara
Version 2.88.149
Borttaget
- BIFF8-beräknings- och stilutökningsposter rundtur-bevaras nu. HotXLS bevarar Excel-skrivna poster
MTRSettings,ForceFullCalculation,CrErr, kalkylblads-Uncalced,XFCRC, oberoendeDXF,StyleExtochTableStyles-familjeposter under klassiska XLS öppna/spara-cykler, så att metadata för omberäkning och stilutökning inte längre släpps
Version 2.88.148
Tillagt
- C++Builder-demos matchar nu Delphi-exemplens täckning. Tillagda C++Builder-projekt för
XlsTables,XlsCondFormat12ochXlsCreateChart, med matchande README-sidor och Win32/Win64-byggtäckning
Version 2.88.147
Borttaget
- BIFF8 Custom Views överlever nu klassiska XLS-rundturer. HotXLS bevarar Excel-skrivna block
USERSVIEWBEGIN/USERSVIEWENDi arbetsboksglobals och kalkylbladsunderströmmar, inklusive omodellerade poster inuti blocket, så att sparade anpassade vyer inte släpps under öppna/spara
Version 2.88.146
Borttaget
- BIFF8 vy- och tillägnglobals för arbetsboken rundtur-bevaras nu. HotXLS bevarar Excel-skrivna poster
HIDEOBJ,TEMPLATEmed noll längd,TABIDochBOOKEXTunder öppna/spara så att policy för dold-objekt-visning, mall-markörer, identifierare för bladflikar och metadata för arbetsbokstillägg inte släpps
Version 2.88.145
Ändrat
- TXLSXWorkbook kan nu importera grundläggande OpenDocument Spreadsheet-filer.
OpenODS(FileName)ochOpenODS(Stream)läser tabeller fråncontent.xmli.ods-paket till kalkylblad, vilket bevarar bladnamn, skalära värden, upprepade rader och upprepade kolumner. Stilar, formler, ritningar, diagram och avancerade ODS-funktioner konverteras inte
Version 2.88.144
Ändrat
- XLSX-rad- och kolumnredigeringar uppdaterar nu AutoFilter-kolumnkriterier.
TXLSXWorksheet.InsertRows,DeleteRows,InsertColsochDeleteColsmappar nu omColId-offset förAutoFilterColumnsnär filterintervallet flyttas och tar bort kriterier som faller inuti raderade kolumner
Version 2.88.143
Ändrat
- XLSX-rad- och kolumnredigeringar uppdaterar nu manuella sidbrytningar.
TXLSXWorksheet.InsertRows,DeleteRows,InsertColsochDeleteColsflyttar nu rad- och kolumn-sidbrytningar med det redigerade rutnätet och tar bort brytningar som faller inuti raderade rader eller kolumner
Version 2.88.142
Ändrat
- XLSX-rad- och kolumnredigeringar uppdaterar nu referenser för utskriftsinställningar.
TXLSXWorksheet.InsertRows,DeleteRows,InsertColsochDeleteColsjusterar nuPrintArea,PrintTitleRowsochPrintTitleColsså att utskriftsintervall och upprepade titlar följer det redigerade rutnätet
Version 2.88.141
Ändrat
- XLSX-rad- och kolumnredigeringar uppdaterar nu interna hyperlänkmål.
TXLSXWorksheet.InsertRows,DeleteRows,InsertColsochDeleteColsjusterar nu internaTXLSXHyperlink.Location-ankare på det redigerade bladet och blad-kvalificerade interna mål annorstädes i arbetsboken
Version 2.88.140
Ändrat
- XLSX-rad- och kolumnredigeringar uppdaterar nu regel-formler.
TXLSXWorksheet.InsertRows,DeleteRows,InsertColsochDeleteColsjusterar nu A1-referenser inutiTXLSXConditionalFormat.Formula1/Formula2ochTXLSXDataValidation.Formula1/Formula2, medan numeriska trösklar och bokstavliga listor förblir oförändrade
Version 2.88.139
Ändrat
- XLSX-rad- och kolumnredigeringar uppdaterar nu diagramserieintervall.
TXLSXWorksheet.InsertRows,DeleteRows,InsertColsochDeleteColsjusterar nuTXLSXChartSeries.CategoriesRangeochValuesRangeför diagram på det redigerade bladet och diagram annorstädes som använder blad-kvalificerade referenser, vilket håller diagramdatabindningar i linje efter spara/återöppna-cykler
Version 2.88.138
Ändrat
- XLSX-rad- och kolumnredigeringar uppdaterar nu cellformler.
TXLSXWorksheet.InsertRows,DeleteRows,InsertColsochDeleteColsjusterar nu A1-referenser i överlevande cellformler på det redigerade bladet och blad-kvalificerade formler annorstädes i arbetsboken, samtidigt som strängar och orelaterade blad lämnas oförändrade
Version 2.88.137
Ändrat
- XLSX-rad- och kolumnredigeringar flyttar nu ritankare.
TXLSXWorksheet.InsertRows,DeleteRows,InsertColsochDeleteColsflyttar nu en-cells-bildankare och storleksändrar eller flyttar två-cells-diagramankare med det redigerade rutnätet, inklusive spara/återöppna-rundturer
Version 2.88.136
Ändrat
- XLSX-rad- och kolumnredigeringar uppdaterar nu definierade namn.
TXLSXWorksheet.InsertRows,DeleteRows,InsertColsochDeleteColsjusterar nu formler för arbetsboksomfattande och bladbegränsadeTXLSXDefinedNamesom pekar mot det redigerade bladet, vilket bevarar absoluta A1-markörer över spara/återöppna-cykler
Version 2.88.135
Tillagt
- Klassiska XLS-textrutor stöder nu sub-cell-ankar-offset.
TXLSTextBoxexponerarRow1Offs,Col1Offs,Row2OffsochCol2Offs, och offset-medvetna överlagringenSetAreabeständiggör BIFF-klient-ankar-offset över spara/återöppna-cykler
Version 2.88.134
Ändrat
- Kontroller av XLSX-makro-nyttolast har nu ett skrivskyddat egenskap-alias.
TXLSXWorkbook.VbaProjectDefinedspeglarHasVbaProject, vilket ger egenskaps-orienterade anropare ett direkt sätt att testa huruvida envbaProject.bin-nyttolast finns
Version 2.88.133
Ändrat
- XLSX-kalkylblad exponerar nu intervall-värde-rensning direkt.
TXLSXWorksheet.ClearRangeValuesaccepterar A1-referenser eller rad-/kolumn-gränser och rensar värden/formler samtidigt som stilar bevaras, så att anropare inte behöver skapa enTXLSXRange-omslutning först
Version 2.88.132
Borttaget
- XLSX-intervall kan nu rensa cellinnehåll med en explicit värde-fokuserad hjälpare.
TXLSXRange.ClearValuestar bort värden och formler över intervallet samtidigt som stilindex bevaras, vilket matcharClearmen gör innehålls-endast-uppstädning lättare att upptäcka
Version 2.88.131
Ändrat
- XLSX-literaler för listdatavalidering escaperar nu inbäddade dubbla citattecken.
TXLSXDataValidations.AddListochTXLSXWorksheet.AddListValidationdubbelciterar tecken inuti kommaseparerad objekttext innan den lindas som en Excel-formelsträng, så att rullgardinsvärden som innehåller citattecken rundtur-bevaras korrekt
Version 2.88.130
Borttaget
- XLSX-AutoFilter-kriterier kan nu rensas direkt från kriteriesamlingen.
TXLSXAutoFilterColumns.ClearCriteriatar bort alla lagrade per-kolumn-filterkriterier samtidigt som kalkylbladetsAutoFilterRangebehålls på plats
Version 2.88.129
Tillagt
- XLSX-sammanslagna intervall normaliserar nu omvända koordinater när de läggs till.
TXLSXMergedCells.Addlagrar intervall i övre-vänstra / nedre-högra ordning även när anropare passerar slutcellen först, vilket producerar stabila referenser såsomA2:E6
Version 2.88.128
Tillagt
- XLSX-kalkylbladssamlingar stöder nu direkt namn-borttagning.
TXLSXSheetslägger tillDeleteByName, vilket låter program ta bort ett kalkylblad efter skiftlägesokänsligt namn samtidigt som valet av aktivt blad hålls konsekvent
Version 2.88.127
Tillagt
- XLSX-diagramsamlingar stöder nu direkt titel-uppslagning och -borttagning.
TXLSXChartslägger tillIndexOfName,FindByName,DeleteByNameochDelete, så att program kan lokalisera eller ta bort diagram efter titel utan manuella samlingsskanningar
Version 2.88.126
Tillagt
- XLSX-samlingar för externa länkar stöder nu direkt mål-uppslagning och -borttagning.
TXLSXExternalLinkslägger tillIndexOfTarget,FindByTarget,DeleteByTargetochDelete, så att program kan inspektera eller ta bort länkad arbetsboksmetadata utan manuella samlingsskanningar
Version 2.88.125
Tillagt
- XLSX-samlingar för sammanslagna celler stöder nu direkt intervall-uppslagning och -borttagning.
TXLSXMergedCellslägger tillIndexOfCell,FindAt,DeleteAtochDeleteInRange, så att program kan inspektera eller ta bort sammanslagna intervall utan manuella samlingsskanningar
Version 2.88.124
Tillagt
- XLSX-samlingar för villkorsformat och datavalidering stöder nu intervallmedveten uppslagning och borttagning.
TXLSXConditionalFormatsochTXLSXDataValidationslägger tillIndexOfCell,FindAt,DeleteAtochDeleteInRange, så att program kan lokalisera eller ta bort regler som täcker en cell eller skär ett intervall utan manuellasqref-skanningar
Version 2.88.123
Tillagt
- XLSX-bildsamlingar stöder nu direkt ankar-uppslagning och -borttagning.
TXLSXImageslägger tillIndexOfCell,FindAt,DeleteAt,DeleteInRangeochDelete, så att program kan inspektera eller ta bort inbäddade bilder utan manuella samlingsskanningar
Version 2.88.122
Tillagt
- XLSX-AutoFilter-kolumnsamlingar stöder nu direkt uppslagning och borttagning.
TXLSXAutoFilterColumnslägger tillFindByColIdochDeleteByColId, så att program kan inspektera eller ta bort per-kolumn-kriterier utan manuella samlingsskanningar
Version 2.88.121
Tillagt
- XLSX-tabellsamlingar stöder nu direkt tabelluppslagning och -borttagning.
TXLSXTableslägger tillIndexOfName,FindByNameochDeleteByName, så att program kan lokalisera eller ta bort namngivna kalkylbladstabeller utan manuella samlingsskanningar
Version 2.88.120
Tillagt
- XLSX-samlingar för definierade namn stöder nu direkt objekt-uppslagning och -borttagning.
TXLSXDefinedNameslägger till överlagringar förIndexOfName(Name, SheetIndex),FindByNameochDeleteByName, så att program kan arbeta med arbetsboksomfattande och bladbegränsade namn utan manuella samlingsskanningar
Version 2.88.119
Tillagt
- XLSX-samlingar för kommentarer och hyperlänkar stöder nu cellbaserad uppslagning och borttagning.
TXLSXCommentsochTXLSXHyperlinksexponerarIndexOfCell,FindAt,DeleteAtochDeleteInRange, så att program-kod kan lokalisera eller ta bort kalkylbladskommentarer och -länkar utan manuella samlingsskanningar
Version 2.88.118
Ändrat
- ApiTour-demos inspekterar nu återöppnade XLSX-arbetsboksobjekt. Delphi- och C++Builder-exemplen ApiTour återöppnar den genererade XLSX-arbetsboken och skriver rader för
reopen-inspectför definierade namn, kommentarer, hyperlänkar, autofilterintervall och autofilterkriterier tillApiTour-XLSX-Modified.xlsx
Version 2.88.117
Borttaget
- BIFF8-poster för fildelning och revisionsskydd för arbetsboken rundtur-bevaras nu. HotXLS bevarar Excel-skrivna postkroppar
FILESHARING,FILESHARING2,PROT4REVochPROT4REVPASSunder öppna/spara så att metadata för rekommendation av skrivskydd, delning och revisionsskydd inte släpps
Version 2.88.116
Ändrat
- ApiTour-demos täcker nu XLSX-arbetsboksobjekt-hjälpare. Delphi- och C++Builder-exemplen ApiTour skapar ett definierat namn, en kalkylbladskommentar, en hyperlänk, ett autofilterintervall och autofilterkriterier samtidigt som de befintliga arbetsflödena för återanrop, textersättning och export behålls
Version 2.88.115
Ändrat
- InteractiveFeatures-demos kan nu återöppna klassiska XLS-pivotarbetsböcker. Delphi- och C++Builder-Pivot-flikarna kan öppna en befintlig klassisk XLS-pivotarbetsbok, räkna upp sparade pivottabeller på varje kalkylblad och logga varje tabells fältantal, datafältantal och cache-källintervall
Version 2.88.114
Ändrat
- InteractiveFeatures-demos kan nu återöppna klassiska XLS-arbetsböcker för TextBox-arbetsflöden. Delphi- och C++Builder-formulären kan öppna en befintlig klassisk XLS-arbetsbok, lokalisera sparade fristående rit-textrutor, lista dem, och fortsätta redigera-, radera-, intervall-radera- och spara-operationer mot den öppnade filen
Version 2.88.113
Ändrat
- C++Builder-demos inkluderar nu ett InteractiveFeatures-exempel för avancerade arbetsboksarbetsflöden. VCL-formuläret ger samma interaktiva Pivot / TextBox / Makro-sökväg, med typat klassiskt XLS-pivottabell-skapande, redigering av fristående rit-textrutor, och XLSM
vbaProject.bin-nyttolast ladda/exportera/rensa plus tolkad modulinspektion
Version 2.88.112
Ändrat
- Delphi-demos inkluderar nu ett InteractiveFeatures-exempel för avancerade arbetsboksarbetsflöden. VCL-formuläret skapar typade klassiska XLS-pivottabeller, redigerar fristående rit-textrutor, och hanterar XLSM
vbaProject.bin-nyttolast ladda/exportera/rensa plus tolkad modulinspektion
Version 2.88.111
Tillagt
- Klassiska XLS-kalkylblad stöder nu fristående rit-textrutor. Använd
TXLSShapes.AddTextBoxför att skapa enTXLSTextBoxmed sitt eget rad-/kolumnankare, text, textkörningar, linje-/fyllningsformatering och normal shape-borttagning utan att skapa en cellkommentar
Version 2.88.110
Ändrat
- ApiTour-demos täcker nu fler mönster för arbetsboksautomation. Delphi- och C++Builder-exemplen ApiTour demonstrerar återanrop-baserad intervallskrivning med
WriteCells, skanning av laddade celler medForEachCell, malluppdateringar medFindTextochReplaceText, HTML-export av markerat intervall tillApiTour-Range.html, och anpassade formel-återanrop i Delphi genomOnUserFunction
Version 2.88.109
Ändrat
- QuickStart-demos visar nu en fullare första arbetsbok. Delphi- och C++Builder-exemplen QuickStart skapar en stylad multiplikationstabell med rad- och kolumn-totalformler, frysta rutor och matchande XLS/XLSX-åtgärder; demon-trädet inkluderar nu också polerade HTML-readme-sidor för varje exempel
Version 2.88.108
Ändrat
- XLSX-intervall har nu direkta HTML-export-hjälpare.
TXLSXRange.SaveAsHTML(FileName)ochTXLSXRange.SaveAsHTML(Stream)exporterar endast det markerade XLSX-intervallet som en UTF-8 HTML-tabell, vilket delar arbetsboks-HTML-renderarens escapering, grundläggande stil-utmatning och hantering av spann över sammanslagna celler
Version 2.88.107
Tillagt
- XLSX-kalkylblad inkluderar nu hjälpare för textsökning och ersättning.
TXLSXWorksheet.FindTextochTXLSXWorksheet.ReplaceTextskannar laddade textceller i rad-major-ordning, hoppar över formler och icke-text-värden, och stöder valfri skiftlägeskänslig matchning för mall-arbetsflöden
Version 2.88.106
Ändrat
- BIFF8 Window2-vyflaggor bevarar nu anpassat rutnäts- och fruset-rutor-tillstånd. HotXLS rensar nu
fDefaultHdrnärWindow2.icvHdrlagrar en anpassad rutnätsfärg, bevarar Excel-skrivenfFrozenNoSplitunder öppna/spara, och skriverfFrozenNoSplitförFreezePanes-utmatning
Version 2.88.105
Ändrat
- CF12-formeltrösklar rundtur-bevaras nu genom BIFF8-regler för Datastapel, Färgskala och Ikonuppsättning. Formelbaserade tröskelvärden kompileras till CF12-formel-tokenbyte vid sparande och återställs till
TXLSCfValue.Valuenär en arbetsbok återöppnas
Version 2.88.104
Ändrat
- Klassiska XLS-formler och ikonuppsättningströsklar avger nu tightare BIFF8-poster. Heltalskonstanter i formler använder den kompakta token
tIntnär de ryms i BIFFs omfång för osignerat heltal, ochTXLSIconSetSpec.ThresholdEqualsInclude[Index]styr nu CF12-ikonuppsättnings-tröskelns lika-med-byte så att anropare kan välja include- eller exclude-jämförelsesemantik
Version 2.88.103
Ändrat
- Klassiska XLS-kalkylblad inkluderar nu en textsökningshjälpare.
IXLSWorksheet.FindText(SearchText, Row, Col[, MatchCase])lokaliserar den första matchande laddade textcellen, hoppar över formler och icke-textceller, och rensar de returnerade koordinaterna när ingen matchning hittas
Version 2.88.102
Ändrat
- Klassiska XLS-kalkylblad inkluderar nu en textersättningshjälpare.
IXLSWorksheet.ReplaceText(SearchText, ReplacementText[, MatchCase])ersätter matchningar i laddade textceller, hoppar över formler och icke-textceller, och rapporterar det ändrade cellantalet för mallfyllnads-arbetsflöden
Version 2.88.101
Ändrat
- Intervall har nu direkta HTML-export-hjälpare.
IXLSRange.SaveAsHTML(FileName)ochIXLSRange.SaveAsHTML(Stream)exporterar det markerade intervallet genom den befintliga HTML-renderaren, så att anropare inte längre behöver skapa enTXLSHTMLExport-instans eller passeraxlHTMLexplicit för vanliga intervallfragment
Version 2.88.100
Ändrat
TXLSWorkbook.GetSheetNames(Stream, AList)läser nu XLSX-paketströmmar såväl som klassiska XLS-strömmar. Program kan passera minnesströmmar, databas-BLOB-strömmar eller nedladdade XLSX-strömmar till den klassiska fasaden och ta emot ordnade kalkylbladsnamn utan att först spara till en fil
Version 2.88.99
Tillagt
- API:er för kalkylbladsuppslagning, hyperlänksskapande och val av flera områden är nu enklare att använda. Klassiska XLS- och XLSX-bladsamlingar lägger till
TryGetSheetByName, klassiska XLS-kalkylblad lägger till bekvämlighetsöverlagringar förAddHyperlink, ochIXLSWorksheet.SelectAreaskan skriva aktiva val för flera områden
Version 2.88.98
Ändrat
- Klassiska XLS-arbetsböcker exponerar nu ett alias
UserNameför fältet sparad-av.IXLSWorkbook.UserNamemappar till samma WRITEACCESS-värde somLastSavedBy, så att kod som använder namngivningskonventionenUserNamekan läsa och uppdatera arbetsbokens granskningsnamn direkt
Version 2.88.97
Ändrat
- XLSX-kalkylblad delar nu återanropet för cellskanning och hjälparna för intervallskrivning.
TXLSXWorksheet.ForEachCellräknar upp laddade celler i radordning med värde och formeltext, medanTXLSXWorksheet.WriteCellsfyller numeriska eller A1-stil intervall från ett återanrop med per-cell-hoppa-över och annullering
Version 2.88.96
Tillagt
- Klassiska XLS-kalkylblad stöder nu återanrop-driven intervallskrivning.
IXLSWorksheet.WriteCellsfyller ett 1-baserat numeriskt intervall eller A1-stil intervall i radordning, låter återanropet tillhandahålla varje cellvärde, stöder per-cell-hoppa-över, och kan annullera långa skriv-loopar tidigt
Version 2.88.95
Ändrat
- Klassiska XLS-kalkylblad kan nu räkna upp laddade celler genom ett återanrop.
IXLSWorksheet.ForEachCellgår igenom befintliga kalkylbladsceller i radordning, passrar 1-baserade koordinater för blad, rad och kolumn med värde och formeltext, och låter återanropet annullera långa skanningar tidigt
Version 2.88.94
Ändrat
- Formelberäkning kan nu anropa programdefinierade funktioner.
TXLSWorkbook.OnUserFunctionochTXLSXWorkbook.OnUserFunctionlåterCalculatedelegera anpassade eller ostödda kalkylbladsfunktioner till program-kod, vilket passrar utvärderade argument och använder det returneradeVariant-resultatet när det hanteras
Version 2.88.93
Tillagt
- Klassiskt XLS-kalkylbladsskydd exponerar nu behörighetsflaggor per åtgärd.
IXLSWorksheetlägger tillAllowDeleteRows,AllowInsertRows,AllowFormatCells,AllowSort,AllowAutoFilteroch återstående SheetProtect-behörighetsegenskaper, med BIFF8-alternativ skrivna och lästa tillbaka genom de befintliga skyddsposterna
Version 2.88.92
Ändrat
- Klassiska XLS-VBA-nyttolaster har nu explicita hjälpare för ladda/spara/rensa.
IXLSWorkbook.LoadVBAProjectFromFile,SaveVBAProjectToFile,HasVBAProjectochClearVBAProjectexponerar den bevarade OLE-VBA-lagringsnyttolasten medanVBAProjectförblir den tolkade skrivskyddade modulvyn
Version 2.88.91
Ändrat
- Klassiska XLS-AutoFilter-kriterier kan nu inspekteras genom en fältsamling.
IXLSWorksheet.AutoFilterColumnsexponerar det aktuella BIFF8-AutoFilter-fältantalet och 1-baserade fältobjekt, inklusive aktivt tillstånd, operator och lagradeCriteria1/Criteria2-DOPER-värden
Version 2.88.90
Ändrat
- Klassiska XLS-kalkylblad har nu AutoFilter-kriterieuppsättning med ett anrop.
IXLSWorksheet.ApplyAutoFiltersätter ett kalkylblads AutoFilter-intervall och skriver ett fältkriterium i samma anrop, med A1-stil och 1-baserade numeriska intervallöverlagringar plus valfria två-kriterie-operatorer
Version 2.88.89
Borttaget
- Klassiska XLS-shapes kan nu tas bort per cellintervall.
TXLSShapes.DeleteInRangeraderar förankrade bilder eller shapes vars OfficeArt-klientankare skär ett 1-baserat kalkylbladsintervall, vilket returnerar antalet borttagna shapes
Version 2.88.88
Ändrat
- Attribut för tabellayout vid klassisk HTML-export är nu konfigurerbara.
TXLSHTMLExport.TableBorderWidth,CellPaddingochCellSpacingstyr de genererade<table>-attributen för både stylad och enkel HTML-utmatning samtidigt som de standardiseras till de tidigare noll-värdena
Version 2.88.87
Tillagt
- Klassisk HTML-export stöder nu minimal tabellutmatning.
TXLSHTMLExport.SimpleExportskriver en vanlig HTML-tabell utan genererade CSS-klasser, hyperlänkankare eller kommentars-titel-attribut samtidigt som escaperad visningstext och spann över sammanslagna celler bevaras
Version 2.88.86
Ändrat
- Klassisk HTML-export kan nu skriva en dokumenttitel.
TXLSHTMLExport.Titleskriver ett escaperat HTML-element<title>före det genererade stilblocket, medan det tomma standardvärdet behåller befintlig utmatning oförändrad
Version 2.88.85
Ändrat
- Klassisk HTML-export bär nu cellkommentarer som verktygstips.
TXLSHTMLExport.Optionsinkluderar nuxhCommentssom standard, vilket skriver cellkommentarstext som escaperade attributtitlesamtidigt som anropare fortfarande kan ta bort alternativet för vanlig cellutmatning
Version 2.88.84
Ändrat
- Klassisk HTML-export-hyperlänkutmatning är nu konfigurerbar.
TXLSHTMLExport.Optionsstandardiseras till[xhHyperlinks]för befintligt beteende, och anropare kan ta bortxhHyperlinksför att exportera länkade celler som vanlig escaperad text
Version 2.88.83
Ändrat
- Klassisk HTML-export bevarar nu cellhyperlänkar.
SaveAsHTMLlindar in länkade celler i HTML-ankartaggar, avger hyperlänkadresser som escaperadehref-värden, bär ScreenTip-text som escaperade attributtitle, och håller den visade celltexten escaperad inuti länken
Version 2.88.82
Ändrat
- Klassiska XLS-arbetsböcker kan nu styra det sparade-av-användarnamnet.
IXLSWorkbook.LastSavedByexponerar WRITEACCESS-fältet sparad-av så att genererade eller redigerade arbetsböcker kan lagra ett explicit granskningsnamn medan oredigerade källarbetsböcker fortsätter bevara sin ursprungliga metadata
Version 2.88.81
Ändrat
- Klassiska XLS-kalkylblad kan nu styra det visade rutnätsfärgsindexet.
IXLSWorksheet.GridlineColorIndexexponerar fältet Window2icvHdrså att sparade kalkylblad återöppnas med en vald rutnätsfärg samtidigt som synligheten för rutnät och inställningar för utskriftsrutnät lämnas oförändrade
Version 2.88.80
Ändrat
- Klassiska XLS-arbetsböcker kan nu sätta det aktiva bladet efter index.
IXLSWorkbook.ActiveSheetIndexexponerar en 1-baserad aktiv-flik-egenskap backad av WINDOW1-fältet aktivt blad, vilket låter sparade arbetsböcker återöppnas på ett valt kalkylblad utan att ändra den första synliga fliken
Version 2.88.79
Ändrat
- Klassiska XLS-kalkylbladsöversikter kan nu styra automatiska översiktsstilar.
TXLSOutline.ApplyStylesexponerar översiktsstilflaggan WSBool, vilket låter sparade kalkylblad bevara eller explicit aktivera Excel översiktsstil-applicering utan att ändra översiktsnivåer eller sammanfattningsplacering
Version 2.88.78
Ändrat
- Klassiska XLS-sidinställningar kan nu styra automatiska sidbrytningar.
IXLSPageSetup.AutoPageBreaksexponerar kalkylbladets WSBool-flagga för automatiska sidbrytningar, vilket låter sparade kalkylblad hålla automatiska sidbrytningar aktiverade eller inaktivera dem explicit samtidigt som manuella sidbrytningar bevaras
Version 2.88.77
Ändrat
- Klassiska XLS-arbetsböcker kan nu styra AutoFilter-datumgruppering.
IXLSWorkbook.AutoFilterDateGroupingexponerar datumgrupperingsflaggan Window1 med ett positivt booleskt API, vilket låter sparade arbetsböcker hålla Excels datumfiltergruppering aktiverad eller inaktivera den explicit
Version 2.88.76
Ändrat
- Klassiska XLS-arbetsböcker kan nu sätta fönsterposition och storlek för arbetsboken direkt.
IXLSWorkbook.XWindow,YWindow,WindowWidthochWindowHeightexponerar geometrifälten för Window1 så att sparade arbetsböcker återöppnas med en vald fönsterrektangel
Version 2.88.75
Ändrat
- Klassiska XLS-arbetsböcker kan nu spara arbetsboks-fönstrets dolda tillstånd direkt.
IXLSWorkbook.WindowHiddenmappar till dold-flaggan för Window1, vilket låter sparade arbetsböcker återöppnas med arbetsboks-fönstret dolt utan att ändra kalkylbladssynlighet
Version 2.88.74
Ändrat
- Klassiska XLS-arbetsböcker kan nu spara arbetsboks-fönstrets minimerade tillstånd direkt.
IXLSWorkbook.Minimizedmappar till minimerad-flaggan för Window1, vilket låter sparade arbetsböcker återöppnas med arbetsboks-fönstret minimerat
Version 2.88.73
Ändrat
- Klassiska XLS-arbetsböcker kan nu dölja eller visa den vertikala rullningslisten direkt.
IXLSWorkbook.ShowVerticalScrollmappar till flagganfDspVScrollför Window1, vilket låter sparade arbetsböcker öppna med den vertikala rullningslisten dold eller synlig
Version 2.88.72
Ändrat
- Klassiska XLS-arbetsböcker kan nu dölja eller visa den horisontella rullningslisten direkt.
IXLSWorkbook.ShowHorizontalScrollmappar till flagganfDspHScrollför Window1, vilket låter sparade arbetsböcker öppna med den horisontella rullningslisten dold eller synlig
Version 2.88.71
Ändrat
- Klassiska XLS-arbetsböcker kan nu dölja eller visa flikstapeln direkt.
IXLSWorkbook.ShowSheetTabsmappar till flagganfDspTabsför Window1, vilket låter sparade arbetsböcker öppna med bladflikar dolda eller synliga utan att ändra kalkylbladssynlighet
Version 2.88.70
Ändrat
- Klassiska XLS-arbetsböcker kan nu sätta flikstapelns proportion direkt.
IXLSWorkbook.TabRatioexponerar värdetwTabRatioför Window1 så att anropare kan justera utrymmet reserverat för bladflikar kontra den horisontella rullningslisten
Version 2.88.69
Ändrat
- Klassiska XLS-arbetsböcker kan nu sätta den första synliga bladfliken direkt.
IXLSWorkbook.FirstSheetexponerar värdetitabFirstför Window1 som en 1-baserad egenskap, så att anropare kan välja vilken bladflik som visas vid den vänstra kanten när Excel öppnar arbetsboken
Version 2.88.68
Ändrat
- Klassiska XLS-kalkylblad kan nu bevara och sätta översiktssymbolers synlighet.
IXLSWorksheet.DisplayOutlineSymbolsmappar till flagganfDspGutsför BIFF WINDOW2, vilket låter sparade blad dölja översikt- och grupperingssymboler i vyfönstret
Version 2.88.67
Ändrat
- Klassiska XLS-kalkylblad kan nu bevara och sätta synligheten för rad- och kolumnrubriker.
IXLSWorksheet.DisplayHeadingsmappar till flagganfDspRwColför BIFF WINDOW2, vilket låter sparade blad dölja radnummer och kolumnbokstäver i vyfönstret
Version 2.88.66
Ändrat
- Klassiska XLS-kalkylblad kan nu bevara och sätta visa-formler-vyn.
IXLSWorksheet.DisplayFormulasmappar till flagganfDspFmlaför BIFF WINDOW2 så att Excel kan öppna ett blad som visar formeltext i stället för beräknade resultat
Version 2.88.65
Ändrat
- Klassiska XLS-kalkylblad kan nu sätta zoom för Normal-vy oberoende.
IXLSWorksheet.NormalViewZoomexponerar den cache-lagrade Normal-zoomen för WINDOW2 så att anropare kan spara distinkta zoomnivåer medan ett blad är i Förhandsgranskning av sidbrytning
Version 2.88.64
Ändrat
- Klassiska XLS-kalkylblad kan nu sätta zoom för Förhandsgranskning av sidbrytning direkt.
IXLSWorksheet.PageBreakPreviewZoomexponerar den cache-lagrade förhandsgransknings-zoomen för WINDOW2 så att anropare kan spara olika zoomnivåer för Normal och Förhandsgranskning av sidbrytning
Version 2.88.63
Ändrat
- Klassiska XLS-kalkylblad exponerar nu hjälpare för delad ruta.
IXLSWorksheet.SplitPanes(Width, Height)skapar en flyttbar rutedelning med den befintliga BIFF-ruteskrivaren, ochUnsplitPanesrensar ruteposten före sparande
Version 2.88.62
Borttaget
- Klassiska XLS-kalkylblad har nu enklare hjälpare för frusna rutor.
IXLSWorksheet.FreezePanes(Cols, Rows)fryser de begärda vänstra kolumnerna och övre raderna, medanUnfreezePanestar bort ruteposten före sparande
Version 2.88.61
Ändrat
- Upptäckt av klassiska XLS-bladnamn accepterar nu strömmar.
TXLSWorkbook.GetSheetNames(Stream, List)läser BIFF-bladnamn från en anropartillhandahållen XLS-ström utan att ladda kalkylbladsinnehåll, vilket matchar filnamnshjälparen för minnesintern arbetsboksdata
Version 2.88.60
Rättat
- Kalkylbladssamlingar exponerar nu direkta hjälpare för uppslagning efter namn.
IXLSWorkSheets.SheetByName(Name)ochTXLSXSheets.SheetByName(Name)returnerar det matchande kalkylbladsobjektet ellernil, så att anropare inte längre behöver lösa upp ett index före åtkomst av ett blad
Version 2.88.59
Ändrat
- XLSX-fasaden läser nu bladnamn direkt från strömmar.
TXLSXWorkbook.GetSheetNames(Stream, List)läser ordnade namn frånxl/workbook.xmlutan att ladda kalkylblads-XML, vilket matchar filnamnsöverlagringen för minnesinterna och BLOB-backade arbetsböcker
Version 2.88.58
Ändrat
- XLSX-fasaden exponerar nu snabb upptäckt av bladnamn.
TXLSXWorkbook.GetSheetNames(FileName, List)läser ordnade namn frånxl/workbook.xmlutan att ladda kalkylblads-XML
Version 2.88.57
Tillagt
TXLSWorkbook.GetSheetNamesstöder nu XLSX-paket. Metoden läserxl/workbook.xmlfrån.xlsx-,.xlsm-,.xltx- och.xltm-filer och returnerar ordnade bladnamn utan att ladda kalkylblads-XML
Version 2.88.56
Ändrat
- Klassiska XLS-arbetsböcker kan nu läsa bladnamn utan att ladda kalkylblad.
TXLSWorkbook.GetSheetNames(FileName, List)skannar arbetsboksglobalsströmmen och returnerar ordnade bladnamn från Excel 97-2003-.xls-filer
Version 2.88.55
Ändrat
- Klassiska XLS-intervall-AutoFilter-kriterier skriver nu BIFF8-filterposter.
TXLSRange.Autofilter(Field, Criteria)skapar filterintervallet vid behov och avgerAUTOFILTER-villkor för enkla sträng-, numeriska, booleska, blanka, icke-blanka och jämförelse-prefixerade kriterier
Version 2.88.54
Ändrat
- Klassiska XLS-kalkylblad har nu hjälpare för AutoFilter på kalkylbladsnivå.
IXLSWorksheet.SetAutoFilter,ClearAutoFilterochAutoFilterRangehanterar BIFF8-filterrullgardinsintervall direkt samtidigt som den befintliga skrivaren förAUTOFILTERINFOoch filterdatabasnamn återanvänds
Version 2.88.53
Tillagt
- Klassiska XLS-kalkylblad exponerar nu skapande av listdatavalidering.
IXLSWorksheet.AddListValidation(Range, Items)skriver BIFF8-posternaDVALochDV, håller rullgardinsmenyn synlig som standard, stöder kommaseparerade inline-listor, och bevarar reglerna genomOpen/SaveAs-rundturer
Version 2.88.52
Tillagt
- Formelberäkning fungerar nu konsekvent över XLS- och XLSX-ingångspunkter.
TXLSWorkbook.Calculateaccepterar nu Excel-stil formler med inledande likhetstecken såsom=SUM(A1:B1)+C1, och XLSX-fasaden lägger tillTXLSXWorkbook.CalculateplusTXLSXWorksheet.Calculate. XLSX-sökvägen delar HotXLS formeltoken-tolk och utvärderare för cell- och intervallreferenser, refererade formelceller, korsark-referenser och intervall för arbetsboks- eller bladbegränsade definierade namn
Version 2.88.51
Tillagt
- XLSX-intervall stöder nu sammanslagning över rader i Excel-stil.
TXLSXRange.Merge(True)skriver en post<mergeCell>per rad, vilket matchar det klassiska XLS-beteendetRange.Merge(True), medanMergeutan argument ochMerge(False)fortsätter att skapa en enda sammanslagen rektangel för hela intervallet
Version 2.88.50
Ändrat
- Placering av BIFF8 HeaderFooter och HFPicture matchar nu de nuvarande MS-XLS-reglerna. HotXLS bevarar Excel-skrivna
HeaderFooter($089C)-poster för sidhuvuds- och sidfotstext för jämna / första sidor, och spelar uppHFPicture($0866)-poster efter kalkylbladsdimensioner och ritobjekt enligt kalkylbladets ABNF, så att sidlayoutdetaljer överlever .xls öppna/spara-rundturer
Version 2.88.49
Ändrat
- Körningar för kommentars rich-text har nu ett typat API.
TXLSComment.TextRunsexponerar posterFormatRunför BIFF8TXOså att anropare kan inspektera eller sätta teckensnittsgränser per tecken i .xls-kommentarer medan HotXLS fortfarande bevarar de underliggande körbytesen för säkra rundturer
Version 2.88.48
Ändrat
- Kompletterande SX-poster för pivottabeller exponeras nu genom det typade API:et. HotXLS fäster nu inlästa BIFF8-pivotposter såsom
SXIVD,SXLI,SXFormat,SXEx,SXVDEx,SXRule,SXFiltochSXAddltillTXLSPivotTable.SupplementalRecordsför inspektion samtidigt som de ursprungliga råbytesen fortfarande bevaras för spara-rundturer
Version 2.88.47
Borttaget
- Cache-lagrade värden för extern arbetsbok överlever nu .xls öppna/spara-rundturer. HotXLS bevarar nu BIFF8-posterna
XCTochCRNfästa vid inlästaSUPBOOK-poster, så att cache-lagrade cellvärden för länkar till externa arbetsböcker inte längre släpps under sparande
Version 2.88.46
Ändrat
- Översiktsnivåer för inbyggd stil överlever nu .xls öppna/spara-rundturer. HotXLS läser nu och bevarar BIFF8-bytet
iLevelförSTYLEför inbyggda stilar, så att stilmetadata för Excel RowLevel_1..7 och ColLevel_1..7 inte längre återställs till standard under sparande
Version 2.88.45
Ändrat
- Metadata för definierade namn överlever nu .xls öppna/spara-rundturer. HotXLS bevarar nu inlästa optionsbitar och genvägsbyte för BIFF8-posten
NAMEom inte det definierade namnet redigeras, så att Excel-skriven metadata för funktion, objekt, procedur, beräknat-uttryck och binärt-namn inte längre rensas under sparande
Version 2.88.44
Borttaget
- Arbetsboksmarkörer ObProj överlever nu .xls öppna/spara-rundturer. HotXLS bevarar nu inlästa BIFF8-poster
ObProjäven när ingen VBA-lagring exponeras genom objektmodellen, så att markörer för VBA-projekt på arbetsboksnivå och tredjeparts-metadata inte längre släpps under sparande
Version 2.88.43
Ändrat
- Alternativflaggor för kalkylblad överlever nu .xls öppna/spara-rundturer. HotXLS bevarar nu omodellerade bitar i BIFF8
WSBOOLsåsom flaggor för dialogblad, automatisk sidbrytning, stil-applicering och översiktsspår-visning samtidigt som de befintliga inställningarna för anpassa-till-sida och sammanfattningsplacering för översikt fortfarande uppdateras genom det offentliga API:et
Version 2.88.42
Ändrat
- Ytterligare poster för arbetsboksmetadata överlever nu .xls öppna/spara-rundturer. HotXLS bevarar nu inlästa postkroppar för BIFF8
COUNTRY,BOOKBOOL,BACKUP,FNGROUPCOUNT,USESELFSochRECALCIDi stället för att skriva om dem med standarder, vilket håller metadata för kompatibilitet och beräkning på arbetsboksnivå stabila
Version 2.88.41
Ändrat
- Val av flera områden och aktiv rute-fokus överlever nu .xls öppna/spara-rundturer. HotXLS bevarar nu inlästa BIFF8-poster
SELECTIONoch värdetPANESaktiv-ruta om inte bladmarkeringen eller rutorna ändras genom API:et, så att fokus för Excel delad/frusen ruta och val för flera områden inte längre kollapsar under sparande
Version 2.88.40
Borttaget
- Namn för extern arbetsbok överlever nu .xls öppna/spara-rundturer. HotXLS bevarar nu inlästa BIFF8-poster
EXTERNALNAMEfästa vid externaSUPBOOK-poster, inklusive DDE/OLE/länk-metadata och formelsvansar, så att externa namn och länkdefinitioner inte längre släpps vid sparande
Version 2.88.39
Ändrat
- Lösenordsskyddade BIFF8-.xls-filer använder nu och läser RC4 CryptoAPI FILEPASS-poster. HotXLS skriver nu metadata
FILEPASSvMajor=2 i Excel 2007/2010-stil för krypterade .xls-arbetsböcker och läser både äldre RC4 vMajor=1 och RC4 CryptoAPI vMajor=2/3/4-filer, så att lösenordsskyddade arbetsböcker inte längre misslyckas eller nedgraderas till det äldre krypteringshuvudet
Version 2.88.38
Ändrat
- Excel-skriven .xls-hyperlänkmetadata överlever nu öppna/spara-rundturer. HotXLS bevarar nu postkroppen BIFF8
HLinkför inlästa hyperlänkar om inte hyperlänken redigeras, vilket håller källansstreamVersion, optionsbitarhlstmfsåsomfIcon, moniker-data och relaterad mål-metadata stabila över sparanden
Version 2.88.37
Ändrat
- Arbetsboks-fönstertillstånd överlever nu .xls öppna/spara-rundturer. HotXLS läser nu och bevarar posten BIFF8
WINDOW1fönsterposition, storlek, synlighets-/ikon-flaggor, första visade bladflik, antal valda flikar och flik-rullningslisten-proportion i stället för att skriva om dem med standarder vid varje sparande
Version 2.88.36
Ändrat
- Sparade-av-användare för BIFF8 WriteAccess överlever nu .xls öppna/spara-rundturer. HotXLS läser nu och bevarar postkroppen
$005C WRITEACCESSi stället för att ersätta Excels sparade-av-användare medHotXLS, så att arbetsbokens granskningsmetadata förblir stabil efter sparande
Version 2.88.35
Rättat
- Excel-kommentarsförfattare överlever nu .xls öppna/spara-rundturer. Fältet
stAuthorför BIFF8-postenNotetolkas nu och passeras in i ritningsnotmodellen i stället för att ersättas med en tom sträng, så att kommentarens "Skapad av"-författare skriven av Excel bevaras när HotXLS sparar arbetsboken på nytt
Version 2.88.34
Ändrat
- FOPT-alternativ för OfficeArt för shape exponeras nu genom en lågnivå-alternativ-påse.
TXLSShape.OfficeArtOptionslåter avancerade anropare inspektera, sätta och radera valfri lagrad FOPT-PID som ettLongWordellerWideString, medan de befintliga hög-nivå-API:erna förLine,Fill, färg och synlighet förblir oförändrade
Version 2.88.33
Ändrat
- Ytterligare lösar-container-regelposter för OfficeArt rundtur-bevaras nu. Utöver typad
msofbtConnectorRule($F012) bevarar HotXLS nu icke-mapp lösar-barn såsomOfficeArtFArcRule($F014) ochOfficeArtFCalloutRule($F017) som råa OfficeArt-poster inutimsofbtSolverContainer($F005), så att avancerade Excel-ritningar inte längre förlorar icke-kopplings-lösar-relationer under sparande
Version 2.88.32
Ändrat
- OfficeArt ClientData-markörer dupliceras inte längre efter bevarande av okänd post. MS-XLS definierar
OfficeArtClientData($F011) som en noll-längd-markör vars följande postObjförblir en separat BIFF-post. v2.88.32 känner igen den markören i stället för att fånga den som ett okänt SpContainer-löv, så att tolkade shapes avger exakt en $F011-markör under sparande medan felaktiga container-stil-antaganden förblir borta från XLS-sökvägen
Version 2.88.31
Ändrat
- OfficeArt-kopplingsregler rundtur-bevaras nu. Excel-skrivna .xls-ritningar lagrar kopplingslinje-bindningar i
msofbtSolverContainer($F005) med barn-postermsofbtConnectorRule($F012). v2.88.31 tolkar och avger det $F005/$F012-paret genomTMsoConnectorRules, vilket bevarar start-shape, slut-shape, kopplings-shape och anslutnings-platser över spara/ladda-om. Den tidigare granskningsnoteringen listade $F121, men MS-ODRAW definierarOfficeArtFConnectorRulesom $F012
Version 2.88.30
Ändrat
- Oigenkända SpContainer-lövposter för OfficeArt rundtur-bevaras nu. Excel-skrivna .xls-filer bäddar in vanligt vis löv-Fbt såsom
msofbtClientTextbox($F00D),OfficeArtFPSPL($F11D) ochOfficeArtUDefProp($F122) inuti varje shapes SpContainer. v2.88.30 fångar okända shape-nivå-löv somTMsoFbtUnknownoch avger dem i tolkningsordning mellan shapensClientAnchoroch den avslutande noll-kroppmsofbtClientData-markören - Omfång och uppföljning. Andra okända rit-nivå-löv förblir uppskjutna; fallet lösar-container för kopplingsregel hanteras av v2.88.31. Container-form-okända, såsom
msofbtClientData($F011) använd som en container i stället för en syskon-markör, förblir gransknings-runda Segment 3
Version 2.88.29
Tillagt
- FtLbsDatas svälj-allt-beteende begränsar omfånget. Det befintliga fallet
$0013åsidosätterRecLen := Len - offsför att absorbera alla byte efter FtLbsData-rubriken in iFObjRec_LBSData:s blob, så att underposter som uppträder EFTER FtLbsData (vanligt vis bara FtEnd) fortfarande rundtur-bevaras genom den mekanismen oförändrade. Den nya FObjTailRaw-integrationen riktar sig specifikt mot gapet före FtLbsData där FtMacro och ObjLinkFmla vanligt vis ligger. Nyskapade combo-/listrutor via ritnings-API:et har tomFObjTailRaw→ byte-identisk utmatning mot v2.88.28
Borttaget
- Okända underposter för ComboBox- och ListBox-OBJ rundtur-bevaras nu. TMSOShapeComboBox.ParseObj och TMSOShapeListBox.ParseObj had redan typ-tolkat FtSbs ($000C), FtSbsFmla ($000E) och FtLbsData ($0013) till dedikerade fält, men varje annan källfils-underpost (FtMacro $0004, ObjLinkFmla, FtNts $000D, etc.) som uppträdde mellan CMO och FtLbsData släpptes tyst vid fall-genomgång. v2.88.29 lägger till samma else-gren som v2.88.28 Picture, genom att fånga den okända underpostens 4-byte-rubrik + kropp in i
FObjTailRaw. Båda AddObj-metoderna avger de fångade byten mellan CMO-kroppen och FtSbs-underposten för att matcha BIFF8-specifikationens underpost-ordning
Version 2.88.28
Tillagt
- Mönster för samexistens mellan typat och rått. Till skillnad från PictureFrame (v2.88.27) som använde en if/else-växling mellan typad och rå utmatning, kombinerar Picture båda: de typade fälten bevarar API-ytan (anropare kan fortfarande justera
ftCfValueetc.), medan den råa svansen bevarar endast de okända byten. Nyskapade bilder via ritnings-API:et har tomFObjTailRaw, så utmatningen är byte-identisk med v2.88.27
Borttaget
- Okända underposter för Picture-shape-OBJ rundtur-bevaras nu. TMSOShapePicture.ParseObj hade redan typ-tolkat FtCf ($0007), FtPioGrbit ($0008) och FtPictFmla ($0009) till dedikerade fält, men varje annan källfils-underpost (FtMacro $0004, FtNts $000D, etc.) släpptes tyst vid fall-genomgång. v2.88.28 lägger till en else-gren som lägger till den fullständiga 4-byte-rubriken + kroppen för oigenkända underposter till
FObjTailRaw; TMSOShapePicture.AddObj avger sedan de bytena ordagrant efter sin typade underpost-utmatning och före FtEnd-markören. Källfils-bildobjekt med makro-krokar överlever sparande-om
Version 2.88.27
Tillagt
- Rundtur för avslutande underpost utökad till PictureFrame-shapes. TMSOShapePictureFrame.AddObj avgett tidigare endast de äldre hardcodeade underposterna FtCf ($0007, kropp $FFFF) och FtPioGrbit ($0008, kropp $0000) mellan CMO och FtEnd. För nyskapade bildramar avger den nya koden fortfarande dessa standarder; för bildramar tolkade från en källa-.xls avges de fångade
FObjTailRaw-byten ordagrant i stället, vilket bevarar eventuellt källfils FtPictFmla / icke-standard FtCf / icke-standard FtPioGrbit-innehåll över spara-cykeln
Rättat
- Utredningsnot — Flush auto-korrigerar sz.
TMsoShapeContainer.Flushskriver om Obj-postens storleksrubrik vid commit-tid viaData.SetWord(Data.DataLength - 4, 2), vilket betyder att de hardcodeadesz := $1A-värdena som har levt i HotXLS AddObj-implementationer i åratal inte var spec-fel efter allt — Flush korrigerar dem automatiskt. v2.88.27 beräknar fortfarande sz noggrant för källkods-tydlighet, men kör-tids-beteendet är oförändrat från det perspektivet
Version 2.88.26
Tillagt
- Rundtur för avslutande underpost utökad till Chart- och CheckBox-shapes. v2.88.25 introducerade råbyte-bevarande för bytena mellan en Obj-posts CMO ($0015) och dess FtEnd ($0000)-markör, men endast TMSOShapeTextBox.AddObj avgett den fångade svansen. Denna release applicerar samma mönster på TMSOShapeChart.AddObj och TMSOShapeCheckBox.AddObj — båda delar den enkla "CMO + FtEnd"-utmatningsstrukturen hos TextBox, så ändringen är en en-rads variabelsubstitution (
sz := $1A + Word(Length(FObjTailRaw))) plus en ordagrant byte-loop före FtEnd-markören
Ändrat
- Avslutande underposter för diagram (t.ex. FtMacro för inbäddade diagramobjekt-makron) och kryssruta-tillstånds-underposter (FtCbls + FtCblsData + ObjLinkFmla, MS-XLS §2.5.140-141 / §2.5.149) överlever nu HotXLS spara/ladda-om. Nyskapade diagram och kryssrutor via ritnings-API:et avger fortfarande en standard 26-byte CMO+FtEnd (byte-identisk med v2.88.25), så befintliga anropare ser ingen beteendeändring. Picture / ComboBox / ListBox / PictureFrame-shapes har sin egen dynamisk typad-underpost-utmatning som står i konflikt med FObjTailRaw — deras integration är uppskjuten till framtida commit
Version 2.88.25
Tillagt
- Generisk-bas fångst, TextBox-endast-utmatning (R5-3 första segment). TMsoShapeContainer.ParseObj fångar nu byte-intervallet mellan CMO-kropp-slut och FtEnd-markör till ett nytt internt fält
FObjTailRaw: TBytes; TMSOShapeTextBox.AddObj sätter in de bytena mellan sin CMO-utmatning och FtEnd-markören, med Obj-postens rubrikstorlek justerad därefter. Nyskapade kommentarer (inga källbyte) behåller byte-identisk utmatning mot v2.88.24. Andra shape-klasser (Picture / CheckBox / ComboBox / ListBox / Chart) ärver fångsten men deras typade AddObj-åsidosättanden behåller det äldre "syntetisera från början"-beteendet — råbyte-utmatning för de shape-typerna är uppskjuten till framtida commit
Ändrat
- Avslutande underposter för OBJ-post bevaras nu över spara-cykeln för kommentarer. BIFF8-Obj-posten ($005D) kedjar en sekvens av typade underposter efter den obligatoriska CMO ($0015), avslutad av en FtEnd ($0000)-markör, enligt MS-XLS §2.4.181. För Note-shapes (kommentarer) är det avslutande blocket vanligt vis en 26-byte FtNts (§2.5.149) som bär en GUID och flaggan fSharedNote — båda väsentliga när Excel senare slår samman kommentarer över användare i delade arbetsböcker. HotXLS slängde tidigare varje byte efter CMO vid läsning och avgett endast en tom FtEnd vid skrivning, så varje källfils FtNts gick förlorad vid varje HotXLS sparande-om
Version 2.88.24
Tillagt
- Råbyte-bevarande i TMSOShapeTextBox. ParseTXO fångar post-text-Continue-byten ordagrant till ett nytt internt fält
FFormatRunsRaw: TBytes; Store avger dem tillbaka som Continue för formaterings-körningar och justerar baspostenscbRuns-rubrik för att matcha. Nyskapade kommentarer (viaAddComment) behåller den äldre utmatningen med en enda standard-körning oförändrad, så byte-identisk utmatning bevaras för standardarbetsböcker. Typad Excel-API-åtkomst till individuella format-körningar är fortfarande uppskjuten — det befintliga en-WideString-kommentar-API:et är oförändrat
Ändrat
- Cellkommentarer med flera teckensnitt och flera färger rundtur-bevaras nu. BIFF8-TXO-postens block för formaterings-körningar (
rgTxoRuns+TxOLastRunenligt MS-XLS §2.5.272) bär de per-kör teckensnitts- och färg-åsidosättningar som ger en kommentar dess rich-text-styling. HotXLS slängde tidigare hela blocket vid läsning och avgett en enda tom standard-körning + LastRun vid skrivning — vilket plattade ut varje "Viktigt!" markerat i rött, varje fettt ord inuti kommentarstexten, till enhetlig standardformatering vid varje HotXLS sparande-om
Version 2.88.23
Tillagt
- Tre nya egenskaper för TXLSPageSetup.
PrintResolution: LongWord,PrintVResolution: LongWordochCopies: LongWord— alla standardiserar till de värden skrivaren tidigare hardcodeade (600 / 600 / 1) så att arbetsböcker som aldrig rör dem producerar byte-identisk utmatning mot v2.88.22. Setters klämmer vidHigh(Word)så att ett över-stort anroparvärde inte kan slå runt vid utmatning
Borttaget
- Utskriftsupplösning och kopie-antal rundtur-bevaras nu — Setup-posten är nu fullt täckt. Tre Word-fält i Setup-posten (
iResvid offset 12,iVResvid offset 14,iCopiesvid offset 32, enligt MS-XLS §2.4.257) bär Excels val för "Utskriftskvalitet" och "Antal kopior" i Sidinställningar → Sida. HotXLS släppt tidigare alla tre vid läsning och avgett hardcodeade värden (600 DPI / 600 DPI / 1 kopia), så varje användar-justerad upplösning eller kopie-antal återgick tyst vid varje HotXLS sparande-om
Rättat
- Arbete med rundtur för Setup-post slutfört. Med denna fix rundtur-bevaras varje användarsynligt fält i BIFF8 Setup-posten ($00A1) från ände till ände — pappersstorlek / skala / första sidnummer / anpassa-till-sida-bredd och -höjd / orientering / utskriftsordning / svart-vit / utkast / skriv ut kommentarer / cellfel / upplösning / kopior. Endast de två spec-hint-grbit-bitarna (
fNoPls,fNoOrient) förblir oexponerade, varav HotXLS skriver båda som noll vilket matchar Excels standardbeteende
Version 2.88.22
Tillagt
- Två nya egenskaper för TXLSPageSetup.
UseFirstPageNumber: Booleanspeglar biten (False = "Auto", standard);FirstPageNumber: Integerbär iPageStart-värdet (standard 1, klämt till specifikationens signerade-Word-intervall -32768..32767 av settern). HotXLS rundtur-bevarariPageStartordagrant även närUseFirstPageNumberär False, så att växling mellan Auto och anpassad i Excel bevarar det senast användar-inskrivna värdet
Borttaget
- Anpassad Sidinställning "Första sidnummer" rundtur-bevaras nu. BIFF8-Setup-posten bär arbetsbokens val "Första sidnummer" i Sidinställningar → Sida som två relaterade fält: grbit bit 7 (
fUsePage) väljer mellan Excels "Auto"-standard och ett explicit startande sidnummer, och det signerade Ordet vid offset 4 (iPageStart) håller det anpassade värdet, enligt MS-XLS §2.4.257. HotXLS släppt tidigare båda vid läsning och avgettiPageStart = 1med biten rensad, så ett användar-inskrivet "Första sidnummer: 100" snäppte tyst tillbaka till "Auto" vid varje HotXLS sparande-om
Version 2.88.21
Tillagt
- Ny boolesk egenskap TXLSPageSetup.PrintNotesAtEnd. Standard
Falsevilket matchar Excels UI-standard. Läsaren och skrivaren rundtur-bevarar biten ordagrant (även närPrintNotes = False), så att en arbetsbok med tillfälligt inaktiverade kommentarer behåller preferensen "vid slutet av bladet" för när användaren återaktiverar dem — vilket speglar Excels eget beteende
Borttaget
- Valet "Skriv ut kommentarer vid slutet av bladet" överlever nu spara-cykeln. BIFF8-Setup-postens grbit bit 9 (
fEndNotesenligt MS-XLS §2.4.257) bär distinktionen i Sidinställningar → Blad → Kommentarer-mellanismen mellan "Som visat på bladet" (standard) och "Vid slutet av bladet". HotXLS rundtur-bevarade redan PrintNotes (bit 5) för att styra huruvida kommentarer skrivs ut, men bit 9 släpptes vid läsning och avgs som noll vid skrivning — så ett användar-valt "Vid slutet av bladet" återgick tyst till "Som visat på bladet" vid varje HotXLS sparande-om
Version 2.88.20
Ändrat
- Arbetsbokens val "Sätt precision som visad" rundtur-bevaras nu. BIFF8-posten CalcPrecision ($000E) bär kryssrutan för hela arbetsboken Arkiv → Alternativ → Avancerat → "Sätt precision som visad" enligt MS-XLS §2.4.35. HotXLS saknade tidigare inget dispatch-fall för $000E och TXLSWorkbook.StorePrecision avgett ett hardcodeat
1(= full precision bevarad). Ett användar-kryssat "Sätt precision som visad" återgick tyst till "full precision" vid varje HotXLS sparande-om — vilket dolde användarens avsiktliga intent att varje efterföljande omberäkning permanent skulle trunkera cellvärden till sina formaterade decimaler
Rättat
- Ny boolesk egenskap TXLSWorkbook.UseFullPrecision. Standard
True(matchar BIFF8-standarden och Excels UI-standard med kryssrutan av). Att sätta den tillFalsespeglar att kryssa i det destruktiva alternativet "precision som visad" — HotXLS självt trunkerar inget cellvärde på rundturen, men flaggan skrivs nu troget tillbaka så att Excels nästa omberäkning respekterar den. Med denna fix rundtur-bevaras varje BIFF8-beräkningspost (CalcCount / CalcMode / CalcPrecision / CalcDelta / CalcIter / CalcSaveRecalc) från ände till ände
Version 2.88.19
Tillagt
- Ny boolesk egenskap TXLSWorkbook.RecalcOnSave. Standard
True(matchar både Excels UI-standard och det äldre hardcodeade värdet), så att arbetsböcker som aldrig rör egenskapen behåller byte-identisk utmatning mot v2.88.18. Setter accepterar valfritt booleskt värde; läsaren normaliserar godtyckliga icke-noll källbyte tillTrue
Ändrat
- Kryssrutan "Beräkna om arbetsbok före sparande" rundtur-bevaras nu. BIFF8-posten CalcSaveRecalc ($005F) bär arbetsbokens booleska värde för Arkiv → Alternativ → Spara → "Beräkna om arbetsbok före sparande", enligt MS-XLS §2.4.37. HotXLS saknade tidigare inget dispatch-fall för $005F och StoreCalculationSettings avgett ett hardcodeat
1— så en användar-inaktiverad "omberäkna vid sparande" återaktiverade sig själv tyst vid varje HotXLS sparande-om, vilket faktiskt spelade roll för manuella-beräknings-arbetsböcker där användaren medvetet hade fruset de på-disk cellvärdena
Version 2.88.18
Tillagt
- Tre nya egenskaper för TXLSWorkbook.
EnableIteration: Booleanspeglar kryssrutan;MaxIterations: LongWordär iterations-taket (klämt till specifikationens lagliga intervall 1..32767 av settern);MaxIterationChange: Doubleär konvergens-deltat (negativ indata snäpper till specifikationens standard 0,001). Standarder matchar de värden skrivaren used to hardcode, så arbetsböcker som aldrig rör de nya egenskaperna producerar byte-identisk utmatning mot v2.88.17
Ändrat
- Inställningar för iterativ beräkning (aktivera + max iterationer + max ändring) rundtur-bevaras nu. Posterna BIFF8 CalcIter ($0011), CalcCount ($000C) och CalcDelta ($0010) bär tillsammans Excels trio av alternativ för "Aktivera iterativ beräkning" (Arkiv → Alternativ → Formler), enligt MS-XLS §2.4.33 / §2.4.31 / §2.4.32. Ingen av de tre had ett dispatch-fall tidigare, och StoreCalculationSettings avgett dem med hardcodeade värden (av / 100 / 0,001). En användar-konfigurerad 1000-iterations-loop med en 0,0001 konvergens-delta återställdes tyst till "iteration av, 100, 0,001" vid varje HotXLS sparande-om — vilket bröt cirkelreferens-formler och konvergens-känsliga finansiella modeller
Version 2.88.17
Tillagt
- Beräkningsläge för arbetsbok (Manuell / Automatisk / Auto utom tabeller) rundtur-bevaras nu. BIFF8-posten CalcMode ($000D) bär valet på arbetsboksnivå för "Formler → Beräkningsalternativ" enligt MS-XLS §2.4.36. HotXLS saknade tidigare inget dispatch-fall för $000D alls, så källfilens värde släpptes vid inläsning, och skrivaren avgett alltid ett hardcodeat
$0001(Automatisk). Ett användar-valt manuellt läge återgick tyst till Automatisk vid varje HotXLS sparande-om — dåligt för stora arbetsböcker där manuellt sätts medvetet för prestanda. Den nya ParseCalcMode-hanteraren lagrar källvärdet på arbetsboken och StoreCalculationSettings avger nu det lagrade värdet i stället för konstanten - Ny egenskap TXLSWorkbook.CalculationMode. Läs-skriv
LongWord-egenskap som accepterarxlCalcManual(0),xlCalcAutomatic(1, standard), ellerxlCalcAutomaticExceptTables(0xFFFF) — tre nya konstanter exporterade frånlxTNC.inc. Settern klämmer okända värden till specifikationens standard så att en korrupt källfil inte kan lämna arbetsboken i ett odefinierat tillstånd. Befintlig kod som aldrig rör egenskapen behåller den äldre "Automatisk"-standarden, så tidigare utmatning är byte-identisk för standardarbetsböcker
Version 2.88.16
Tillagt
- Ny egenskap TXLSPageSetup.PrintCellErrors. Läs-skriv
LongWord-egenskap som accepterarxlPrintErrorsDisplayed(0, standard),xlPrintErrorsBlank(1),xlPrintErrorsDash(2), ellerxlPrintErrorsNA(3) — fyra nya konstanter exporterade frånlxTNC.inc. Befintliga PageSetup-anropare som aldrig rör egenskapen behåller standarden ("visade"), så den äldre utskriftsutmatningen är oförändrad
Borttaget
- Valet "Cellfel som" i Sidinställningar överlever nu spara-cykeln. BIFF8-Setup-posten ($00A1) packar Sidinställningar → Blad-flikens mellanism "Cellfel som: visade / <blank> / <streck> / <N/A>" i bitar 10-11 av sitt grbit-ord som
iErrors, enligt MS-XLS §2.4.257. HotXLS släppt tidigare dessa bitar vid läsning och avgs dem som noll vid skrivning, så en arbetsbok som användaren had konfigurerat att skriva ut#DIV/0!som#N/Aåtergick tyst till "visade" efter varje HotXLS sparande-om. Läsaren avkodar nuiErrorstill en ny egenskapTXLSPageSetup.PrintCellErrorsoch skrivaren bygger om fältet från den
Version 2.88.15
Tillagt
- Sex nya egenskaper för TMSOShapeTextBox för explicit kommentars-styling.
HAlignment,VAlignment,Rotation,LockText,JustLastLineochSecretEditexponeras som läs-skriv-egenskaper på varje kommentar-shape;AddCommentstandardiserar till left+top+horizontal+olåst så att anropare som inte rör dem behåller det tidigare utseendet
Borttaget
- Cellkommentar-justering och -orientering rundtur-bevaras nu. BIFF8-TXO-basposten ($01B6) bär fem typade flaggor i sitt
grbit-ord (hAlignment, vAlignment, fLockText, fJustLast, fSecretEdit) plus ett separatrot-ord för textorientering, enligt MS-XLS §2.4.329. Läsaren släppt tidigare alla dessa och skrivaren fästegrbittill ett hardcodeat0x0012(vänster + top) med rotation alltid 0, så varje sparande återställde en centrerad eller roterad kommentar till vänster+top+horisontell oavsett källa. Läsaren avkodar nu de typade fälten vid inläsning och skrivaren sammansättergrbitfrån dem, så att layouten överlever spara/ladda-om-resan
Rättat
- TXO-skrivaren lägger nu ut reserved4 / reserved5 längs specifikationens fältgränser. Tidigare kod avgett offset 2-9 av basposten som två långa skrivningar (rot + reserved4 sedan reserved5); skrivaren delar nu upp dem i
Wordrot,Wordreserved4,Longreserved5 — byte-innehållet är oförändrat (fortfarande alla-noll för Note-shapes) men källstrukturen matchar nu MS-XLS §2.4.329 fält-offset, vilket gör framtida TXO-fixar svårare att feljustera
Version 2.88.14
Rättat
- TXO cchText-offset korrigerat — fixen för kommentarslängd i v2.88.13 avfyras nu faktiskt. Den tidigare releasen introducerade en sanity-kontroll för TXO-basposten genom att läsa
cchTextvid offset 8, men MS-XLS §2.4.329 sättercchTextvid offset 10 (efter grbit, rot och de 6 reserverade / controlInfo-byte). Offset 8 faller inuti det långa reserved5, som alltid är noll på Note-formade objekt, så varje kommentar gled tyst in i det defensiva återfall som helt enkelt återställde pre-v2.88.13-beteendet. Fixen korrigerar offseten till 10 — långa kommentarer sys nu genuint samman över Continue-poster och korta kommentarer plockar inte längre upp avslutande pad. Ingen ytterligare beteendeändring utöver vad v2.88.13 alltid skulle leverera
Version 2.88.13
Ändrat
- Långa cellkommentarer läses nu tillbaka i full längd. BIFF8-TXO-posten ($01B6) delar sin textkropp över basposten och en eller flera Continue-poster, med teckenantalet publicerat i basposten vid offset 8 som
cchText. Den tidigare kommentarsläsaren hoppade över basposten helt, behandlade DataList[1] som hela texten, och stannade där — så en kommentar längre än ungefär 4100 breda tecken trunkerades tyst, och en kortare kommentar vars Continue-post bar avslutande pad plockade upp skräp på slutet. Läsaren konsumerar nucchTextsom det auktoritativa teckenantalet, går igenom varje Continue-segment enligt MS-XLS §2.4.329 (rgb-brytningen sitter på en teckengräns så ingen partiell-tecken-bokföring behövs), och stannar så snart budgeten är uppfylld så att blocket för formaterings-körningar som följer texten aldrig blöder in i strängen. Kommentarer med korrumperade / saknade basposter faller fortfarande tillbaka på den äldre "alla återstående byte"-sökvägen
Version 2.88.12
Ändrat
- Cache-lagrade strängar längre än ~4100 tecken från sträng-returnerande formler rundtur-bevaras nu över Continue-poster. v2.88.11 kopplade in läs-sidan av BIFF8-String-posten ($0207) men konsumerade endast den första postkroppen, så en cache-lagrad sträng vars UCS-2-byte svämmade över BIFF-gränsen på 8224 byte och spilldes in i en eller flera Continue-poster ($003C) trunkerades tyst. Hanteraren går nu igenom hela DataList på dispatch-nivå: den läser cch och fHighByte från basposten, kopierar kroppen som ryms där, och slår sedan samman varje följande Continue-segment som råbyte enligt MS-XLS §2.5.293 teckengräns-garantin — XLUnicodeString avger aldrig fHighByte mitt i en sträng på nytt. Varje segment begränsas av den återstående tecken-budgeten så att en främmande översized Continue inte kan göra resultatet längre än cch. En-post-strängar (det vanliga fallet) tar exakt samma snabba sökväg som tidigare
Version 2.88.11
Rättat
- Sträng-returnerande formler rundtur-bevarar nu den cache-lagrade texten Excel beräknade. Den tidigare releasen täckte de numeriska, booleska, fel- och tomma varianterna av BIFF8 FormulaValue-cachen (MS-XLS §2.5.133), men lämnade strängvarianten på att-göra-listan eftersom dess cache-lagrade värde lever i en separat String-post ($0207) som omedelbart följer Formula-posten. ParseFormula minns nu cellkoordinaterna när den ser en sträng-variant Formula, och den nya ParseString-hanteraren avkodar den avslutande $0207-posten enligt MS-XLS §2.4.268 och dirigerar WideString in i
FCachedFormulaValue.GetCellValuekan nu falla tillbaka på den Excel-beräknade texten när HotXLS-utvärderaren inte kan reproducera den. En defensiv återställning i toppen av ParseFormula släpper varje inaktuell väntande ankarpost så att en felaktig källfil med en saknad String-post inte kan fel-dirigera en senare. Poster längre än 8224 byte som svämmar över i Continue-chunk faller fortfarande tillbaka på utvärderar-utmatning som en känd begränsning
Version 2.88.10
Tillagt
- BIFF8-Formula-poster rundtur-bevarar nu det cache-lagrade värdet Excel beräknade. ParseFormula brukade hoppa över den 8-byte FormulaValue-nyttolasten vid offset 6 helt, så det cache-lagrade resultatet av varje formel i en inläst .xls (tal, booleska, fel, tomma) slängdes och HotXLS had att utvärdera varje cell på nytt genom sin egen formelmotor. När den motorn inte kunde matcha Excel (ostödda XLM-funktioner, brutna externa länkar, formler motorn ännu inte har implementerat) blev cellen tyst tom eller noll. Läsaren avkodar nu de fyra numeriska / booleska / fel / tomma varianterna enligt MS-XLS §2.5.133 och lagrar dem på ett nytt fält
TXLSCellRef.FCachedFormulaValue;GetCellValuefaller tillbaka på den cachen endast när utvärderaren misslyckas, så nyskapade formler går fortfarande genom utvärdering som tidigare. Strängvarianten fortsätter att skjuta upp till utvärderaren eftersom parsern för den avslutande String-posten ($0207) ännu inte är kopplad
Version 2.88.9
Rättat
- BIFF8-Formula-poster med olösliga värden flaggar nu fAlwaysCalc i stället för reserved1-bit. När HotXLS-utvärderaren inte kunde beräkna en formel vid spar-tid, brukade skrivaren sätta
grbit = 0x0002— bit 1, som MS-XLS §2.4.127 reserverar och säger åt läsare att ignorera. Excel ignorerade den ordentligt, behandlade det cache-lagrade platshållar-värdet 0 som auktoritativt, och visade tyst 0 i stället för att beräkna om. Skrivaren sätter nugrbit = 0x0001(fAlwaysCalc, bit 0), så att Excel kör formeln på nytt vid nästa omberäkning och cellen visar rätt resultat
Version 2.88.8
Rättat
- PageSetup.PrintTitleColumns / PrintTitleRows kastar nu på fel indata. Att sätta endera egenskapen med en felaktig intervallsträng (något
ColDiapasonToValues/RowDiapasonToValuesinte kunde tolka) släppt tidigare tilldelningen tyst — arbetsboken behöll vilket Print_Titles-intervall som redan var satt, eller inget intervall alls, och anroparen had inget sätt att ta reda på att något gick fel. Setterna kastar nuException.Createmed ett beskrivande meddelande som namnger det felaktiga värdet, vilket matchar den befintliga kast-stilen påTXLSRangeogiltigt-index-sökvägar
Version 2.88.7
Tillagt
- Errata-not för BIFF8-specifikationsgranskning runda 2 tillagd. Att åter-kontrollera [MS-XLS]-fältgränserna klargjorde att två fynd flaggade som P2 i den ursprungliga rapporten (
dev-notes/XLS-BIFF8-Spec-Audit-Round2.md) inte är faktiska fel: bit-15 satt i BOF-historikflaggan $000080C9 tillhör fältet verXLHigh (bitar 14-17, värde 2 = "Excel 2002"), inte reserved1-svansen (bitar 19-31); och ParseFormulas användning av en inledande PtgExp-token för att detektera delade / matrisformler matchar vad specifikationen implicerar och disambiguerar korrekt via den följande ShrFmla / Array-posten. Båda posterna är nu annoterade som återtagna
Borttaget
- Fältet Row miyRw stannar nu inom MS-XLS-spec-intervallet. Pre-BIFF8-versioner av Excel kodade "använd arbetsbokens standardradhöjd" genom att ELLER-a in bit 15 i miyRw, och HotXLS bar det idiom vidare i BIFF8-skrivaren även om MS-XLS §2.4.221 begränsar miyRw till 8192 twips. Modern Excel avger en vanlig 255 (12,75 pt standard) i samma fall och använder grbit-bit fUnsynced för att signalera manuella åsidosättanden, så bit-15-hacket fick HotXLS-utmatning att avvika från auktoritativa .xls-filer (ett värde av 32 959 = 0x80FF för "standard" var tekniskt utanför spec). Skrivaren släpper nu ELLER och skriver 255 direkt; läsaren strippar fortfarande bit 15 på väg in för bakåtkompatibilitet med HotXLS v2.88.6 och tidigare filer plus sällsynta tredjeparts-generatorer som kopierade BIFF5-idiomet
Version 2.88.6
Rättat
- Makroblad och VBA-moduler behåller nu sin BoundSheet8-ordinals-plats. Läsaren släppt tidigare BoundSheet8-poster vars
dt-fält var 1 (makroblad) eller 6 (VBA-modul), så HotXLS Sheets-samlingen blev kort med de posterna. Varje XTI-korsreferens i ExternSheet som pekade på en bladposition förbi ett makroblad enligt filordning löste sedan upp till fel HotXLS-kalkylblad efter en SaveAs. Läsaren lägger nu till en platshållare för varje BoundSheet8-post och lagrar den råadt-byten på en ny egenskapSheet.SheetTypeRaw; skrivaren avger den ursprungliga byten tillbaka. Makro-underström-BOF-poster ($0040) behandlas också som kalkylblads-underströmmar under tolkning så att celler inuti makroblad bevaras snarare än att tyst absorberas i det föregående bladet
Version 2.88.5
Borttaget
- BIFF8-Row-post rundtur-bevarar nu fCollapsed, fExAsc, fExDes och fPhonetic. Tidigare släppt läsaren fCollapsed (grbit bit 4) — skrivaren härledde den från översiktsnivå-övergångar på grann-rader, vilket felklassificerade rader som källfilen explicit had kollapsat eller markerat som gränser. De högsta tre bitarna (fExAsc vid 28, fExDes vid 29, fPhonetic vid 30) lästes inte heller, och avgs alltid som noll eftersom skrivaren trunkerade det 4-byte grbit till en enda 16-bit ixfe-plats. Läsaren konsumerar nu alla fyra bitar enligt MS-XLS §2.4.221 och fäster fCollapsed som explicit så att skrivarsidans härledning inte längre skriver över Excel-fastställda värden. Skrivaren packar ExAsc / ExDes / Phonetic in i bitar 12-14 av ixfe-Ordet, maskerar ixfe till specifikationens tillåtna 12-bit-intervall för att förhindra att ett XF-index någonsin kolliderar med de nya flaggorna. Rundtur-sido-effekter: tjock-topp / medium-botten-ramar drivna av ExAsc / ExDes-hints överlever nu HotXLS SaveAs, och fonetisk info-synlighet på japanska blad slutar återställas vid varje sparande
Version 2.88.4
Rättat
- BIFF8 Window2 fPaged-bit flaggar nu endast det aktiva bladet. Tidigare releaser satt
fPaged(MS-XLS §2.4.346 bit 10) på varje synligt blad, vilket fick HotXLS-utmatning att avvika från vad Excel självt skriver (enligt specifikationen betyder biten "detta blad visas för närvarande i arbetsboks-fönstret", så endast det aktiva-blads-underströmmen bör bära den). Excel-läsare föll igenom tillWindow1.itabCurför att identifiera det verkliga aktiva bladet ändå, så misstaget tolererades, men Apache POI strikt läge och annan verktygsutrustning som litar påfPagedsom en primär signal ser nu rätt blad flaggat
Version 2.88.3
Borttaget
- BIFF8 Window2 zoom och rutnätsfärg rundtur-bevaras nu. Tidigare releaser släppt WINDOW2-postfälten förbi offset 6 vid läsning och avgs hardcodeade nollor vid skrivning, så varje Excel-sparad blad-zoom (75 procent, 125 procent, etc.) och anpassning av rutnätsfärg återgick till standarder efter en HotXLS SaveAs. Läsaren konsumerar nu
icvHdr,wScaleSLVochwScaleNormalenligt MS-XLS §2.4.346: den aktiva-vy-zoom matarSheet.Zoomoch motsatt-vy-värdet landar i en cache-lagrad plats så att växling mellan Normal och Förhandsgranskning av sidbrytning i Excel återställer den tidigare zoomen. Skrivaren avger den aktivaSheet.Zoomi den matchande vy-platsen och det cache-lagrade värdet i den andra, plus det bevarade rutnätsfärg-indexet
Version 2.88.2
Rättat
- Fixade BIFF8 HFPicture-post-opkod. Sparade .xls-filer avger nu poster för bakgrundsbilder i sidhuvud/sidfot med korrekt
rt = 0x0866enligt MS-XLS §2.4.138. Tidigare releaser använde0x086C— opkoden för CellWatch — så Excel försökte tolka den inbäddade OfficeArt-BLIP som en övervakad-cell-referens och släppt tyst bilden (ibland vägrade öppna arbetsboken när de inbäddade bild-bytena råkade bryta mot CellWatch’s förväntade 16-byte-struktur). Arbetsböcker som rundtur-bevarar en sidhuvud-/sidfot-bild genom HotXLS behåller nu bilden intakt
Version 2.88.1
Rättat
- Fixade BIFF8 Theme-post-opkod. Sparade .xls-filer avger nu Theme-posten med korrekt
frtHeader.rt = 0x0896enligt MS-XLS §2.4.326. Tidigare releaser använde0x0892— opkoden för StyleExt — så Excel tolkade den inbäddade OOXML-tema-nyttolasten som en cellstils-tillägg och föll tyst tillbaka på det inbyggda Office-temat, vilket förlorade eventuella anpassade temafärger vid rundtur av en arbetsbok genom HotXLS
Version 2.88.0
Tillagt
- Sparade .xlsx-paket inkluderar nu en del
xl/theme/theme1.xml. styles.xml har alltid avgett referenser<color theme="N"/>för valfri teckensnitts- / fyllnings- / kant- / tab-färg satt genom temaindex-sökvägen (och för temafärger bärda genom från en tolkad indata-.xlsx), men ingen temadel skrevs, så referenserna dinglade. Excel tolererade utelämnandet genom att falla tillbaka på sitt inbyggda “Office”-tema tyst, men Office File Validation flaggade varje referens som “temadel saknas” och Apache POI strikt läge avvisade arbetsboken vid första uppslagning.SaveAsavger nu det kanoniska Office (2007+)-temat: 12-plats färgschema (systemwindowText/window, fyra Excel-standardfärger, sex accenter, två hyperlänkfärger), Calibri Light / Calibri teckensnitts-schema, minimum-giltigt format-schema (tre fyllnings- / linje- / effekt- / bakgrundsfyllnings-poster var enligtCT_StyleMatrix).[Content_Types].xmlfår en matchandeOverride;xl/_rels/workbook.xml.relsfår en relationtheme/theme1.xmlsom landar vid svansen av rid-intervallet, så befintligaXlsxFirstExternalLinkRid-offset för blad / sst / stilar / vba / externalLinks är oförändrade - Direkt
Sheet.Name := '...'-tilldelning sanerar och deduplicerar nu också. Runda 3 (v2.54.1) lade till upprätthållande av Excels namngivningsregler iTXLSXSheets.Add(AName), men settern för egenskapenTXLSXWorksheet.Namevar en råwrite FName, så den vanligaste mutations-sökvägen som den rundan inte täckte —lxXlsxExport.pas:122 Target.Name := Source.Namei XLS → XLSX-rundturen — lät igenom valfritt namn BIFF8-källan råkade bära (förbjudna tecken: \ / ? * [ ], längd > 31, omgivande enkla citattecken, reserveradeHistory, skiftlägesokänsliga dubbletter av ett befintligt blad). Egenskapens setter dirigerar nu genom en ny metodSetNamesom spelar upp sammaXlsxSanitizeSheetName+' (N)'-suffix-deduplicerings-logik (skiftlägesokänslig, exkludera-sig-själv) mot den överordnade arbetsbokens bladsamling. Frånkopplade kalkylblad (ingenFWorkbook-bakåtpekare ännu) hoppar över deduplicerings-steget och sanerar bara —TXLSXSheets.Addupprätthåller unikhet när bladet fäster. Idempotent på redan-giltiga namn så läsarsidansFSheets.Add(names[i])förblir en ren rundtur
Rättat
- [MS-XLSX] kors-granskning runda 4 — temadel + bladnamn-setter. Två uppföljnings-fixar som riktar sig mot problem kvarlämnade efter rundor 1–3 (v2.51.0 / v2.52.0 / v2.54.1). Inget av dem bryter en befintlig anropsplats; en utökar beteende vid en setter, den andra lägger till en ny alltid-avgiven del
Version 2.87.4
Ändrat
- XLS-delade formler skriver nu en giltig
ShrFmla-kropp. BIFF8-utmatning av delad formel inkluderar nu den obligatoriskacUse-byten före den delade tolkade formeln, så att arbetsböcker sparade medUseSharedFormulasinte längre skiftar formeltokenströmmen med en byte - XLS-tabellstil och filter-metadata matchar nu den senaste MS-XLS-layouten.
AddTableskriver nuLIST12somList12TableStyleClientInfo, sätter tabell- och fält-AutoFilter-flaggor iFeature11, och avger de tomma per-kolumnFeat11FdaAutoFilter-block som Excel förväntar sig - BIFF8 CF12 Datastapel / Färgskala / Ikonuppsättning-regler utelämnar nu förbjudna DXF-nyttolaster. HotXLS följer MS-XLS-regeln att dessa CF12-typer måste bära ett tomt DXF-block, samtidigt som deras faktiska regelinställningar bevaras i den CF12-kind-specifika svansen
Version 2.87.3
Borttaget
- XLS-tabellmetadata för kalkylblad följer nu MS-XLS
Feature11-tabelllayouten.AddTable-utmatning för .xls-filer skriver nu enFeatHdr11-tabellrubrik plusFeature11TableFeatureType/Feat11FieldDataItem-nyttolaster, tar bort den äldre$0867 FeatHdr-tabellmarkören, och lagrar tabell- och kolumnnamn somXLUnicodeString-värden
Rättat
- XLS-tabellåterläsning förstår nu den spec-korrecta fältlayouten. HotXLS tolkar
TableFeatureType-tabellnamn, intervall, totalradstillstånd och fälttexter, samtidigt som en återgång för äldre HotXLS-genererade tabellposter behålls
Version 2.87.2
Rättat
- BIFF8-fortsättningsposter för XLS bär nu korrekta baslängder. Överdimensionerade XLS-poster uppdelade av skrivaren uppdaterar nu den första postlängden till 8224 byte i stället för att lämna den ursprungliga överdimensionerade längden i BIFF-rubriken
- Stora XLS-kalkylbladstabeller använder nu spec-korrecta
ContinueFrt11-chunk. BredAddTable-utmatning med storaFeature11-nyttolaster sparas nu med$0875 ContinueFrt11-fortsättningsposter och återöppnas med tabellmetadata bevarad, vilket matchar [MS-XLS]-layoutenFeature11/ContinueFrt11
Version 2.87.1
Ändrat
- XLSX-kalkylbladsrutnätsgräns inkluderar nu den sista Excel-raden och kolumnen.
TXLSXRange,RCRange,EntireRowochEntireColumntillåter nu rad 1048576 och kolumn 16384 (XFD), vilket matchar [MS-XLSX] radnummer- och kolumnnummer-gränser. Tidigare använde den interna klämningen noll-baserade maxima, såXFD1048576och intervall som rör den sista raden eller sista kolumnen klipptes tyst till den föregående raden/kolumnen
Rättat
- XLSX-krypteringsdokumentation och -tester matchar nu den implementerade skriv-sökvägen. Hjälpsidor och regressions-sviten anger nu att
SaveAsEncryptedskriver ECMA-376 Standard Kryptering-utmatning för icke-tomma lösenord, medanOpenEncryptedfortfarande kastar för krypterade paket och faller tillbaka för vanliga .xlsx-filer
Version 2.87.0
Rättat
- XLSX-lösenordsskyddad spara fungerar nu (våg J fas 2, efterssläpp #29).
TXLSXWorkbook.SaveAsEncrypted(FileName, Password)skriver nu en riktig ECMA-376 Standard Kryptering-skyddad .xlsx-fil (Office 2007+-format). Den kompletta [MS-OFFCRYPTO] §2.3.4-pipelinen är på plats: fas 1:s SHA-1 50000-iteration lösenordshärledning + AES-128 verifierar-block + AES-CBC paketkropp-kryptering + binärEncryptionInfo-serializare är nu förenad med fas 2:s fyra\005DataSpaces-metadataströmmar (Version / DataSpaceMap / DataSpaceInfo / TransformInfo) och OLE Compound File Binary-skrivaren som släpper allt i en CFB-behållare som Excel öppnar med användarens lösenord. Arbetsflöde: anropare anroparSaveAsEncryptedmed ett icke-tomt lösenord → HotXLS serialiserar arbetsboken till en minnesintern oformaterad .xlsx-zip → krypterar via AES-128 CBC med en färsk slumpmässig 16-byte salt och verifierare → skriver CFB-utmatningen viaStgCreateDocfile. Öppna i Excel 2007+: ange lösenord → innehåll öppnas. Fel lösenord: avvisas.OpenEncrypted(avkrypt-sida) är fortfarande ett separat eftersläpp-objekt och fortsätter att kastaEXlsxEncryptionNotImplementednär den överlämnas en krypterad fil
Version 2.86.1
Tillagt
- XLSX Standard Kryptering — kryptografisk grund (våg J fas 1, efterssläpp #29). Två nya interna enheter landar chiffer- och nyckelhärlednings-hälften av ECMA-376 Standard Kryptering skriv-sökväg.
lxAES.pasomsluter Brian Gladmans AES (länkad frånthirdparty/Win32/aes*.obj+thirdparty/Win64/aes*.obj) och exponerar AES-128 ECB en-block och AES-128 CBC krypterings-ingångspunkter.lxXlsxStdEncrypt.pasimplementerar ren-Pascal SHA-1 (FIPS-180-4), [MS-OFFCRYPTO] §2.3.4.10 50000-iteration lösenordshärledning, §2.3.4.7 verifierar-block (EncryptedVerifier+EncryptedVerifierHash), AES-CBC paketkropp-kryptering (8-byte LE storleks-prefix + noll-pad till 16-byte-gräns + IV-av-nollor), och §2.3.4.6 den binäraEncryptionInfo-serializaren.TXLSXWorkbook.SaveAsEncryptedkastar fortfarandeEXlsxEncryptionNotImplemented— våg J fas 2 kommer att lägga till OLE Compound File Binary-skrivaren (\005DataSpaces-behållarströmmar) och koppla pipelinen tillSaveAsEncrypted. Tills dess är de nya enheterna biblioteks-internt ställage som anropare inte bör förlita sig på
Version 2.86.0
Borttaget
- Rundtur för QueryTable och Extern Dataanslutning (våg I, efterssläpp #28). Excel-skapade QueryTables och externa dataanslutningar (Data → Hämta extern data från webb / SQL / OLEDB) överlever nu en HotXLS spara/öppna-cykel. Tidigare släppt BIFF8-läsaren tyst
QsiSXTag($0802),QsiSXTagExt($0810) ochDConn($0876), så metadata som beskriver den uppströms frågan släpptes vid sparande och tabellen nedgraderades till vanliga cellvärden. Läsaren fångar nu dessa poster som ogenomskinliga byte och skrivaren avger dem tillbaka in i kalkylblads-underströmmen (vid sidan av PIVOTVIEW-blocket enligt [MS-XLS] §2.1.7.20.5) och arbetsboksglobalsen (vid sidan av det sena globals-blocket före EOF enligt §2.1.7.20.3). HotXLS modellerar fortfarande inte den typade QSI / DConn-strukturen programmatiskt — att skapa nya QueryTables från anropar-kod är uppskjutet till en senare våg — men arbetsböcker som redan innehåller dem förlorar inte längre uppdaterings-metadata. Endast BIFF8 (.xls); BIFF5 opåverkad
Version 2.85.1
Ändrat
- Återställ Win32 / Win64 biblioteksbygge. Två pivot-linje-objekt-hjälpvariabler i våg H5.3 multi-data-fält SXLI-avgivaren deklarerades som separata
array of array of Wordanonyma typer, vilket Delphi-kompilatorn behandlar som distinkta onämnda typer och avvisar vid direkt tilldelning medE2008 Incompatible types. HotXLS-biblioteket har inte byggts sedan v2.84.1 på RAD Studio 12.0 genom 37.0. De två variablerna deklareras nu tillsammans så att de delar en enda anonym typ, vilket fixar tilldelningen och återställer .dcu / .bpl-utmatningen för både Win32- och Win64-mål. Ingen kör-tids-beteendeändring — de avgivna SXLI-byten är identiska med v2.85.0
Version 2.85.0
Ändrat
- Typat pivot-delsumma-API (våg H5.4). Den typade
TXLSPivotFieldexponerar nu en uppsättningsegenskapSubtotals: TXLSPivotSubtotalsvid sidan av den befintliga råaSubtotalMask: Word. Anropare kan tilldela t.ex.Field.Subtotals := [xlpsSum, xlpsAverage];i stället för att bit-packa SXVD-fältetgrbitSubför hand. Tolv delsummor exponeras (xlpsDefault, xlpsSum, xlpsCount/CountA, xlpsAverage, xlpsMax, xlpsMin, xlpsProduct, xlpsCountNums, xlpsStdDev, xlpsStdDevP, xlpsVar, xlpsVarP), var och en mappande till en enda bit enligt [MS-XLS] §2.4.279. Den råaSubtotalMaskförblir rundturens sanna källa — reserverade bitar 12-15 bevaras vid läs/skriv. Stänger våg H4.3 kända gräns “radfält delsumma SXVD.grbitSub-konfiguration otillgänglig från API” och avslutar våg H5 pivot-uppföljningarna
Version 2.84.1
Tillagt
- Multi data-fält SXLI-expansion (våg H5.3). När en pivottabell har mer än ett data-fält OCH data-fält-axeln matchar en given SXLI-axel (
DataFieldAxisIsRow = True&& rad-axel, ellerDataFieldAxisIsRow = False&& kolumn-axel), replikerar skrivaren nu varje cartesisk-produkt-kombinationDataFieldCountgånger mediData = 0 .. DataFieldCount - 1, plusDataFieldCounttotal-rad-linjer så att varje data-fält får sin egen total. Den icke-värdande axeln är oförändrad. Excel och andra läsare renderar nu multi-data-fält-pivoter i den layout anroparen avsåg i stället för att falla tillbaka på den tidigare approximationen “en endaiData = 0per kombination”. En-data-fält-pivoter avger byte-identisk utmatning mot v2.84.0. Delta-komprimering (H5.1) viker de upprepade kombinationerna ned till ~8 byte per replika, så expansionen lägger till minimal byte-overhead. Stänger våg H4.3 kända gräns “multi-data-fält SXLI inte korrekt expanderad”
Version 2.84.0
Ändrat
- Pivot sidaxel-förval-API (våg H5.2). Den typade
TXLSPivotFieldbär nu en egenskapPageItemIndexsom programmatiskt byggda pivoter kan sätta för att för-välja ett specifikt cache-objekt på sidaxel-filtret. StandardxlPageItemAll(= $7FFD) lämnar filtret vid “(Alla)” så att anropare som aldrig tilldelarPageItemIndexbeter sig byte-identiskt mot v2.83.2. SXPI ($00B6)-skrivaren läserField.PageItemIndexi stället för att hardcoda $7FFD, och den typade läsaren fyller nuPageItemIndexfrån SXPI vid Open så att anropare kan inspektera det sparade sid-valet. Stänger våg H4.3 kända gräns “sid-filter anropar-för-val otillgängligt från API”
Version 2.83.2
Ändrat
- Mindre pivot SXLI-poster via delta-komprimering (våg H5.1). Pivot-skrivaren delta-komprimerar nu SXLI-linje-objekt med specifikationens cSic-fält — varje linjes inledande cache-objekt-index som matchar den föregående linjen i samma SXLI-post viks in i ett delat-prefix-antal, och endast de avslutande indexen avges. Typiska rad-axel SXLI-poster (några få rad-fält × dussintals objekt) krymper med 30–60% utan ändring i semantik. Utmatning chunk-fortfarande för att stanna under 8224-byte BIFF-post-gränsen. Den första linjen av varje SXLI-post avger alltid cSic = 0 (post-lokal, ingen kors-post-bakåtreferens), och total-rad-linjen delta-komprimeras aldrig
Version 2.83.1
Rättat
- Cellfyllnings-, teckensnitts- och kant-färger satta via RGB rundtur-bevaras nu genom .xls spara/öppna. BIFF8 XFExt ($087D)-skrivaren avgett varje posts ixfe-fält med den minnesinterna XF-array-positionen, men de matchande cellposterna på disk skriver ixfe med den post-beskärnings SaveIndex-ordningen. När något XF tidigare i tabellen beskars under sparande (typiskt när en cell migrerar från en övergående XF till en slutgiltig XF), hamnade varje XFExt ixfe av med antalet beskurna platser, och den rika färgen associerad med varje cell skiftade till en grann-cell vid ladda om. Skrivaren löser nu SaveIndex för varje rik-plats-XF och avger den matchande på-disk ixfe, så att RGB-cellfärger sparade av HotXLS — interiör fyllning, teckensnittsfärg, kant-färger — överlever en spara/ladda-om-rundtur rent. XFExt-poster för XF som beskars helt hoppas nu över snarare än att avges med en dinglande ixfe
Version 2.83.0
Ändrat
- Pivot-linje-objekt + sid-objekt-tillstånd (våg H4.3). Programmatiskt byggda pivottabeller avger nu SXLI ([MS-XLS] §2.4.275, $00B5) för både rad- och kolumn-axlar, plus SXPI ($00B6) för sid-axeln. Detta ger pivot-vy-layout-fidelitet: icke-Excel-läsare ser den exakta visningsordning skrivaren avsåg, stora pivoter öppnar snabbare (Excel behöver inte recomputera linje-layout från början), och sid-filter består med en standardval “(Alla)” per sid-fält
- Rad- + kolumn-SXLI-uppräkning. Skrivaren räknar upp den cartesiska produkten av axel-fältens cache-objekt (innermost-fält varierar snabbast, vilket matchar Excels nästlad-rad-layout) och avger en linje per kombination plus en avslutande total-rad-linje markerad med SXLI nTypes fGrandTotal-biten. Varje linje använder cSic = 0 (ingen delta-komprimering — enklare på kostnad av några få extra byte per linje). Utmatning chunk-indelas i flera SXLI-poster när linje-antalet svämmar över 8224-byte BIFF-gränsen; en 16384-linje säkerhets-cap förhindrar okontrollerad expansion på patologiska indata
- SXPI sid-axel-tillstånd. Avgs endast när minst ett fält har Axis = xlpfaPageField. Varje post är 10 byte (isxvd + iCache + ipos + objId) med iCache = $7FFD signalerar “(Alla)” — API-ytan för att för-välja specifika sid-objekt är uppskjuten till våg H5. Pivoter utan sid-fält avger ingen SXPI (kalkylbladets ABNF listar den som valfri)
- Stänger våg H3 kända gräns “SXLI / SXPI avgs inte”. Kombinerat med H4.1 (DataField talformat) och H4.2 (SXDBB per-post-ström), stänger våg H4 alla tre kända gränserna i H3 pivottabell-skrivaren. Pivottabeller byggda via
IXLSWorksheet.AddPivotTableskeppar nu själv-innehållande cacher med fullständig layout-metadata