HotXLS ドキュメント

TXLSXCell / TXLSXCells クラス

Cell value access on a TXLSXWorksheetTXLSXCell は単一のセル(値と、オプションの数式および書式インデックス)を表します。 TXLSXCells は Worksheet.Cellsを介してアクセスされるワークシートごとのコレクションです。 lxHandleX

TXLSXCell 宣言

type
  TXLSXCell = class
    constructor Create(ARow, ACol: Integer; const AValue: Variant);
    destructor Destroy; override;
    procedure SetWorkbook(AWorkbook: TXLSXWorkbook);
    procedure SetArrayRoot(ARootRow, ARootCol: Integer);
    procedure SetArrayRange(ARootRow, ARootCol, ALastRow, ALastCol: Integer);
    property Workbook: TXLSXWorkbook;
    property ArrayRootRow: Integer;
    property ArrayRootCol: Integer;
    property ArrayLastRow: Integer;
    property ArrayLastCol: Integer;
    property Row: Integer;
    property Col: Integer;
    property Value: Variant;
    property FormatIndex: Integer;
    property FontIndex: Integer;
    property FillIndex: Integer;
    property BorderIndex: Integer;
    property NumberFormatIndex: Integer;
    property NumberFormat: WideString;
    property AlignmentIndex: Integer;
    property ProtectionIndex: Integer;
    property Formula: WideString;
    property RichText: TXLSXRichText;
    property Locked: Boolean;
    property FormulaHidden: Boolean;
    property FormattedText: WideString;
    property TaggedText: WideString;
    property NamedStyleXfId: Integer;
    property LinkedStyle: TXLSXLinkedStyle;
  end;
      

TXLSXCell メンバー

Destroyインスタンスの状態を解放し、所有するリソースを解放します
SetWorkbook所有するワークブックの参照を書き込むことで、数値書式の検索などの操作がO(1)時間で共有ワークブックプールを再利用できるようになります
SetArrayRoot / SetArrayRange配列数式のスピルアンカー用に ArrayRoot* および ArrayLast* マーカーを設定し、1つのルートセルが同じ矩形内のすべての依存セルをマップするようにします
Workbookワークシートのセル作成によって設定される、所有する TXLSXWorkbook への逆参照
ArrayRootRow / ArrayRootCol / ArrayLastRow / ArrayLastCol配列数式の矩形の保存/読み込みラウンドトリップで使用される読み取り専用のCSEスピルメタデータ
Row1から始まる行インデックス
Col1から始まる列インデックス (1 = A, 2 = B, ...)
ValueVariantとしてのセル値。文字列、数値、ブール値、および TDateTime がすべてサポートされています。明示的な TDateTime が設定されていない場合、 cellXf を設定すると、組み込みの日付XlsxXfIndexDate( FormatIndex )が自動的に選択されます
FormatIndexIndex into xl/styles.xmlcellXfs へのインデックス。デフォルトのスタイルにするには 0 のままにします。インデックス 1 は組み込みの日付書式(numFmtId 14、 m/d/yyyy)用に予約されています。設定されると、出力されるセルにおいて FormatIndex が FontIndex よりも優先されます
FontIndexへの1から始まるインデックス。 TXLSXFillや 0 などのカスタム書式コードに使用します
FillIndexカスタム数値書式テキスト用の便利なプロパティ。読み取り時には、 がプール内を指している場合にワークブックの数値書式プールから書式コードを返します。文字列を代入すると、書式を検索または追加し、を更新します TXLSXFill
BorderIndex1-based index into TXLSXWorkbook.Borders See TXLSXBorder
NumberFormatIndex1-based index into TXLSXWorkbook.NumberFormats は、 のようなカスタム表示形式コードの指定に使用します '$#,##0.00' or 'yyyy-mm-dd hh:mm:ss'
NumberFormatカスタム表示形式テキストのための利便プロパティです。読み出し時は、 NumberFormatIndex を指していればその形式コードを返します。文字列を代入すると、形式が検索または追加され、 NumberFormatIndex
AlignmentIndex1-based index into TXLSXWorkbookへの1から始まるインデックス。エントリごとの水平方向/垂直方向/折り返し/インデント/回転の設定については、 TXLSXAlignment を参照してください
RichTextオプションで所有される TXLSXRichText ペイロード。設定されると、セルはプレーンな文字列ではなく、マルチランの <si> エントリとして共有文字列テーブルを経由します。 nil を代入すると、セルのVariant値に戻ります
Precedence同じセルに複数の *Index プロパティが設定されている場合、SaveAs側は次の順序で一致するcellXfを選択します: FormatIndex > FontIndex > FillIndex > BorderIndex > NumberFormatIndex
Formulaオプションの数式テキスト(先頭の =は不要)。設定されると、 SaveAs はセル値と並んで <f> 子要素を出力し、 Open はそれを読み戻します
ProtectionIndexワークブックの保護プールへのインデックス。便利なプロパティ Locked および FormulaHidden は、一般的な使用のためにこのインデックスを自動的に維持します
Locked(すべての新規セルのデフォルト)の場合、ワークシートが保護されているときにセルも保護されます。保護されたシート内の特定のセルを編集可能にするには、 True の場合、シートが保護されている間、数式バーにセルの数式が表示されません。デフォルトは False です。一致する <protection locked="0"/> 内に cellXf を出力します
FormulaHidden読み取り専用のWideString。アクティブなカスタムまたは組み込みの数値書式コードに従って、セルの値を文字列としてフォーマットして返します True シートが保護されている間、数式バーにセルの数式が表示されません。デフォルトは False. Emits <protection hidden="1"/> in the matching cellXf
FormattedText読み取り専用の WideString。セルの値を、有効なカスタムまたは組み込みの表示形式コードに従って文字列に整形して返します
TaggedText読み取り専用の WideString。該当する場合、リッチテキスト スタイルの HTML/XML 風の書式タグを含む、整形済みセル文字列を返します
NamedStyleXfIdRead-only Integer. Returns the cellXfs このセルがリンクしている名前付きスタイルのインデックス、 -1 when the cell has no style payload
LinkedStyleRead/write TXLSXLinkedStyle レコードです。セルを名前付きスタイルにリンクします AutomaticChoose を指定すると Excel がスタイルを自動的に選択し、 LinkedParts 読み取り専用のWideString。適用可能な場合、リッチテキストスタイル用のHTML/XMLに似たフォーマットタグを含むフォーマットされたセル文字列を返します

