Documentação do HotXLS

Classe TXLSXWorkbook

Contêiner de nível superior para uma pasta de trabalho Excel 2007+ (.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)

Declaração

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;
      

Membros

Sheetsplanilha coleção. See TXLSXSheets
Fontspasta de trabalho-level fonte palette. células pick fonte por setting TXLSXCell.FontIndex para 1-baseado índice em este coleção. See TXLSXFont / TXLSXFonts
FillsPaleta 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
Borderspasta de trabalho-level borda palette. células pick borda por setting TXLSXCell.BorderIndex para 1-baseado índice em este coleção. See TXLSXBorder / TXLSXBorders
NumberFormatsPaleta 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
DefinedNamespasta de trabalho-level named intervalos (pasta de trabalho-scoped ou planilha-scoped). See TXLSXDefinedName / TXLSXDefinedNames
CalculateCompila 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
CreateLoadedCellCursorCallback usado por xlckBlankquando fórmula calls custom ou unsupported função. See OnUserFunction / OnUserFunctionEx callback
CreateReadOnlyViewLê 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, ComputeSemanticHashTransmite 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, ResetRenderCalibrationAtribui 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
CreateRenderGeometryCria 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, OnUserFunctionExCallback used by Calculate quando uma fórmula chama uma função personalizada ou não suportada. Veja OnUserFunction / OnUserFunctionEx callback
AllowUnsafeFormulaCallbacksO 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
Alignmentspasta 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 propertiesTí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 / UnProtectWorkbookpasta 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 / VbaProjectDefinedLoadVbaProjectFromFile 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
ParsedVBAProjectVisualizaçã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
ParallelParseQuando Open , SaveAs usa
ParallelParseThreadsDefine 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
StreamingWriteWhen 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 / ClearUnsupportedPartsPreserveUnsupportedParts 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 / CanReadEncryptedSuporte 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ção
Esta 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 OOXML
A 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 HTTP
O formato precisa ser selecionado explicitamente: nem a extensão do arquivo nem um template importado mudam a saída padrão do SaveAs output
Se 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 macros
SaveAsODS continua sendo o atalho nomeado para saída ODS com o controle TODSExportOptions opcional
GetConversionReport / SaveAsCheckedInspeciona 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 XLTM
Retorna 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ção
O 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 TODSExportOptionsSalva 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
TODSExportOptionsControla 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 overloadsQuatro 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 overloadsAs 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 overloadsQuatro 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 / ShowVerticalScrollSinalizadores 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 / WindowHeightGeometria 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 / AutoFilterDateGroupingOpçõ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
Date1904Base 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 / IterateDeltaInforma 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 / CalcIdControla 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 / FullPrecisionControla 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 / ConcurrentManualCountpara 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
SourceFormatInforma 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 suportado
Uma 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
ResolveIndexedColorClassifies 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
NearestIndexedColorRetorna 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
ScanIndexedColorUsageRetorna 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
BuildBiffPalettePlanRetorna 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
ApplyBiffPalettePlancom todas as 64 posições
HasCustomIndexedColor / CustomIndexedColorCount / ResetIndexedColorsHasCustomIndexedColor(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
ExternalLinksColeçã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
CreateWorkspaceWorkbookReturns 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
ExternalWorkspaceRegistro 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

Exemplo

Gravando e reabrindo uma pasta de trabalho
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;
    

Veja também