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배열 수식 스필(spill) 앵커를 위해 ArrayRoot* 및 ArrayLast* 마커를 설정하여 하나의 루트 셀이 동일한 사각형 영역 내의 모든 종속 셀을 매핑하도록 합니다
Workbook워크시트 셀 생성 시 설정되는 소유 TXLSXWorkbook 에 대한 역참조입니다
ArrayRootRow / ArrayRootCol / ArrayLastRow / ArrayLastCol배열 수식 사각형에 대해 저장/로드 양방향 작업(round-trip)에 사용되는 읽기 전용 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 보다 우선권을 가집니다
FontIndex1-based index into TXLSXWorkbook.Fonts에 대한 1부터 시작하는 인덱스입니다. 기본값인 Calibri 11을 상속하려면 0 으로 유지합니다
FillIndex1-based index into TXLSXWorkbook.Fills에 대한 1부터 시작하는 인덱스입니다. TXLSXFill
BorderIndex1-based index into TXLSXWorkbook.Borders에 대한 1부터 시작하는 인덱스입니다. TXLSXBorder
NumberFormatIndex1-based index into TXLSXWorkbook.NumberFormats에 대한 1부터 시작하는 인덱스입니다. '$#,##0.00' 또는 'yyyy-mm-dd hh:mm:ss'
NumberFormat사용자 지정 숫자 서식 텍스트를 위한 편리한 속성입니다. 읽을 때 NumberFormatIndex 가 하나를 가리키고 있으면 통합 문서 숫자 서식 풀에서 서식 코드를 반환하고, 문자열을 할당하면 서식을 찾아 추가하고 NumberFormatIndex
AlignmentIndex1-based index into TXLSXWorkbook.Alignments에 대한 1부터 시작하는 인덱스입니다. 항목별 가로/세로/텍스트 줄 바꿈/들여쓰기/회전 설정을 보려면 TXLSXAlignment 를 참조하십시오
RichText선택적 소유 TXLSXRichText 페이로드입니다. 설정 시 셀은 일반 문자열 대신 다중 런(multi-run) <si> 항목으로 공유 문자열 테이블에 입력되며, nil 을 할당하면 셀의 Variant 값으로 되돌아갑니다
Precedence동일한 셀에 여러 *Index 속성이 설정된 경우 SaveAs 측은 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. 해당되는 경우 rich text 스타일을 위한 HTML/XML 유사 서식 태그가 포함된 형식화된 셀 문자열을 반환합니다
NamedStyleXfIdRead-only Integer. Returns the cellXfs 이 셀이 링크한 명명된 스타일의 1 기반 인덱스이거나, -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 멤버

Create소유 워크시트 하나에 연결된 셀 컬렉션을 구성합니다
Destroy컬렉션이 소유한 모든 셀을 해제합니다
Item[Row, Col]지정된 1부터 시작하는 좌표의 셀을 반환하며, 처음 접근 시 빈 TXLSXCell 을 생성합니다. 기본(default) 속성으로 선언되어 Cells[Row, Col] 을 단축 기법으로 사용할 수 있습니다
Count현재 저장된 셀의 수입니다
CellByIndex[i]지정된 0부터 시작하는 삽입 인덱스의 셀입니다. 데이터가 입력된 행과 열에 대한 사전 지식 없이 순차적으로 열거할 때 유용합니다
Remove해당 좌표에 있는 기존 셀 하나를 삭제하고 실제 삭제 여부를 반환합니다
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;
    

참고 항목