TXLSXCells 宣言

type
  TXLSXCells = class
    constructor Create(AOwnerSheet: TXLSXWorksheet);
    destructor Destroy; override;
    procedure Clear;
    function HasCell(ARow, ACol: Integer): Boolean;
    function Remove(ARow, ACol: Integer): Boolean;
    property Item[ARow, ACol: Integer]: TXLSXCell; default;
    property Count: Integer;
    property CellByIndex[Index: Integer]: TXLSXCell;
  end;
      

TXLSXCells メンバー

Create1つの所有ワークシートに関連付けられたセルコレクションを構築します
Destroyコレクションによって所有されているすべてのセルを解放します
Item[Row, Col]指定された1から始まる座標のセルを返します。初回アクセス時に空の TXLSXCell を作成します。デフォルトプロパティとして宣言されているため、 Cells[Row, Col] を省略形として使用できます
Count現在格納されているセルの数
CellByIndex[i]指定された0から始まる挿入インデックスのセル。データが入力されている行と列に関する事前知識なしで順次列挙するのに便利です
Remove座標にある既存のセルを1つ削除し、削除が実際に実行されたかどうかを返します
HasCell(Row, Col)指定された座標にセルがすでに存在する場合は True を返します。 Item[Row, Col]
Clearコレクション内のすべてのセルを削除して解放します

例

var
  ws: TXLSXWorksheet;
  i: Integer;
begin
  ws := Workbook.Sheets.Add('Demo');

  ws.Cells.Item[1, 1].Value := 'Hello';
  ws.Cells.Item[1, 2].Value := 123.45;
  ws.Cells.Item[2, 1].Value := Now;             // renders as a date
  ws.Cells.Item[2, 2].Formula := 'SUM(B1:B1)';

  for i := 0 to ws.Cells.Count - 1 do
    WriteLn(ws.Cells.CellByIndex[i].Row, ',',
            ws.Cells.CellByIndex[i].Col);
end;
    

関連項目