.xlsx). Declarado em
lxHandleX. Contém uma coleção TXLSXSheets
e fornece pontos de entrada SaveAs / Open para pastas de trabalho OOXML, importação CSV/TSV e fluxos de trabalho de leitura/gravação de OpenDocument Spreadsheet (.ods)
type
TXLSXFileFormat = (xlsxOpenXMLWorkbook, xlsxOpenDocumentSpreadsheet,
xlsxOpenXMLTemplate, xlsxOpenXMLMacroEnabledTemplate, xlsxExcelBinaryWorkbook);
TODSExportOptions = class
constructor Create;
property Generator: WideString;
property IncludeCharts: Boolean;
property IncludeImages: Boolean;
end;
TXLSXWorkbook = class
constructor Create;
destructor Destroy; override;
function CreateLoadedCellCursor: IXLSLoadedCellCursor; overload;
function CreateLoadedCellCursor(AIncludeStoredBlanks: Boolean): IXLSLoadedCellCursor; overload;
function CreateReadOnlyView: IXLSReadOnlyWorkbookView;
property RenderCalibration: TXLSRenderCalibration;
function CaptureRenderCalibration: TXLSRenderCalibration;
procedure ResetRenderCalibration;
function CreateRenderGeometry(ABackend: TXLSRenderGeometryBackend;
ACacheCapacity: Integer = 4096): IXLSRenderGeometry;
function SaveAs(const FileName: WideString): Integer; overload;
function SaveAs(const FileName: WideString; FileFormat: TXLSXFileFormat): Integer; overload;
function SaveAs(Stream: TStream): Integer; overload;
function SaveAs(Stream: TStream; FileFormat: TXLSXFileFormat): Integer; overload;
function GetConversionReport(ATarget: TXLSConversionTarget): TXLSConversionReport;
function SaveAsChecked(Stream: TStream; FileFormat: TXLSXFileFormat;
AllowLossy: Boolean = False): Integer; overload;
function SaveAsChecked(const FileName: WideString; FileFormat: TXLSXFileFormat;
AllowLossy: Boolean = False): Integer; overload;
function Open(const FileName: WideString): Integer; overload;
function Open(const FileName: WideString; const Password: WideString): Integer; overload;
function Open(Stream: TStream): Integer; overload;
function OpenCSV(const FileName: WideString): Integer; overload;
function OpenCSV(const FileName: WideString; ASeparator: WideChar;
ADetectTypes: Boolean): Integer; overload;
function OpenCSV(Stream: TStream): Integer; overload;
function OpenCSV(Stream: TStream; ASeparator: WideChar;
ADetectTypes: Boolean): Integer; overload;
function OpenODS(const FileName: WideString): Integer; overload;
function OpenODS(Stream: TStream): Integer; overload;
function SaveAsODS(const FileName: WideString): Integer; overload;
function SaveAsODS(Stream: TStream): Integer; overload;
function SaveAsODS(const FileName: WideString; Options: TODSExportOptions): Integer; overload;
function SaveAsODS(Stream: TStream; Options: TODSExportOptions): Integer; overload;
function GetODSSheetNames(const FileName: WideString; AList: TStrings): Integer; overload;
function GetODSSheetNames(Stream: TStream; AList: TStrings): Integer; overload;
function GetSheetNames(const FileName: WideString; AList: TStrings): Integer; overload;
function GetSheetNames(Stream: TStream; AList: TStrings): Integer; overload;
function SaveAsCSV(const FileName: WideString): Integer; overload;
function SaveAsCSV(const FileName: WideString; SheetIndex: Integer; Delimiter: WideChar): Integer; overload;
function SaveAsCSV(Stream: TStream): Integer; overload;
function SaveAsCSV(Stream: TStream; SheetIndex: Integer; Delimiter: WideChar): Integer; overload;
function SaveAsHTML(const FileName: WideString): Integer; overload;
function SaveAsHTML(const FileName: WideString; Options: TXLSXHtmlExportOptions): Integer; overload;
function SaveAsHTML(const FileName: WideString; SheetIndex: Integer): Integer; overload;
function SaveAsHTML(const FileName: WideString; SheetIndex: Integer; Options: TXLSXHtmlExportOptions): Integer; overload;
function SaveAsHTML(Stream: TStream): Integer; overload;
function SaveAsHTML(Stream: TStream; Options: TXLSXHtmlExportOptions): Integer; overload;
function SaveAsHTML(Stream: TStream; SheetIndex: Integer): Integer; overload;
function SaveAsHTML(Stream: TStream; SheetIndex: Integer; Options: TXLSXHtmlExportOptions): Integer; overload;
function SaveAsRTF(const FileName: WideString): Integer; overload;
function SaveAsRTF(const FileName: WideString; SheetIndex: Integer): Integer; overload;
function SaveAsRTF(Stream: TStream): Integer; overload;
function SaveAsRTF(Stream: TStream; SheetIndex: Integer): Integer; overload;
// AES encryption (ECMA-376 Standard Encryption) write path.
// OpenEncrypted still raises for encrypted packages.
function SaveAsEncrypted(const FileName, APassword: WideString): Integer;
function OpenEncrypted(const FileName, APassword: WideString): Integer;
function CanReadEncrypted(const FileName: WideString): Boolean;
function Calculate(const Formula: WideString): Variant;
function CalculateAndVerify: Integer; overload;
function CalculateAndVerify(out AMismatches: TArray<TXLSVerifyMismatch>): Integer; overload;
property OnUserFunction: TXLSUserFunctionEvent;
property OnUserFunctionEx: TXLSUserFunctionExEvent;
property AllowUnsafeFormulaCallbacks: Boolean;
// Document properties (docProps/core.xml + docProps/app.xml).
property Title, Author, Subject, Keywords, Description,
Category, LastModifiedBy, Company,
Application, AppVersion: WideString;
property Created, Modified: TDateTime;
// Workbook protection (16-bit legacy hash).
procedure ProtectWorkbook; overload;
procedure ProtectWorkbook(const APassword: WideString); overload;
procedure ProtectWorkbook(const APassword: WideString; ALockStructure, ALockWindows: Boolean); overload;
procedure UnProtectWorkbook;
property IsWorkbookProtected: Boolean;
property LockStructure, LockWindows: Boolean;
// VBA project payload (round-trips byte-for-byte). Workbook is saved
// with macro-enabled content type when HasVbaProject is True.
procedure LoadVbaProjectFromFile(const AFileName: WideString);
procedure ClearVbaProject;
function HasVbaProject: Boolean;
property VbaProjectDefined: Boolean;
property VbaProject: AnsiString;
property ParsedVBAProject: TXLSVBAProject;
// Unknown package and workbook extension preservation
procedure ClearUnsupportedParts;
function UnsupportedPartCount: Integer;
function UnsupportedPartBytes: Int64;
property PreserveUnsupportedParts: Boolean;
// Chart sheet helper — creates a sheet flagged IsChartSheet and
// seeds Charts[0] with a default full-page anchor.
function AddChartSheet(const AName: WideString;
AChartType: TXLSXChartType; const ATitle: WideString): TXLSXWorksheet;
// Streaming SaveAs path (TXLSWideStringBuilder + one sheet at a time).
property StreamingWrite: Boolean;
// Streaming parallel Open path
property ParallelParse: Boolean;
property ParallelParseThreads: Integer;
// Workbook-level collections.
property ActiveSheet: Integer;
property Minimized: Boolean;
property WindowHidden: Boolean;
property ShowHorizontalScroll: Boolean;
property ShowVerticalScroll: Boolean;
property ShowSheetTabs: Boolean;
property XWindow: Integer;
property YWindow: Integer;
property WindowWidth: Integer;
property WindowHeight: Integer;
property TabRatio: Integer;
property FirstSheet: Integer;
property AutoFilterDateGrouping: Boolean;
property Date1904: Boolean;
// Workbook calculation policy
property Iterate: Boolean;
property IterateCount: Integer;
property IterateDelta: Double;
property CalcId: Integer;
property FullCalcOnLoad: Boolean;
property CalcMode: WideString;
property RefMode: WideString;
property ForceFullCalc: Boolean;
property CalcCompleted: Boolean;
property CalcOnSave: Boolean;
property FullPrecision: Boolean;
property ConcurrentCalc: Boolean;
property ConcurrentManualCount: Integer;
function CreateWorkspaceWorkbook: IXLSWorkspaceWorkbook;
procedure RegisterExternalWorkbook(const AWorkbookName: WideString;
AWorkbook: TXLSXWorkbook);
procedure UnregisterExternalWorkbook(const AWorkbookName: WideString);
property SourceFormat: TXLSXFileFormat;
property IndexedColor[Index: Integer]: LongWord;
function NearestIndexedColor(AArgb: LongWord;
out AMatch: TXLSNearestIndexedColorMatch): Boolean;
function ScanIndexedColorUsage: TXLSIndexedColorUsageArray;
function BuildBiffPalettePlan: TXLSBiffPalettePlan;
function ApplyBiffPalettePlan(
const APlan: TXLSBiffPalettePlan): Boolean;
function HasCustomIndexedColor(Index: Integer): Boolean;
function CustomIndexedColorCount: Integer;
procedure ResetIndexedColors;
property Sheets: TXLSXSheets;
property Fonts: TXLSXFonts;
property Fills: TXLSXFills;
property Borders: TXLSXBorders;
property NumberFormats: TXLSXNumberFormats;
property Alignments: TXLSXAlignments;
property DefinedNames: TXLSXDefinedNames;
property ExternalLinks: TXLSXExternalLinks;
property ExternalWorkspace: TXLSWorkbookWorkspace;
end;
| Sheets | planilha coleção. See TXLSXSheets |
| Fonts | pasta de trabalho-level fonte palette. células pick fonte por
setting TXLSXCell.FontIndex para 1-baseado índice em este
coleção. See TXLSXFont / TXLSXFonts |
| Fills | Paleta de preenchimentos no nível da pasta de trabalho. As células escolhem um preenchimento ao definir TXLSXCell.FillIndex para um índice de base 1 nesta coleção. Veja TXLSXFill / TXLSXFills |
| Borders | pasta de trabalho-level borda palette. células pick borda
por setting TXLSXCell.BorderIndex para 1-baseado índice em
este coleção. See TXLSXBorder / TXLSXBorders |
| NumberFormats | Paleta personalizada de formatos numéricos no nível da pasta de trabalho. As células escolhem um formato ao definir TXLSXCell.NumberFormatIndex para um índice de base 1 nesta coleção. Veja
TXLSXNumberFormat / TXLSXNumberFormats |
| DefinedNames | pasta de trabalho-level named intervalos (pasta de trabalho-scoped ou planilha-scoped). See TXLSXDefinedName / TXLSXDefinedNames |
| Calculate | Compila e avalia uma string de fórmula do Excel na planilha ativa, e um = inicial é aceito. Referências de células, intervalos, fórmulas armazenadas em células referenciadas, referências entre planilhas, intervalos nomeados e funções suportadas de texto, data, dia útil, engenharia/conversão de base, bit a bit, estatística, agregação e matemática são avaliadas pelo mecanismo de fórmulas compartilhado do HotXLS. Consulte OnUserFunction para tratar funções personalizadas ou não suportadas |
| CreateLoadedCellCursor | Callback usado por xlckBlankquando
fórmula calls custom ou unsupported função. See OnUserFunction / OnUserFunctionEx callback |
| CreateReadOnlyView | Lê IXLSXWorkbookOwnere acrescenta os nomes das planilhas a IXLSReadOnlyWorkbookView na ordem do workbook, sem carregar o XML da planilha. A sobrecarga de stream espera um fluxo completo de pacote XLSX. Retorna o número de nomes lidos, ou SheetCount quando o pacote não pode ser aberto CreateReadOnlyView method |
| SaveSemanticSnapshot, ComputeSemanticHash | Transmite uma representação canônica versionada da semântica da pasta de trabalho ou calcula seu SHA-256 em minúsculas sem materializar o snapshot completo. Veja semantic snapshot and hash methods |
| RenderCalibration, CaptureRenderCalibration, ResetRenderCalibration | Atribui atomicamente uma calibração de renderização validada, captura um snapshot de valores independente para uma operação ou restaura os padrões; a configuração de runtime não é serializada e não redimensiona por si mesma linhas ou colunas da planilha. Veja render calibration values and snapshots |
| CreateRenderGeometry | Cria um serviço de geometria e medição de fontes pertencente à operação, com calibração imutável, identidade de geração da pasta de trabalho e de backend, além de um cache local limitado; o AutoFit captura um serviço por operação e a paginação captura um por build, sem gravar dimensões de planilha. Veja render geometry and font measurement |
| OnUserFunction, OnUserFunctionEx | Callback used by Calculate quando uma
fórmula chama uma função personalizada ou não suportada. Veja
OnUserFunction / OnUserFunctionEx callback |
| AllowUnsafeFormulaCallbacks | O padrão é false, e isso impede que nomes perigosos de funções externas ou de estilo macro cheguem aos handlers de user functions antes da avaliação dos argumentos. Veja callback safety policy |
| GetSheetNames(FileName, AList), GetSheetNames(Stream, AList) | Reads xl/workbook.xml e acrescenta
nomes de planilhas a AList na ordem da pasta de trabalho, sem
carregar o XML das planilhas. A sobrecarga com stream espera um fluxo
de pacote XLSX completo. Retorna o número de nomes lidos, ou
-1 when the package cannot be opened |
| Alignments | pasta de trabalho-level célula-alignment palette. células pick
entrada por setting TXLSXCell.AlignmentIndex para
1-baseado índice em este coleção. See
TXLSXAlignment |
| Document properties | Título, Autor, Assunto, Palavras-chave, Descrição, Categoria, LastModifiedBy, Empresa, Application, AppVersion, Created, Modified. Definir qualquer uma delas preenche
docProps/core.xml + docProps/app.xml em SaveAs, caso contrário o workbook mantém o conjunto mínimo de partes |
| ProtectWorkbook / UnProtectWorkbook | pasta de trabalho protection toggle com optional
16-bit legacy senha hash e LockStructure /
LockWindows flags. Reflected as
<workbookProtection> em xl/pasta de trabalho.xml |
| LoadVbaProjectFromFile / VbaProject / HasVbaProject / VbaProjectDefined | LoadVbaProjectFromFile importa um payload bruto vbaProject.bin ; VbaProject expõe os bytes; HasVbaProject e o somente leitura VbaProjectDefined informam se há um payload presente. Salve com a extensão .xlsm quando os macros precisarem ser habilitados pelo Excel |
| ParsedVBAProject | Visualização analisada somente leitura do payload atual
vbaProject.bin . Quando o payload é um armazenamento OLE VBA válido, retorna um TXLSVBAProject que expõe nomes de módulos e texto-fonte; caso contrário, retorna nil. O payload bruto
VbaProject continua sendo os bytes autoritativos usados no round-trip SaveAs/Open |
| AddChartSheet(Name, Type, Title) | Cria uma planilha marcada como
IsChartSheet = True e inicializa Charts[0]
com uma âncora padrão de página inteira. SaveAs grava essas planilhas em xl/chartsheets/sheetN.xml. Veja
TXLSXChart |
| ParallelParse | Quando Open , SaveAs usa |
| ParallelParseThreads | Define o número máximo de fluxos de planilha analisados
simultaneamente durante Open. Zero seleciona a contagem automática
de workers, e valores positivos definem um limite explícito. Os working sets ativos de
inflaters e leitores XML são limitados por essa contagem |
| StreamingWrite | When True, SaveAs uses
WriteWorksheetXmlStreaming por planilha — nenhum cache de
sheetXmls é mantido, o sharedStrings.xml é emitido por último depois que todas
as planilhas popularam o SST. Combinado com o
TXLSWideStringBuilder isso mantém a memória linear em
planilhas grandes. O padrão é False (comportamento existente) |
| PreserveUnsupportedParts / ClearUnsupportedParts | PreserveUnsupportedParts por planilha - nenhum cache de sheetXmls é mantido, e <extLst>
é emitido por último depois que cada planilha preenche o SST. Com o
ClearUnsupportedPartspor linha, isso mantém o uso de memória linear em planilhas grandes. O padrão é
UnsupportedPartCount and UnsupportedPartBytes
diagnósticos contam as partes do pacote preservadas e não incluem os
metadados XML inline da pasta de trabalho |
| PreserveRawParts | (comportamento existente) |
| SaveAsEncrypted / OpenEncrypted / CanReadEncrypted | Suporte de gravação para ECMA-376 Standard Encryption
SaveAsEncrypted grava um contêiner OLE Compound File protegido por AES-128 conforme a norma para senhas não vazias, usando aceleração AES-NI quando disponível e, caso contrário, um fallback de software portátil. A saída criptografada abre no Excel 2007 e posterior com a senha usada para salvá-la. CanReadEncrypted detecta os bytes mágicos OLE2; OpenEncrypted faz fallback transparente para Open comum para arquivos sem criptografia e ainda lança
EXlsxEncryptionNotImplemented para pacotes criptografados até que o suporte a descriptografia esteja disponível |
| SaveAs(FileName) | Grava a pasta de trabalho no arquivo informado. Retorna
1 em caso de sucesso, negativo em caso de falha; se a pasta de trabalho não tiver
planilhas, uma planilha Sheet1 padrão é adicionada antes da gravaçãoEsta sobrecarga e a SaveAs(FileName, FileFormat) preparam a saída em etapas antes de substituir o destino
Se a substituição falhar, o valor de retorno é -1 e LastDiagnostic reporta xlsDiagnosticOutputCommitFailed (1005), o NativeCodeoriginal do Windows e a mensagem de erro do sistema correspondente
O destino antigo e o FileName da pasta de trabalho permanecem inalterados; a saída temporária é liberada e um salvamento posterior limpa o diagnóstico anterior |
| SaveAs(FileName, FileFormat) | Aceita xlsxOpenXMLWorkbook para saída OOXML comum, xlsxOpenDocumentSpreadsheet para ODS, xlsxOpenXMLTemplate para um template XLTX sem macros ou xlsxOpenXMLMacroEnabledTemplate para um template XLTM, com saída buffered e em streaming suportadas para todas as escolhas OOXMLA saída de template grava application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml para /xl/workbook.xml; use a extensão .xltx nos arquivos e application/vnd.openxmlformats-officedocument.spreadsheetml.template ao servir o pacote via HTTPO formato precisa ser selecionado explicitamente: nem a extensão do arquivo nem um template importado mudam a saída padrão do SaveAs outputSe houver um projeto VBA presente, a saída XLTX retorna -1 com um diagnóstico de formato não suportado antes de gravar o destino; o XLTM preserva um projeto VBA existente e também aceita uma pasta de trabalho sem macrosSaveAsODS continua sendo o atalho nomeado para saída ODS com o controle TODSExportOptions opcional |
| GetConversionReport / SaveAsChecked | Inspeciona um relatório de conversão de recursos conhecidos, sem mutação e de propriedade do chamador, ou rejeita recursos degradados e descartados antes da gravação mantendo AllowLossy=False
O salvamento com perdas explícito ainda rejeita conversões sem suporte; veja fidelidade de cálculo e conversão para os limites de destino, propriedade, diagnóstico e preservação |
| SaveAs(Stream) / SaveAs(Stream, FileFormat) | Grava a pasta de trabalho diretamente em qualquer TStream, e a sobrecarga FileFormat aceita xlsxOpenXMLWorkbook, xlsxOpenDocumentSpreadsheet, xlsxOpenXMLTemplate ou xlsxOpenXMLMacroEnabledTemplate, para pastas de trabalho OOXML em memória, planilhas ODS, templates XLTX ou templates XLTMRetorna 1 em caso de sucesso, e os salvamentos em stream respeitam o RecalcBeforeSave: o modo manual preserva os caches de fórmula existentes, enquanto as políticas dirty e always os atualizam antes da serializaçãoO chamador mantém a propriedade do stream; um cancelamento antes do início da gravação preserva seu conteúdo e posição, enquanto uma falha após o início da serialização pode deixar saída parcial |
| Open(FileName) | Lê um arquivo OOXML .xlsx e substitui a coleção
Sheets pelo conteúdo dele. Retorna 1
em caso de sucesso |
| Open(FileName, Password) | Reserved para future encrypted XLSX suporte. Behaves
like Open(FileName) today — senha é ignored |
| Open(Stream) | Lê um arquivo OOXML .xlsx a partir de um
TStream. Retorna 1 em caso de sucesso |
| OpenCSV(FileName) / OpenCSV(Stream) | Importa texto CSV ou TSV para o workbook com detecção automática de separador (,, ;, tabulação ou pipe), detecção de codificação UTF-8 / UTF-16 baseada em BOM, campos entre aspas no estilo RFC 4180 e inferência opcional do tipo de valor pelas sobrecargas ADetectTypes . Chamar
Open(FileName) em .csv ou
.tsv encaminha automaticamente para este importador. Veja
OpenCSV method |
| OpenODS(FileName) / OpenODS(Stream) | Importa um pacote OpenDocument Spreadsheet (.ods) de um arquivo ou fluxo. O leitor carrega content.xml, informações de estilo compartilhado de styles.xmle configurações de exibição quando presentes, preservando nomes de planilhas, valores escalares, resultados de fórmulas em cache, conversão básica de referências de fórmulas, linhas/colunas/células repetidas, intervalos mesclados, rich text, hyperlinks, comentários, imagens incorporadas, gráficos incorporados, linhas/colunas/planilhas ocultas, alturas de linhas, larguras de colunas, estilos herdados/padrão, formatos numéricos/de data/hora/moeda/científico/fração, estado de proteção de células e planilhas, intervalos nomeados, áreas de impressão, quebras de página manuais, painéis congelados, intervalos AutoFilter, grupos de estrutura de linhas/colunas, cabeçalhos/rodapés, validações de dados incluindo prompts, formatos condicionais incluindo fórmulas/escalas de cor/barras de dados e a cor da guia da planilha. Semântica completa de OpenFormula, chaves de proteção ODS, geometria de comentários, formatação avançada de comentários e recursos de pacote fora do conteúdo da planilha não são convertidos |
| SaveAsODS(FileName) / SaveAsODS(Stream), with optional TODSExportOptions | Salva o workbook como um pacote OpenDocument Spreadsheet válido. Escreve diretamente o mimetypeODF, manifesto, metadados, estilos e conteúdo da planilha, preservando valores tipados, fórmulas, estilos, rich text, dimensões, mesclagens, hyperlinks, imagens, gráficos, intervalos nomeados, intervalos AutoFilter, formatos condicionais, validações de dados, painéis congelados, configuração de página, cabeçalhos/rodapés, intervalos de impressão, quebras de página manuais, grupos de estrutura, cor da guia e visibilidade da planilha quando esses recursos são representados no modelo de workbook do HotXLS. Passar opções de exportação, incluindo nil, mantém a política de recálculo normal, o cancelamento pelo progresso, os diagnósticos e a proteção contra gravação. A saída em arquivo prepara um arquivo irmão e só substitui o destino após a serialização bem-sucedida; falha de serialização e cancelamento antes da confirmação preservam o destino anterior. O progresso da gravação informa cada tabela concluída, e ppsEnd é uma notificação terminal cujo pedido de Abort não consegue cancelar um salvamento já concluído. A saída em stream mantém a propriedade do chamador e o comportamento comum de salvamento em stream, que pode deixar saída parcial depois que a serialização começou |
| TODSExportOptions | Controla a exportação ODS. Generator substitui o valor meta:generator em meta.xml; um valor vazio usa a string de gerador interna do HotXLS. IncludeCharts e IncludeImages têm padrão True e, quando False, removem juntos os frames de desenho, partes do pacote e entradas do manifesto correspondentes, para que a saída não tenha referências órfãs de gráficos ou imagens. A instância de opções pertence ao chamador e deve ser liberada |
| GetODSSheetNames(FileName, AList), GetODSSheetNames(Stream, AList) | Lê apenas os nomes das tabelas ODS de content.xml para AList sem redefinir ou preencher o workbook. Use isso quando um seletor de arquivo ou fluxo de importação precisar dos nomes das planilhas antes de carregar o workbook |
| SaveAsCSV overloads | Quatro sobrecargas (FileName ou Stream × planilha ativa padrão / SheetIndex explícito + Delimiter). Grava a planilha escolhida como um CSV em UTF-8 com BOM. Valores de data são renderizados como
yyyy-mm-dd hh:nn:ss; células com fórmula são calculadas antes da exportação, e o texto da fórmula é usado apenas quando o cálculo não está disponível. Retorna 0 em caso de sucesso |
| SaveAsHTML overloads | As sobrecargas com opções aceitam TXLSXHtmlExportOptions para Title, WriteDocument, IncludeStyles, IncludeBOMe TableClass. Defina WriteDocument como False para um fragmento de tabela; defina IncludeBOM como False ao incorporar a saída em uma resposta UTF-8 existente. A saída exportada preserva hyperlinks de células como âncoras <a> e imagens ancoradas como URIs de imagem data: embutidos; a exportação no nível do workbook inclui âncoras fora das células preenchidas. Comentários de célula também são emitidos como atributos <td>title , e a exportação no nível do workbook inclui âncoras apenas de comentário. Quando IncludeStyles está habilitado, valores explícitos de ColWidth são emitidos como larguras <col> e valores explícitos de RowHeight como estilos de altura <tr> . Execuções de rich text nas células são emitidas como elementos <span> escapados com estilos inline de fonte, cor, ênfase e sublinhado quando IncludeStyles está habilitado. Bordas de célula são emitidas como regras CSS border-left, border-right, border-tope border-bottom quando IncludeStyles está habilitado. Linhas e colunas ocultas marcadas por RowHidden / ColHidden, além de colunas com largura zero explícita, são ignoradas na tabela gerada e em <colgroup>. Configurações de alinhamento vertical são emitidas como regras CSS vertical-align quando IncludeStyles está habilitado |
| SaveAsRTF overloads | Quatro sobrecargas (FileName ou Stream × planilha ativa padrão / SheetIndex explícito). Grava a planilha escolhida como um documento RTF 1.6 com uma tabela simples. As larguras de coluna são derivadas dos dados de ColWidth (1 unidade de caractere ≈ 96 twips; padrão 809 twips). Negrito / itálico / tamanho de fonte por célula são aplicados; caracteres não ASCII são codificados como escapes Unicode RTF \uN?
de 16 bits com sinal. Células mescladas não são abrangidas. Retorna 0 em caso de sucesso |
| ActiveSheet | Índice 1-based da planilha ativa (selecionada) (0 quando nenhuma), correspondendo ao ActiveSheetIndexdo mecanismo clássico de XLS. SaveAs grava activeTab="N" em <workbookView> (o próprio atributo OOXML activeTab continua baseado em 0) quando as opções de visualização do workbook precisam ser emitidas, e marca a planilha correspondente com tabSelected="1" |
| Minimized / WindowHidden / ShowHorizontalScroll / ShowVerticalScroll | Sinalizadores de aparência da janela do workbook gravados em <workbookView>. Minimized grava minimized="1", WindowHidden grava visibility="hidden", e ShowHorizontalScroll / ShowVerticalScroll ocultam ou exibem as barras de rolagem do workbook. Open faz round-trip dos quatro valores |
| XWindow / YWindow / WindowWidth / WindowHeight | Geometria da janela do workbook gravada em <workbookView>. XWindow e YWindow armazenam a origem da janela, enquanto WindowWidth e WindowHeight armazenam seu tamanho. Os valores são limitados a 0..65535 e fazem round-trip ao carregar |
| ShowSheetTabs / TabRatio / FirstSheet / AutoFilterDateGrouping | Opções de visualização da janela do workbook gravadas em <workbookView>. ShowSheetTabs oculta ou mostra a barra de guias das planilhas, TabRatio controla a divisão de largura entre a barra de guias e a barra de rolagem e é limitada a 0..1000, FirstSheet seleciona a primeira guia visível como um índice de planilha baseado em 0 e é limitada a uma planilha existente, e AutoFilterDateGrouping controla o agrupamento de datas do Excel nas listas suspensas do AutoFilter. Open faz round-trip dos quatro valores |
| Date1904 | Base de datas do workbook. False (padrão) = época Windows 1900; True = época Mac 1904 (desloca cada serial de data em 1462 dias). Defina isso antes de atribuir valores de célula
TDateTime para que o Excel exiba a mesma data de calendário |
| Iterate / IterateCount / IterateDelta | Informa a família de pacote carregada pela chamada
IterateCount ou
IterateDelta bem-sucedida mais recente. Retorna Iterate para pastas de trabalho e templates OOXML, incluindo XLTX, e False |
| CalcMode / RefMode / CalcId | Controla o modo de cálculo da pasta de trabalho, o
estilo de referência de fórmulas e a identidade do motor de cálculo
CalcMode aceita auto,
manual ou autoNoTable, e RefMode aceita A1 ou R1C1
com entrada case-insensitive e saída canônica
A saída moderna de erros rich usa um CalcId emitido de pelo menos
191029 para que o Excel interprete erros modernos em cache, preservando
valores solicitados mais altos e deixando a propriedade in-memory inalterada |
| FullCalcOnLoad / ForceFullCalc / CalcCompleted / CalcOnSave / FullPrecision | Controla recálculo completo, conclusão do
cálculo em cache, recálculo antes de salvar e política de precisão
Cada valor fora do padrão emite e faz o round-trip, de forma independente, do
correspondente <calcPr> attribute |
| ConcurrentCalc / ConcurrentManualCount | para ODS; uma pasta de trabalho recém-criada reporta
ConcurrentManualCount até que um arquivo seja aberto. Esta propriedade não seleciona o formato de saída |
| SourceFormat | Informa a família de pacote carregada pela chamada
Open ou OpenODS bem-sucedida mais recente, retornando
xlsxOpenXMLWorkbook para pastas de trabalho e templates OOXML, incluindo XLTX e XLTM,
xlsxOpenDocumentSpreadsheet para ODS, e xlsxExcelBinaryWorkbook para o
subconjunto de valores e estilos XLSB suportadoUma pasta de trabalho recém-criada informa xlsxOpenXMLWorkbook até que um arquivo seja aberto, e esta propriedade não seleciona o formato de saída |
| IndexedColor[Index] | Valor ARGB para o slot informado da paleta de cores indexadas do OOXML
(0..63). A leitura retorna o override do usuário, se definido; caso contrário, o
padrão embutido do OOXML (XlsxDefaultIndexedPalette)
Writing overrides slot N; SaveAs then emits a full
<indexedColors> block with all 64 slots |
| ResolveIndexedColor | Classifies public color indexes, BIFF icv valores, ou cores indexadas do OOXML, e resolve um valor ARGB normalizado quando a paleta da pasta de trabalho ou um callback explícito de cor do sistema fornece um |
| NearestIndexedColor | Retorna a entrada de paleta física mais próxima através do matcher OKLab compartilhado em cache, sem alterar a paleta nem o estado da pasta de trabalho |
| ScanIndexedColorUsage | Retorna um inventário determinístico de 56 slots com as cores da paleta, contagens de definição e de referência, tipos de consumidores e travas de preservação, sem materializar células nem alterar o estado da pasta de trabalho |
| BuildBiffPalettePlan | Retorna um plano de paleta BIFF de 56 slots sem mutações, com slots travados, alvos true-color agregados, mapeamentos determinísticos, identidade da origem e estatísticas ponderadas de erro OKLab |
| ApplyBiffPalettePlan | com todas as 64 posições |
| HasCustomIndexedColor / CustomIndexedColorCount / ResetIndexedColors | HasCustomIndexedColor(N) retorna
True quando a posição N foi explicitamente substituída.
CustomIndexedColorCount retorna o número de posições substituídas (0 = nenhum bloco <colors> emitido por SaveAs).
ResetIndexedColors descarta todas as substituições e restaura a paleta padrão |
| ExternalLinks | Coleção de referências externas de workbook. Cada entrada
TXLSXExternalLink
contém uma URL de destino e uma lista SheetNames . SaveAs emite o bloco <externalReferences> em
xl/workbook.xml e as partes correspondentes
xl/externalLinks/ partes. O Open preserva Target e
SheetNames no round-trip; os valores de célula em cache dentro de
<sheetDataSet> are not preserved |
| CreateWorkspaceWorkbook | Returns the revocable IXLSWorkspaceWorkbook adaptador para esta pasta de trabalho O adaptador preserva a identidade de origem e a geração da pasta de trabalho e se desconecta antes que o modelo da pasta de trabalho seja destruído |
| ExternalWorkspace | Registro thread-safe que preserva caminhos e é consumido pela avaliação de fórmulas externas em andamento Identidades exatas e aliases têm preferência, busca ambígua por basename é rejeitada, e a normalização de identidade não faz acesso implícito a arquivos ou à rede Veja Live workbook workspace |
| RegisterExternalWorkbook / UnregisterExternalWorkbook | . Open faz round-trip do Target e de SheetNames; valores de célula em cache dentro de ExternalWorkspace não são preservados |
uses lxHandleX;
var
wb: TXLSXWorkbook;
begin
wb := TXLSXWorkbook.Create;
try
wb.Sheets.Add('Demo').Cells.Item[1, 1].Value := 'Hello';
wb.SaveAs('demo.xlsx');
wb.Open('demo.xlsx');
ShowMessage(wb.Sheets[0].Cells.Item[1, 1].Value);
finally
wb.Free;
end;
end;