Documentación de HotXLS

Miembros adicionales de la API XLS clásica

Esta página cubre los miembros públicos de la API XLS clásica que pertenecen a lxHandle, lxDataToXLS y lxGridToXLS

Propiedades de cálculo de IXLSWorkbook

property CalculationMode: LongWord;
property FormulaArrayMemoryLimit: Int64;
property EnableIteration: Boolean;
property MaxIterations: LongWord;
property MaxIterationChange: Double;
property RecalcOnSave: Boolean;
property UseFullPrecision: Boolean;
      
CalculationMode Controla el modo de cálculo del libro que se almacena con el archivo
FormulaArrayMemoryLimit Acota la memoria que ocupan las fórmulas matriciales generadas, como MUNIT; el valor por defecto es 64 MiB, y los valores inferiores a un elemento Double se ajustan a ese mínimo
EnableIteration Habilita el cálculo iterativo para fórmulas circulares
MaxIterations Número máximo de pasadas Gauss-Seidel por cada componente fuertemente conexo de referencias circulares
MaxIterationChange Delta numérico máximo aceptado antes de que un componente de referencias circulares deje de iterar
RecalcOnSave Solicita el recálculo del libro cuando Excel guarda el archivo
UseFullPrecision Conserva la precisión completa de las fórmulas; al desactivarla, las cachés de fórmulas y de tablas de datos What-If se redondean a su precisión numérica mostrada efectiva antes de que los dependientes las lean

Validación de entrada de fórmulas

property IXLSWorkbook.FormulaEntryPolicy: TXLSFormulaEntryPolicy;
function TXLSWorksheet.ValidateFormulaEntry(Row, Col: Integer;
  const Formula: WideString): TXLSFormulaEntryValidationResult;
      
El contrato de validación compartido clasifica la entrada vacía, las funciones desconocidas, los nombres desconocidos, los fallos de sintaxis, las coordenadas no válidas y las fórmulas que no pueden representarse en el destino XLS clásico sin cambiar el estado de la hoja de cálculo; consulte Directiva de validación de entrada de fórmulas

Calibración de renderizado de IXLSWorkbook

property RenderCalibration: TXLSRenderCalibration;
function CaptureRenderCalibration: TXLSRenderCalibration;
procedure ResetRenderCalibration;
function CreateRenderGeometry(ABackend: TXLSRenderGeometryBackend;
  ACacheCapacity: Integer = 4096): IXLSRenderGeometry;
      
La asignación del registro completo valida los seis campos antes de modificar el libro, CaptureRenderCalibration devuelve una instantánea de valor independiente para una sola operación de medición o exportación, y ResetRenderCalibration restaura los valores estándar 1/1/1/1/100/96
Esta configuración de solo ejecución no se serializa en el archivo XLS y no modifica las alturas de fila ni las anchuras de columna de la hoja de cálculo
CreateRenderGeometry copia la calibración actual en un servicio propio de la operación y vincula la identidad de su caché a la generación actual del libro y al backend seleccionado; los cambios posteriores de calibración del libro no pueden alterar un servicio ya existente
El AutoFit de rango y cada llamada a TXLSPaginationModel.Build capturan la calibración del libro una sola vez; AutoFit es el único consumidor que escribe intencionadamente las dimensiones ajustadas, mientras que la paginación preserva cada altura de fila y anchura de columna almacenadas

Propiedades de documento de IXLSWorkbook

property Title: WideString;
property Subject: WideString;
property Author: WideString;
property Keywords: WideString;
property Comments: WideString;
property Company: WideString;
property Manager: WideString;
      
Estas propiedades leen y escriben los campos de información de resumen del libro guardados con el archivo XLS clásico

Método Close de IXLSWorkbook

function Close: Integer;
      
Cierra el objeto de libro y libera el contenido propiedad del libro mantenido por el modelo de objetos XLS clásico

Propiedades de carga de solo metadatos de IXLSWorkbook

property MetadataOnly: Boolean;
property SelectedSheets: TStringList;
property IncompleteLoad: Boolean;
      
MetadataOnly Cuando se establece antes de Open, lee únicamente los metadatos y descriptores de hoja del libro y omite los datos de celdas
SelectedSheets Lista de nombres de hojas que se cargarán al abrir el libro; una lista vacía carga todas las hojas
IncompleteLoad True tras Open cuando se omitieron los datos de celdas porque se usó MetadataOnly o SelectedSheets
Un libro abierto con MetadataOnly o con una SelectedSheets no vacía no puede guardarse; Save lanza un error hasta que el libro se vuelva a abrir sin esas opciones

Estado contraído de TXLSColumnInfo

