Cette page couvre les membres API XLS classiques publics qui appartiennent à lxHandle, lxDataToXLS et lxGridToXLS
Propriétés de calcul de IXLSWorkbook
property CalculationMode: LongWord;
property FormulaArrayMemoryLimit: Int64;
property EnableIteration: Boolean;
property MaxIterations: LongWord;
property MaxIterationChange: Double;
property RecalcOnSave: Boolean;
property UseFullPrecision: Boolean;
| CalculationMode |
Contrôle le mode de calcul du classeur stocké avec le fichier |
| FormulaArrayMemoryLimit |
Limite la charge mémoire allouée par les matrices de formules générées telles que MUNIT, vaut 64 Mio par défaut et borne les valeurs inférieures à un élément Double |
| EnableIteration |
Active le calcul itératif pour les formules circulaires |
| MaxIterations |
Nombre maximal de passes Gauss-Seidel pour chaque composante fortement connexe de références circulaires |
| MaxIterationChange |
Delta numérique maximal accepté avant qu'une composante de références circulaires cesse d'itérer |
| RecalcOnSave |
Demande un recalcul du classeur lorsque Excel enregistre le fichier |
| UseFullPrecision |
Conserve la pleine précision des formules ; lorsqu'il est désactivé, les caches de formules et de tables de données What-If sont arrondis à leur précision numérique affichée effective avant que les cellules dépendantes ne les lisent |
Validation de la saisie de formules
property IXLSWorkbook.FormulaEntryPolicy: TXLSFormulaEntryPolicy;
function TXLSWorksheet.ValidateFormulaEntry(Row, Col: Integer;
const Formula: WideString): TXLSFormulaEntryValidationResult;
Le contrat de validation partagé classe les saisies vides, les fonctions inconnues, les noms inconnus, les échecs de syntaxe, les coordonnées invalides et les formules que la cible XLS classique ne peut pas représenter sans modifier l'état de la feuille de calcul ; voir la
stratégie de validation de la saisie de formules
Calibration de rendu de IXLSWorkbook
property RenderCalibration: TXLSRenderCalibration;
function CaptureRenderCalibration: TXLSRenderCalibration;
procedure ResetRenderCalibration;
function CreateRenderGeometry(ABackend: TXLSRenderGeometryBackend;
ACacheCapacity: Integer = 4096): IXLSRenderGeometry;
L'affectation de l'enregistrement complet valide les six champs avant de modifier le classeur, CaptureRenderCalibration renvoie un instantané de valeur indépendant pour une opération de mesure ou d'export, et ResetRenderCalibration restaure les valeurs standard 1/1/1/1/100/96
Cette configuration réservée à l'exécution n'est pas sérialisée dans le fichier XLS et ne modifie ni les hauteurs de lignes ni les largeurs de colonnes de la feuille de calcul
CreateRenderGeometry copie la calibration courante dans un service propre à l'opération et lie son identité de cache à la génération courante du classeur et au backend sélectionné ; les modifications ultérieures de la calibration du classeur ne peuvent pas altérer un service existant
L'ajustement automatique de plage et chaque appel à TXLSPaginationModel.Build capturent une seule fois la calibration du classeur ; l'ajustement automatique est le seul consommateur qui écrit intentionnellement les dimensions ajustées, tandis que la pagination préserve chaque hauteur de ligne et largeur de colonne stockées
Propriétés de document de IXLSWorkbook
property Title: WideString;
property Subject: WideString;
property Author: WideString;
property Keywords: WideString;
property Comments: WideString;
property Company: WideString;
property Manager: WideString;
Ces propriétés lisent et écrivent les champs d'informations de résumé du classeur enregistrés avec le fichier XLS classique
Méthode Close de IXLSWorkbook
function Close: Integer;
Ferme l'objet classeur et libère le contenu appartenant au classeur conservé par le modèle objet XLS classique
property MetadataOnly: Boolean;
property SelectedSheets: TStringList;
property IncompleteLoad: Boolean;
| MetadataOnly |
Lorsqu'il est défini avant Open, lit uniquement les métadonnées du classeur et les descripteurs de feuilles et ignore les données de cellules |
| SelectedSheets |
Liste des noms de feuilles à charger lors de l'ouverture du classeur ; une liste vide charge toutes les feuilles |
| IncompleteLoad |
True après Open lorsque les données de cellules ont été ignorées parce que MetadataOnly ou SelectedSheets était utilisé |
Un classeur ouvert avec MetadataOnly ou un
SelectedSheets non vide ne peut pas être enregistré ; Save lève
une erreur tant que le classeur n'a pas été rouvert sans ces options
État réduit de TXLSColumnInfo
property TXLSWorksheet._ColumnInfo: TXLSColumnInfoList;
property TXLSColumnInfo.Collapsed: Boolean;
property TXLSRowInfo.Collapsed: Boolean;
property TXLSColumnInfoList.Collapsed[Index: Integer]: Boolean;
Collapsed expose le marqueur de plan BIFF des colonnes indépendamment de Hidden et OutlineLevel. L'index de liste est un index de colonne XLS classique basé sur zéro. Les colonnes absentes se lisent comme False, et l'affectation de False à une colonne absente n'alloue pas de métadonnées. Les copies de format de colonnes, les copies de feuilles de calcul et les cycles d'enregistrement-réouverture préservent le marqueur
Les accesseurs de stockage sous-jacents sont publics pour permettre l'inspection de bas niveau des classeurs. TXLSRowInfo expose MinCol et MaxCol (l'étendue de colonnes couverte, basée sur un), CustomHeight et CustomFormat (indiquent si une hauteur explicite ou un index XF est stocké) et XFIndexSet ; TXLSColumnInfo.isEqual compare deux entrées de métadonnées de colonnes champ par champ
TXLSColumnInfoList expose ColCount, MinCol, MaxCol, StdWidth et MaxOutlineLevel pour le diagnostic des limites et de la largeur par défaut, CalcMaxOutLineLevel recalcule le niveau de plan maximal mis en cache après des modifications directes des métadonnées, CopyColFormat clone une entrée de colonne vers un autre index, DeleteCol supprime une entrée, et FindNextColToStore parcourt les entrées stockées pour les écrivains d'enregistrements BIFF COLINFO, en indiquant l'étendue suivante dans les paramètres de sortie MinCol / MaxCol
Méthodes de nœuds de plan de TXLSWorksheet
function TryGetOutlineNode(AAxis: TXLSOutlineAxis; ANodeIndex: Integer; out ANode: TXLSOutlineNode): Boolean;
function SetOutlineNodeCollapsed(AAxis: TXLSOutlineAxis; ANodeIndex: Integer; ACollapsed: Boolean; AChildMode: TXLSOutlineChildMode = xocPreserve): Boolean;
procedure SetOutlineDisplayLevel(AAxis: TXLSOutlineAxis; ADisplayLevel: Integer; AChildMode: TXLSOutlineChildMode = xocPreserve);
Ces méthodes adaptent les métadonnées classiques de lignes et de colonnes au modèle de plan creux partagé, déduisent le nœud de synthèse demandé de sa direction de plan et appliquent les changements combinés de masquage et de réduction sans sonder les coordonnées inutilisées de la feuille de calcul
ANodeIndex est la ligne ou colonne de synthèse physique basée sur un, ADisplayLevel suit la convention des boutons de plan basés sur un, et xocPreserve garde par défaut les marqueurs de réduction des nœuds enfants imbriqués indépendants
Voir la
géométrie de plan creuse pour les champs des nœuds, les modes enfants, les exemples et les garanties de complexité
Méthodes de volet et de titres d'impression de TXLSWorksheet
function ThawPanes(Y, X: Single; RowTop, ColLeft: Word): Integer;
function SplitPanes(Width, Height: Single): Integer;
function UnsplitPanes: Integer;
function GetSelectedAreas(APane: TXLSPanePosition; out ActiveAreaIndex: Integer): TXLSSelectedAreas;
function SelectAreas(APane: TXLSPanePosition; const Areas: array of WideString; ActiveAreaIndex: Integer = 0): Boolean;
function TryGetWindowScroll(APane: TXLSPanePosition; out ARow, ACol: Integer): Boolean;
function ScrollWindow(APane: TXLSPanePosition; ARow, ACol: Integer): Boolean;
function RepeatRows(FirstRow, LastRow: Word): Integer;
function RepeatColumns(FirstCol, LastCol: Word): Integer;
ThawPanes, SplitPanes et UnsplitPanes contrôlent l'état des volets fractionnés, tandis que RepeatRows et RepeatColumns définissent les lignes ou colonnes de titres d'impression de la feuille de calcul
Les enregistrements de sélection BIFF consécutifs d'un même volet forment un seul groupe logique, les groupes modifiés sont écrits par blocs de 1369 zones au plus, et les copies de feuilles de calcul conservent chaque groupe de volets
Les modifications structurelles de lignes entières et de colonnes entières remappent chaque groupe de volets valide tout en préservant l'ordre des survivants et l'identité de la zone active, avec des replis déterministes pour le successeur, le prédécesseur et la cellule de bordure
Les enregistrements de sélection mal formés ou contradictoires restent opaques, sont rejetés à l'identique octet par octet lors de l'enregistrement, et signalent xlsDiagnosticSelectionRecordInvalid au lieu d'exposer un état typé partiellement fiable
TryGetWindowScroll et ScrollWindow exposent le contrat de défilement partagé des quatre volets basé sur un, en mappant les axes supérieur et gauche sur Window2 et les axes inférieur et droit sur Pane
Méthodes de validation des données typées de TXLSWorksheet
function AddWholeNumberValidation(ARange: WideString; AOp: TXLSDvOperator; const AFormula1: WideString; const AFormula2: WideString = ''): TDataValidation;
function AddDecimalValidation(ARange: WideString; AOp: TXLSDvOperator; const AFormula1: WideString; const AFormula2: WideString = ''): TDataValidation;
function AddDateValidation(ARange: WideString; AOp: TXLSDvOperator; const AFormula1: WideString; const AFormula2: WideString = ''): TDataValidation;
function AddTimeValidation(ARange: WideString; AOp: TXLSDvOperator; const AFormula1: WideString; const AFormula2: WideString = ''): TDataValidation;
function AddTextLengthValidation(ARange: WideString; AOp: TXLSDvOperator; const AFormula1: WideString; const AFormula2: WideString = ''): TDataValidation;
function AddCustomValidation(ARange: WideString; const AFormula: WideString): TDataValidation;
Chaque fonction d'aide crée une règle de validation de données typée pour ARange et renvoie l'instance TDataValidation créée afin que les options d'invite, d'erreur et de gestion des cellules vides puissent être ajustées
Membres de tableau croisé dynamique de TXLSWorksheet
property PivotTables: TXLSPivotTables;
function AddPivotTable(const SourceRangeA1: WideString; DestRow, DestCol: Integer; const Name: WideString): TXLSPivotTable;
function PivotSetDataFieldFormat(DataField: TXLSPivotDataField; const FormatStr: WideString): Word;
Utilisez
AddPivotTable pour créer un tableau croisé dynamique typé à partir d'une plage source, puis utilisez
PivotTables et
PivotSetDataFieldFormat pour inspecter ou mettre en forme le modèle généré. Consultez
l'API de tableau croisé dynamique XLS classique
function SetArrayFormula(const Formula: WideString): Integer;
function XFIndex: Integer;
property FirstRow: Word;
property LastRow: Word;
property FirstCol: Byte;
property LastCol: Byte;
SetArrayFormula assigne une formule matricielle à la plage. FirstRow, LastRow, FirstCol et LastCol exposent les limites de plage stockées à partir de 1, tandis que XFIndex renvoie l'index de format XLS classique effectif de la plage
Fonctions d'aide de transfert de IXLSRange
procedure PasteFrom(SrcRange: TXLSRange; PasteMode: LongWord; CopyMode: Boolean);
procedure ShiftTo(Row: Word; Col: Byte);
procedure ExtendRange;
procedure ContractRange;
PasteFrom applique le contenu de cellules d'une autre plage XLS classique à l'aide du mode de collage sélectionné. ShiftTo repositionne un objet de plage, tandis que ExtendRange et ContractRange ajustent le rectangle stocké avant les opérations de plage qui nécessitent des limites étendues ou normalisées
Interfaces de plage de lignes et de colonnes IXLS
interface IXLSRowsRange = interface(IXLSRange)
property Item[Row: Integer]: IXLSRowRange;
property Hidden: OleVariant;
property Count: LongWord;
procedure AutoFit(Columns: Boolean = False);
interface IXLSRowRange = interface(IXLSRange)
property Item[Col: Integer]: IXLSColRange;
property Hidden: OleVariant;
property Count: LongWord;
procedure AutoFit(Columns: Boolean = False);
interface IXLSColsRange = interface(IXLSRange)
property Item[Col: Integer]: IXLSColRange;
property Hidden: OleVariant;
property Count: LongWord;
procedure AutoFit(Columns: Boolean = True);
procedure Group(Rows: Boolean = False);
procedure UnGroup(Rows: Boolean = False);
property OutlineLevel: Integer;
interface IXLSColRange = interface(IXLSRange)
property Item[Row: Integer]: IXLSRowRange;
property Hidden: OleVariant;
property Count: LongWord;
procedure AutoFit(Columns: Boolean = True);
procedure Group(Rows: Boolean = False);
procedure UnGroup(Rows: Boolean = False);
property OutlineLevel: Integer;
IXLSRowsRange, IXLSRowRange, IXLSColsRange et IXLSColRange sont renvoyées par IXLSRange.Rows, IXLSRange.Columns, IXLSRange.EntireRow et IXLSRange.EntireColumn. Elles conservent la surface d'édition normale de IXLSRange tout en ajoutant un accès indexé aux lignes ou colonnes, un contrôle de l'état masqué, des compteurs, l'ajustement automatique et le regroupement de plan lorsque la direction de la plage le prend en charge
Propriété DisplayText de IXLSHyperLink
property DisplayText: WideString;
DisplayText lit ou modifie le texte visible qu'Excel affiche pour un lien hypertexte XLS classique, séparément de l'adresse cible et de l'infobulle
Propriétés de mappage d'ID de TXLSWorksheets
property IndexByID[SheetID: Integer]: Integer;
property IDByName[SheetName: WideString]: Integer;
property NameByID[SheetID: Integer]: WideString;
Ces propriétés de recherche en lecture seule mappent entre l'ID de feuille interne, l'index de feuille de calcul courant et le nom de feuille de calcul visible. Elles sont utiles pour préserver les formules, les plages nommées ou les enregistrements qui se réfèrent aux feuilles par identifiants stockés au lieu de l'ordre courant des onglets
Propriété SheetTypeRaw de TXLSWorksheet
property SheetTypeRaw: Byte;
SheetTypeRaw préserve la valeur brute BoundSheet8.dt XLS classique pendant le chargement et l'enregistrement des classeurs, de sorte que les enregistrements de macro, VBA, feuille de calcul, boîte de dialogue et autres types de feuilles puissent faire l'aller-retour sans être aplatis en un onglet de feuille de calcul standard
Propriétés d'impression avancées de IXLSPageSetup
property PrintNotesAtEnd: Boolean;
property UseFirstPageNumber: Boolean;
property FirstPageNumber: Integer;
property PrintCellErrors: LongWord;
property PrintResolution: LongWord;
property PrintVResolution: LongWord;
property Copies: LongWord;
property HasSetupRecord: Boolean; read only
property PrinterSettingsInitialized: Boolean; read only
property PrinterDriverData: TBytes;
property HasPrinterDriverData: Boolean; read only
procedure ClearPrinterDriverData;
Ces propriétés préservent les choix avancés de mise en page tels que les commentaires imprimés à la fin, un numéro de première page personnalisé, le rendu des erreurs de cellule imprimées, la résolution de l'imprimante et le nombre de copies
HasSetupRecord indique si une feuille de calcul XLS classique chargée contient un enregistrement BIFF Setup, tandis que PrinterSettingsInitialized indique si sa taille de papier, son échelle, son orientation, sa résolution et son nombre de copies sont définis par cet enregistrement
L'enregistrement d'une feuille de calcul non modifiée préserve l'absence d'enregistrement Setup et conserve octet par octet un enregistrement existant ; la modification d'un champ de mise en page crée l'enregistrement si nécessaire, et la modification d'un champ dépendant de l'imprimante initialise les paramètres d'imprimante
PrinterDriverData lit ou remplace la charge utile opaque du pilote d'imprimante BIFF PLS, HasPrinterDriverData distingue une charge utile absente, et ClearPrinterDriverData la supprime sans modifier les champs typés de mise en page
Les tableaux d'octets des accesseurs en lecture et en écriture sont copiés afin que les appelants et les copies de feuilles de calcul en soient propriétaires de manière indépendante ; les charges utiles classiques doivent inclure le préfixe réservé obligatoire de deux octets et ne peuvent pas dépasser 1 Mio
SaveXLSWorkbookAsXLSX reporte de manière indépendante les valeurs typées de mise en page et la charge utile opaque du pilote d'imprimante dans le modèle XLSX ; les champs standard typés restent la référence lorsque les octets privés du pilote contiennent des valeurs d'imprimante par défaut en double
Propriétés de jeu de caractères de IXLSFont
property CharSet: Byte;
property Family: Byte;
CharSet et Family exposent les octets de jeu de caractères et de famille de la police XLS classique pour les appelants qui doivent préserver des métadonnées de police spécifiques à la locale
Méthodes Abort de TDataToXLS et TGridToXLS
procedure TDataToXLS.Abort;
procedure TGridToXLS.Abort;
Appelez Abort depuis les gestionnaires d'événements d'export lorsqu'un export de dataset ou de grille en cours doit s'arrêter avant d'être terminé
Fonctions d'aide de référence XLS classiques
function GetCellRef(Cell: String; var Row, Col: Word): Integer;
function GetCellRange(CellRange: String; var StartRow, StartCol, EndRow, EndCol: Word): Integer;
function EncodeCellRef(Row, Col: Word): String;
function EncodeCellRange(StartRow, StartCol, EndRow, EndCol: Word): String;
function Width2Excel(Value: Single): Word;
function Excel2Width(Value: Word): Single;
function Height2Excel(Value: Single): Word;
function Excel2Height(Value: Word): Single;
function ColIndexToColName(Index: Integer): String;
function ColNameToColIndex(Name: String): Integer;
Ces fonctions d'aide convertissent les références A1 classiques, les plages, les étiquettes de colonnes, les dimensions de lignes ou de colonnes et les unités de stockage Excel utilisées par le modèle objet XLS classique