Esta página abrange os membros públicos da API XLS clássica que pertencem a lxHandle, lxDataToXLSe lxGridToXLS
Propriedades de cálculo 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 do Workbook guardado no ficheiro |
| FormulaArrayMemoryLimit | Limita o payload atribuído por matrizes de fórmulas geradas, como MUNIT, assume 64 MiB por omissão e satura valores inferiores a um elemento Double element |
| EnableIteration | Ativa o cálculo iterativo para fórmulas circulares |
| MaxIterations | Número máximo de passagens de Gauss-Seidel para cada componente fortemente conexa de referências circulares |
| MaxIterationChange | Delta numérico máximo aceite antes de uma componente de referência circular parar de iterar |
| RecalcOnSave | Pede o recálculo do Workbook quando o Excel guarda o ficheiro |
| UseFullPrecision | Mantém a precisão total das fórmulas; quando desativada, as caches de fórmulas e de tabelas de dados What-If são arredondadas para a precisão numérica efetivamente apresentada antes de os dependentes as lerem |
Validação da introdução de fórmulas
property IXLSWorkbook.FormulaEntryPolicy: TXLSFormulaEntryPolicy;
function TXLSWorksheet.ValidateFormulaEntry(Row, Col: Integer;
const Formula: WideString): TXLSFormulaEntryValidationResult;
O contrato de validação partilhado classifica entradas vazias, funções desconhecidas, nomes desconhecidos, falhas de sintaxe, coordenadas inválidas e fórmulas que o destino XLS clássico não consegue representar sem alterar o estado da folha de cálculo; consulte
Política de validação da introdução de fórmulasCalibração de renderização IXLSWorkbook
property RenderCalibration: TXLSRenderCalibration;
function CaptureRenderCalibration: TXLSRenderCalibration;
procedure ResetRenderCalibration;
function CreateRenderGeometry(ABackend: TXLSRenderGeometryBackend;
ACacheCapacity: Integer = 4096): IXLSRenderGeometry;
A atribuição do registo completo valida os seis campos antes de alterar o livro de trabalho, CaptureRenderCalibration devolve um instantâneo de valores independente para uma operação de medição ou exportação, e ResetRenderCalibration repõe os valores padrão 1/1/1/1/100/96
Esta configuração apenas de tempo de execução não é serializada no ficheiro XLS e não modifica as alturas de linha nem as larguras de coluna da folha de cálculo
CreateRenderGeometry copia a calibração atual para um serviço pertencente à operação e vincula a identidade da sua cache à geração atual do livro de trabalho e ao backend selecionado; alterações posteriores da calibração do livro de trabalho não conseguem alterar um serviço existente
O AutoFit de intervalos e cada chamada a TXLSPaginationModel.Build capturam a calibração do livro de trabalho uma única vez; o AutoFit é o único consumidor que escreve intencionalmente dimensões ajustadas, enquanto a paginação preserva todas as alturas de linha e larguras de coluna armazenadas
Propriedades de documento IXLSWorkbook
property Title: WideString;
property Subject: WideString;
property Author: WideString;
property Keywords: WideString;
property Comments: WideString;
property Company: WideString;
property Manager: WideString;
Estas propriedades lêem e escrevem os campos de informação de sumário do livro guardados com o ficheiro XLS clássico
Método Close IXLSWorkbook
function Close: Integer;
Fecha o objecto do livro e liberta o conteúdo detido pelo modelo de objectos XLS clássico
property MetadataOnly: Boolean;
property SelectedSheets: TStringList;
property IncompleteLoad: Boolean;
| MetadataOnly | Quando definida antes de Open, lê apenas os metadados do livro de trabalho e os descritores de folhas e ignora os dados das células |
| SelectedSheets | Lista dos nomes de folhas a carregar quando o livro de trabalho é aberto; uma lista vazia carrega todas as folhas |
| IncompleteLoad | True após Open quando os dados das células foram ignorados porque MetadataOnly ou SelectedSheets foi utilizado |
Um livro de trabalho aberto com MetadataOnly ou com uma
SelectedSheets não vazia não pode ser guardado; Save gera
um erro até que o livro de trabalho seja reaberto sem essas opções
Estado recolhido 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 BIFF independentemente de Hidden e OutlineLevel. O índice da lista é um índice de coluna XLS clássico com base zero. Colunas ausentes são lidas como False, e atribuir False a uma coluna ausente não aloca metadados. Cópias de formato de coluna, cópias de folhas de cálculo e ciclos de gravação e reabertura preservam o marcador
Os acessores de armazenamento subjacentes são públicos para inspeção do livro de trabalho a baixo nível. TXLSRowInfo informa MinCol e MaxCol (o intervalo de colunas abrangido, com base um), CustomHeight e CustomFormat (se está armazenada uma altura explícita ou um índice XF), e XFIndexSet; TXLSColumnInfo.isEqual compara duas entradas de metadados de coluna campo a campo
TXLSColumnInfoList expõe ColCount, MinCol, MaxCol, StdWidthe MaxOutlineLevel para diagnóstico de limites e de largura predefinida, 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 para outro índice, DeleteCol remove uma entrada, e FindNextColToStore percorre as entradas armazenadas para os escritores de registos COLINFO BIFF, informando o próximo intervalo nos parâmetros MinCol / MaxCol /
Métodos de nós da estrutura de tópicos 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);
Estes métodos adaptam os metadados clássicos de linhas e colunas ao modelo esparso de estrutura de tópicos partilhado, derivam o nó de resumo pedido a partir da sua direção na estrutura de tópicos e aplicam alterações comprimidas de ocultação e recolha sem sondar coordenadas não utilizadas da folha de cálculo
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 predefinição os marcadores de recolha dos filhos aninhados independentes
Métodos de painel e título de impressão 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, SplitPanese UnsplitPanes controlam o estado de divisão de painéis, enquanto RepeatRows e RepeatColumns definem linhas ou colunas de título de impressão para a folha de cálculo
Os registos de seleção BIFF consecutivos de um mesmo painel formam um único grupo lógico, os grupos editados são escritos em blocos de, no máximo, 1369 áreas, e as cópias da folha de cálculo retêm todos os grupos de painéis
As edições estruturais de linhas ou colunas inteiras remapeiam todos os grupos de painéis válidos, preservando os sobreviventes ordenados e a identidade da área ativa, com fallbacks determinísticos de sucessor, antecessor e célula de limite
Os registos de seleção malformados ou contraditórios permanecem opacos, são reproduzidos byte a byte ao gravar e reportam xlsDiagnosticSelectionRecordInvalid em vez de expor um estado tipado parcialmente fidedigno
TryGetWindowScroll e ScrollWindow expõem o contrato partilhado de deslocamento de quatro painéis com base um, mapeando os eixos superior e esquerdo para Window2 e os eixos inferior e direito para Pane
Métodos tipados de validação de dados 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 devolve a instância TDataValidation criada para que as opções de pedido, erro e processamento de valores em branco possam ser ajustadas
Membros de tabela dinâmica TXLSWorksheet
property PivotTables: TXLSPivotTables;
function AddPivotTable(const SourceRangeA1: WideString; DestRow, DestCol: Integer; const Name: WideString): TXLSPivotTable;
function PivotSetDataFieldFormat(DataField: TXLSPivotDataField; const FormatStr: WideString): Word;
Utilize
AddPivotTable para criar uma tabela dinâmica tipada a partir de um intervalo de origem, depois utilize
PivotTables e
PivotSetDataFieldFormat para inspeccionar ou formatar o modelo gerado. Consulte
API de tabela dinâmica XLS clássica
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, FirstCole LastCol expõem os limites do intervalo com base 1 armazenados, enquanto XFIndex devolve o índice de formato XLS clássico efectivo para o intervalo
Auxiliares de transferência IXLSRange
procedure PasteFrom(SrcRange: TXLSRange; PasteMode: LongWord; CopyMode: Boolean);
procedure ShiftTo(Row: Word; Col: Byte);
procedure ExtendRange;
procedure ContractRange;
PasteFrom aplica o conteúdo de células de outro intervalo XLS clássico utilizando o modo de colagem seleccionado. ShiftTo reposiciona um objecto de intervalo, enquanto ExtendRange e ContractRange ajustam o rectângulo armazenado antes de operações de intervalo que necessitem 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, IXLSColsRangee IXLSColRange são devolvidos por IXLSRange.Rows, IXLSRange.Columns, IXLSRange.EntireRowe IXLSRange.EntireColumn. Mantêm a superfície de edição normal do IXLSRange ao mesmo tempo que adicionam acesso indexado a linhas ou colunas, controlo de estado oculto, contagens, autoajuste e agrupamento de destaques onde a direcção do intervalo o suporta
Propriedade DisplayText IXLSHyperLink
property DisplayText: WideString;
DisplayText lê ou altera o texto visível que o Excel mostra para uma hiperligação XLS clássica, separadamente do endereço de destino e da dica de ecrã
Propriedades de mapeamento de ID TXLSWorksheets
property IndexByID[SheetID: Integer]: Integer;
property IDByName[SheetName: WideString]: Integer;
property NameByID[SheetID: Integer]: WideString;
Estas propriedades de pesquisa só de leitura mapeiam entre o ID interno da folha, o índice actual da folha de cálculo e o nome visível da folha de cálculo. São úteis quando se preservam fórmulas, nomes definidos ou registos que se referem a folhas por identificadores armazenados em vez da ordem de separadores actual
Propriedade SheetTypeRaw TXLSWorksheet
property SheetTypeRaw: Byte;
SheetTypeRaw preserva o valor bruto BoundSheet8.dt do XLS clássico durante o carregamento e gravação de livros, para que os registos de tipo de folha de macro, VBA, folha de cálculo, diálogo e outros possam ser transferidos sem ser reduzidos a um separador de folha de cálculo padrão
Propriedades avançadas de impressão 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 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 erros de células impressas, resolução de impressora e contagem de cópias
HasSetupRecord informa se uma folha de cálculo XLS clássica carregada contém um registo BIFF Setup , enquanto PrinterSettingsInitialized informa se o tamanho do papel, a escala, a orientação, a resolução e a contagem de cópias são definidos por esse registo
Gravar uma folha de cálculo intacta preserva a ausência de um registo Setup e mantém um registo existente byte a byte; alterar um campo de configuração de página cria o registo quando necessário, e alterar um campo dependente da impressora inicializa as definições da impressora
PrinterDriverData lê ou substitui o payload opaco do controlador de impressora BIFF PLS , HasPrinterDriverData distingue um payload ausente, e ClearPrinterDriverData remove-o sem alterar os campos tipados de configuração de página
As matrizes de bytes de getter e setter são copiadas, para que os chamadores e as cópias da folha de cálculo tenham propriedade independente; os payloads clássicos têm de incluir o prefixo reservado obrigatório de dois bytes e não podem exceder 1 MiB
SaveXLSWorkbookAsXLSX transporta de forma independente para o modelo XLSX os valores tipados de configuração de página e o payload opaco do controlador de impressora; os campos padrão tipados continuam a ser autoritativos quando os bytes privados do controlador contêm predefinições de impressora duplicadas
Propriedades de conjunto de caracteres IXLSFont
property CharSet: Byte;
property Family: Byte;
CharSet e Family expõem os bytes de conjunto de caracteres e família do tipo de letra XLS clássico para os utilizadores que precisam de preservar metadados de tipo de letra específicos da localidade
Métodos Abort TDataToXLS e TGridToXLS
procedure TDataToXLS.Abort;
procedure TGridToXLS.Abort;
Chame Abort a partir de processadores de eventos de exportação quando uma exportação de conjunto de dados ou grelha em execução tiver de parar antes de ser concluída
Funções auxiliares de referência XLS clássica
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;
Estes auxiliares convertem referências A1 clássicas, intervalos, etiquetas de colunas, dimensões de linhas ou colunas e unidades de armazenamento Excel utilizadas pelo modelo de objectos XLS clássico