property TXLSWorksheet._ColumnInfo: TXLSColumnInfoList;
property TXLSColumnInfo.Collapsed: Boolean;
property TXLSRowInfo.Collapsed: Boolean;
property TXLSColumnInfoList.Collapsed[Index: Integer]: Boolean;
      
Collapsed expone el marcador de esquema de columnas BIFF de forma independiente a Hidden y OutlineLevel. El índice de la lista es un índice de columna XLS clásico basado en cero. Las columnas ausentes se leen como False, y asignar False a una columna ausente no asigna metadatos. Las copias de formato de columna, las copias de hojas de cálculo y los ciclos de guardado y reapertura preservan el marcador
Los descriptores de acceso al almacenamiento subyacente son públicos para permitir la inspección de libros a bajo nivel. TXLSRowInfo informa de MinCol y MaxCol (el intervalo de columnas cubierto, basado en uno), de CustomHeight y CustomFormat (si hay una altura explícita o un índice XF almacenados) y de XFIndexSet; TXLSColumnInfo.isEqual compara dos entradas de metadatos de columna campo a campo
TXLSColumnInfoList expone ColCount, MinCol, MaxCol, StdWidth y MaxOutlineLevel para diagnósticos de límites y de anchura por defecto, CalcMaxOutLineLevel recalcula el nivel máximo de esquema cacheado tras editar los metadatos directamente, CopyColFormat clona una entrada de columna sobre otro índice, DeleteCol elimina una entrada, y FindNextColToStore recorre las entradas almacenadas para los escritores de registros COLINFO de BIFF, informando del siguiente intervalo en los parámetros de salida MinCol / MaxCol

Métodos de nodos de esquema 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);
      
Estos métodos adaptan los metadatos clásicos de filas y columnas al modelo de esquema disperso compartido, derivan el nodo de resumen solicitado a partir de su dirección de esquema y aplican cambios comprimidos de ocultación y contracción sin sondear coordenadas no usadas de la hoja de cálculo
ANodeIndex es la fila o columna física de resumen basada en uno, ADisplayLevel sigue la convención de botones de esquema basada en uno, y xocPreserve mantiene de forma predeterminada los marcadores de contracción de los nodos hijos anidados como independientes
Consulte Geometría de esquemas dispersos para conocer los campos de los nodos, los modos hijos, ejemplos y garantías de complejidad

Métodos de panel y título de impresión 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 y UnsplitPanes controlan el estado de panel dividido, mientras que RepeatRows y RepeatColumns establecen las filas o columnas de título de impresión de la hoja de cálculo
GetSelectedAreas y la sobrecarga de SelectAreas que recibe primero el panel proporcionan el contrato compartido de selección de paneles lógicos descrito en API de selección en paneles de hoja de cálculo
Los registros de selección BIFF consecutivos de un mismo panel forman un único grupo lógico, los grupos editados se escriben en bloques de 1369 áreas como máximo, y las copias de hojas de cálculo conservan todos los grupos de paneles
Las ediciones estructurales de filas y columnas completas remapean todos los grupos de paneles válidos preservando el orden de los supervivientes y la identidad del área activa, con fallbacks deterministas para el sucesor, el predecesor y la celda de límite
Los registros de selección mal formados o contradictorios permanecen opacos, se reproducen byte a byte al guardar y reportan xlsDiagnosticSelectionRecordInvalid en lugar de exponer un estado tipado parcialmente fiable
TryGetWindowScroll y ScrollWindow exponen el contrato compartido de desplazamiento de cuatro paneles basado en uno, mapeando los ejes superior e izquierdo a Window2 y los ejes inferior y derecho a Pane

Métodos de validación de datos con tipo 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;
      
Cada auxiliar crea una regla de validación de datos con tipo para ARange y devuelve la instancia TDataValidation creada para que se puedan ajustar las opciones de aviso, error y manejo de valores en blanco

Miembros de tabla dinámica 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;
      
Use AddPivotTable para crear una tabla dinámica con tipo a partir de un rango de origen; a continuación, use PivotTables y PivotSetDataFieldFormat para inspeccionar o dar formato al modelo generado. Consulte API de tabla dinámica XLS clásica

Miembros de fórmula matricial y límites de IXLSRange

function SetArrayFormula(const Formula: WideString): Integer;
function XFIndex: Integer;
property FirstRow: Word;
property LastRow: Word;
property FirstCol: Byte;
property LastCol: Byte;
      
SetArrayFormula asigna una fórmula matricial al rango. FirstRow, LastRow, FirstCol y LastCol exponen los límites del rango almacenado de base 1, mientras que XFIndex devuelve el índice de formato XLS clásico efectivo del rango

