تغطي هذه الصفحة أعضاء واجهة برمجة تطبيقات XLS الكلاسيكية العامة التي تنتمي إلى lxHandle و lxDataToXLS و lxGridToXLS
خصائص حساب IXLSWorkbook
property CalculationMode: LongWord;
property FormulaArrayMemoryLimit: Int64;
property EnableIteration: Boolean;
property MaxIterations: LongWord;
property MaxIterationChange: Double;
property RecalcOnSave: Boolean;
property UseFullPrecision: Boolean;
| CalculationMode |
يتحكم في وضع حساب المصنف المحفوظ مع الملف |
| FormulaArrayMemoryLimit |
يحدّد الحمولة المخصصة لصيغ الصفوف المولّدة مثل MUNIT، بقيمة افتراضية 64 ميبت، ويحصر أي قيمة أقل من عنصر Double واحد |
| EnableIteration |
يُمكّن الحساب التكراري للصيغ الدائرية |
| MaxIterations |
الحد الأقصى لعدد تمريرات غاوس-سايدل لكل مكوّن متصل بقوة من المراجع الدائرية |
| MaxIterationChange |
أقصى فرق عددي مقبول قبل أن يتوقف مكوّن المراجع الدائرية عن التكرار |
| RecalcOnSave |
يطلب إعادة حساب المصنف عندما يحفظ Excel الملف |
| UseFullPrecision |
يحافظ على الدقة الكاملة للصيغ؛ وعند تعطيله تُقرَّب مخازن الصيغ وجداول بيانات What-If المؤقتة إلى دقة العرض العددية الفعالة قبل أن تقرأها الخلايا المعتمدة عليها |
التحقق من إدخال الصيغ
property IXLSWorkbook.FormulaEntryPolicy: TXLSFormulaEntryPolicy;
function TXLSWorksheet.ValidateFormulaEntry(Row, Col: Integer;
const Formula: WideString): TXLSFormulaEntryValidationResult;
تُصنّف اتفاقية التحقق المشتركة المدخلات الفارغة والدوال غير المعروفة والأسماء غير المعروفة وأخطاء بناء الجملة والإحداثيات غير الصالحة، وكذلك الصيغ التي لا يستطيع هدف XLS الكلاسيكي تمثيلها دون تغيير حالة ورقة العمل؛ راجع
سياسة التحقق من إدخال الصيغ
معايرة العرض لـ IXLSWorkbook
property RenderCalibration: TXLSRenderCalibration;
function CaptureRenderCalibration: TXLSRenderCalibration;
procedure ResetRenderCalibration;
function CreateRenderGeometry(ABackend: TXLSRenderGeometryBackend;
ACacheCapacity: Integer = 4096): IXLSRenderGeometry;
يتحقق تعيين السجل الكامل من الحقول الستة جميعها قبل تعديل المصنف، وتُرجع CaptureRenderCalibration لقطة قيم مستقلة لعملية قياس أو تصدير واحدة، بينما تعيد ResetRenderCalibration القيم القياسية 1/1/1/1/100/96
هذا الإعداد خاص بوقت التشغيل فقط، فلا يُسلسَل داخل ملف XLS ولا يعدل ارتفاعات صفوف أو عرض أعمدة ورقة العمل
تنسخ CreateRenderGeometry المعايرة الحالية إلى خدمة يملكها التشغيل وتربط هوية ذاكرتها المؤقتة بجيل المصنف الحالي والمحرك المحدد؛ فلا تستطيع تغييرات المعايرة اللاحقة للمصنف تعديل خدمة قائمة
يلتقط الاحتواء التلقائي للنطاق وكل استدعاء لـ TXLSPaginationModel.Build معايرةَ المصنف مرة واحدة؛ والاحتواء التلقائي هو المستهلك الوحيد الذي يكتب الأبعاد الملائمة عن قصد، بينما يحفظ ترقيم الصفحات كل ارتفاع صف وعرض عمود مخزَّن
خصائص مستند IXLSWorkbook
property Title: WideString;
property Subject: WideString;
property Author: WideString;
property Keywords: WideString;
property Comments: WideString;
property Company: WideString;
property Manager: WideString;
تقرأ هذه الخصائص وتكتب حقول معلومات ملخص المصنف المحفوظة مع ملف XLS الكلاسيكي
طريقة Close لـ IXLSWorkbook
function Close: Integer;
يغلق كائن المصنف ويحرر المحتوى المملوك للمصنف والذي يحتفظ به نموذج كائن XLS الكلاسيكي
property MetadataOnly: Boolean;
property SelectedSheets: TStringList;
property IncompleteLoad: Boolean;
| MetadataOnly |
عند ضبطها قبل Open، تقرأ بيانات المصنف الوصفية وأوصاف الأوراق فقط وتتخطى بيانات الخلايا |
| SelectedSheets |
قائمة أسماء الأوراق المراد تحميلها عند فتح المصنف؛ والقائمة الفارغة تحمّل كل ورقة |
| IncompleteLoad |
True بعد Open عندما كانت بيانات الخلايا متخطاة لأن MetadataOnly أو SelectedSheets استُخدمت |
المصنف المفتوح بـ MetadataOnly أو بـ
SelectedSheets غير فارغة لا يمكن حفظه؛ فـ Save يرفع
خطأ حتى يُعاد فتح المصنف دون هذه الخيارات
حالة الطي في TXLSColumnInfo
property TXLSWorksheet._ColumnInfo: TXLSColumnInfoList;
property TXLSColumnInfo.Collapsed: Boolean;
property TXLSRowInfo.Collapsed: Boolean;
property TXLSColumnInfoList.Collapsed[Index: Integer]: Boolean;
تعرض Collapsed علامة طي المخطط التفصيلي للأعمدة في BIFF بشكل مستقل عن Hidden وOutlineLevel. فهرس القائمة هو فهرس عمود XLS كلاسيكي يبدأ من صفر. الأعمدة الغائبة تُقرأ False، وإسناد False إلى عمود غائب لا يخصص بيانات وصفية. نسخ تنسيق العمود ونسخ أوراق العمل ودورات الحفظ وإعادة الفتح تحافظ على العلامة
دوال الوصول إلى التخزين الأساسي عامة من أجل الفحص منخفض المستوى للمصنف. تُبلّغ TXLSRowInfo عن MinCol وMaxCol (الامتداد المغطى من الأعمدة المرتكز إلى 1) وCustomHeight وCustomFormat (هل يُخزَّن ارتفاع صريح أو فهرس XF) وXFIndexSet؛ وتقارن TXLSColumnInfo.isEqual مدخلي بيانات وصفية للعمودين حقلًا بحقل
تعرض TXLSColumnInfoList الخصائص ColCount وMinCol وMaxCol وStdWidth وMaxOutlineLevel لتشخيص الحدود والعرض الافتراضي، وتعيد CalcMaxOutLineLevel حساب أقصى مستوى مخطط تفصيلي مخزّن بعد التحرير المباشر للبيانات الوصفية، وتستنسخ CopyColFormat مدخل عمود واحد على فهرس آخر، وتحذف DeleteCol مدخلًا، وتقطع FindNextColToStore في المداخل المخزنة لكاتبي سجلات COLINFO في BIFF مبْلِغةً عن الامتداد التالي في معاملات MinCol / MaxCol الخارجة
طرق عقد المخطط التفصيلي لـ TXLSWorksheet
function TryGetOutlineNode(AAxis: TXLSOutlineAxis; ANodeIndex: Integer; out ANode: TXLSOutlineNode): Boolean;
function SetOutlineNodeCollapsed(AAxis: TXLSOutlineAxis; ANodeIndex: Integer; ACollapsed: Boolean; AChildMode: TXLSOutlineChildMode = xocPreserve): Boolean;
procedure SetOutlineDisplayLevel(AAxis: TXLSOutlineAxis; ADisplayLevel: Integer; AChildMode: TXLSOutlineChildMode = xocPreserve);
تُكيّف هذه الطرق بيانات صفوف وأعمدة XLS الكلاسيكية مع نموذج المخطط التفصيلي المتفرق المشترك، وتشتق عقدة الملخص المطلوبة من اتجاه مخططها التفصيلي، وتطبّق تغييرات الإخفاء والطي المضغوطة دون مسح إحداثيات ورقة العمل غير المستخدمة
ANodeIndex هو صف أو عمود الملخص الفيزيائي المرتكز إلى 1، وADisplayLevel يتبع اصطلاح أزرار المخطط التفصيلي المرتكزة إلى 1، بينما يبقي xocPreserve علامات طي الأبناء المتداخلين مستقلة افتراضيًا
طرق الجزء وعنوان الطباعة لـ TXLSWorksheet
function ThawPanes(Y, X: Single; RowTop, ColLeft: Word): Integer;
function SplitPanes(Width, Height: Single): Integer;
function UnsplitPanes: Integer;
function GetSelectedAreas(APane: TXLSPanePosition; out ActiveAreaIndex: Integer): TXLSSelectedAreas;
function SelectAreas(APane: TXLSPanePosition; const Areas: array of WideString; ActiveAreaIndex: Integer = 0): Boolean;
function TryGetWindowScroll(APane: TXLSPanePosition; out ARow, ACol: Integer): Boolean;
function ScrollWindow(APane: TXLSPanePosition; ARow, ACol: Integer): Boolean;
function RepeatRows(FirstRow, LastRow: Word): Integer;
function RepeatColumns(FirstCol, LastCol: Word): Integer;
تتحكم ThawPanes و SplitPanes و UnsplitPanes في حالة تقسيم الجزء، بينما تحدد RepeatRows و RepeatColumns صفوف أو أعمدة عنوان الطباعة لورقة العمل
توفر
GetSelectedAreas وتحميل
SelectAreas الذي يضع الجزء أولًا اتفاقية تحديد الأجزاء المنطقية المشتركة الموصوفة في
تحديدات أجزاء أوراق العمل
سجلات التحديد المتتابعة في BIFF لجزء واحد تشكّل مجموعة منطقية واحدة، والمجموعات المعدَّلة تُكتب على دفعات لا تتجاوز 1369 نطاقًا، ونسخ ورقة العمل تحتفظ بكل مجموعة أجزاء
تعيد التعديلات الإنشائية على الصفوف والأعمدة الكاملة تعيين كل مجموعة أجزاء صالحة مع الحفاظ على الناجين المرتبين وهوية النطاق النشط، مع بدائل حتمية للخليفة والسلف وخلية الحد
سجلات التحديد التالفة أو المتناقضة تبقى معتمة، وتُبثّ بايت ببايت عند الحفظ، وتبلّغ عن xlsDiagnosticSelectionRecordInvalid بدلًا من كشف حالة مكتوبة موثوقة جزئيًا
تعرض TryGetWindowScroll وScrollWindow اتفاقية التمرير المشتركة المرتكزة إلى 1 للأجزاء الأربعة، حيث تُعيّر المحاور العليا واليسرى إلى Window2 والمحاور السفلى واليمنى إلى Pane
طرق التحقق من صحة البيانات المكتوبة لـ TXLSWorksheet
function AddWholeNumberValidation(ARange: WideString; AOp: TXLSDvOperator; const AFormula1: WideString; const AFormula2: WideString = ''): TDataValidation;
function AddDecimalValidation(ARange: WideString; AOp: TXLSDvOperator; const AFormula1: WideString; const AFormula2: WideString = ''): TDataValidation;
function AddDateValidation(ARange: WideString; AOp: TXLSDvOperator; const AFormula1: WideString; const AFormula2: WideString = ''): TDataValidation;
function AddTimeValidation(ARange: WideString; AOp: TXLSDvOperator; const AFormula1: WideString; const AFormula2: WideString = ''): TDataValidation;
function AddTextLengthValidation(ARange: WideString; AOp: TXLSDvOperator; const AFormula1: WideString; const AFormula2: WideString = ''): TDataValidation;
function AddCustomValidation(ARange: WideString; const AFormula: WideString): TDataValidation;
ينشئ كل مساعد قاعدة تحقق من صحة بيانات مكتوبة لـ ARange ويعيد مثيل TDataValidation المنشأ بحيث يمكن تعديل خيارات المطالبة والخطأ ومعالجة الفراغات
أعضاء الجداول المحورية لـ TXLSWorksheet
property PivotTables: TXLSPivotTables;
function AddPivotTable(const SourceRangeA1: WideString; DestRow, DestCol: Integer; const Name: WideString): TXLSPivotTable;
function PivotSetDataFieldFormat(DataField: TXLSPivotDataField; const FormatStr: WideString): Word;
function SetArrayFormula(const Formula: WideString): Integer;
function XFIndex: Integer;
property FirstRow: Word;
property LastRow: Word;
property FirstCol: Byte;
property LastCol: Byte;
تُعين SetArrayFormula صيغة صفيف للنطاق. تعرض FirstRow و LastRow و FirstCol و LastCol حدود النطاق المخزنة المستندة إلى 1، بينما تُرجع XFIndex فهرس تنسيق XLS الكلاسيكي الفعلي للنطاق
مساعدو نقل IXLSRange
procedure PasteFrom(SrcRange: TXLSRange; PasteMode: LongWord; CopyMode: Boolean);
procedure ShiftTo(Row: Word; Col: Byte);
procedure ExtendRange;
procedure ContractRange;
تُطبق PasteFrom محتوى الخلية من نطاق XLS كلاسيكي آخر باستخدام وضع اللصق المحدد. تعيد ShiftTo وضع كائن النطاق، بينما تعدل ExtendRange و ContractRange المستطيل المخزن قبل عمليات النطاق التي تحتاج إلى حدود موسعة أو تمت تسويتها
واجهات نطاق صفوف وأعمدة IXLS
interface IXLSRowsRange = interface(IXLSRange)
property Item[Row: Integer]: IXLSRowRange;
property Hidden: OleVariant;
property Count: LongWord;
procedure AutoFit(Columns: Boolean = False);
interface IXLSRowRange = interface(IXLSRange)
property Item[Col: Integer]: IXLSColRange;
property Hidden: OleVariant;
property Count: LongWord;
procedure AutoFit(Columns: Boolean = False);
interface IXLSColsRange = interface(IXLSRange)
property Item[Col: Integer]: IXLSColRange;
property Hidden: OleVariant;
property Count: LongWord;
procedure AutoFit(Columns: Boolean = True);
procedure Group(Rows: Boolean = False);
procedure UnGroup(Rows: Boolean = False);
property OutlineLevel: Integer;
interface IXLSColRange = interface(IXLSRange)
property Item[Row: Integer]: IXLSRowRange;
property Hidden: OleVariant;
property Count: LongWord;
procedure AutoFit(Columns: Boolean = True);
procedure Group(Rows: Boolean = False);
procedure UnGroup(Rows: Boolean = False);
property OutlineLevel: Integer;
يتم إرجاع IXLSRowsRange و IXLSRowRange و IXLSColsRange و IXLSColRange بواسطة IXLSRange.Rows و IXLSRange.Columns و IXLSRange.EntireRow و IXLSRange.EntireColumn. وهي تحتفظ بسطح التحرير العادي لـ IXLSRange مع إضافة وصول مفهرس للصف أو العمود، والتحكم في الحالة المخفية، والأعداد، والاحتواء التلقائي، وتجميع المخطط التفصيلي حيث يدعمه اتجاه النطاق
خاصية DisplayText لـ IXLSHyperLink
property DisplayText: WideString;
تقرأ DisplayText أو تغير النص المرئي الذي يعرضه Excel لارتباط تشعبي لـ XLS الكلاسيكي، بشكل منفصل عن عنوان الهدف وتلميح الشاشة
خصائص تعيين معرف TXLSWorksheets
property IndexByID[SheetID: Integer]: Integer;
property IDByName[SheetName: WideString]: Integer;
property NameByID[SheetID: Integer]: WideString;
تقوم خصائص البحث للقراءة فقط هذه بالتعيين بين معرف الورقة الداخلي وفهرس ورقة العمل الحالية واسم ورقة العمل المرئي. إنها مفيدة عند الاحتفاظ بالصيغ أو الأسماء المحددة أو السجلات التي تشير إلى الأوراق بواسطة المعرفات المخزنة بدلاً من ترتيب علامات التبويب الحالي
خاصية SheetTypeRaw لـ TXLSWorksheet
property SheetTypeRaw: Byte;
تحافظ SheetTypeRaw على قيمة BoundSheet8.dt لـ XLS الكلاسيكية الخام أثناء تحميل المصنفات وحفظها، بحيث يمكن لوحدات الماكرو و VBA وورقة العمل ومربع الحوار وسجلات نوع الورقة الأخرى إجراء ذهاب وإياب دون تسويتها إلى علامة تبويب ورقة عمل قياسية
خصائص الطباعة المتقدمة لـ IXLSPageSetup
property PrintNotesAtEnd: Boolean;
property UseFirstPageNumber: Boolean;
property FirstPageNumber: Integer;
property PrintCellErrors: LongWord;
property PrintResolution: LongWord;
property PrintVResolution: LongWord;
property Copies: LongWord;
property HasSetupRecord: Boolean; read only
property PrinterSettingsInitialized: Boolean; read only
property PrinterDriverData: TBytes;
property HasPrinterDriverData: Boolean; read only
procedure ClearPrinterDriverData;
تحافظ هذه الخصائص على خيارات إعداد الصفحة المتقدمة مثل التعليقات المطبوعة في النهاية، ورقم الصفحة الأولى المخصص، وعرض أخطاء الخلايا المطبوعة، ودقة الطابعة، وعدد النسخ
تُبلّغ HasSetupRecord عمّا إذا كانت ورقة عمل XLS كلاسيكية محمّلة تحتوي سجل Setup في BIFF، بينما تُبلّغ PrinterSettingsInitialized عمّا إذا كان حجم الورق والمقياس والاتجاه والدقة وعدد النسخ معرَّفة بواسطة ذلك السجل
حفظ ورقة عمل لم تُمسّها تعديلات يحافظ على سجل Setup الغائب ويسجّل الموجود بايت ببايت؛ وتعديل حقل إعداد صفحة ينشئ السجل عند الحاجة، وتعديل حقل يعتمد على الطابعة يهيّئ إعدادات الطابعة
تقرأ PrinterDriverData حمولة معرف الطابعة المعتمة لسجل PLS في BIFF أو تستبدلها، وتميّز HasPrinterDriverData الحمولة الغائبة، وتزيل ClearPrinterDriverData الحمولة دون تغيير حقول إعداد الصفحة المكتوبة
تُنسخ مصفوفات البايت في الجالبات والواضعات حتى يملك المستدعون ونسخ ورقة العمل ملكية مستقلة؛ ويجب أن تتضمن حمولات Classic البادئة المحجوزة المطلوبة المكوّنة من بايتين وألّا تتجاوز 1 ميبت
تنقل SaveXLSWorkbookAsXLSX قيم إعداد الصفحة المكتوبة وحمولة معرف الطابعة المعتمة بشكل مستقل إلى نموذج XLSX؛ وتبقى الحقول القياسية المكتوبة هي المرجع عند تكرار إعدادات الطابعة الافتراضية داخل بايتات المعرف الخاصة
خصائص مجموعة أحرف IXLSFont
property CharSet: Byte;
property Family: Byte;
تعرض CharSet و Family بايتات مجموعة الأحرف والعائلة لخط XLS الكلاسيكي للمتصلين الذين يحتاجون إلى الحفاظ على بيانات التعريف الوصفية للخط الخاصة باللغة
طرق Abort لـ TDataToXLS و TGridToXLS
procedure TDataToXLS.Abort;
procedure TGridToXLS.Abort;
استدعِ Abort من معالجات أحداث التصدير عندما يجب أن تتوقف مجموعة البيانات قيد التشغيل أو تصدير الشبكة قبل الاكتمال
الوظائف المساعدة لمرجع XLS الكلاسيكي
function GetCellRef(Cell: String; var Row, Col: Word): Integer;
function GetCellRange(CellRange: String; var StartRow, StartCol, EndRow, EndCol: Word): Integer;
function EncodeCellRef(Row, Col: Word): String;
function EncodeCellRange(StartRow, StartCol, EndRow, EndCol: Word): String;
function Width2Excel(Value: Single): Word;
function Excel2Width(Value: Word): Single;
function Height2Excel(Value: Single): Word;
function Excel2Height(Value: Word): Single;
function ColIndexToColName(Index: Integer): String;
function ColNameToColIndex(Name: String): Integer;
تقوم هذه المساعدات بتحويل مراجع A1 الكلاسيكية، والنطاقات، وتسميات الأعمدة، وأبعاد الصفوف أو الأعمدة، ووحدات تخزين Excel المستخدمة بواسطة نموذج كائن XLS الكلاسيكي