Поддръжка на коментари към клетки на
TXLSXWorksheet. Всеки запис прикача автор плюс свободен текст към единична клетка
Декларация на TXLSXComment
type
TXLSXComment = class
constructor Create(ARow, ACol: Integer; const AAuthor, AText: WideString);
property Row: Integer;
property Col: Integer;
property Author: WideString;
property Text: WideString;
end;
Членове на TXLSXComment
| Row, Col |
1-базирани координати на котвата на клетката |
| Author |
Име на автора на коментара. Различните имена се записват веднъж в списъка <authors> на ниво workbook и се препращат чрез authorId |
| Text |
Текст на тялото на коментара. Записва се като един <text><r><t> run при SaveAs и се изравнява от един или повече run-а при Open |
Декларация на TXLSXComments
type
TXLSXComments = class
constructor Create;
destructor Destroy; override;
function Add(ARow, ACol: Integer; const AText: WideString): Integer; overload;
function Add(ARow, ACol: Integer; const AText, AAuthor: WideString): Integer; overload;
function IndexOfCell(ARow, ACol: Integer): Integer;
function FindAt(ARow, ACol: Integer): TXLSXComment;
function DeleteAt(ARow, ACol: Integer): Boolean;
function DeleteInRange(ARow1, ACol1, ARow2, ACol2: Integer): Integer;
procedure Delete(Index: Integer);
procedure Clear;
property Count: Integer;
property Items[Index: Integer]: TXLSXComment; default;
end;
Членове на TXLSXComments
| Add(Row, Col, Text) |
Добавя неподписан коментар (празен author). Връща индекса на новия запис |
| Add(Row, Col, Text, Author) |
Добавя коментар с изрично име на author |
| IndexOfCell(Row, Col) |
Връща 0-базирания индекс на коментара, прикрепен към 1-базираната cell координата, или -1, когато клетката няма коментар |
| FindAt(Row, Col) |
Връща обекта на коментара, прикрепен към клетката, или nil, когато няма коментар |
| DeleteAt(Row, Col) |
Изтрива коментара, прикрепен към клетката, и връща True; връща False, когато не съществува съвпадащ коментар |
| DeleteInRange(Row1, Col1, Row2, Col2) |
Изтрива всеки коментар, чийто anchor е в inclusive 1-базираната cell range, и връща броя на премахнатите. Обърнати координати се приемат |
| Delete(Index) |
Изтрива коментара на посочения 0-базиран индекс в колекцията |
| Count |
Брой на коментарите в worksheet-а |
| Items[Index] |
Коментар на дадения 0-базиран индекс. Декларирано е като default property |
| Clear |
Премахва и освобождава всички коментари |
Пример
var
ws: TXLSXWorksheet;
begin
ws := Workbook.Sheets.Add('Reviews');
ws.Cells.Item[1, 1].Value := 'Q1 revenue';
ws.AddComment(1, 1, 'Numbers still pending review', 'Kevin');
// Equivalent through the collection:
ws.Comments.Add(2, 1, 'Auto-generated draft');
if ws.Comments.IndexOfCell(1, 1) >= 0 then
ws.Comments.DeleteAt(1, 1);
end;
Вижте също