Auxiliares de transferencia de IXLSRange

procedure PasteFrom(SrcRange: TXLSRange; PasteMode: LongWord; CopyMode: Boolean);
procedure ShiftTo(Row: Word; Col: Byte);
procedure ExtendRange;
procedure ContractRange;
      
PasteFrom aplica el contenido de celdas de otro rango XLS clásico mediante el modo de pegado seleccionado. ShiftTo reposiciona un objeto de rango, mientras que ExtendRange y ContractRange ajustan el rectángulo almacenado antes de las operaciones de rango que necesitan límites ampliados o normalizados

Interfaces de rango de filas y columnas 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 e IXLSColRange son devueltos por IXLSRange.Rows, IXLSRange.Columns, IXLSRange.EntireRow e IXLSRange.EntireColumn. Mantienen la superficie de edición normal de IXLSRange al tiempo que añaden acceso a filas o columnas indexadas, control del estado oculto, recuentos, autoajuste y agrupación de esquemas cuando la dirección del rango lo admite
property DisplayText: WideString;
      
DisplayText lee o cambia el texto visible que Excel muestra para un hipervínculo XLS clásico, de forma independiente a la dirección de destino y la información en pantalla

Propiedades de asignación de ID de TXLSWorksheets

property IndexByID[SheetID: Integer]: Integer;
property IDByName[SheetName: WideString]: Integer;
property NameByID[SheetID: Integer]: WideString;
      
Estas propiedades de solo lectura asignan entre el ID interno de hoja, el índice de hoja de cálculo actual y el nombre visible de la hoja de cálculo. Son útiles para preservar fórmulas, nombres definidos o registros que hacen referencia a hojas mediante identificadores almacenados en lugar del orden de pestañas actual

Propiedad SheetTypeRaw de TXLSWorksheet

property SheetTypeRaw: Byte;
      
SheetTypeRaw preserva el valor bruto de BoundSheet8.dt del XLS clásico durante la carga y el guardado de libros, de modo que los registros de tipo de hoja de macro, VBA, hoja de cálculo, diálogo y otros pueden hacer Roundtrip sin ser aplanados a una pestaña de hoja de cálculo estándar

Propiedades avanzadas de impresión 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;
      
Estas propiedades preservan opciones avanzadas de configuración de página, como comentarios impresos al final, un número de primera página personalizado, representación de errores de celda impresos, resolución de impresora y número de copias
HasSetupRecord informa de si una hoja de cálculo XLS clásica cargada contiene un registro Setup de BIFF, mientras que PrinterSettingsInitialized informa de si el tamaño de papel, la escala, la orientación, la resolución y el número de copias están definidos por ese registro
Al guardar una hoja de cálculo sin modificar se preserva tanto la ausencia de un registro Setup como un registro existente byte a byte; cambiar un campo de configuración de página crea el registro cuando es necesario, y cambiar un campo dependiente de la impresora inicializa los ajustes de impresora
PrinterDriverData lee o reemplaza el payload opaco del controlador de impresora BIFF PLS, HasPrinterDriverData distingue un payload ausente, y ClearPrinterDriverData lo elimina sin cambiar los campos tipados de configuración de página
Los arrays de bytes de los getters y setters se copian para que los llamadores y las copias de hojas de cálculo tengan una propiedad independiente; los payloads Classic deben incluir el prefijo reservado obligatorio de dos bytes y no pueden superar 1 MiB
SaveXLSWorkbookAsXLSX traslada de forma independiente los valores tipados de configuración de página y el payload opaco del controlador de impresora al modelo XLSX; los campos estándar tipados siguen siendo la referencia autoritaria cuando los bytes privados del controlador contienen valores por defecto de impresora duplicados

Propiedades de conjunto de caracteres de IXLSFont

property CharSet: Byte;
property Family: Byte;
      
CharSet y Family exponen los bytes de conjunto de caracteres y familia de fuente del XLS clásico para los llamadores que necesitan preservar metadatos de fuente específicos de configuración regional

Métodos Abort de TDataToXLS y TGridToXLS

procedure TDataToXLS.Abort;
procedure TGridToXLS.Abort;
      
Llame a Abort desde controladores de eventos de exportación cuando una exportación de conjunto de datos o cuadrícula en ejecución deba detenerse antes de completarse

Funciones auxiliares de referencia XLS clásica

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;
      
Estos auxiliares convierten referencias A1 clásicas, rangos, etiquetas de columna, dimensiones de fila o columna y unidades de almacenamiento de Excel usadas por el modelo de objetos XLS clásico