فئتا TXLSTable / TXLSTables
الوحدة: lxHandle
جداول BIFF8 (.xls) (ListObjects في Excel). يرفق الجدول منطقة مرجعية منظمة مسماة بنمط مضمن وتصفية تلقائية مضمنة بنطاق مستطيل توجد المجموعة في TXLSWorksheet.Tables؛ استخدم AddTable كنقطة دخول أكثر شيوعا. يعكس الشكل TXLSXTable / TXLSXTables على جانب XLSX، بحيث يمكن أن تكون التعليمات البرمجية التي تضيف جداول إلى مصنف مستقلة عن التنسيق. متاح منذ الإصدار v2.33.0
الإعلان
type
TXLSTable = class
constructor Create;
procedure Assign(Source: TXLSTable);
property Id: Integer; // assigned by SaveAs (1..N per sheet)
property Name: WideString;
property DisplayName: WideString;
property Range: WideString; // e.g. "A1:F9"
property Columns: TStringList; // header text per column
property StyleName: WideString; // default 'TableStyleMedium2'
property ShowFirstColumn: Boolean; // default False
property ShowLastColumn: Boolean; // default False
property ShowRowStripes: Boolean; // default True
property ShowColumnStripes: Boolean; // default False
property TotalsRowShown: Boolean; // default False
end;
TXLSTables = class
function Add: TXLSTable; overload;
function Add(const AName, ARange: WideString;
AColumns: TStrings): Integer; overload;
procedure Delete(Index: Integer);
procedure Clear;
property Count: Integer;
property Items[Index: Integer]: TXLSTable; default;
end;
اختصار ورقة العمل
تكشف TXLSWorksheet
عن AddTable(AName, ARange, AColumns)
والتي تعيد التوجيه إلى Tables.Add وترجع كائن الجدول
الجديد بحيث يمكنك تحسين StyleName أو علامات الصفوف المخططة
الخاصة به قبل الحفظ
سلوك وقت الحفظ
عند SaveAs(xlExcel97) في BIFF8، تصدر الورقة رأس ميزة جدول
FEATHEADR11 ($0871) واحدا، ثم يصدر كل جدول حمولة TableFeatureType
من نوع FEAT11 ($0872) بالإضافة إلى سجل نمط LIST12
($0877) قبل نهاية ملف ورقة العمل مباشرة، بعد حماية
الورقة. منذ الإصدار v2.87.4 يستخدم سجل نمط LIST12 تخطيط
List12TableStyleClientInfo الخاص بـ MS-XLS، بما في ذلك علامات
الصفوف / الأعمدة المخططة واسم النمط كـ XLUnicodeString
لم يعد HotXLS يصدر سجل FEATHEADR ($0867) القديم لبيانات
الجدول الوصفية. المصنفات التي لا تحتوي على جداول يتم حفظها تماما كما كانت من قبل ولا تحمل أي
عبء إضافي لتدفق سجلات الجدول. لا تتأثر عمليات حفظ BIFF5 لأن الجداول
هي مفهوم خاص بـ BIFF8 وما بعده
بدءا من الإصدار v2.33.2، يمنع كاتب BIFF8 أيضا سجلات
AUTOFILTERINFO / AUTOFILTER المستقلة على مستوى
الورقة عندما يغطي جدول على نفس الورقة نطاق التصفية التلقائية
بالكامل، لأن Excel يضمن قائمة منسدلة للتصفية التلقائية داخل كائن
الجدول نفسه. بدءا من الإصدار v2.87.4 تحدد بيانات Feature11
الوصفية الخاصة بالجدول أيضا علامات التصفية التلقائية على مستوى الجدول ومستوى الحقل
وتصدر كتل Feat11FdaAutoFilter الفارغة لكل عمود
والتي يتوقعها Excel لقوائم تصفية الجدول المنسدلة
مثال
var
cols: TStringList;
begin
Sheet.Cells.Item[1, 1].Value := 'Region';
Sheet.Cells.Item[1, 2].Value := 'Product';
Sheet.Cells.Item[1, 3].Value := 'Quarter';
Sheet.Cells.Item[1, 4].Value := 'Revenue';
// ... nine data rows below ...
cols := TStringList.Create;
try
cols.Add('Region');
cols.Add('Product');
cols.Add('Quarter');
cols.Add('Revenue');
with Sheet.AddTable('SalesTable', 'A1:D10', cols) do
begin
StyleName := 'TableStyleMedium2';
ShowRowStripes := True;
end;
finally
cols.Free;
end;
Workbook.SaveAs('SalesTable.xls', xlExcel97);
انظر أيضا
طريقة TXLSWorksheet.AddTable
خاصية TXLSWorksheet.Tables
TXLSXTable / TXLSXTables (جانب XLSX)