Приєднує таблицю BIFF8 (ListObject Excel) до діапазону комірок, повертаючи новий об'єкт
TXLSTable, щоб можна було налаштувати додаткові властивості (
StyleName, прапори чергування рядків,
TotalsRowShown) перед збереженням. Сигнатура відображається у
TXLSXWorksheet.AddTable на боці XLSX, тому незалежний від формату код може викликати ту саму сигнатуру. (Доступно з версії v2.33.0.)
Синтаксис
function AddTable(
const AName, ARange: WideString;
AColumns: TStrings):
TXLSTable;
| AName |
WideString. Ім'я таблиці зі структурованими посиланнями, що відображається в полі імені Excel, наприклад 'SalesTable'. Стає і Name, і DisplayName поверненого об'єкта |
| ARange |
WideString. Діапазон комірок, який охоплює Table, у нотації A1, наприклад 'A1:D10'. Перший рядок діапазону вважається рядком заголовків |
| AColumns |
TStrings. Текст заголовка для кожного стовпця. Має містити рівно стільки елементів, скільки стовпців у ширину має діапазон |
Примітки
Нова таблиця додається до колекції
Tables аркуша. За замовчуванням її
StyleName дорівнює
'TableStyleMedium2', а
ShowRowStripes дорівнює True, що відповідає виводу Excel та XLSX. Ідентифікатор (1..N на аркуш) призначається під час збереження, якщо ви його не встановили
BIFF8 генерує групу записів FEATHEADR11 / FEAT11 / LIST12 лише при SaveAs(xlExcel97). Збереження BIFF5 не зачіпається (таблиці є концепцією BIFF8+). Запис LIST12 зберігає StyleName та прапори чергування рядків/стовпців, використовуючи макет клієнта стилю таблиці MS-XLS. Починаючи з v2.33.2, записи AUTOFILTERINFO / AUTOFILTER на рівні аркуша пригнічуються, якщо таблиця на тому ж аркуші повністю охоплює діапазон автофільтра, оскільки Excel вбудовує автофільтр усередині об'єкта таблиці; v2.87.4 також записує відповідні метадані AutoFilter на рівні таблиці та поля до FEAT11
Приклад
Цей приклад записує чотиристовпчасту таблицю регіонів продажів як таблицю у A1:D10
var
cols: TStringList;
begin
cols := TStringList.Create;
try
cols.Add('Region');
cols.Add('Product');
cols.Add('Quarter');
cols.Add('Revenue');
Sheet.AddTable('SalesTable', 'A1:D10', cols);
finally
cols.Free;
end;
Дивіться також