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 de trabajo guardado con el archivo
FormulaArrayMemoryLimit Limita la carga útil asignada por matrices de fórmulas generadas como MUNIT, tiene 64 MiB como valor predeterminado y acota los valores por debajo de un elemento Double
EnableIteration Habilita el cálculo iterativo para fórmulas circulares
MaxIterations Número máximo de pasadas de Gauss-Seidel para cada componente fuertemente conexo de referencias circulares
MaxIterationChange Delta numérico máximo aceptado antes de que un componente de referencia circular deje de iterar
RecalcOnSave Solicita el recálculo del libro de trabajo cuando Excel guarda el archivo
UseFullPrecision Conserva la precisión completa de las fórmulas; cuando se deshabilita, 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 las 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 errores 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 de trabajo, CaptureRenderCalibration devuelve una instantánea de valores 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 ni modifica las alturas de fila ni los anchos de columna de la hoja de cálculo
CreateRenderGeometry copia la calibración actual en un servicio propio de la operación y vincula su identidad de caché a la generación actual del libro de trabajo y al backend seleccionado; los cambios posteriores de calibración del libro no pueden alterar un servicio existente
El AutoFit del rango y cada llamada a TXLSPaginationModel.Build capturan la calibración del libro de trabajo una sola vez; AutoFit es el único consumidor que escribe intencionalmente las dimensiones ajustadas, mientras que la paginación conserva cada altura de fila y ancho de columna almacenados

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 de trabajo guardados con el archivo XLS clásico

Método Close de IXLSWorkbook

function Close: Integer;
      
Cierra el objeto del libro de trabajo y libera el contenido propiedad del libro retenido 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 solo los metadatos del libro de trabajo y los descriptores de hojas, y omite los datos de celdas
SelectedSheets Lista de nombres de hojas que se cargarán al abrir el libro de trabajo; una lista vacía carga todas las hojas
IncompleteLoad True después de Open cuando se omitieron los datos de celdas porque se usó MetadataOnly o SelectedSheets
Un libro de trabajo abierto con MetadataOnly o con una SelectedSheets que no esté vacía no se puede guardar; Save genera un error hasta que el libro se reabra 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 de base cero. Las columnas ausentes se leen como False, y asignar False a una columna ausente no asigna metadatos. Las copias de formato de columnas, las copias de hojas de cálculo y los ciclos de guardar y reabrir preservan el marcador
Los accesores de almacenamiento subyacentes son públicos para la inspección de bajo nivel del libro de trabajo. TXLSRowInfo informa MinCol y MaxCol (el intervalo de columnas cubierto de base uno), CustomHeight y CustomFormat (si hay una altura explícita o un índice XF almacenado) y XFIndexSet; TXLSColumnInfo.isEqual compara dos entradas de metadatos de columna campo por campo
TXLSColumnInfoList expone ColCount, MinCol, MaxCol, StdWidth y MaxOutlineLevel para diagnósticos de límites y de ancho predeterminado, CalcMaxOutLineLevel recalcula el nivel máximo de esquema en caché después de ediciones directas de metadatos, CopyColFormat clona una entrada de columna en otro índice, DeleteCol elimina una entrada, y FindNextColToStore recorre las entradas almacenadas para los escritores de registros COLINFO de BIFF, informando el 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 ocultamiento y contracción sin sondear coordenadas no utilizadas de la hoja de cálculo
ANodeIndex es la fila o columna física de resumen de base uno, ADisplayLevel sigue la convención de botones de esquema de base uno, y xocPreserve mantiene de forma predeterminada los marcadores de contracción de los nodos hijos anidados como independientes
Consulte Geometría de esquema dispersa para conocer los campos de los nodos, los modos de 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 del 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 orientada a paneles proporcionan el contrato compartido de selección de paneles lógicos descrito en Selecciones de paneles de la hoja de cálculo
Los registros de selección BIFF consecutivos de un panel forman un único grupo lógico, los grupos editados se escriben en bloques de como máximo 1369 áreas, y las copias de hojas de cálculo conservan cada grupo de paneles
Las ediciones estructurales de filas y columnas completas remapean cada grupo de paneles válido preservando el orden de los sobrevivientes y la identidad del área activa, con sucesores, predecesores y celdas de límite de respaldo deterministas
Los registros de selección mal formados o contradictorios permanecen opacos, se reproducen byte por byte al guardar y reportan xlsDiagnosticSelectionRecordInvalid en lugar de exponer estado tipado parcialmente confiable
TryGetWindowScroll y ScrollWindow exponen el contrato compartido de desplazamiento de cuatro paneles de base uno, mapeando los ejes superior e izquierdo a Window2 y los ejes inferior y derecho a Pane

Métodos de validación de datos tipados 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 tipada para ARange y devuelve la instancia TDataValidation creada para que se puedan ajustar las opciones de aviso, error y manejo de celdas 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 tipada a partir de un rango de origen, luego use PivotTables y PivotSetDataFieldFormat para inspeccionar o formatear el modelo generado. Consulte API de tabla dinámica XLS clásica

Miembros de fórmula de matriz 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 de matriz 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 para el 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 celda desde otro rango XLS clásico usando 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 expandidos o normalizados

Interfaces de rango de fila y columna 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 mientras agregan acceso indexado a filas o columnas, control de estado oculto, conteos, ajuste automático y agrupación de esquemas donde la dirección del rango lo permite
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 mapeo de ID de TXLSWorksheets

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

Propiedad SheetTypeRaw de TXLSWorksheet

property SheetTypeRaw: Byte;
      
SheetTypeRaw preserva el valor bruto de BoundSheet8.dt del XLS clásico al cargar y guardar libros de trabajo, de modo que los registros de tipo de hoja de macros, VBA, hoja de cálculo, diálogo y otros pueden hacer viajes de ida y vuelta 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 si una hoja de cálculo XLS clásica cargada contiene un registro Setup de BIFF, mientras que PrinterSettingsInitialized informa si su tamaño de papel, escala, orientación, resolución y número de copias están definidos por ese registro
Guardar una hoja de cálculo sin modificar preserva la ausencia de un registro Setup y conserva byte por byte un registro existente; cambiar un campo de configuración de página crea el registro cuando es necesario, y cambiar un campo dependiente de la impresora inicializa la configuración de impresora
PrinterDriverData lee o reemplaza la carga útil opaca del controlador de impresora PLS de BIFF, HasPrinterDriverData distingue una carga útil ausente, y ClearPrinterDriverData la elimina sin cambiar los campos tipados de configuración de página
Los arreglos de bytes del getter y del setter se copian para que los llamadores y las copias de hojas de cálculo tengan propiedad independiente; las cargas útiles 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 la carga útil opaca del controlador de impresora al modelo XLSX; los campos estándar tipados permanecen como autoridad cuando los bytes privados del controlador contienen valores predeterminados 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 los manejadores 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 utilizadas por el modelo de objetos XLS clásico