.xlsx). Déclaré dans
lxHandleX. Contient une collection TXLSXSheets
et fournit les points d'entrée SaveAs / Open pour les classeurs OOXML, l'import CSV / TSV et les flux lecture/écriture
OpenDocument Spreadsheet (.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 | Worksheet collection. See TXLSXSheets |
| Fonts | Workbook-level font palette. Cells pick a font by
setting TXLSXCell.FontIndex to a 1-based index into this
collection. See TXLSXFont / TXLSXFonts |
| Fills | Workbook-level fill palette. Cells pick a fill by
setting TXLSXCell.FillIndex to a 1-based index into this
collection. See TXLSXFill / TXLSXFills |
| Borders | Workbook-level border palette. Cells pick a border
by setting TXLSXCell.BorderIndex to a 1-based index into
this collection. See TXLSXBorder / TXLSXBorders |
| NumberFormats | Workbook-level custom number-format palette. Cells
pick a format by setting TXLSXCell.NumberFormatIndex to
a 1-based index into this collection. See
TXLSXNumberFormat / TXLSXNumberFormats |
| DefinedNames | Workbook-level named ranges (workbook-scoped or sheet-scoped). See TXLSXDefinedName / TXLSXDefinedNames |
| Calculate | Compile et évalue une chaîne de formule Excel par rapport à la feuille active, un = initial étant accepté
Les références de cellules, les plages, les formules stockées dans les cellules référencées, les références inter-feuilles, les plages de noms définis et les fonctions texte, date, workday, ingénierie/conversion de base, bitwise, statistiques, agrégats et mathématiques prises en charge sont évaluées via le moteur de formules HotXLS partagé
Voir OnUserFunction pour gérer les fonctions personnalisées ou non prises en charge |
| CreateLoadedCellCursor | Callback utilisé par xlckBlankquand une
formule appelle une fonction personnalisée ou non prise en charge. Voir le callback OnUserFunction / OnUserFunctionEx |
| CreateReadOnlyView | Lit IXLSXWorkbookOwneret ajoute
les noms de feuilles à IXLSReadOnlyWorkbookView dans l'ordre du classeur sans
charger le XML des feuilles. La surcharge stream attend un flux de
package XLSX complet. Renvoie le nombre de noms lus, ou SheetCount quand le package ne peut pas être ouvert CreateReadOnlyView method |
| SaveSemanticSnapshot, ComputeSemanticHash | Diffuse en streaming une représentation sémantique canonique et versionnée du classeur, ou calcule son SHA-256 en minuscules, sans matérialiser le snapshot complet. Voir semantic snapshot and hash methods |
| RenderCalibration, CaptureRenderCalibration, ResetRenderCalibration | Affecte atomiquement une calibration de rendu validée, capture un snapshot de valeurs indépendant pour une seule opération ou restaure les valeurs par défaut ; la configuration runtime n'est pas sérialisée et ne redimensionne elle-même ni les lignes ni les colonnes de la feuille. Voir render calibration values and snapshots |
| CreateRenderGeometry | Crée un service de géométrie et de mesure des polices détenu par l'opération, avec calibration immuable, identité de génération du classeur et du backend, plus un cache local borné ; AutoFit capture un service par opération et la pagination un par build, sans écrire les dimensions de la feuille. Voir render geometry and font measurement |
| OnUserFunction, OnUserFunctionEx | Callback used by Calculate quand une
formule appelle une fonction personnalisée ou non prise en charge. Voir
callback OnUserFunction / OnUserFunctionEx |
| AllowUnsafeFormulaCallbacks | Vaut false par défaut et empêche les noms de fonctions externes ou de style macro dangereux d'atteindre les gestionnaires de fonctions utilisateur avant l'évaluation des arguments. Voir callback safety policy |
| GetSheetNames(FileName, AList), GetSheetNames(Stream, AList) | Reads xl/workbook.xml et ajoute
les noms de feuilles à AList dans l'ordre du classeur sans
charger le XML des feuilles. La surcharge avec stream attend un stream
de package XLSX complet. Renvoie le nombre de noms lus, ou
-1 when the package cannot be opened |
| Alignments | Palette d'alignement de cellules au niveau classeur. Les cellules
choisissent une entrée en définissant TXLSXCell.AlignmentIndex sur un index à base 1 dans cette collection. Voir
TXLSXAlignment |
| Document properties | Title, Author, Subject, Keywords, Description,
Category, LastModifiedBy, Company, Application, AppVersion,
Created, Modified. Définir l'un d'eux renseigne
docProps/core.xml + docProps/app.xml lors du
SaveAs (sinon le classeur conserve l'ensemble minimal de parties) |
| ProtectWorkbook / UnProtectWorkbook | Bascule de protection du classeur avec un
hachage de mot de passe hérité 16 bits optionnel et les indicateurs LockStructure /
LockWindows . Reflété via
<workbookProtection> dans xl/workbook.xml |
| LoadVbaProjectFromFile / VbaProject / HasVbaProject / VbaProjectDefined | LoadVbaProjectFromFile importe une payload vbaProject.bin brute ; VbaProject expose les octets ; HasVbaProject et VbaProjectDefined en lecture seule indiquent tous deux qu'une payload est présente. Enregistrez avec l'extension .xlsm pour que les macros soient activées par Excel |
| ParsedVBAProject | Vue analysée en lecture seule de la
payload
vbaProject.bin actuelle. Quand la payload est un stockage OLE
VBA valide, renvoie un TXLSVBAProject exposant les noms de
modules et le texte source ; sinon renvoie nil. La payload brute
VbaProject reste les octets faisant foi utilisés
pour le round-trip SaveAs/Open |
| AddChartSheet(Name, Type, Title) | Crée une feuille marquée
IsChartSheet = True et amorce Charts[0]
avec une ancre pleine page par défaut raisonnable. SaveAs écrit ces feuilles
dans xl/chartsheets/sheetN.xml. Voir
TXLSXChart |
| ParallelParse | Quand True, SaveAs utilise Open par feuille — aucun cache
sheetXmls n'est conservé, sharedStrings.xml est émis en dernier après que chaque feuille
a rempli le SST. Combiné au |
| ParallelParseThreads | Définit le nombre maximal de streams de feuilles analysés
simultanément pendant Open. Zéro sélectionne le nombre
automatique de workers, et les valeurs positives fixent un plafond
explicite. Les working sets actifs d'inflater et de readers XML sont
bornés par ce nombre |
| StreamingWrite | When True, SaveAs uses
WriteWorksheetXmlStreaming par feuille — aucun cache
sheetXmls n'est conservé, sharedStrings.xml est émis en dernier une fois
que chaque feuille a peuplé la SST. Combiné au
TXLSWideStringBuilder par ligne, cela garde la mémoire
linéaire sur les grandes feuilles. La valeur par défaut est False
(comportement existant) |
| PreserveUnsupportedParts / ClearUnsupportedParts | PreserveUnsupportedParts vaut
True par défaut et conserve les parties de package inconnues atteignables
par relationship, plus les déclarations de namespace étrangères à la
racine du classeur, les attributs de markup-compatibility et les entiers
<extLst>
payload au niveau du classeur pendant Open et SaveAs. Les références de
relationship à l'intérieur du payload d'extension préservé sont
remappées quand les ID générés entrent en conflit avec la source
Positionnez la propriété à False avant Open, ou appelez
ClearUnsupportedParts, to discard this state. The
UnsupportedPartCount and UnsupportedPartBytes
diagnostics comptent les parties de package préservées et n'incluent pas
les métadonnées XML inline du classeur |
| PreserveRawParts | par ligne, cela garde la mémoire linéaire sur les grandes feuilles. Par défaut False (comportement existant) |
| SaveAsEncrypted / OpenEncrypted / CanReadEncrypted | Prise en charge d'écriture ECMA-376 Standard Encryption
SaveAsEncrypted écrit un conteneur OLE Compound File protégé
AES-128 conforme aux standards pour les mots de passe non vides, avec
l'accélération AES-NI quand elle est disponible et un repli logiciel portable
sinon. La sortie chiffrée s'ouvre dans Excel 2007 et versions ultérieures avec
le mot de passe utilisé à l'enregistrement. CanReadEncrypted détecte
les octets magiques OLE2 ; OpenEncrypted retombe de façon transparente
sur un Open simple pour les fichiers non chiffrés et lève toujours
EXlsxEncryptionNotImplemented pour les packages chiffrés,
jusqu'à l'arrivée de la prise en charge du déchiffrement |
| SaveAs(FileName) | Écrit le classeur dans le fichier indiqué. Renvoie
1 en cas de succès, une valeur négative en cas d'échec. Si le classeur n'a
aucune feuille, une Sheet1 par défaut est ajoutée avant
l'écritureCette surcharge et SaveAs(FileName, FileFormat) mettent la sortie en scène avant de remplacer la destination
Si le remplacement échoue, la valeur renvoyée est -1 et LastDiagnostic rapporte xlsDiagnosticOutputCommitFailed (1005), le NativeCodeWindows d'origine et le message d'erreur système
L'ancienne destination et le FileName du classeur restent inchangés ; la sortie temporaire est libérée et un enregistrement ultérieur efface le diagnostic précédent |
| SaveAs(FileName, FileFormat) | Accepte xlsxOpenXMLWorkbook pour une sortie OOXML ordinaire, xlsxOpenDocumentSpreadsheet pour ODS, xlsxOpenXMLTemplate pour un modèle XLTX sans macros ou xlsxOpenXMLMacroEnabledTemplate pour un modèle XLTM, avec sortie bufferisée et en streaming prises en charge pour tous les choix OOXMLLa sortie de modèle écrit application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml pour /xl/workbook.xml; utilisez l'extension .xltx pour les fichiers et application/vnd.openxmlformats-officedocument.spreadsheetml.template quand le package est servi via HTTPLe format doit être choisi explicitement : ni l'extension du fichier, ni un modèle importé ne changent la sortie SaveAs par défautSi un projet VBA est présent, la sortie XLTX renvoie -1 avec un diagnostic de format non pris en charge avant d'écrire la destination ; la sortie XLTM préserve un projet VBA existant et accepte aussi un classeur sans macrosSaveAsODS reste le raccourci nommé pour la sortie ODS avec contrôle optionnel TODSExportOptions control |
| GetConversionReport / SaveAsChecked | Inspecte un rapport de conversion de fonctionnalités connues détenu par l'appelant et sans mutation, ou rejette les fonctionnalités dégradées et abandonnées avant écriture en laissant AllowLossy=False
L'enregistrement explicitement avec perte rejette toujours les conversions non prises en charge ; voir la fidélité de calcul et de conversion pour les limites de cible, de propriété, de diagnostic et de préservation |
| SaveAs(Stream) / SaveAs(Stream, FileFormat) | Écrit le classeur directement dans n'importe quel TStream, et la surcharge avec FileFormat accepte xlsxOpenXMLWorkbook, xlsxOpenDocumentSpreadsheet, xlsxOpenXMLTemplateou xlsxOpenXMLMacroEnabledTemplate, pour des classeurs OOXML, des feuilles ODS, des modèles XLTX ou des modèles XLTM en mémoireRenvoie 1 en cas de succès, et les enregistrements vers flux respectent RecalcBeforeSave : le mode manuel préserve les caches de formules existants, tandis que les politiques dirty et always les rafraîchissent avant la sérialisationL'appelant conserve la propriété du flux ; une annulation avant le début de l'écriture préserve son contenu et sa position, tandis qu'un échec après le début de la sérialisation peut laisser une sortie partielle |
| Open(FileName) | Lit une archive OOXML .xlsx et remplace la
collection
Sheets par son contenu. Renvoie 1
en cas de succès |
| Open(FileName, Password) | Réservé à la future prise en charge du XLSX chiffré. Se comporte
aujourd'hui comme Open(FileName) — le mot de passe est ignoré |
| Open(Stream) | Lit une archive OOXML .xlsx depuis un
TStream. Renvoie 1 en cas de succès |
| OpenCSV(FileName) / OpenCSV(Stream) | Importe du texte CSV ou TSV dans le classeur avec
détection automatique du séparateur (,, ;,
tabulation ou pipe), détection d'encodage UTF-8 / UTF-16 via BOM, champs
cités façon RFC
4180 et inférence de type de valeur optionnelle via les
surcharges ADetectTypes . Appeler
Open(FileName) sur .csv ou
.tsv route automatiquement vers cet importeur. Voir
la méthode OpenCSV |
| OpenODS(FileName) / OpenODS(Stream) | Importe un package OpenDocument Spreadsheet (.ods) depuis un fichier ou un flux. Le lecteur charge content.xml, les informations de styles partagés depuis styles.xmlet les paramètres d'affichage s'ils sont présents, en préservant noms de feuilles, valeurs scalaires, résultats de formules en cache, conversion basique des références de formules, lignes/colonnes/cellules répétées, plages fusionnées, texte enrichi, hyperliens, commentaires, images intégrées, graphiques intégrés, lignes/colonnes/feuilles masquées, hauteurs de lignes, largeurs de colonnes, styles hérités/par défaut, formats nombre/date/heure/devise/scientifique/fraction, état de protection des cellules et des feuilles, plages nommées, zones d'impression, sauts de page manuels, volets figés, plages AutoFilter, groupes de plan lignes/colonnes, en-têtes/pieds de page, validations de données y compris les invites, formats conditionnels y compris formules/échelles de couleurs/barres de données, et couleur d'onglet de feuille. La sémantique OpenFormula complète, les clés de protection ODS, la géométrie des commentaires, la mise en forme avancée des commentaires et les fonctionnalités de package hors contenu de feuille de calcul ne sont pas converties |
| SaveAsODS(FileName) / SaveAsODS(Stream), with optional TODSExportOptions | Enregistre le classeur sous forme de package OpenDocument Spreadsheet valide. Il écrit directement le mimetypeODF, le manifest, les métadonnées, les styles et le contenu des feuilles, en embarquant valeurs typées, formules, styles, texte enrichi, dimensions, fusions, hyperliens, images, graphiques, plages nommées, plages AutoFilter, formats conditionnels, validations de données, volets figés, mise en page, en-têtes/pieds de page, zones d'impression, sauts de page manuels, groupes de plan, couleur d'onglet et visibilité des feuilles lorsque ces fonctionnalités existent dans le modèle de classeur HotXLS. Le passage d'options d'export, y compris nil, conserve la politique de recalcul normale, l'annulation via la progression, les diagnostics et la protection en écriture. La sortie fichier prépare un fichier voisin et ne remplace la destination qu'après une sérialisation réussie ; un échec de sérialisation et une annulation avant la validation préservent la destination antérieure. La progression d'écriture signale chaque table terminée, et ppsEnd est une notification terminale dont la demande Abort ne peut pas annuler un enregistrement déjà terminé. La sortie flux conserve la propriété de l'appelant et le comportement ordinaire d'enregistrement vers flux, qui peut laisser une sortie partielle après le début de la sérialisation |
| TODSExportOptions | Contrôle l'export ODS. Generator remplace la valeur meta:generator dans meta.xml; une valeur vide utilise la chaîne de générateur HotXLS intégrée. IncludeCharts et IncludeImages valent True par défaut et, à False, retirent ensemble les cadres de dessin, parties de package et entrées de manifest correspondants, si bien que la sortie n'a plus de références orphelines vers graphiques ou images. L'appelant est propriétaire de l'instance d'options et doit la libérer |
| GetODSSheetNames(FileName, AList), GetODSSheetNames(Stream, AList) | Lit uniquement les noms de tables ODS depuis content.xml vers AList sans réinitialiser ni remplir le classeur. À utiliser quand un sélecteur de fichiers ou un flux d'import a besoin des noms de feuilles avant de charger le classeur |
| SaveAsCSV overloads | Quatre surcharges (FileName ou Stream ×
feuille active par défaut / SheetIndex explicite + Delimiter). Écrit la
feuille choisie en CSV UTF-8 avec BOM. Les valeurs de date s'affichent sous la forme
yyyy-mm-dd hh:nn:ss; les cellules à formule sont calculées avant
l'export, et le texte de formule n'est utilisé que quand le calcul est indisponible
Renvoie 0 en cas de succès |
| SaveAsHTML overloads | Les surcharges d'options acceptent TXLSXHtmlExportOptions pour Title, WriteDocument, IncludeStyles, IncludeBOMet TableClass. Définissez WriteDocument à False pour un fragment de table ; définissez IncludeBOM à False quand la sortie est intégrée dans une réponse UTF-8 existante. La sortie exportée préserve désormais les hyperliens de cellules sous forme d'ancres <a> et les images ancrées sous forme d'URI d'image data: en ligne ; l'export au niveau classeur inclut les ancres hors des cellules remplies. Les commentaires de cellule sont aussi émis comme attributs <td>title échappés, et l'export au niveau classeur inclut les ancres à commentaire seul. Quand IncludeStyles est activé, les valeurs ColWidth explicites sont émises comme largeurs <col> et les valeurs RowHeight explicites comme styles de hauteur <tr> . Les runs de texte enrichi des cellules sont émis comme éléments <span> échappés avec des styles en ligne de police, couleur, emphase et soulignement quand IncludeStyles est activé. Les bordures de cellules sont émises comme règles CSS border-left, border-right, border-topet border-bottom quand IncludeStyles est activé. Les lignes et colonnes masquées marquées par RowHidden / ColHidden, plus les colonnes à largeur nulle explicites, sont ignorées dans la table générée et le <colgroup>. Les paramètres d'alignement vertical sont émis comme règles CSS vertical-align quand IncludeStyles est activé |
| SaveAsRTF overloads | Quatre surcharges (FileName ou Stream ×
feuille active par défaut / SheetIndex explicite). Écrit la feuille choisie
comme document RTF 1.6 avec une table simple. Les largeurs de colonnes sont déduites
des données ColWidth (1 unité caractère ≈ 96 twips ;
809 twips par défaut). Gras / italique / taille de police par cellule appliqués ;
les caractères non ASCII sont encodés comme échappements unicode RTF \uN?
signés 16 bits
Les cellules fusionnées ne sont pas étendues. Renvoie 0 en cas de
succès |
| ActiveSheet | Index à base 1 de la feuille active (sélectionnée) (0 si aucune), correspondant au ActiveSheetIndexdu moteur XLS classique. SaveAs écrit activeTab="N" sur <workbookView> (l'attribut OOXML activeTab reste lui-même à base 0) quand des options de vue du classeur doivent être émises, et marque la feuille correspondante avec tabSelected="1" |
| Minimized / WindowHidden / ShowHorizontalScroll / ShowVerticalScroll | Indicateurs d'habillage de la fenêtre de classeur écrits dans <workbookView>. Minimized écrit minimized="1", WindowHidden écrit visibility="hidden", et ShowHorizontalScroll / ShowVerticalScroll masquent ou affichent les barres de défilement du classeur. Open fait le round-trip des quatre valeurs |
| XWindow / YWindow / WindowWidth / WindowHeight | Géométrie de la fenêtre de classeur écrite dans <workbookView>. XWindow et YWindow stockent l'origine de la fenêtre, tandis que WindowWidth et WindowHeight stockent sa taille. Les valeurs sont bornées à 0..65535 et font le round-trip au chargement |
| ShowSheetTabs / TabRatio / FirstSheet / AutoFilterDateGrouping | Options de vue de la fenêtre de classeur écrites dans <workbookView>. ShowSheetTabs masque ou affiche la barre d'onglets de feuilles, TabRatio contrôle le partage de largeur entre barre d'onglets et barre de défilement et est borné à 0..1000, FirstSheet sélectionne le premier onglet visible comme index de feuille à base 0 et se borne à une feuille existante, et AutoFilterDateGrouping contrôle le regroupement de dates Excel dans les listes déroulantes AutoFilter. Open fait le round-trip des quatre valeurs |
| Date1904 | Base de dates du classeur. False (par défaut) =
époque Windows 1900 ; True = époque Mac 1904 (décale chaque
numéro de série de date de 1462 jours). Définissez ceci avant d'affecter
des valeurs de cellules
TDateTime pour qu'Excel affiche la même
date calendaire |
| Iterate / IterateCount / IterateDelta | Rapporte la famille de package chargée par le dernier appel
IterateCount ou
IterateDelta réussi. Elle renvoie Iterate pour les classeurs et modèles OOXML, y compris XLTX, et False |
| CalcMode / RefMode / CalcId | Contrôle le mode de calcul du classeur, le style de
référence des formules et l'identité du moteur de calcul
CalcMode accepts auto,
manual, or autoNoTableRefMode accepts A1 or R1C1
avec une entrée insensible à la casse et une sortie canonique
La sortie d'erreurs modernes riches utilise un CalcId émis d'au moins
191029 afin qu'Excel interprète les erreurs modernes en cache, en préservant
les valeurs demandées plus élevées et en laissant la propriété en mémoire inchangée |
| FullCalcOnLoad / ForceFullCalc / CalcCompleted / CalcOnSave / FullPrecision | Contrôle le recalcul complet, l'achèvement du calcul en
cache, le recalcul avant enregistrement et la politique de précision
Chaque valeur non par défaut émet et fait transiter de façon
indépendante le <calcPr> attribute |
| ConcurrentCalc / ConcurrentManualCount | pour ODS ; un classeur nouvellement créé rapporte
ConcurrentManualCount tant qu'aucun fichier n'est ouvert. Cette propriété ne sélectionne pas le format de sortie |
| SourceFormat | Signale la famille de package chargée par le dernier appel réussi de Open ou OpenODS, renvoyant xlsxOpenXMLWorkbook pour les classeurs et modèles OOXML, y compris XLTX et XLTM, xlsxOpenDocumentSpreadsheet pour ODS, et xlsxExcelBinaryWorkbook pour le sous-ensemble valeurs-et-styles XLSB pris en chargeUn classeur nouvellement créé signale xlsxOpenXMLWorkbook tant qu'aucun fichier n'est ouvert, et cette propriété ne sélectionne pas le format de sortie |
| IndexedColor[Index] | valeur ARGB pour le slot
de palette indexée OOXML indiqué (0..63). En lecture, renvoie
l'override utilisateur s'il est défini, sinon le default OOXML
intégré (XlsxDefaultIndexedPalette)
Writing overrides slot N; SaveAs then emits a full
<indexedColors> block with all 64 slots |
| ResolveIndexedColor | Classifies public color indexes, BIFF icv valeurs, ou des couleurs indexées OOXML, et résout une valeur ARGB normalisée quand la palette du classeur ou un callback explicite de couleurs système en fournit une |
| NearestIndexedColor | Renvoie l'entrée physique la plus proche de la palette via le matcher OKLab partagé mis en cache, sans modifier la palette ni l'état du classeur |
| ScanIndexedColorUsage | Renvoie un inventaire déterministe à 56 slots avec les couleurs de la palette, les comptages de définition et de référence, les types de consommateurs et les verrous de préservation, sans matérialiser de cellules ni modifier l'état du classeur |
| BuildBiffPalettePlan | Renvoie un plan de palette BIFF à 56 slots sans mutation, avec slots verrouillés, cibles true-color agrégées, mappages déterministes, identité de la source et statistiques d'erreur OKLab pondérées |
| ApplyBiffPalettePlan | complet avec les 64 emplacements |
| HasCustomIndexedColor / CustomIndexedColorCount / ResetIndexedColors | HasCustomIndexedColor(N) renvoie
True quand l'emplacement N a été explicitement surchargé
CustomIndexedColorCount renvoie le nombre d'emplacements
surchargés (0 = aucun bloc <colors> émis par SaveAs)
ResetIndexedColors abandonne chaque surcharge et restaure
la palette par défaut |
| ExternalLinks | Collection de références vers classeurs externes. Chaque
entrée
TXLSXExternalLink
porte une URL Target et une liste SheetNames . SaveAs
émet le bloc <externalReferences> dans
xl/workbook.xml et les parties
xl/externalLinks/ parties. Open fait transiter Target et
SheetNames ; les valeurs de cellules en cache à l'intérieur de
<sheetDataSet> are not preserved |
| CreateWorkspaceWorkbook | Returns the revocable IXLSWorkspaceWorkbook adapter pour ce classeur L'adapter préserve l'identité et la génération de la source du classeur et se déconnecte avant que le modèle du classeur ne soit détruit |
| ExternalWorkspace | Registre thread-safe préservant les chemins, consommé par l'évaluation live des formules externes Les identités exactes et les alias sont privilégiés, la recherche par basename ambiguë est rejetée, et la normalisation d'identité n'effectue aucun accès implicite aux fichiers ou au réseau Voir Live workbook workspace |
| RegisterExternalWorkbook / UnregisterExternalWorkbook | correspondantes. Open fait le round-trip de Target et
SheetNames ; les valeurs de cellules en cache dans ExternalWorkspace ne sont pas préservées |
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;