TXLSXCell は単一のセル(値と、オプションの数式および書式インデックス)を表します。 TXLSXCells は Worksheet.Cellsを介してアクセスされるワークシートごとのコレクションです。
lxHandleX
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;
| Destroy | インスタンスの状態を解放し、所有するリソースを解放します |
| SetWorkbook | 所有するワークブックの参照を書き込むことで、数値書式の検索などの操作がO(1)時間で共有ワークブックプールを再利用できるようになります |
| SetArrayRoot / SetArrayRange | 配列数式のスピルアンカー用に ArrayRoot* および
ArrayLast* マーカーを設定し、1つのルートセルが同じ矩形内のすべての依存セルをマップするようにします |
| Workbook | ワークシートのセル作成によって設定される、所有する TXLSXWorkbook への逆参照 |
| ArrayRootRow / ArrayRootCol / ArrayLastRow / ArrayLastCol | 配列数式の矩形の保存/読み込みラウンドトリップで使用される読み取り専用のCSEスピルメタデータ |
| Row | 1から始まる行インデックス |
| Col | 1から始まる列インデックス (1 = A, 2 = B, ...) |
| Value | Variantとしてのセル値。文字列、数値、ブール値、および TDateTime がすべてサポートされています。明示的な
TDateTime が設定されていない場合、
cellXf を設定すると、組み込みの日付XlsxXfIndexDate(
FormatIndex )が自動的に選択されます |
| FormatIndex | Index into xl/styles.xmlcellXfs
へのインデックス。デフォルトのスタイルにするには 0 のままにします。インデックス 1
は組み込みの日付書式(numFmtId 14、
m/d/yyyy)用に予約されています。設定されると、出力されるセルにおいて FormatIndex が FontIndex よりも優先されます |
| FontIndex | への1から始まるインデックス。
TXLSXFillや 0 などのカスタム書式コードに使用します |
| FillIndex | カスタム数値書式テキスト用の便利なプロパティ。読み取り時には、 がプール内を指している場合にワークブックの数値書式プールから書式コードを返します。文字列を代入すると、書式を検索または追加し、を更新します TXLSXFill |
| BorderIndex | 1-based index into TXLSXWorkbook.Borders See TXLSXBorder |
| NumberFormatIndex | 1-based index into
TXLSXWorkbook.NumberFormats は、 のようなカスタム表示形式コードの指定に使用します '$#,##0.00'
or 'yyyy-mm-dd hh:mm:ss' |
| NumberFormat | カスタム表示形式テキストのための利便プロパティです。読み出し時は、 NumberFormatIndex を指していればその形式コードを返します。文字列を代入すると、形式が検索または追加され、 NumberFormatIndex |
| AlignmentIndex | 1-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 風の書式タグを含む、整形済みセル文字列を返します |
| NamedStyleXfId | Read-only Integer. Returns the cellXfs このセルがリンクしている名前付きスタイルのインデックス、 -1 when the cell has no style payload |
| LinkedStyle | Read/write TXLSXLinkedStyle レコードです。セルを名前付きスタイルにリンクします AutomaticChoose を指定すると Excel がスタイルを自動的に選択し、 LinkedParts 読み取り専用のWideString。適用可能な場合、リッチテキストスタイル用のHTML/XMLに似たフォーマットタグを含むフォーマットされたセル文字列を返します |
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;
| Create | 1つの所有ワークシートに関連付けられたセルコレクションを構築します |
| 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;