Estes membros públicos aceitam integrações que inspecionam I/O, implementam serializadores ou coordenam cálculo entre pastas de trabalho, com membros de pasta de trabalho declarados em lxHandleX e o grafo de workspace declarado em lxDepGraph
Aplicativos comuns devem usar primeiro formatação de células, SaveAs, Recalculate e as APIs de workspace de pasta de trabalho externa; o registro de pool de estilos e o agendamento de grafo exigem as mesmas convenções de índice e de tempo de vida dos serializadores e do motor de cálculo da biblioteca
TXLSXWorkbook.OnReadCell recebe o índice de planilha, linha, coluna, valor armazenado e fórmula de cada célula materializada durante a análise XLSX, com um sinalizador gravável Cancel; TXLSXWorkbook.OnWriteCell recebe um valor de saída gravável mais sinalizadores Skip e Cancel antes de uma célula ser serializada, de modo que um host pode transformar ou omitir a saída sem substituir a API da pasta de trabalho pela API direta de stream
Ambos os callbacks usam coordenadas de planilha e de célula com base um, e os tipos declarados deles são TXLSXCellReadEvent e TXLSXCellWriteEvent; os callbacks executam dentro da operação de I/O ativa, então evite iniciar outra operação na mesma pasta de trabalho a partir de um callback
TXLSXWorkbook.RecoveryMode tem False como padrão e permite que falhas com suporte de análise de XML de planilha virem diagnósticos de aviso enquanto a abertura continua, potencialmente deixando apenas conteúdos de planilha parcialmente recuperados; ele não garante recuperação de um pacote ZIP ilegível, então inspecione os diagnósticos e os dados recuperados antes de salvar
TXLSXWorkbook.FireProgress despacha uma fase, estado, contagem atual e contagem total para os manipuladores de progresso atribuídos, com o manipulador legado recebendo notificações de trabalho e o manipulador estendido recebendo todos os estados; um manipulador estendido pode pedir cancelamento, exceto que a notificação de fim de gravação não pode reverter uma saída já confirmada
TXLSXWorkbook.AddDiagnostic anexa e retorna um diagnóstico de propriedade da pasta de trabalho, registra o código, a severidade, a operação, a mensagem, o código nativo, o contexto de planilha e o nome de parte de pacote fornecidos, copia o nome da classe de exceção quando uma exceção é fornecida e invoca OnDiagnostic; ele não assume a propriedade da exceção nem a dispara
function TXLSXWorkbook.AddDiagnostic(ACode: Integer; ASeverity: TXLSDiagnosticSeverity; AOperation: TXLSDiagnosticOperation; const AMessage: WideString; ANativeCode, ASheetIndex: Integer; const ASheetName, APartName: WideString; AException: Exception): TXLSDiagnostic;
TXLSXWorkbook.CSVEmitFormulas tem False como padrão e troca a saída CSV de resultados de fórmula para texto de fórmula nas células de fórmula; a saída de resultado tenta a avaliação de fórmula e recai no texto ou valor armazenado da célula quando a avaliação falha; TXLSXWorkbook.CSVQuoteAllStrings também tem False como padrão e força aspas em campos de texto, enquanto números, datas, Booleans, Null e Empty retêm as regras normais de aspas
TXLSXWorkbook.LastSaveUsedStreaming relata se o salvamento preparado mais recente usou streaming de planilha, enquanto TXLSXWorkbook.LastSavePeakRowXmlChars relata o maior fragmento de XML de linha em buffer, TXLSXWorkbook.LastSaveBufferedWorksheetXmlChars relata o XML de planilha combinado em buffer, e TXLSXWorkbook.LastSavePeakAuxiliaryXmlChars relata o maior fragmento de XML auxiliar rastreado; estas são contagens de caracteres da instrumentação do serializador, e não medições de memória total do processo, e a saída ODS não usa o caminho de streaming de planilha XLSX
TXLSXWorkbook.TryCopyPreservedPart tenta copiar uma parte de fonte preservada elegível, incluindo a representação comprimida dela, para um TZipArchive de destino fornecido pelo chamador, retornando True quando copiada ou False quando a serialização normal é exigida; a fonte deve permanecer disponível a partir de uma abertura apoiada em arquivo, e partes ausentes ou explicitamente descartadas não podem ser copiadas
O chamador é dono do arquivo de destino e deve finalizá-lo normalmente; uma falha de reversão de cópia comprimida ainda pode disparar uma exceção, e este helper não constrói um pacote completo de pasta de trabalho nem atualiza as relações nem os content types dele
TXLSXWorkbook.SaveAsEncryptedAgile aceita um nome de arquivo e uma senha não vazia, serializa o pacote XLSX em memória e grava o contêiner criptografado Agile, retornando 1 em caso de sucesso ou -1 em uma falha relatada; o VerifyEncryptedSave opcional executa uma verificação de reabertura depois de gravar, e o método exige memória para o pacote não criptografado, além dos bytes serializados dele
TXLSXWorkbook.VerifyEncryptedFile abre o arquivo e a senha fornecidos em uma pasta de trabalho temporária e retorna True apenas quando essa abertura tem sucesso, convertendo exceções em False; isto verifica a legibilidade em vez de comparar cada célula com a pasta de trabalho atual, e segue o comportamento normal de OpenEncrypted para uma entrada XLSX não criptografada
TXLSXWorkbook.DocSecurity armazena o campo de bits estendido de propriedades do documento: 1 denota proteção por senha, 2 recomendação de somente leitura, 4 status somente leitura imposto e 8 bloqueio de anotações; esses bits de metadados não aplicam por si criptografia nem restrições de acesso
TXLSXWorkbook.DocPropsTouched é o sinalizador somente leitura usado pelos escritores de propriedades do documento para decidir se propriedades rastreadas foram configuradas; setters de propriedades rastreadas como Title o definem, enquanto metadados estendidos atribuídos diretamente não o definem automaticamente
TXLSXWorkbook.WorkbookProtectHash expõe o hash legado de proteção de pasta de trabalho carregado ou gerado, normalmente quatro dígitos hexadecimais ou uma string vazia quando não existe hash de senha; use os métodos de proteção da pasta de trabalho para alterar a proteção em vez de atribuir este valor somente leitura, e mantenha a proteção da estrutura da pasta de trabalho separada do armazenamento de arquivos criptografados
TXLSXWorkbook.ThemeMajorFont e TXLSXWorkbook.ThemeMinorFont expõem as fontes de título e de corpo carregadas do tema e sobrepõem os nomes quando o tema padrão do Office é gerado; um tema preservado verbatim tem precedência sobre essas configurações de nome de fonte
TXLSXWorkbook.DefaultTableStyleName e TXLSXWorkbook.DefaultPivotStyleName fazem round trip dos nomes padrão armazenados na tabela de estilos para tabelas do Excel e tabelas dinâmicas recém-inseridas; atribuí-los não reformata diretamente cada objeto existente
TXLSXWorkbook.ResolveTableStyle retorna um estilo personalizado de propriedade da pasta de trabalho pelo nome, caso contrário resolve e coloca em cache os estilos internos com suporte de TableStyleLight1 a TableStyleLight21, TableStyleMedium1 a TableStyleMedium28 ou TableStyleDark1 a TableStyleDark11, e retorna nil para um nome desconhecido; não libere o estilo retornado
TXLSXWorkbook.FastStyleAppend tem False como padrão e deixa a criação em massa pular varreduras de deduplicação nos pools de estilos e o registro comum de estilos compostos, trocando uma tabela de estilos maior por inserção mais rápida quando muitos estilos distintos são criados
function TXLSXWorkbook.RegisterCompositeXf( AFont, AFill, ABorder, ANumFmt, AAlign, AProt: Integer): Integer; overload; function TXLSXWorkbook.RegisterCompositeXf( AFont, AFill, ABorder, ANumFmt, AAlign, AProt, ABuiltinNumFmt: Integer): Integer; overload; function TXLSXWorkbook.RegisterLinkedCompositeXf( AFont, AFill, ABorder, ANumFmt, AAlign, AProt, AParentXfId: Integer; ALinkedParts: TXLSXFormatParts): Integer;
TXLSXWorkbook.RegisterCompositeXf registra os índices combinados de fonte, preenchimento, borda, formato de número, alinhamento e proteção e retorna o índice absoluto de cellXfs, e não uma posição do pool de compostos; o overload de sete argumentos aceita um ID interno de formato de número que tem precedência sobre o índice de formato personalizado fornecido, com zero significando nenhuma sobreposição
TXLSXWorkbook.RegisterLinkedCompositeXf registra adicionalmente o ID de style-XF pai e as partes de formato vinculadas a esse pai, retendo entradas separadas para combinações diferentes de pai ou de vinculação; também retorna um índice absoluto de cellXfs
TXLSXWorkbook.CompositeXfBase retorna o primeiro índice absoluto de composto, calculado a partir dos pools de estilo atuais de dimensão única, enquanto TXLSXWorkbook.CompositeXfCount conta as entradas compostas registradas; uma posição de pool usada por GetCompositeXf é o índice absoluto menos a base, e a base pode mudar quando esses pools crescem, então estes valores pertencem ao estado atual de serialização
TXLSXWorkbook.RegisterCondDxf registra uma referência emprestada de TXLSDxfStyle e retorna o ID de estilo diferencial com base zero dela, reutilizando um ID existente para a mesma referência de objeto; mantenha o objeto vivo enquanto a serialização o usa
TXLSXWorkbook.ResetCondDxfs limpa a contagem do registro ativo sem liberar estilos emprestados, e TXLSXWorkbook.CondDxfCount relata essa contagem; a preparação de salvamento reconstrói este registro, então não persista estes IDs independentemente do pacote sendo gravado
TXLSXWorkbook.PivotCaches é a coleção TXLSPivotCaches de propriedade da pasta de trabalho compartilhada pelas tabelas dinâmicas de planilha; AddPivotTable reutiliza um cache de fonte correspondente ou cria um, e RefreshPivotCache atualiza o cache identificado preservando identidades de membros com suporte
TXLSXWorkbook.RecalcThreads tem zero como padrão, com zero ou um usando recálculo em série e valores maiores habilitando avaliação por workers de fronteiras de fórmula independentes; pastas de trabalho com matrizes dinâmicas usam uma passada em série independentemente desta configuração, nós de tabela de dados what-if permanecem em série, e manipuladores de funções do usuário usados por workers devem ser thread-safe
TXLSXWorkbook.SolveCycleIteratively é um ponto de entrada avançado normalmente invocado por Recalculate quando a iteração está habilitada, consumindo índices de nós do grafo de dependências atual daquela pasta de trabalho e avaliando nós de ciclo no TList fornecido; índices de um grafo de workspace ou de outra pasta de trabalho não são intercambiáveis
O solver usa IterateCount e IterateDelta, retém os valores finais mesmo se o limite de iteração for alcançado e retorna lxOk sem certificar convergência; membros de ciclo de matriz dinâmica retornam lxErrorCircumRef, e o argumento CycleCount da assinatura não substitui a classificação de ciclo nos nós do grafo
TXLSWorkspaceDepGraph armazena dependências de fórmula entre identidades de pasta de trabalho e de planilha fornecidas pelo chamador, sem abrir pastas de trabalho nem avaliar fórmulas; construa um grafo a partir das fórmulas atuais e das referências resolvidas, depois reconstrua-o após mudanças estruturais ou de fórmula que invalidem essas referências
function TXLSWorkspaceDepGraph.AddNode( const AWorkbookIdentity, ASheetName: WideString; ASheetIndex, ARow, ACol, AOutRow2, AOutCol2: Integer; AVolatile: Boolean; AReferences: TXLSWorkspaceDepReferenceList; ARefUnstable: Boolean = False): Integer; procedure TXLSWorkspaceDepGraph.DirtyTopoOrder(AOrder: TList; out ACycleNodeCount, ABlockedNodeCount: Integer);
TXLSWorkspaceDepGraph.AddNode anexa um nó de fórmula e retorna o índice de nó com base zero dele, copiando as referências fornecidas em vez de ser dono da lista delas; índices de planilha têm base um, enquanto coordenadas de linha e coluna, incluindo o canto inferior direito do retângulo de saída inclusivo, são coordenadas da calculadora com base zero
TXLSWorkspaceDepReferenceList.Add anexa um record de referência resolvida de célula, intervalo ou nome definido, TXLSWorkspaceDepReferenceList.Items lê esses records por índice com base zero, e TXLSWorkspaceDepReferenceList.Clear reinicia a lista para reutilização; o chamador é dono desta lista de entrada e pode limpá-la ou liberá-la depois que AddNode copiar as entradas dela
TXLSWorkspaceDepGraph.BuildEdges resolve referências armazenadas de célula e de intervalo contra retângulos de saída de fórmula; referências marcadas com LookupScan propagam sujeira, mas não impõem ordem de avaliação nem participam da detecção de ciclos
TXLSWorkspaceDepGraph.NodeIndexOf resolve uma pasta de trabalho, planilha, linha e coluna para um índice de nó com base zero ou -1 quando ausente, usando o nome da planilha quando disponível e o índice de planilha declarado como fallback
TXLSWorkspaceDepGraph.FindDependentsOfDefinedName limpa um TList não nil fornecido e o preenche com os índices de nós que se referem diretamente ao símbolo nomeado na pasta de trabalho e no escopo especificados, com um índice de escopo negativo correspondendo a todos os escopos; as entradas são codificadas como Pointer(NativeInt(NodeIndex)), de modo que uma entrada nil da lista pode representar o nó zero
TXLSWorkspaceDepGraph.BeginDirtyGeneration inicia uma nova geração, reinicia a contagem ativa de nós sujos e os sinalizadores de bloqueio por ciclo e torna carimbos de sujeira anteriores inativos; chame-o antes de marcar os nós para uma nova passada de recálculo
TXLSWorkspaceDepGraph.MarkAllDirty marca cada nó na geração atual; TXLSWorkspaceDepGraph.MarkWorkbookDirty semeia nós pertencentes à pasta de trabalho identificada e nós que se referem a ela, depois propaga para os dependentes, enquanto TXLSWorkspaceDepGraph.MarkVolatileDirty semeia nós voláteis e TXLSWorkspaceDepGraph.MarkCyclesDirty semeia componentes de ciclo detectados, propagando também a sujeira deles
TXLSWorkspaceDepGraph.IsNodeDirty relata se um nó válido carrega o carimbo da geração atual e retorna False para um índice inválido; TXLSWorkspaceDepGraph.DirtyGeneration expõe esse carimbo e TXLSWorkspaceDepGraph.DirtyNodeCount conta os nós marcados na geração ativa
TXLSWorkspaceDepGraph.DirtyTopoOrder exige um TList não nil de propriedade do chamador, o limpa e o preenche com índices de nós sujos em ordem de dependência, excluindo nós de ciclo sujos e nós bloqueados por esses ciclos; as duas contagens de saída dele distinguem membros de ciclo de nós downstream bloqueados, e as entradas da lista usam a mesma convenção de índice com base zero codificado em ponteiro
TXLSWorkspaceDepGraph.HasRefUnstable relata se algum nó foi adicionado com o sinalizador de referência instável, o que deixa o chamador evitar depender de um agendamento estático obsoleto quando referências de fórmula podem mudar no momento da avaliação; o grafo não resolve por si essas referências mutáveis
TXLSWorkspaceDepGraph.NodeCount conta nós de fórmula, TXLSWorkspaceDepGraph.ReferenceCount conta referências copiadas, e TXLSWorkspaceDepGraph.EdgeCount relata arestas de dependência construídas; chame BuildEdges antes de consumir estatísticas de arestas
TXLSWorkspaceDepGraph.WorkbookCount conta identidades internadas de pasta de trabalho, incluindo identidades introduzidas por referências, e TXLSWorkspaceDepGraph.WorkbookIdentities as enumera por índice com base zero; essas strings de identidade são chaves de grafo, e não evidência de que um arquivo externo foi carregado
TXLSWorkspaceDepGraph.ComponentCount relata o número de componentes fortemente conectados após a construção de componentes, que é disparada por MarkCyclesDirty, DirtyTopoOrder ou acesso a componentes; cada record de Components fornece NodeStart, NodeCount e IsCycle
TXLSWorkspaceDepGraph.ComponentNodes expõe o array achatado de índices de nós com base zero para esses componentes, indexado do NodeStart de um componente até NodeStart + NodeCount - 1; contagens e records indexados descrevem o grafo atual e devem ser readquiridos após a reconstrução do grafo
Continue com os membros adicionais da fachada XLSX e a visão geral da fachada XLSX para os pontos de entrada comuns da pasta de trabalho