.xlsx) arbetsbok. Deklarerad i
lxHandleX. Innehåller en TXLSXSheets
-samling och tillhandahåller SaveAs- / Open-ingångar
för OOXML-arbetsböcker, CSV / TSV-import samt OpenDocument Spreadsheet
-läs-/skrivflöden (.ods)
type
TXLSXFileFormat = (xlsxOpenXMLWorkbook, xlsxOpenDocumentSpreadsheet,
xlsxOpenXMLTemplate, xlsxOpenXMLMacroEnabledTemplate, xlsxExcelBinaryWorkbook);
TODSExportOptions = class
constructor Create;
property Generator: WideString;
property IncludeCharts: Boolean;
property IncludeImages: Boolean;
end;
TXLSXWorkbook = class
constructor Create;
destructor Destroy; override;
function CreateLoadedCellCursor: IXLSLoadedCellCursor; overload;
function CreateLoadedCellCursor(AIncludeStoredBlanks: Boolean): IXLSLoadedCellCursor; overload;
function CreateReadOnlyView: IXLSReadOnlyWorkbookView;
property RenderCalibration: TXLSRenderCalibration;
function CaptureRenderCalibration: TXLSRenderCalibration;
procedure ResetRenderCalibration;
function CreateRenderGeometry(ABackend: TXLSRenderGeometryBackend;
ACacheCapacity: Integer = 4096): IXLSRenderGeometry;
function SaveAs(const FileName: WideString): Integer; overload;
function SaveAs(const FileName: WideString; FileFormat: TXLSXFileFormat): Integer; overload;
function SaveAs(Stream: TStream): Integer; overload;
function SaveAs(Stream: TStream; FileFormat: TXLSXFileFormat): Integer; overload;
function GetConversionReport(ATarget: TXLSConversionTarget): TXLSConversionReport;
function SaveAsChecked(Stream: TStream; FileFormat: TXLSXFileFormat;
AllowLossy: Boolean = False): Integer; overload;
function SaveAsChecked(const FileName: WideString; FileFormat: TXLSXFileFormat;
AllowLossy: Boolean = False): Integer; overload;
function Open(const FileName: WideString): Integer; overload;
function Open(const FileName: WideString; const Password: WideString): Integer; overload;
function Open(Stream: TStream): Integer; overload;
function OpenCSV(const FileName: WideString): Integer; overload;
function OpenCSV(const FileName: WideString; ASeparator: WideChar;
ADetectTypes: Boolean): Integer; overload;
function OpenCSV(Stream: TStream): Integer; overload;
function OpenCSV(Stream: TStream; ASeparator: WideChar;
ADetectTypes: Boolean): Integer; overload;
function OpenODS(const FileName: WideString): Integer; overload;
function OpenODS(Stream: TStream): Integer; overload;
function SaveAsODS(const FileName: WideString): Integer; overload;
function SaveAsODS(Stream: TStream): Integer; overload;
function SaveAsODS(const FileName: WideString; Options: TODSExportOptions): Integer; overload;
function SaveAsODS(Stream: TStream; Options: TODSExportOptions): Integer; overload;
function GetODSSheetNames(const FileName: WideString; AList: TStrings): Integer; overload;
function GetODSSheetNames(Stream: TStream; AList: TStrings): Integer; overload;
function GetSheetNames(const FileName: WideString; AList: TStrings): Integer; overload;
function GetSheetNames(Stream: TStream; AList: TStrings): Integer; overload;
function SaveAsCSV(const FileName: WideString): Integer; overload;
function SaveAsCSV(const FileName: WideString; SheetIndex: Integer; Delimiter: WideChar): Integer; overload;
function SaveAsCSV(Stream: TStream): Integer; overload;
function SaveAsCSV(Stream: TStream; SheetIndex: Integer; Delimiter: WideChar): Integer; overload;
function SaveAsHTML(const FileName: WideString): Integer; overload;
function SaveAsHTML(const FileName: WideString; Options: TXLSXHtmlExportOptions): Integer; overload;
function SaveAsHTML(const FileName: WideString; SheetIndex: Integer): Integer; overload;
function SaveAsHTML(const FileName: WideString; SheetIndex: Integer; Options: TXLSXHtmlExportOptions): Integer; overload;
function SaveAsHTML(Stream: TStream): Integer; overload;
function SaveAsHTML(Stream: TStream; Options: TXLSXHtmlExportOptions): Integer; overload;
function SaveAsHTML(Stream: TStream; SheetIndex: Integer): Integer; overload;
function SaveAsHTML(Stream: TStream; SheetIndex: Integer; Options: TXLSXHtmlExportOptions): Integer; overload;
function SaveAsRTF(const FileName: WideString): Integer; overload;
function SaveAsRTF(const FileName: WideString; SheetIndex: Integer): Integer; overload;
function SaveAsRTF(Stream: TStream): Integer; overload;
function SaveAsRTF(Stream: TStream; SheetIndex: Integer): Integer; overload;
// AES encryption (ECMA-376 Standard Encryption) write path.
// OpenEncrypted still raises for encrypted packages.
function SaveAsEncrypted(const FileName, APassword: WideString): Integer;
function OpenEncrypted(const FileName, APassword: WideString): Integer;
function CanReadEncrypted(const FileName: WideString): Boolean;
function Calculate(const Formula: WideString): Variant;
function CalculateAndVerify: Integer; overload;
function CalculateAndVerify(out AMismatches: TArray<TXLSVerifyMismatch>): Integer; overload;
property OnUserFunction: TXLSUserFunctionEvent;
property OnUserFunctionEx: TXLSUserFunctionExEvent;
property AllowUnsafeFormulaCallbacks: Boolean;
// Document properties (docProps/core.xml + docProps/app.xml).
property Title, Author, Subject, Keywords, Description,
Category, LastModifiedBy, Company,
Application, AppVersion: WideString;
property Created, Modified: TDateTime;
// Workbook protection (16-bit legacy hash).
procedure ProtectWorkbook; overload;
procedure ProtectWorkbook(const APassword: WideString); overload;
procedure ProtectWorkbook(const APassword: WideString; ALockStructure, ALockWindows: Boolean); overload;
procedure UnProtectWorkbook;
property IsWorkbookProtected: Boolean;
property LockStructure, LockWindows: Boolean;
// VBA project payload (round-trips byte-for-byte). Workbook is saved
// with macro-enabled content type when HasVbaProject is True.
procedure LoadVbaProjectFromFile(const AFileName: WideString);
procedure ClearVbaProject;
function HasVbaProject: Boolean;
property VbaProjectDefined: Boolean;
property VbaProject: AnsiString;
property ParsedVBAProject: TXLSVBAProject;
// Unknown package and workbook extension preservation
procedure ClearUnsupportedParts;
function UnsupportedPartCount: Integer;
function UnsupportedPartBytes: Int64;
property PreserveUnsupportedParts: Boolean;
// Chart sheet helper — creates a sheet flagged IsChartSheet and
// seeds Charts[0] with a default full-page anchor.
function AddChartSheet(const AName: WideString;
AChartType: TXLSXChartType; const ATitle: WideString): TXLSXWorksheet;
// Streaming SaveAs path (TXLSWideStringBuilder + one sheet at a time).
property StreamingWrite: Boolean;
// Streaming parallel Open path
property ParallelParse: Boolean;
property ParallelParseThreads: Integer;
// Workbook-level collections.
property ActiveSheet: Integer;
property Minimized: Boolean;
property WindowHidden: Boolean;
property ShowHorizontalScroll: Boolean;
property ShowVerticalScroll: Boolean;
property ShowSheetTabs: Boolean;
property XWindow: Integer;
property YWindow: Integer;
property WindowWidth: Integer;
property WindowHeight: Integer;
property TabRatio: Integer;
property FirstSheet: Integer;
property AutoFilterDateGrouping: Boolean;
property Date1904: Boolean;
// Workbook calculation policy
property Iterate: Boolean;
property IterateCount: Integer;
property IterateDelta: Double;
property CalcId: Integer;
property FullCalcOnLoad: Boolean;
property CalcMode: WideString;
property RefMode: WideString;
property ForceFullCalc: Boolean;
property CalcCompleted: Boolean;
property CalcOnSave: Boolean;
property FullPrecision: Boolean;
property ConcurrentCalc: Boolean;
property ConcurrentManualCount: Integer;
function CreateWorkspaceWorkbook: IXLSWorkspaceWorkbook;
procedure RegisterExternalWorkbook(const AWorkbookName: WideString;
AWorkbook: TXLSXWorkbook);
procedure UnregisterExternalWorkbook(const AWorkbookName: WideString);
property SourceFormat: TXLSXFileFormat;
property IndexedColor[Index: Integer]: LongWord;
function NearestIndexedColor(AArgb: LongWord;
out AMatch: TXLSNearestIndexedColorMatch): Boolean;
function ScanIndexedColorUsage: TXLSIndexedColorUsageArray;
function BuildBiffPalettePlan: TXLSBiffPalettePlan;
function ApplyBiffPalettePlan(
const APlan: TXLSBiffPalettePlan): Boolean;
function HasCustomIndexedColor(Index: Integer): Boolean;
function CustomIndexedColorCount: Integer;
procedure ResetIndexedColors;
property Sheets: TXLSXSheets;
property Fonts: TXLSXFonts;
property Fills: TXLSXFills;
property Borders: TXLSXBorders;
property NumberFormats: TXLSXNumberFormats;
property Alignments: TXLSXAlignments;
property DefinedNames: TXLSXDefinedNames;
property ExternalLinks: TXLSXExternalLinks;
property ExternalWorkspace: TXLSWorkbookWorkspace;
end;
| Sheets | Kalkylbladssamling. Se TXLSXSheets |
| Fonts | Typsnittspalett på arbetsboksnivå. Celler väljer typsnitt genom att sätta TXLSXCell.FontIndex till ett 1-baserat index i denna samling. Se TXLSXFont / TXLSXFonts |
| Fills | Fyllnadspalett på arbetsboksnivå. Celler väljer fyllnad genom att sätta TXLSXCell.FillIndex till ett 1-baserat index i denna samling. Se TXLSXFill / TXLSXFills |
| Borders | Rampalett på arbetsboksnivå. Celler väljer ram genom att sätta TXLSXCell.BorderIndex till ett 1-baserat index i denna samling. Se TXLSXBorder / TXLSXBorders |
| NumberFormats | Palett för anpassade talformat på arbetsboksnivå. Celler väljer format genom att sätta TXLSXCell.NumberFormatIndex till ett 1-baserat index i denna samling. Se TXLSXNumberFormat / TXLSXNumberFormats |
| DefinedNames | Namngivna områden på arbetsboksnivå (med omfattning arbetsbok eller blad). Se TXLSXDefinedName / TXLSXDefinedNames |
| Calculate | Kompilerar och utvärderar en Excel-formelsträng mot det aktiva bladet; ett inledande = accepteras. Cellreferenser, områden, formler som lagrats i refererade celler, korsbladsreferenser, nästlade formeldefinierade namn, broadcast-arrayer med per-cell-fel, multivariabla regressions- och prediktionsarrayer samt stödda text-, datum-, arbetsdag-, ingenjörs-/bas konverterings-, bitvisa, statistiska, aggregerande och matematiska funktioner utvärderas via HotXLS gemensamma formelmotor. Se OnUserFunction för att hantera anpassade eller ej stödda funktioner |
| CreateLoadedCellCursor | Skapar en tillståndskonstant markör i radordning över lagrade XLSX-värden och formler, med en överlagring som också emitterar oberoende formaterade tomma celler som xlckBlank. Glesa block och packad lagring traverseras utan att den packade representationen materialiseras. Se metoden CreateLoadedCellCursor |
| CreateReadOnlyView | Skapar en vy med konstant åtkomsttid över den delade modellen, med eget aktivt blad, värdekopierade ögonblicksbilder, cachade formelresultat, frivillig isolerad formelutvärdering, direkta packade cellavläsningar, referensräknad livstid via IXLSXWorkbookOwner och fail-fast-skrivuteslutning; IXLSReadOnlyWorkbookView rapporterar också SheetCount för anropare som räknar blad utan att röra arbetsboksmodellen. Se metoden CreateReadOnlyView |
| SaveSemanticSnapshot, ComputeSemanticHash | Strömmar en versionerad kanonisk representation av arbetsbokssemantik eller beräknar dess SHA-256 i gemener utan att materialisera hela ögonblicksbilden. Se metoderna för semantisk ögonblicksbild och hash |
| RenderCalibration, CaptureRenderCalibration, ResetRenderCalibration | Tilldelar atomärt en validerad renderkalibrering, fångar en oberoende värdeögonblicksbild för en enda operation eller återställer standardvärden; körtidskonfigurationen serialiseras inte och ändrar i sig inte kalkylbladets rad- eller kolumnstorlekar. Se värden och ögonblicksbilder för renderkalibrering |
| CreateRenderGeometry | Skapar en operation-ägd geometri- och typmätningstjänst med oföränderlig kalibrering, arbetsboksgenerering och backend-identitet, plus en avgränsad lokal cache; AutoFit fångar en tjänst per operation och paginering en per bygge utan att skriva kalkylbladsmått. Se rendergeometri och typsnittsmätning |
| OnUserFunction, OnUserFunctionEx | Callback som Calculate använder när en formel anropar en anpassad eller ej stödd funktion. Se OnUserFunction / OnUserFunctionEx-callback |
| AllowUnsafeFormulaCallbacks | Default är false och hindrar farliga externa eller makroliknande funktionsnamn från att nå användarfunktionshanterare innan argumenten utvärderas. Se säkerhetspolicyn för callbacks |
| GetSheetNames(FileName, AList), GetSheetNames(Stream, AList) | Läser xl/workbook.xml och lägger till kalkylbladsnamn i AList i arbetsboksordning utan att läsa in kalkylblads-XML. Strömöverlagringen förväntar sig en komplett XLSX-paketström. Returnerar antalet lästa namn, eller -1 när paketet inte kan öppnas |
| Alignments | Palett för celljustering på arbetsboksnivå. Celler väljer post genom att sätta TXLSXCell.AlignmentIndex till ett 1-baserat index i denna samling. Se TXLSXAlignment |
| Document properties | Title, Author, Subject, Keywords, Description, Category, LastModifiedBy, Company, Application, AppVersion, Created, Modified. Sätter man någon av dem populeras docProps/core.xml + docProps/app.xml vid SaveAs (annars behåller arbetsboken den minimala uppsättningen delar) |
| ProtectWorkbook / UnProtectWorkbook | Växling av arbetsboksskydd med valfri 16-bitars äldre lösenordshash och flaggorna LockStructure / LockWindows. Återspeglas som <workbookProtection> i xl/workbook.xml |
| LoadVbaProjectFromFile / VbaProject / HasVbaProject / VbaProjectDefined | LoadVbaProjectFromFile importerar en rå vbaProject.bin-nyttolast; VbaProject exponerar byte:na; HasVbaProject och skrivskyddade VbaProjectDefined rapporterar båda om en nyttolast finns. Spara med filtillägget .xlsm när Excel ska aktivera makron |
| ParsedVBAProject | Skrivskyddad tolkad vy av aktuell vbaProject.bin-nyttolast. Är nyttolasten en giltig OLE VBA-lagring returneras en TXLSVBAProject med modulnamn och källtext, annars nil. Den råa VbaProject-nyttolasten förblir de auktoritativa byte som används vid SaveAs/Open-roundtrip |
| AddChartSheet(Name, Type, Title) | Skapar ett kalkylblad flaggat IsChartSheet = True och ser till att Charts[0] får en vettig standardförankring för hel sida. SaveAs skriver sådana blad till xl/chartsheets/sheetN.xml. Se TXLSXChart |
| ParallelParse | När True strömmar flerblads-Open kalkylblads-ZIP-poster direkt till worker-lokala inflaters och XML-läsare. Inga mellanlagrade kopior av uppblåst kalkylblads-XML behålls, och paketkällan låses bara för varje positionerad läsning. Sätt False för att tolka ett kalkylblad i taget. Standard är True |
| ParallelParseThreads | Sätter maximalt antal kalkylbladsströmmar som tolkas samtidigt under Open. Noll väljer automatiskt antal worker, positiva värden sätter ett explicit tak. Arbetssmängden för aktiva inflaters och XML-läsare begränsas av detta tal |
| StreamingWrite | När True använder SaveAs WriteWorksheetXmlStreaming per blad — ingen sheetXmls-cache hålls, och sharedStrings.xml skrivs sist efter att varje blad fyllt SST. Tillsammans med per-rad TXLSWideStringBuilder håller detta minnesanvändningen linjär på stora blad. Standard är False (befintligt beteende) |
| PreserveUnsupportedParts / ClearUnsupportedParts | PreserveUnsupportedParts är default True och behåller okända paketdelar som når via relationer plus främmande namnrymdsdeklarationer på arbetsboksroten, attribut för markup-kompatibilitet och kompletta <extLst>-nyttolaster på arbetsboksnivå under Open och SaveAs. Relationsreferenser inuti den bevarade utbyggnadsnyttolasten mappas om när genererade ID krockar med källan. Sätt egenskapen till False före Open, eller anropa ClearUnsupportedParts, för att kasta detta tillstånd. Diagnostikerna UnsupportedPartCount och UnsupportedPartBytes räknar bevarade paketdelar och inkluderar inte inline-metadata i arbetsboks-XML |
| PreserveRawParts | Default är True och låter filbaserade SaveAs-operationer öppna ett validerat privat källarkiv och därefter kopiera oförändrade tema-, VBA-, anslutnings-, externlänk-, bild-, diagram-, pivot- och övriga relationerbara ogenomskinliga poster med sina ursprungliga komprimerade nyttolaster. Lyckade filsparningar etablerar en ny ren baslinje för senare sparningar. Strömbaserade arbetsböcker, ändrad källfil, redigerade nyttolaster, ej stödda komprimeringsmetoder och ogiltiga komprimerade storleker använder transaktionell serialiseringsfallback eller avvisning |
| SaveAsEncrypted / OpenEncrypted / CanReadEncrypted | ECMA-376 Standard Encryption, skrivstöd: SaveAsEncrypted skriver en standardkonform AES-128-skyddad OLE Compound File-container för icke-tomma lösenord, med AES-NI-acceleration när det finns och en portabel mjukvarufallback annars. Den krypterade utdaten öppnas i Excel 2007 och senare med lösenordet som användes vid sparandet. CanReadEncrypted känner igen OLE2-magic bytes; OpenEncrypted faller transparent tillbaka till vanlig Open för okrypterade filer och kastar fortfarande EXlsxEncryptionNotImplemented för krypterade paket tills dekrypteringsstöd landat |
| SaveAs(FileName) | Skriver arbetsboken till angiven fil. Returnerar 1 vid lyckat resultat, negativt vid fel. Har arbetsboken inga blad läggs ett default-Sheet1 till före skrivningDenna överlagring och SaveAs(FileName, FileFormat) mellanlagrar utdata innan målet ersätts
Misslyckas ersättningen är returvärdet -1 och LastDiagnostic rapporterar xlsDiagnosticOutputCommitFailed (1005), ursprunglig Windows-NativeCode och systemets felmeddelande
Den gamla målfilen och arbetsbokens FileName förblir oförändrade; mellanlagrad utdata frigörs, och en senare sparning rensar den tidigare diagnosen |
| SaveAs(FileName, FileFormat) | Accepterar xlsxOpenXMLWorkbook för vanlig OOXML-utdata, xlsxOpenDocumentSpreadsheet för ODS, xlsxOpenXMLTemplate för en makrofri XLTX-mall eller xlsxOpenXMLMacroEnabledTemplate för en XLTM-mall; buffrad och strömmande utdata stöds för alla OOXML-valMallutdata skriver application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml för /xl/workbook.xml; använd filändelsen .xltx för filer och application/vnd.openxmlformats-officedocument.spreadsheetml.template när paketet serveras över HTTPFormatet måste väljas explicit: vare sig filändelsen eller en importerad mall ändrar standardutdata från SaveAsFinns ett VBA-projekt returnerar XLTX-utdata -1 med en diagnostik för format som inte stöds innan målet skrivs; XLTM bevarar ett befintligt VBA-projekt och accepterar även en arbetsbok utan makronSaveAsODS förblir den namngivna genvägen för ODS-utdata med valfri TODSExportOptions-styrning |
| GetConversionReport / SaveAsChecked | Granska en anroparägd, mutationsfri rapport om kända funktionskonverteringar, eller avvisa försämrade och borttagna funktioner innan skrivning genom att låta AllowLossy=False
Explicit förlustig sparning avvisar fortfarande konverteringar som inte stöds; se beräknings- och konverteringstrohet för gränserna för mål, ägande, diagnostik och bevarande |
| SaveAs(Stream) / SaveAs(Stream, FileFormat) | Skriver arbetsboken direkt till valfri TStream, och överlagringen med FileFormat accepterar xlsxOpenXMLWorkbook, xlsxOpenDocumentSpreadsheet, xlsxOpenXMLTemplate eller xlsxOpenXMLMacroEnabledTemplate för OOXML-arbetsböcker, ODS-kalkylblad, XLTX-mallar eller XLTM-mallar i minnetReturnerar 1 vid lyckat resultat, och strömsparningar följer RecalcBeforeSave: manuellt läge bevarar befintliga formelcachar, medan policyerna dirty och always uppdaterar dem före serialiseringAnroparen behåller ägandet av strömmen; en avbrytning innan skrivningen börjar bevarar dess innehåll och position, medan ett fel efter att serialiseringen startat kan lämna partiell utdata |
| Open(FileName) | Läser ett OOXML-.xlsx-arkiv och ersätter Sheets-samlingen med dess innehåll. Returnerar 1 vid lyckat resultat |
| Open(FileName, Password) | Reserverad för framtida stöd för krypterad XLSX. Beter sig idag som Open(FileName) — lösenordet ignoreras |
| Open(Stream) | Läser ett OOXML-.xlsx-arkiv från en TStream. Returnerar 1 vid lyckat resultat |
| OpenCSV(FileName) / OpenCSV(Stream) | Importerar CSV- eller TSV-text till arbetsboken med automatisk avgränsardetektering (,, ;, tabb eller pipe), BOM-baserad detektering av UTF-8/UTF-16, RFC 4180-liknande citerade fält och valfri värdestypinferens via ADetectTypes-överlagringarna. Anrop av Open(FileName) med .csv eller .tsv dirigeras automatiskt hit. Se metoden OpenCSV |
| OpenODS(FileName) / OpenODS(Stream) | Importerar ett OpenDocument Spreadsheet-paket (.ods) från fil eller ström. Läsaren läser in content.xml, delad stilinformation från styles.xml och vyinställningar när de finns, och bevarar bladnamn, skalära värden, cachade formelresultat, grundläggande formelreferenskonvertering, upprepade rader/kolumner/celler, sammanslagna områden, rich text, hyperlänkar, kommentarer, inbäddade bilder, inbäddade diagram, dolda rader/kolumner/blad, radhöjder, kolumnbredder, ärvda/default-stilar, tal-/datum-/tids-/valuta-/vetenskapliga/bråktalformat, cell- och bladskydd, namngivna områden, utskriftsområden, manuella sidbrytningar, frusna rutor, AutoFilter-områden, rad-/kolumndispositionsgrupper, sidhuvuden/sidfötter, datavalideringar inklusive prompts, villkorsstyrd formatering inklusive formler/färgskalor/databara samt bladflikens färg. Full OpenFormula-semantik, ODS-skyddsnycklar, kommentarsgeometri, avancerad kommentarsformatering och paketfunktioner utanför kalkylbladsinnehållet konverteras inte |
| SaveAsODS(FileName) / SaveAsODS(Stream), with optional TODSExportOptions | Sparar arbetsboken som ett giltigt OpenDocument Spreadsheet-paket. Den skriver ODF mimetype, manifest, metadata, stilar och kalkylbladsinnehåll direkt och för med typade värden, formler, stilar, rich text, dimensioner, sammanslagningar, hyperlänkar, bilder, diagram, namngivna områden, AutoFilter-områden, villkorsstyrd formatering, datavalideringar, frusna rutor, sidinställning, sidhuvuden/sidfötter, utskriftsområden, manuella sidbrytningar, dispositionsgrupper, flikfärg och bladsynlighet där dessa funktioner finns i HotXLS arbetsboksmodell. Om exportalternativ skickas in, inklusive nil, behålls den normala omberäkningspolicyn, avbrytning under förloppet, diagnostik och skrivskydd. Filutdata stegar en syskonfil och ersätter destinationen först efter lyckad serialisering; serialiseringsfel och avbrytning före commit bevarar den tidigare destinationen. Skrivförloppet rapporterar varje färdig tabell, och ppsEnd är en avslutande avisering vars Abort-begäran inte kan avbryta en redan färdig sparning. Strömutdata behåller anroparens ägande och det vanliga strömsparbeteendet, vilket kan lämna partiell utdata efter att serialiseringen påbörjats |
| TODSExportOptions | Styr ODS-export. Generator åsidosätter värdet meta:generator i meta.xml; tomt värde använder den inbyggda HotXLS-generatorsträngen. IncludeCharts och IncludeImages är default True och tar när False bort motsvarande ritningsramar, paketdelar och manifestposter tillsammans, så att utdata inte får föräldralösa diagram- eller bildreferenser. Anroparen äger optionsinstansen och måste frigöra den |
| GetODSSheetNames(FileName, AList), GetODSSheetNames(Stream, AList) | Läser endast ODS-tabellnamn från content.xml till AList utan att nollställa eller fylla arbetsboken. Använd den när en filväljare eller ett importflöde behöver bladnamn innan arbetsboken läses in |
| SaveAsCSV overloads | Fyra överlagringar (FileName eller Stream × default aktivt blad / explicit SheetIndex + Delimiter). Skriver valt blad som UTF-8-CSV med BOM. Datumvärden renderas som yyyy-mm-dd hh:nn:ss; formelceller beräknas före export och formeltext används bara när beräkning inte är möjlig. Returnerar 0 vid lyckat resultat |
| SaveAsHTML overloads | Optionsöverlagringarna accepterar TXLSXHtmlExportOptions för Title, WriteDocument, IncludeStyles, IncludeBOM och TableClass. Sätt WriteDocument till False för ett tabellfragment; sätt IncludeBOM till False när utdata bäddas in i ett befintligt UTF-8-svar. Exporten bevarar cellhyperlänkar som <a>-ankare och förankrade bilder som inline data:-bild-URI:er; export på arbetsboksnivå inkluderar ankare utanför ifyllda celler. Cellkommentarer emitseras också som escapade title-attribut på <td>, och export på arbetsboksnivå inkluderar ankare med endast kommentarer. När IncludeStyles är på emitseras explicita ColWidth-värden som <col>-bredder och explicita RowHeight-värden som höjdstilar på <tr>. Rich-text-körningar i celler emitseras som escapade <span>-element med inline-stilar för typsnitt, färg, betoning och understrykning när IncludeStyles är på. Cellramar emitseras som CSS-reglerna border-left, border-right, border-top och border-bottom när IncludeStyles är på. Dolda rader och kolumner markerade med RowHidden / ColHidden, plus explicita nollbreda kolumner, hoppas över i genererad tabell och <colgroup>. Vertikaljustering emitseras som CSS-regeln vertical-align när IncludeStyles är på |
| SaveAsRTF overloads | Fyra överlagringar (FileName eller Stream × default aktivt blad / explicit SheetIndex). Skriver valt blad som ett RTF 1.6-dokument med en enkel tabell. Kolumnbredder härleds från ColWidth-data (1 teckenenhet ≈ 96 twips; default 809 twips). Fet/kursiv/typsnittsstorlek appliceras per cell; icke-ASCII-tecken kodas som RTF-unicode-escapes \uN? med 16-bitars värde. Sammanslagna celler spänner inte över kolumner. Returnerar 0 vid lyckat resultat |
| ActiveSheet | 1-baserat index för aktivt (valt) blad (0 inget), motsvarande det klassiska XLS-motorns ActiveSheetIndex. SaveAs skriver activeTab="N" på <workbookView> (attributet activeTab i OOXML är själv 0-baserat) när arbetsboksvyalternativ behöver emitseras, och markerar motsvarande blad med tabSelected="1" |
| Minimized / WindowHidden / ShowHorizontalScroll / ShowVerticalScroll | Flaggor för arbetsboksfönstrets inramning som skrivs till <workbookView>. Minimized skriver minimized="1", WindowHidden skriver visibility="hidden", och ShowHorizontalScroll / ShowVerticalScroll döljer eller visar arbetsbokens rullningslister. Open round-trip:ar alla fyra värden |
| XWindow / YWindow / WindowWidth / WindowHeight | Geometri för arbetsboksfönstret som skrivs till <workbookView>. XWindow och YWindow lagrar fönstrets ursprung, medan WindowWidth och WindowHeight lagrar dess storlek. Värdena begränsas till 0..65535 och round-trip:ar vid inläsning |
| ShowSheetTabs / TabRatio / FirstSheet / AutoFilterDateGrouping | Visningsalternativ för arbetsboksfönstret som skrivs till <workbookView>. ShowSheetTabs döljer eller visar bladflikens rad, TabRatio styr fördelningen av bredd mellan flikrad och rullningslist och begränsas till 0..1000, FirstSheet väljer första synliga flik som 0-baserat bladindex och begränsas till ett befintligt blad, och AutoFilterDateGrouping styr Excels datumgruppering i AutoFilter-rullgardiner. Open round-trip:ar alla fyra värden |
| Date1904 | Arbetsbokens bas för datum. False (default) = Windows 1900-epok; True = Mac 1904-epok (skjuter alla datumserier med 1462 dagar). Sätt detta före du tilldelar TDateTime-cellvärden så att Excel visar samma kalenderdatum |
| Iterate / IterateCount / IterateDelta | Styr iterativ beräkning av cirkulära referenser. IterateCount begränsas till 1..32767 och är default 100. IterateDelta accepterar icke-negativa ändliga värden och är default 0,001. Icke-default-gränser består även när Iterate för tillfället är False |
| CalcMode / RefMode / CalcId | Styr arbetsbokens beräkningsläge, formelreferensstil och beräkningsmotorns identitet. CalcMode accepterar auto, manual eller autoNoTable. RefMode accepterar A1 eller R1C1 med skiftlägesokänslig inmatning och kanonisk utmatning
Modern riktfel-utdata använder ett emitterat CalcId på minst
191029 så att Excel tolkar cachade moderna fel, med bevarande
av högre begärda värden och utan att egenskapen i minnet ändras |
| FullCalcOnLoad / ForceFullCalc / CalcCompleted / CalcOnSave / FullPrecision | Styr full omberäkning, slutförd cachad beräkning, omberäkning före sparande och precisionspolicy. Vart och ett av de icke-default värdena emitserar och round-trip:ar sitt motsvarande <calcPr>-attribut |
| ConcurrentCalc / ConcurrentManualCount | Styr samtidig arbetsboksberäkning och den manuella hinten för antal worker. ConcurrentManualCount begränsas till noll eller mer |
| SourceFormat | Rapporterar paketfamiljen som senaste lyckade Open- eller OpenODS-anrop läste in, och returnerar xlsxOpenXMLWorkbook för OOXML-arbetsböcker och mallar, inklusive XLTX och XLTM, xlsxOpenDocumentSpreadsheet för ODS samt xlsxExcelBinaryWorkbook för den stödda XLSB-delmängden med värden och stilarEn nyskapad arbetsbok rapporterar xlsxOpenXMLWorkbook tills en fil öppnats, och egenskapen väljer inte utdataformat |
| IndexedColor[Index] | ARGB-värde för angiven OOXML-palettplats för indexerad färg (0..63). Läsning returnerar användarens överskrivning om satt, annars OOXML-default (XlsxDefaultIndexedPalette). Skrivning överskriver plats N; SaveAs emitserar därefter ett fullständigt <indexedColors>-block med alla 64 platser |
| ResolveIndexedColor | Klassificerar publika färgindex, BIFF-icv-värden eller OOXML-indexerade färger och löser ett normaliserat ARGB-värde när arbetsbokspaletten eller en explicit systemfärg-callback levererar ett |
| NearestIndexedColor | Returnerar närmaste fysiska palettpost via den gemensamma cachade OKLab-matcharen utan att ändra paletten eller arbetsbokstillståndet |
| ScanIndexedColorUsage | Returnerar ett deterministiskt inventarium med 56 platser: palettfärger, definitions- och referensräknare, konsumenttyper och bevarandelås, utan att materialisera celler eller ändra arbetsbokstillståndet |
| BuildBiffPalettePlan | Returnerar en mutationsfri BIFF-palettplan med 56 platser: låsta platser, aggregerade true-color-mål, deterministiska mappningar, källidentitet och viktad OKLab-felstatistik |
| ApplyBiffPalettePlan | Validerar källidentitet, platsmetadata, lås och ogenomskinliga mål innan alla ändrade palettposter appliceras atomärt och den cachade matcharen byggs om en gång |
| HasCustomIndexedColor / CustomIndexedColorCount / ResetIndexedColors | HasCustomIndexedColor(N) returnerar True när plats N uttryckligen överskrivits. CustomIndexedColorCount returnerar antalet överskrivna platser (0 = inget <colors>-block emitseras av SaveAs). ResetIndexedColors kastar alla överskrivningar och återställer defaultpaletten |
| ExternalLinks | Samling av externa arbetsboksreferenser. Varje TXLSXExternalLink-post håller en Target-URL och en SheetNames-lista. SaveAs emitserar blocket <externalReferences> i xl/workbook.xml och motsvarande delar under xl/externalLinks/. Open round-trip:ar Target och SheetNames; cachade cellvärden inuti <sheetDataSet> bevaras inte |
| CreateWorkspaceWorkbook | Returnerar den återkallbara IXLSWorkspaceWorkbook-adaptern för denna arbetsbok. Adaptern bevarar arbetsbokens källidentitet och generation och kopplar ner sig innan arbetsboksmodellen förstörs |
| ExternalWorkspace | Trådsäker, sökvägsbevarande registertjänst som används vid live-utvärdering av externa formler. Exakta identiteter och alias föredras, tvetydig basename-uppslagning avvisas, och identitetsnormalisering gör inga implicita fil- eller nätverksåtkomster. Se Live workbook workspace |
| RegisterExternalWorkbook / UnregisterExternalWorkbook | Kompatibilitetsfasad över ExternalWorkspace. Registrering mappar ett entydigt angivet namn till arbetsbokens lagrade relationsmål, håller sökvägar och filändelser åtskilda och avvisar kollisioner. Avregistrering tar bort den begärda registreringen; förstörs målet återkallas adaptern på ett säkert sätt |
uses lxHandleX;
var
wb: TXLSXWorkbook;
begin
wb := TXLSXWorkbook.Create;
try
wb.Sheets.Add('Demo').Cells.Item[1, 1].Value := 'Hello';
wb.SaveAs('demo.xlsx');
wb.Open('demo.xlsx');
ShowMessage(wb.Sheets[0].Cells.Item[1, 1].Value);
finally
wb.Free;
end;
end;