HotXLS ドキュメント

TXLSXWorkbook クラス

Excel 2007+ (.xlsx) ワークブックのトップレベルコンテナです。 lxHandleXで宣言されています。 TXLSXSheets コレクションを保持し、OOXML ワークブック、CSV/TSV インポート、OpenDocument Spreadsheet ( SaveAs ) の読み書きワークフローのための Open /.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ワークシートコレクションです。 TXLSXSheets
Fontsワークブック レベルのフォント パレットです。セルがフォントを選ぶには、 TXLSXCell.FontIndex このコレクションへの 1 始まりのインデックスを設定します。詳細は TXLSXFont / TXLSXFonts
Fillsワークブック レベルの塗りつぶしパレット。セルは TXLSXCell.FillIndex このコレクションへの 1 始まりのインデックスを設定します。詳細は TXLSXFill / TXLSXFills
Bordersワークブック レベルの罫線 パレットです。セルが罫線を選ぶには、 TXLSXCell.BorderIndex このコレクションへの 1 始まりのインデックスを設定します。詳細は TXLSXBorder / TXLSXBorders
NumberFormatsワークブック レベルのカスタム表示形式パレットです。セルが形式を選ぶには、 TXLSXCell.NumberFormatIndex このコレクションへの 1 始まりのインデックスを設定します。詳細は TXLSXNumberFormat / TXLSXNumberFormats
DefinedNamesワークブック レベルの名前付き範囲(ワークブック スコープまたは ワークシート スコープ)。詳細は TXLSXDefinedName / TXLSXDefinedNames
Calculateワークブックレベルのフォントパレットです。セルは = にこのコレクションへの 1 始まりインデックスを設定することでフォントを選択します。 TXLSXFont / TXLSXFonts を参照
CreateLoadedCellCursorワークブックレベルのフィルパレットです。セルは xlckBlankにこのコレクションへの 1 始まりインデックスを設定することでフィルを選択します。 TXLSXFill / TXLSXFills
CreateReadOnlyView定数時間の共有モデル ビューを作成します。ローカルのアクティブ シート、値によるスナップショット、キャッシュされた数式結果、オプトインの分離数式評価、直接の packed-cell 読み取り、参照カウントによる有効期間は IXLSXWorkbookOwner, and fail-fast write exclusion; the IXLSReadOnlyWorkbookView also reports SheetCount を報告します。これは、ワークブック モデルに触れることなくシートを列挙する呼び出し側のためのものです。詳細は CreateReadOnlyView method
SaveSemanticSnapshot, ComputeSemanticHashバージョン付きの正規ワークブック セマンティック表現をストリーミングするか、完全なスナップショットを具体化することなく小文字の SHA-256 を計算します。詳細は semantic snapshot and hash methods
RenderCalibration, CaptureRenderCalibration, ResetRenderCalibration検証済みの描画キャリブレーションをアトミックに割り当てるか、1 回の操作のための独立した値スナップショットを取得するか、デフォルトへ戻します。実行時の構成はシリアライズされず、ワークシートの行や列のサイズ自体を変更することもありません。詳細は render calibration values and snapshots
CreateRenderGeometry不変のキャリブレーション、ワークブック生成とバックエンドの ID、上限付きローカル キャッシュを備えた、操作所有のジオメトリ/フォント測定サービスを作成します。AutoFit は操作ごとに 1 つのサービスを取得し、ページネーションはビルドごとに 1 つを取得します。いずれもワークシートの寸法は書き込みません。詳細は render geometry and font measurement
OnUserFunction, OnUserFunctionExワークブックレベルの罫線パレットです。セルは Calculate にこのコレクションへの 1 始まりインデックスを設定することで罫線を選択します。 TXLSXBorder / TXLSXBorders
AllowUnsafeFormulaCallbacksワークブックレベルの名前付き範囲(ワークブックスコープまたはシートスコープ)です TXLSXDefinedName / TXLSXDefinedNames
GetSheetNames(FileName, AList), GetSheetNames(Stream, AList)アクティブシートを対象に Excel 数式文字列をコンパイルして評価します。先頭の xl/workbook.xml を読み取り、ワークシートの XML を読み込まずにワークブック順でワークシート名を AList に追記します。ストリームオーバーロードは完全な XLSX パッケージストリームを要求します。読み取った名前数を返し、パッケージを開けない場合は -1 を返します
Alignmentsワークブックレベルのセル配置パレットです。セルは TXLSXCell.AlignmentIndex にこのコレクションへの 1 始まりインデックスを設定することで配置を選択します TXLSXAlignment
Document propertiesTitle、Author、Subject、Keywords、Description、Category、LastModifiedBy、Company、Application、AppVersion、Created、Modified。いずれかを設定すると SaveAs 時に docProps/core.xml + docProps/app.xml に書き出されます(設定しない場合はワークブックに最小限のパーツセットが維持されます)
ProtectWorkbook / UnProtectWorkbookオプションの 16 ビットレガシーパスワードハッシュと LockStructure / LockWindows フラグを伴うワークブック保護のトグルです。xl/workbook.xml の <workbookProtection> として反映されます
LoadVbaProjectFromFile / VbaProject / HasVbaProject / VbaProjectDefinedLoadVbaProjectFromFile は生の vbaProject.bin ペイロードをインポートします。 VbaProject はそのバイト列を公開します。 HasVbaProject と読み取り専用の VbaProjectDefined はどちらもペイロードの存在を返します。マクロを Excel で有効にするには .xlsm 拡張子で保存してください
ParsedVBAProject現在の vbaProject.bin ペイロードの読み取り専用パースビューです。ペイロードが有効な OLE VBA ストレージである場合、モジュール名とソーステキストを公開する TXLSVBAProject を返します。それ以外の場合は nilを返します。生の VbaProject ペイロードが SaveAs/Open ラウンドトリップで使用される正式なバイト列です
AddChartSheet(Name, Type, Title)Creates a worksheet flagged IsChartSheet = True にフラグされたワークシートを作成し、適切なデフォルトのフルページアンカーで Charts[0] を初期化します。SaveAs はこのようなシートを xl/chartsheets/sheetN.xmlに書き出します TXLSXChart
ParallelParseWhen True, multi-sheet Open はワークシートの ZIP エントリをワーカー ローカルのインフレーターと XML リーダーに直接ストリーミングします。インフレート済みワークシート XML のステージング コピーは保持されず、 パッケージ ソースは位置指定読み取りの間だけロックされます。一度に 1 つの ワークシートを解析するには False を設定します。既定は True
ParallelParseThreads次の処理中に同時に解析されるワークシート ストリームの最大数を設定します Openを参照
StreamingWriteTrue の場合、SaveAs はシートごとに WriteWorksheetXmlStreaming を使用します。シートの XML キャッシュを保持せず、すべてのシートが SST に追加された後に sharedStrings.xml を最後に出力します。行ごとの TXLSWideStringBuilder これにより、大きなシートでもメモリ使用量が線形に保たれます。デフォルトは False です (従来の動作)
PreserveUnsupportedParts / ClearUnsupportedPartsPreserveUnsupportedParts はデフォルトで True です。リレーションシップで到達できる未知のパッケージ パーツに加えて、外部のワークブック ルート名前空間宣言、markup-compatibility 属性、ワークブック レベルの完全な <extLst> ペイロードを Open と SaveAs の間で保持します。保持された拡張ペイロード内のリレーションシップ参照は、生成 ID がソースと競合する場合に再マッピングされます。Open の前にプロパティを False に設定するか、 ClearUnsupportedParts, to discard this state. The UnsupportedPartCount and UnsupportedPartBytes 診断情報は保持されたパッケージ パーツを数えます。インラインのワークブック XML メタデータは含まれません
PreserveRawPartsと組み合わせることで、大規模シートのメモリ消費を線形に抑えます。デフォルトは False(既存の動作)です
SaveAsEncrypted / OpenEncrypted / CanReadEncryptedECMA-376 標準暗号化による書き込みサポートです SaveAsEncrypted は空でないパスワードに対して AES-128 で保護された OLE Compound File コンテナを書き出します(利用可能な場合は AES-NI 高速化を使用し、そうでない場合はソフトウェアフォールバック)。暗号化されたファイルは Excel 2007 以降で保存時のパスワードを使って開けます。 CanReadEncrypted は OLE2 マジックバイトを検出します。 OpenEncrypted は暗号化されていないファイルに対して通常の Open にフォールバックしますが、復号サポートが実装されるまで暗号化パッケージに対しては EXlsxEncryptionNotImplemented を送出します
SaveAs(FileName)ワークブックを指定のファイルに書き出します。成功時は 1 、失敗時は負の値を返します。シートがない場合はデフォルトの Sheet1 を追加してから書き出します
このオーバーロードと SaveAs(FileName, FileFormat) は、移動先を置き換える前に出力をステージングします 置き換えに失敗した場合、戻り値は -1 となり、 LastDiagnostic が xlsDiagnosticOutputCommitFailed (1005)、元の Windows NativeCode、そしてシステム エラー メッセージを報告します 古い移動先とワークブックの FileName は変更されず、一時出力は解放され、次の保存で前回の診断がクリアされます
SaveAs(FileName, FileFormat)通常の OOXML 出力には xlsxOpenXMLWorkbook 、ODS には xlsxOpenDocumentSpreadsheet 、マクロを含まない XLTX テンプレートには xlsxOpenXMLTemplate 、XLTM テンプレートには xlsxOpenXMLMacroEnabledTemplate を指定します。バッファリング出力とストリーミング出力のどちらも、すべての OOXML 選択肢で利用できます
テンプレート出力では application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml に対して /xl/workbook.xmlを書き込みます。ファイルには .xltx 拡張子を、HTTP でパッケージを配信するときは application/vnd.openxmlformats-officedocument.spreadsheetml.template を使用してください
形式は明示的に選択する必要があります。ファイル拡張子もインポートしたテンプレートも、既定の SaveAs 出力を変更しません
VBA プロジェクトが存在する場合、XLTX 出力は移動先を書き込む前に -1 と未サポート形式の診断を返します。XLTM は既存の VBA プロジェクトを保持し、マクロのないワークブックも受け付けます
SaveAsODS は、オプションの TODSExportOptions 制御が可能な ODS 出力用の名前付きショートカットとして引き続き利用できます
GetConversionReport / SaveAsChecked呼び出し側が所有する、変更を加えない既知機能の変換レポートを検査するか、AllowLossy=False のままにすることで、書き込みの前に品質低下や欠落する機能を拒否します 明示的な損失ありの保存でも、サポートされない変換は拒否されます。ターゲット、所有権、診断、保存の境界については、計算と変換の忠実度を参照してください
SaveAs(Stream) / SaveAs(Stream, FileFormat)ワークブックを任意の TStreamに直接書き出します。 FileFormat オーバーロードは xlsxOpenXMLWorkbook、 xlsxOpenDocumentSpreadsheet、 xlsxOpenXMLTemplate、または xlsxOpenXMLMacroEnabledTemplate を受け付け、インメモリの OOXML ワークブック、ODS スプレッドシート、XLTX テンプレート、XLTM テンプレートに対応します。成功時は 1 を返します。ストリーム保存は RecalcBeforeSave に従います。手動モードでは既存の数式キャッシュを保持し、ダーティや常時のポリシーではシリアライズの前にキャッシュを更新します。ストリームの所有権は呼び出し側に残ります。書き込みが始まる前のキャンセルなら内容と位置はそのまま保たれ、シリアライズ開始後の失敗では部分的な出力が残ることがあります
Open(FileName)OOXML の .xlsx アーカイブを読み取り、 Sheets コレクションをその内容で置き換えます。成功時は 1 を返します
Open(FileName, Password)将来の暗号化 XLSX サポート向けに予約されています。現時点では Open(FileName) と同様に動作し、パスワードは無視されます
Open(Stream)Reads an OOXML .xlsx archive from a TStreamから OOXML の .xlsx アーカイブを読み取ります。成功時は 1 を返します
OpenCSV(FileName) / OpenCSV(Stream)CSV または TSV テキストをワークブックにインポートします。区切り文字の自動検出(,・ ;・タブ・パイプ)、BOM ベースの UTF-8/UTF-16 エンコーディング検出、RFC 4180 形式のクォートフィールド、 ADetectTypes オーバーロードによるオプションの値型推定に対応しています。 Open(FileName) または .csv に対して .tsv を呼び出すと自動的にこのインポータにルーティングされます OpenCSV メソッド
OpenODS(FileName) / OpenODS(Stream)Imports an OpenDocument Spreadsheet (.ods) パッケージをファイルまたはストリームから読み込みます。リーダーは content.xmlファイルまたはストリームから OpenDocument Spreadsheet ( styles.xml) パッケージをインポートします。シート名・スカラー値・キャッシュ済み数式結果・基本的な数式参照変換・繰り返し行/列/セル・結合範囲・リッチテキスト・ハイパーリンク・コメント・埋め込み画像・埋め込みグラフ・非表示行/列/シート・行の高さ・列の幅・継承/デフォルトスタイル・数値/日付/時刻/通貨/科学記数法/分数書式・セルおよびシートの保護状態・名前付き範囲・印刷範囲・手動改ページ・ペインの固定・AutoFilter 範囲・行/列アウトライングループ・ヘッダー/フッター・データ検証(プロンプト含む)・条件付き書式(数式/カラースケール/データバー含む)・シートタブの色を保持します。OpenFormula の完全なセマンティクス・ODS 保護キー・コメントのジオメトリ・高度なコメント書式・スプレッドシートコンテンツ外のパッケージ機能は変換されません
SaveAsODS(FileName) / SaveAsODS(Stream), with optional TODSExportOptionsワークブックを有効な OpenDocument Spreadsheet パッケージとして保存します。ODF の mimetype・マニフェスト・メタデータ・スタイル・ワークシートコンテンツを直接書き出し、HotXLS ワークブックモデルで表現される範囲で型付き値・数式・スタイル・リッチテキスト・寸法・結合・ハイパーリンク・画像・グラフ・名前付き範囲・AutoFilter 範囲・条件付き書式・データ検証・ペインの固定・ページ設定・ヘッダー/フッター・印刷範囲・手動改ページ・アウトライングループ・タブの色・シートの表示状態を維持します。エクスポート オプションを渡す場合(nil を含む)は、通常の再計算ポリシー、進行状況のキャンセル、診断、書き込み保護が保持されます。ファイル出力は兄弟ファイルにステージングし、シリアライズが成功した後でだけ宛先を置き換えます。シリアライズの失敗とコミット前のキャンセルでは、以前の宛先が保たれます。書き込みの進行状況は完了したテーブルごとに報告され、ppsEnd は終端通知であるため、その Abort 要求で既に完了した保存を取り消すことはできません。ストリーム出力は呼び出し側の所有権と通常のストリーム保存の挙動を保ち、シリアライズ開始後は部分的な出力が残ることがあります
TODSExportOptionsODS エクスポートを制御します。 Generator は meta:generator の meta.xml値を上書きします(空の場合は HotXLS 組み込みのジェネレータ文字列を使用)。 IncludeCharts と IncludeImages はデフォルト True で、False にすると対応する描画フレーム・パッケージパーツ・マニフェストエントリを一括削除し、孤立したグラフや画像参照のない出力を生成します。呼び出し側がオプションインスタンスを所有し、解放する必要があります
GetODSSheetNames(FileName, AList), GetODSSheetNames(Stream, AList)ワークブックをリセットまたは読み込まずに、 content.xml から ODS のテーブル名だけを AList に読み取ります。ファイルピッカーやインポートワークフローでワークブックを読み込む前にシート名が必要な場合に使用してください
SaveAsCSV overloads4 つのオーバーロード(FileName または Stream × アクティブシートデフォルト / 明示的な SheetIndex + Delimiter)があります。選択したシートを BOM 付き UTF-8 CSV として書き出します。日付値は yyyy-mm-dd hh:nn:ss形式でレンダリングされます。数式セルはエクスポート前に計算され、計算できない場合にのみ数式テキストが使用されます。成功時は 0 を返します
SaveAsHTML overloadsオプションオーバーロードは TXLSXHtmlExportOptions を受け付けます( Title・ WriteDocument・ IncludeStyles・ IncludeBOM・ TableClass)。テーブルフラグメントには WriteDocument を False に設定し、既存の UTF-8 レスポンスに埋め込む場合は IncludeBOM を False に設定します。エクスポート出力はセルのハイパーリンクを <a> アンカーとして、アンカー画像をインライン data: URI として保持します。セルコメントは <td>title 属性として書き出され、ワークブック レベルのエクスポートにはコメントのみのアンカーも含まれます。 IncludeStyles is enabled, explicit ColWidth values are emitted as <col> widths and explicit RowHeight values as <tr> の高さスタイルも対象です。リッチテキストのセル run は、エスケープされた <span> 要素として、インラインのフォント、色、強調、下線のスタイル付きで書き出されます。 IncludeStyles の border-left属性としてエスケープして出力されます。 border-rightが有効の場合、明示的な border-topは border-bottom 幅として、 IncludeStyles は RowHidden の height スタイルとして出力されます。リッチテキストのセル実行は ColHidden要素としてインラインスタイルで出力されます。セルの罫線は CSS の border ルールとして出力されます。 <colgroup>/ vertical-align でマークされた非表示行・列と幅ゼロの列は生成されるテーブルからスキップされます。垂直配置設定は CSS の IncludeStyles ルールとして出力されます
SaveAsRTF overloads4 つのオーバーロード(FileName または Stream × アクティブシートデフォルト / 明示的な SheetIndex)があります。選択したシートをプレーンテーブル付きの RTF 1.6 ドキュメントとして書き出します。列幅は ColWidth データから取得されます(1 文字単位 ≈ 96 twips、デフォルト 809 twips)。セルごとの太字・イタリック・フォントサイズが適用されます。非 ASCII 文字は符号付き 16 ビットの \uN? RTF Unicode エスケープとしてエンコードされます。結合セルはスパンされません。成功時は 0 を返します
ActiveSheetアクティブ(選択中)シートの 1 始まりインデックスです(なければ 0)。クラシック XLS エンジンの ActiveSheetIndexと一致します。SaveAs はワークブックビューオプションを出力する必要がある場合に SaveAs の activeTab="N" を書き込み(OOXML の <workbookView> 属性自体は 0 始まりのまま)、対応するシートに activeTab をマークします tabSelected="1"
Minimized / WindowHidden / ShowHorizontalScroll / ShowVerticalScrollに書き込まれるワークブックウィンドウのクロームフラグです。 <workbookView>は Minimized 、 minimized="1"に書き込まれるワークブックウィンドウのビューオプションです。 WindowHidden はシートタブバーを表示または非表示にします。 visibility="hidden"はタブバーとスクロールバーの幅の比率を制御し 0..1000 にクランプされます。 ShowHorizontalScroll は最初の表示タブを 0 始まりのシートインデックスで指定し既存のシートにクランプされます。 ShowVerticalScroll は AutoFilter ドロップダウンでの Excel の日付グループ化を制御します。 Open は 4 つの値すべてをラウンドトリップします
XWindow / YWindow / WindowWidth / WindowHeightワークブックの日付基準です。 <workbookView>(デフォルト)は Windows 1900 エポック、 XWindow は Mac 1904 エポック(すべての日付シリアルを 1462 日シフト)です。 YWindow セル値を代入する WindowWidth and WindowHeight がそのサイズを保持します。値は 0..65535 にクランプされ、読み込み時にラウンドトリップされます
ShowSheetTabs / TabRatio / FirstSheet / AutoFilterDateGroupingWorkbook-window view options written to <workbookView>. ShowSheetTabs hides or shows the sheet-tab bar, TabRatio はタブ バーとスクロール バーの幅の配分を制御し、0..1000 にクランプします。 FirstSheet は、最初に表示されるタブを 0 始まりのシート インデックスとして選択し、既存のシートへクランプします。また、 AutoFilterDateGrouping は、AutoFilter のドロップダウンにおける Excel の日付グループ化を制御します。 Open round-trips all four values
Date1904Workbook date base. False (デフォルト) は Windows 1900 エポックです。 True は Mac 1904 エポックです (すべての日付シリアルが 1462 日ずれます)。この 前に assigning TDateTime セルの値を調整して、Excel で同じ暦日が表示されるようにします
Iterate / IterateCount / IterateDelta反復による循環参照の計算を制御します IterateCount は 1..32767 にクランプされ、デフォルトは 100 です IterateDelta は非負の有限値を受け付け、デフォルトは 0.001 です。デフォルト以外の上限は Iterate is currently False
CalcMode / RefMode / CalcIdワークブックの計算モード、数式の参照スタイル、計算エンジンの識別情報を制御します CalcMode accepts auto, manual, or autoNoTableRefMode accepts A1 or R1C1 大文字/小文字を区別しない入力を受け付け、正規化された形式で出力します モダンなリッチ エラー出力では、Excel がキャッシュされたモダン エラーを解釈できるよう、出力される CalcId が少なくとも 191029 になります。要求されたより大きい値は保持され、メモリ内のプロパティは変更されません
FullCalcOnLoad / ForceFullCalc / CalcCompleted / CalcOnSave / FullPrecision完全再計算、キャッシュ計算の完了、保存前の再計算、精度ポリシーを制御します。デフォルト以外の値は、それぞれ対応する <calcPr> attribute
ConcurrentCalc / ConcurrentManualCount並列ワークブック計算と、手動ワーカー数のヒントを制御します ConcurrentManualCount 設定することで、Excel が同じカレンダー日付を表示します
SourceFormat直近の成功した Open または OpenODS 呼び出しで読み込まれたパッケージ ファミリを報告します。XLTX と XLTM を含む OOXML のワークブックとテンプレートに対しては xlsxOpenXMLWorkbook を、ODS に対しては xlsxOpenDocumentSpreadsheet を、サポート対象のXLSB 値とスタイルのサブセットに対しては xlsxExcelBinaryWorkbook を返します
新規作成したワークブックは、ファイルを開くまで xlsxOpenXMLWorkbook を報告します。このプロパティは出力形式を選択するものではありません
IndexedColor[Index]指定した OOXML インデックスカラーパレットスロット(0..63)の ARGB 値です。読み取り時はユーザーが上書きした値があればそれを、なければ組み込みの OOXML デフォルト(XlsxDefaultIndexedPalette)を返します。書き込み時はスロット Nを上書きし、SaveAs は 64 スロット全体の <indexedColors> ブロックを出力します
ResolveIndexedColorClassifies public color indexes, BIFF icv 値や OOXML のインデックス カラーを分類し、ワークブックのパレットまたは明示的なシステム カラー コールバックが値を供給する場合は、正規化された ARGB 値に解決します
NearestIndexedColor共有のキャッシュ付き OKLab マッチャーを通じて、最も近い物理パレット エントリを返します。パレットやワークブックの状態は変更しません
ScanIndexedColorUsageパレットの色、定義数と参照数、使用者の種別、保持ロックを含む、決定論的な 56 スロットのインベントリを返します。セルを実体化したり、ワークブックの状態を変更したりしません
BuildBiffPalettePlanロックされたスロット、集約されたトゥルーカラーのターゲット、決定論的なマッピング、ソース識別情報、重み付き OKLab 誤差統計を含む、変更を加えない 56 スロットの BIFF パレット プランを返します
ApplyBiffPalettePlanソース識別情報、スロット メタデータ、ロック、不透明ターゲットを検証したうえで、変更されたすべてのパレット エントリをアトミックに適用し、キャッシュされたマッチャーを 1 回だけ再構築します
HasCustomIndexedColor / CustomIndexedColorCount / ResetIndexedColorsHasCustomIndexedColor(N) はスロット N が明示的に上書きされている場合に True を返します。 CustomIndexedColorCount は上書きされたスロットの数を返します(0 の場合 SaveAs は <colors> ブロックを出力しません)。 ResetIndexedColors はすべての上書きを破棄してデフォルトパレットを復元します
ExternalLinks外部ワークブック参照のコレクションです。各 TXLSXExternalLink エントリはターゲット URL と SheetNames リストを保持します。SaveAs は <externalReferences> の xl/workbook.xml ブロックと対応する xl/externalLinks/ の各部です。Open は Target と SheetNames をラウンドトリップし、 <sheetDataSet> are not preserved
CreateWorkspaceWorkbookReturns the revocable IXLSWorkspaceWorkbook アダプターを返します。アダプターはワークブックのソース識別情報と世代を保持し、ワークブック モデルが破棄される前に切断します
ExternalWorkspaceライブの外部数式評価が使用する、スレッドセーフでパスを保持するレジストリです。完全一致の識別情報とエイリアスが優先され、あいまいなベース名検索は拒否されます。識別情報の正規化では、ファイルやネットワークへの暗黙のアクセスは行われません。詳細は Live workbook workspace
RegisterExternalWorkbook / UnregisterExternalWorkbookパーツを出力します。Open はターゲットと SheetNames をラウンドトリップします。 ExternalWorkspace 内のキャッシュ済みセル値は保持されません

使用例

ワークブックの書き込みと再オープン:
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;
    

関連項目