Esta página cobre os membros públicos da API XLS clássica pertencentes a lxHandle, lxDataToXLS e lxGridToXLS
Propriedades 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 o modo de cálculo da pasta de trabalho armazenado junto com o arquivo |
| FormulaArrayMemoryLimit |
Delimita o payload alocado por arrays de fórmula gerados, como MUNIT, assume 64 MiB por padrão e satura valores abaixo de um elemento Double |
| EnableIteration |
Habilita o cálculo iterativo para fórmulas circulares |
| MaxIterations |
Contagem máxima de passos de Gauss-Seidel para cada componente fortemente conectado de referência circular |
| MaxIterationChange |
Delta numérico máximo aceito antes de um componente de referência circular parar de iterar |
| RecalcOnSave |
Solicita o recálculo da pasta de trabalho quando o Excel salva o arquivo |
| UseFullPrecision |
Mantém a precisão completa das fórmulas; quando desabilitado, os caches de fórmula e de tabelas de dados What-If são arredondados para a precisão numérica exibida efetiva antes de os dependentes os lerem |
Validação de entrada de fórmula
property IXLSWorkbook.FormulaEntryPolicy: TXLSFormulaEntryPolicy;
function TXLSWorksheet.ValidateFormulaEntry(Row, Col: Integer;
const Formula: WideString): TXLSFormulaEntryValidationResult;
O contrato compartilhado de validação classifica entrada vazia, funções desconhecidas, nomes desconhecidos, falhas de sintaxe, coordenadas inválidas e fórmulas que não podem ser representadas no destino XLS clássico sem alterar o estado da planilha; veja
Política de validação de entrada de fórmula
Calibração de renderização de IXLSWorkbook
property RenderCalibration: TXLSRenderCalibration;
function CaptureRenderCalibration: TXLSRenderCalibration;
procedure ResetRenderCalibration;
function CreateRenderGeometry(ABackend: TXLSRenderGeometryBackend;
ACacheCapacity: Integer = 4096): IXLSRenderGeometry;
A atribuição do registro inteiro valida todos os seis campos antes de alterar a pasta de trabalho, CaptureRenderCalibration retorna um snapshot de valores independente para uma operação de medição ou exportação, e ResetRenderCalibration restaura os valores padrão 1/1/1/1/100/96
Essa configuração apenas de execução não é serializada no arquivo XLS e não modifica alturas de linha nem larguras de coluna da planilha
CreateRenderGeometry copia a calibração atual para um serviço de propriedade da operação e vincula a identidade de seu cache à geração atual da pasta de trabalho e ao backend selecionado; mudanças posteriores na calibração da pasta de trabalho não podem alterar um serviço existente
O AutoFit de intervalo e cada chamada de TXLSPaginationModel.Build capturam a calibração da pasta de trabalho uma única vez; o AutoFit é o único consumidor que grava intencionalmente dimensões ajustadas, enquanto a paginação preserva cada altura de linha e largura de coluna armazenadas
Propriedades 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;
Essas propriedades leem e gravam os campos de informações resumidas da pasta de trabalho salvos com o arquivo XLS clássico
Método Close de IXLSWorkbook
function Close: Integer;
Fecha o objeto de pasta de trabalho e libera o conteúdo de propriedade da pasta de trabalho mantido pelo modelo de objeto XLS clássico
property MetadataOnly: Boolean;
property SelectedSheets: TStringList;
property IncompleteLoad: Boolean;
| MetadataOnly |
Quando definido antes de Open, lê apenas metadados da pasta de trabalho e descritores de planilhas e pula os dados das células |
| SelectedSheets |
Lista de nomes de planilhas a carregar quando a pasta de trabalho é aberta; uma lista vazia carrega todas as planilhas |
| IncompleteLoad |
True após Open quando os dados das células foram pulados porque MetadataOnly ou SelectedSheets foi usado |
Uma pasta de trabalho aberta com MetadataOnly ou uma SelectedSheets não vazia não pode ser salva; Save gera um erro até a pasta de trabalho ser reaberta sem essas opções
Estado recolhido de TXLSColumnInfo
property TXLSWorksheet._ColumnInfo: TXLSColumnInfoList;
property TXLSColumnInfo.Collapsed: Boolean;
property TXLSRowInfo.Collapsed: Boolean;
property TXLSColumnInfoList.Collapsed[Index: Integer]: Boolean;
Collapsed expõe o marcador de estrutura de tópicos de coluna do BIFF independentemente de Hidden e OutlineLevel. O índice da lista é um índice de coluna XLS clássico com base zero. Colunas ausentes leem False, e atribuir False a uma coluna ausente não aloca metadados. Cópias de formato de coluna, cópias de planilha e ciclos de salvar e reabrir preservam o marcador
Os acessadores de armazenamento subjacentes são públicos para inspeção da pasta de trabalho em baixo nível. TXLSRowInfo informa MinCol e MaxCol (o intervalo coberto de colunas com base um), CustomHeight e CustomFormat (se uma altura explícita ou um índice XF está armazenado) e XFIndexSet; TXLSColumnInfo.isEqual compara duas entradas de metadados de coluna campo a campo
TXLSColumnInfoList expõe ColCount, MinCol, MaxCol, StdWidth e MaxOutlineLevel para diagnósticos de limites e de largura padrão, CalcMaxOutLineLevel recalcula o nível máximo de estrutura de tópicos em cache após edições diretas de metadados, CopyColFormat clona uma entrada de coluna em outro índice, DeleteCol remove uma entrada, e FindNextColToStore percorre as entradas armazenadas para os gravadores de registro BIFF COLINFO, informando o próximo intervalo nos parâmetros de saída MinCol / MaxCol
Métodos de nós de estrutura de tópicos 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);
Esses métodos adaptam os metadados clássicos de linhas e colunas ao modelo compartilhado de estrutura de tópicos esparsa, derivam o nó de resumo solicitado de sua direção de estrutura de tópicos e aplicam mudanças comprimidas de ocultação e recolhimento sem sondar coordenadas não usadas da planilha
ANodeIndex é a linha ou coluna de resumo física com base um, ADisplayLevel segue a convenção de botões de estrutura de tópicos com base um, e xocPreserve mantém por padrão os marcadores de recolhimento dos filhos aninhados independentes
Métodos de painel e título de impressão 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 e UnsplitPanes controlam o estado de painel dividido, enquanto RepeatRows e RepeatColumns definem as linhas ou colunas de título de impressão da planilha
GetSelectedAreas e a sobrecarga de
SelectAreas que recebe o painel primeiro fornecem o contrato compartilhado de seleção de painéis lógicos descrito em
Seleções de painéis de planilha
Registros de seleção BIFF consecutivos para um mesmo painel formam um único grupo lógico, os grupos editados são gravados em blocos de no máximo 1369 áreas, e cópias de planilha retêm todos os grupos de painéis
Edições estruturais de linha inteira e coluna inteira remapeiam todos os grupos de painéis válidos preservando os sobreviventes ordenados e a identidade da área ativa, com sucessores, predecessores e fallbacks de célula de contorno determinísticos
Registros de seleção malformados ou contraditórios permanecem opacos, são reproduzidos byte a byte ao salvar e informam xlsDiagnosticSelectionRecordInvalid em vez de expor um estado tipado parcialmente confiável
TryGetWindowScroll e ScrollWindow expõem o contrato compartilhado de rolagem dos quatro painéis com base 1, mapeando os eixos superior e esquerdo para Window2 e os eixos inferior e direito para Pane
Métodos tipados de validação de dados 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 cria uma regra de validação de dados tipada para ARange e retorna a instância TDataValidation criada para que as opções de prompt, erro e tratamento de valores em branco possam ser ajustadas
Membros de tabela 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 criar uma tabela dinâmica tipada a partir de um intervalo de origem, depois use
PivotTables e
PivotSetDataFieldFormat para inspecionar ou formatar o modelo gerado. Veja
API de tabela dinâmica XLS clássico
function SetArrayFormula(const Formula: WideString): Integer;
function XFIndex: Integer;
property FirstRow: Word;
property LastRow: Word;
property FirstCol: Byte;
property LastCol: Byte;
SetArrayFormula atribui uma fórmula de matriz ao intervalo. FirstRow, LastRow, FirstCol e LastCol expõem os limites armazenados do intervalo baseados em 1, enquanto XFIndex retorna o índice de formato XLS clássico efetivo para o intervalo
Auxiliares de transferência de IXLSRange
procedure PasteFrom(SrcRange: TXLSRange; PasteMode: LongWord; CopyMode: Boolean);
procedure ShiftTo(Row: Word; Col: Byte);
procedure ExtendRange;
procedure ContractRange;
PasteFrom aplica conteúdo de célula de outro intervalo XLS clássico usando o modo de colagem selecionado. ShiftTo reposiciona um objeto de intervalo, enquanto ExtendRange e ContractRange ajustam o retângulo armazenado antes de operações de intervalo que precisam de limites expandidos ou normalizados
Interfaces de intervalo de linha e coluna 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 são retornados por IXLSRange.Rows, IXLSRange.Columns, IXLSRange.EntireRow e IXLSRange.EntireColumn. Eles mantêm a superfície de edição normal de IXLSRange enquanto adicionam acesso indexado a linhas ou colunas, controle de estado oculto, contagens, ajuste automático e agrupamento de estrutura de tópicos onde a direção do intervalo suporta
Propriedade DisplayText de IXLSHyperLink
property DisplayText: WideString;
DisplayText lê ou altera o texto visível que o Excel exibe para um hiperlink XLS clássico, separadamente do endereço de destino e da dica de tela
Propriedades de mapeamento de ID de TXLSWorksheets
property IndexByID[SheetID: Integer]: Integer;
property IDByName[SheetName: WideString]: Integer;
property NameByID[SheetID: Integer]: WideString;
Essas propriedades somente leitura mapeiam entre o ID de planilha interno, o índice de planilha atual e o nome de planilha visível. Elas são úteis ao preservar fórmulas, nomes definidos ou registros que fazem referência a planilhas por identificadores armazenados em vez da ordem de guias atual
Propriedade SheetTypeRaw de TXLSWorksheet
property SheetTypeRaw: Byte;
SheetTypeRaw preserva o valor bruto de BoundSheet8.dt do XLS clássico ao carregar e salvar pastas de trabalho, para que registros de planilha do tipo macro, VBA, planilha de cálculo, diálogo e outros possam fazer round-trip sem serem achatados para uma guia de planilha padrão
Propriedades avançadas de impressão 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;
Essas propriedades preservam opções avançadas de configuração de página, como comentários impressos no final, um número de primeira página personalizado, renderização de erro de célula impressa, resolução de impressora e contagem de cópias
HasSetupRecord informa se uma planilha XLS clássica carregada contém um registro BIFF Setup, enquanto PrinterSettingsInitialized informa se o tamanho de papel, a escala, a orientação, a resolução e a contagem de cópias dessa planilha estão definidos por esse registro
Salvar uma planilha intocada preserva a ausência de um registro Setup e mantém um registro existente byte a byte; alterar um campo de configuração de página cria o registro quando necessário, e alterar um campo dependente de impressora inicializa as configurações da impressora
PrinterDriverData lê ou substitui o payload opaco de driver de impressora PLS do BIFF, HasPrinterDriverData distingue um payload ausente, e ClearPrinterDriverData o remove sem alterar os campos tipados de configuração de página
Os arrays de bytes de getter e setter são copiados, de modo que chamadores e cópias de planilha tenham propriedade independente; payloads Classic precisam incluir o prefixo reservado obrigatório de dois bytes e não podem exceder 1 MiB
SaveXLSWorkbookAsXLSX leva os valores tipados de configuração de página e o payload opaco de driver de impressora de forma independente para o modelo XLSX; os campos padrão tipados permanecem autoritativos quando bytes privados do driver contêm padrões de impressora duplicados
Propriedades de conjunto de caracteres de IXLSFont
property CharSet: Byte;
property Family: Byte;
CharSet e Family expõem os bytes de conjunto de caracteres e família da fonte XLS clássico para chamadores que precisam preservar metadados de fonte específicos de localidade
Métodos Abort de TDataToXLS e TGridToXLS
procedure TDataToXLS.Abort;
procedure TGridToXLS.Abort;
Chame Abort a partir de manipuladores de eventos de exportação quando uma exportação de conjunto de dados ou grade em execução precisa parar antes da conclusão
Funções auxiliares de referência XLS clássico
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;
Esses auxiliares convertem referências A1 clássicas, intervalos, rótulos de coluna, dimensões de linha ou coluna e unidades de armazenamento do Excel usadas pelo modelo de objeto XLS clássico