.xlsx). مُعلَنة في
lxHandleX. تحتوي على مجموعة TXLSXSheets
وتوفر نقاط دخول SaveAs / Open لمصنفات OOXML واستيراد CSV / TSV وجداول بيانات OpenDocument (.ods)
type
TXLSXFileFormat = (xlsxOpenXMLWorkbook, xlsxOpenDocumentSpreadsheet,
xlsxOpenXMLTemplate, xlsxOpenXMLMacroEnabledTemplate, xlsxExcelBinaryWorkbook);
TODSExportOptions = class
constructor Create;
property Generator: WideString;
property IncludeCharts: Boolean;
property IncludeImages: Boolean;
end;
TXLSXWorkbook = class
constructor Create;
destructor Destroy; override;
function CreateLoadedCellCursor: IXLSLoadedCellCursor; overload;
function CreateLoadedCellCursor(AIncludeStoredBlanks: Boolean): IXLSLoadedCellCursor; overload;
function CreateReadOnlyView: IXLSReadOnlyWorkbookView;
property RenderCalibration: TXLSRenderCalibration;
function CaptureRenderCalibration: TXLSRenderCalibration;
procedure ResetRenderCalibration;
function CreateRenderGeometry(ABackend: TXLSRenderGeometryBackend;
ACacheCapacity: Integer = 4096): IXLSRenderGeometry;
function SaveAs(const FileName: WideString): Integer; overload;
function SaveAs(const FileName: WideString; FileFormat: TXLSXFileFormat): Integer; overload;
function SaveAs(Stream: TStream): Integer; overload;
function SaveAs(Stream: TStream; FileFormat: TXLSXFileFormat): Integer; overload;
function GetConversionReport(ATarget: TXLSConversionTarget): TXLSConversionReport;
function SaveAsChecked(Stream: TStream; FileFormat: TXLSXFileFormat;
AllowLossy: Boolean = False): Integer; overload;
function SaveAsChecked(const FileName: WideString; FileFormat: TXLSXFileFormat;
AllowLossy: Boolean = False): Integer; overload;
function Open(const FileName: WideString): Integer; overload;
function Open(const FileName: WideString; const Password: WideString): Integer; overload;
function Open(Stream: TStream): Integer; overload;
function OpenCSV(const FileName: WideString): Integer; overload;
function OpenCSV(const FileName: WideString; ASeparator: WideChar;
ADetectTypes: Boolean): Integer; overload;
function OpenCSV(Stream: TStream): Integer; overload;
function OpenCSV(Stream: TStream; ASeparator: WideChar;
ADetectTypes: Boolean): Integer; overload;
function OpenODS(const FileName: WideString): Integer; overload;
function OpenODS(Stream: TStream): Integer; overload;
function SaveAsODS(const FileName: WideString): Integer; overload;
function SaveAsODS(Stream: TStream): Integer; overload;
function SaveAsODS(const FileName: WideString; Options: TODSExportOptions): Integer; overload;
function SaveAsODS(Stream: TStream; Options: TODSExportOptions): Integer; overload;
function GetODSSheetNames(const FileName: WideString; AList: TStrings): Integer; overload;
function GetODSSheetNames(Stream: TStream; AList: TStrings): Integer; overload;
function GetSheetNames(const FileName: WideString; AList: TStrings): Integer; overload;
function GetSheetNames(Stream: TStream; AList: TStrings): Integer; overload;
function SaveAsCSV(const FileName: WideString): Integer; overload;
function SaveAsCSV(const FileName: WideString; SheetIndex: Integer; Delimiter: WideChar): Integer; overload;
function SaveAsCSV(Stream: TStream): Integer; overload;
function SaveAsCSV(Stream: TStream; SheetIndex: Integer; Delimiter: WideChar): Integer; overload;
function SaveAsHTML(const FileName: WideString): Integer; overload;
function SaveAsHTML(const FileName: WideString; Options: TXLSXHtmlExportOptions): Integer; overload;
function SaveAsHTML(const FileName: WideString; SheetIndex: Integer): Integer; overload;
function SaveAsHTML(const FileName: WideString; SheetIndex: Integer; Options: TXLSXHtmlExportOptions): Integer; overload;
function SaveAsHTML(Stream: TStream): Integer; overload;
function SaveAsHTML(Stream: TStream; Options: TXLSXHtmlExportOptions): Integer; overload;
function SaveAsHTML(Stream: TStream; SheetIndex: Integer): Integer; overload;
function SaveAsHTML(Stream: TStream; SheetIndex: Integer; Options: TXLSXHtmlExportOptions): Integer; overload;
function SaveAsRTF(const FileName: WideString): Integer; overload;
function SaveAsRTF(const FileName: WideString; SheetIndex: Integer): Integer; overload;
function SaveAsRTF(Stream: TStream): Integer; overload;
function SaveAsRTF(Stream: TStream; SheetIndex: Integer): Integer; overload;
// AES encryption (ECMA-376 Standard Encryption) write path.
// OpenEncrypted still raises for encrypted packages.
function SaveAsEncrypted(const FileName, APassword: WideString): Integer;
function OpenEncrypted(const FileName, APassword: WideString): Integer;
function CanReadEncrypted(const FileName: WideString): Boolean;
function Calculate(const Formula: WideString): Variant;
function CalculateAndVerify: Integer; overload;
function CalculateAndVerify(out AMismatches: TArray<TXLSVerifyMismatch>): Integer; overload;
property OnUserFunction: TXLSUserFunctionEvent;
property OnUserFunctionEx: TXLSUserFunctionExEvent;
property AllowUnsafeFormulaCallbacks: Boolean;
// Document properties (docProps/core.xml + docProps/app.xml).
property Title, Author, Subject, Keywords, Description,
Category, LastModifiedBy, Company,
Application, AppVersion: WideString;
property Created, Modified: TDateTime;
// Workbook protection (16-bit legacy hash).
procedure ProtectWorkbook; overload;
procedure ProtectWorkbook(const APassword: WideString); overload;
procedure ProtectWorkbook(const APassword: WideString; ALockStructure, ALockWindows: Boolean); overload;
procedure UnProtectWorkbook;
property IsWorkbookProtected: Boolean;
property LockStructure, LockWindows: Boolean;
// VBA project payload (round-trips byte-for-byte). Workbook is saved
// with macro-enabled content type when HasVbaProject is True.
procedure LoadVbaProjectFromFile(const AFileName: WideString);
procedure ClearVbaProject;
function HasVbaProject: Boolean;
property VbaProjectDefined: Boolean;
property VbaProject: AnsiString;
property ParsedVBAProject: TXLSVBAProject;
// Unknown package and workbook extension preservation
procedure ClearUnsupportedParts;
function UnsupportedPartCount: Integer;
function UnsupportedPartBytes: Int64;
property PreserveUnsupportedParts: Boolean;
// Chart sheet helper — creates a sheet flagged IsChartSheet and
// seeds Charts[0] with a default full-page anchor.
function AddChartSheet(const AName: WideString;
AChartType: TXLSXChartType; const ATitle: WideString): TXLSXWorksheet;
// Streaming SaveAs path (TXLSWideStringBuilder + one sheet at a time).
property StreamingWrite: Boolean;
// Streaming parallel Open path
property ParallelParse: Boolean;
property ParallelParseThreads: Integer;
// Workbook-level collections.
property ActiveSheet: Integer;
property Minimized: Boolean;
property WindowHidden: Boolean;
property ShowHorizontalScroll: Boolean;
property ShowVerticalScroll: Boolean;
property ShowSheetTabs: Boolean;
property XWindow: Integer;
property YWindow: Integer;
property WindowWidth: Integer;
property WindowHeight: Integer;
property TabRatio: Integer;
property FirstSheet: Integer;
property AutoFilterDateGrouping: Boolean;
property Date1904: Boolean;
// Workbook calculation policy
property Iterate: Boolean;
property IterateCount: Integer;
property IterateDelta: Double;
property CalcId: Integer;
property FullCalcOnLoad: Boolean;
property CalcMode: WideString;
property RefMode: WideString;
property ForceFullCalc: Boolean;
property CalcCompleted: Boolean;
property CalcOnSave: Boolean;
property FullPrecision: Boolean;
property ConcurrentCalc: Boolean;
property ConcurrentManualCount: Integer;
function CreateWorkspaceWorkbook: IXLSWorkspaceWorkbook;
procedure RegisterExternalWorkbook(const AWorkbookName: WideString;
AWorkbook: TXLSXWorkbook);
procedure UnregisterExternalWorkbook(const AWorkbookName: WideString);
property SourceFormat: TXLSXFileFormat;
property IndexedColor[Index: Integer]: LongWord;
function NearestIndexedColor(AArgb: LongWord;
out AMatch: TXLSNearestIndexedColorMatch): Boolean;
function ScanIndexedColorUsage: TXLSIndexedColorUsageArray;
function BuildBiffPalettePlan: TXLSBiffPalettePlan;
function ApplyBiffPalettePlan(
const APlan: TXLSBiffPalettePlan): Boolean;
function HasCustomIndexedColor(Index: Integer): Boolean;
function CustomIndexedColorCount: Integer;
procedure ResetIndexedColors;
property Sheets: TXLSXSheets;
property Fonts: TXLSXFonts;
property Fills: TXLSXFills;
property Borders: TXLSXBorders;
property NumberFormats: TXLSXNumberFormats;
property Alignments: TXLSXAlignments;
property DefinedNames: TXLSXDefinedNames;
property ExternalLinks: TXLSXExternalLinks;
property ExternalWorkspace: TXLSWorkbookWorkspace;
end;
| Sheets | ورقة عمل مجموعة. See TXLSXSheets |
| Fonts | يحافظ هذا القسم من توثيق HotXLS على الإطار الفني والمعرفات: HotXLS. TXLSXCell.FontIndex إلى فهرس يبدأ من 1 داخل هذه
المجموعة. راجع TXLSXFont / TXLSXFonts |
| Fills | لوحة تعبئات على مستوى المصنف. تختار الخلايا التعبئة
عن طريق ضبط TXLSXCell.FillIndex إلى فهرس يبدأ من 1 داخل هذه
المجموعة. راجع TXLSXFill / TXLSXFills |
| Borders | لوحة حدود على مستوى المصنف. تختار الخلايا الحدّ
عن طريق ضبط TXLSXCell.BorderIndex إلى فهرس يبدأ من 1 داخل هذه
المجموعة. راجع TXLSXBorder / TXLSXBorders |
| NumberFormats | لوحة تنسيقات أرقام مخصصة على مستوى المصنف. تختار الخلايا
التنسيق عن طريق ضبط TXLSXCell.NumberFormatIndex إلى فهرس يبدأ من 1 داخل هذه
المجموعة. راجع
TXLSXNumberFormat / TXLSXNumberFormats |
| DefinedNames | نطاقات مسمّاة على مستوى المصنف (بنطاق المصنف أو نطاق الورقة). راجع TXLSXDefinedName / TXLSXDefinedNames |
| Calculate | تُترجم وتُقيَّم سلسلة صيغة Excel على الورقة النشطة، ويُقبل = في البداية
تُقيَّم عبر محرك صيغ HotXLS المشترك مراجع الخلايا والنطاقات والصيغ المخزنة في الخلايا المرجعية والمراجع بين الأوراق والأسماء المعرَّفة بصيغ متداخلة والمصفوفات البثّية ذات الأخطاء لكل خلية ومصفوفات الانحدار والتنبؤ متعددة المتغيرات، وكذلك دوال النص والتاريخ وأيام العمل والهندسة/تحويل القواعد والبتات والإحصاء والتجميع والرياضيات المدعومة
راجع OnUserFunction للتعامل مع الدوال المخصصة أو غير المدعومة |
| CreateLoadedCellCursor | تنشئ مؤشرًا بحالة ثابتة بترتيب الصفوف فوق قيم XLSX والصيغ المخزّنة، مع نسخة تُصدِر أيضًا الخلايا الفارغة ذات التنسيق المستقل بوصفها xlckBlank. تُجتاز الكتل المتناثرة والتخزين المعبَّأ دون تجسيد التمثيل المعبَّأ. راجع CreateLoadedCellCursor method |
| CreateReadOnlyView | تنشئ عرضًا للنموذج المشترك بزمن ثابت مع ورقة نشطة محلية ولقطات بالقيمة ونتائج صيغ مخزّنة مؤقتًا وتقييم صيغ معزول اختياري وقراءات مباشرة للخلايا المعبَّأة وعمر مرتبط بعدّ المراجع عبر IXLSXWorkbookOwner, and fail-fast write exclusion; the IXLSReadOnlyWorkbookView also reports SheetCount يحافظ هذا القسم من توثيق HotXLS على الإطار الفني والمعرفات: HotXLS. TXLSXFill / TXLSXFills |
| SaveSemanticSnapshot, ComputeSemanticHash | يحافظ هذا القسم من توثيق HotXLS على الإطار الفني والمعرفات: HotXLS. TXLSXBorder / TXLSXBorders |
| RenderCalibration, CaptureRenderCalibration, ResetRenderCalibration | يحافظ هذا القسم من توثيق HotXLS على الإطار الفني والمعرفات: HotXLS TXLSXNumberFormat / TXLSXNumberFormats |
| CreateRenderGeometry | يحافظ هذا القسم من توثيق HotXLS على الإطار الفني والمعرفات: HotXLS TXLSXDefinedName / TXLSXDefinedNames |
| OnUserFunction, OnUserFunctionEx | يحافظ هذا القسم من توثيق HotXLS على الإطار الفني والمعرفات: HotXLS. Calculate عندما تستدعي
صيغة دالة مخصصة أو غير مدعومة. انظر
OnUserFunction |
| AllowUnsafeFormulaCallbacks | قيمتها الافتراضية false وتمنع أسماء الدوال الخارجية أو ذات النمط الماكروي الخطرة من الوصول إلى معالجات دوال المستخدم قبل تقييم الوسائط. راجع callback safety policy |
| GetSheetNames(FileName, AList), GetSheetNames(Stream, AList) | Reads xl/workbook.xml وتضيف
أسماء أوراق العمل إلى AList بترتيب المصنف دون
تحميل XML أوراق العمل. ونسخة الدفق تتوقع دفق حزمة XLSX
كاملًا. تعيد عدد الأسماء المقروءة، أو
-1 إلى handle custom أو unsupported دوال |
| Alignments | Callback مستخدم بواسطة TXLSXCell.AlignmentIndex عند
صيغة calls custom أو unsupported دالة. See
OnUserFunction / OnUserFunctionEx callback |
| Document properties | يحافظ هذا القسم من توثيق HotXLS على الإطار الفني والمعرفات: XML, XLSX
docProps/core.xml + docProps/app.xml عند
SaveAs (وإلا أبقى المصنف على الحد الأدنى من أجزاء الحزمة) |
| ProtectWorkbook / UnProtectWorkbook | مفتاح تبديل لحماية المصنف مع تجزئة اختيارية
لكلمة مرور قديمة بحجم 16 بت و LockStructure /
LockWindows flags. Reflected as
<workbookProtection> in xl/workbook.xml |
| LoadVbaProjectFromFile / VbaProject / HasVbaProject / VbaProjectDefined | LoadVbaProjectFromFile imports a raw vbaProject.bin payload; VbaProject exposes the bytes; HasVbaProject and read-only VbaProjectDefined يعرض كلاهما ما إذا كان payload موجودًا. احفظ باستخدام .xlsm كامتداد عندما يُراد تمكين وحدات الماكرو في Excel |
| ParsedVBAProject | Read-only parsed view of the current
vbaProject.bin للـ payload. وعندما يكون الـ payload تخزين OLE
VBA صالحًا، تعيد TXLSVBAProject يكشف أسماء
الوحدات والنص المصدر؛ وإلا تعيد nil. The raw
VbaProject للـ payload تبقى البايتات المرجعية المستخدمة
لجولات SaveAs/Open |
| AddChartSheet(Name, Type, Title) | Creates a worksheet flagged
IsChartSheet = True and seeds Charts[0]
مع نقطة إرساء افتراضية معقولة لصفحة كاملة. تكتب SaveAs هذه الأوراق
إلى xl/chartsheets/sheetN.xmlيحافظ هذا القسم من توثيق HotXLS على الإطار الفني والمعرفات: HotXLS
TXLSXAlignment |
| ParallelParse | يحافظ هذا القسم من توثيق HotXLS على الإطار الفني والمعرفات: LastModifiedBy, AppVersion, SaveAs Open تمرر
مدخلات ZIP لأوراق العمل مباشرة إلى inflaters وقراء XML
خاصين بالـ worker. لا تُحتفظ بنسخ تجهيز من XML الأوراق بعد فك الضغط، ويُقفل
مصدر الحزمة لكل قراءة موضعية فقط. اضبط False
لتحليل ورقة عمل واحدة في كل مرة. الافتراضي هو True |
| ParallelParseThreads | تضبط الحد الأقصى لعدد تدفقات أوراق العمل التي تُحلل
تزامنيًا أثناء Open. الصفر يختار عدد الـ workers
التلقائي، والقيم الموجبة تضع حدًا صريحًا. ومجموعات عمل الـ inflater
وقارئ XML النشطة محدودة بهذا العدد |
| StreamingWrite | When True, SaveAs uses
WriteWorksheetXmlStreaming لكل ورقة — لا يُحتفظ بأي
كاش لـ sheetXmls، ويُصدَر sharedStrings.xml أخيرًا بعد أن تملأ كل ورقة
الـ SST. وبالجمع مع
TXLSWideStringBuilder يبقى استهلاك الذاكرة خطيًا على
الأوراق الكبيرة. الافتراضي هو False (السلوك الحالي) |
| PreserveUnsupportedParts / ClearUnsupportedParts | PreserveUnsupportedParts قيمتها الافتراضية
True وتحتفظ بأجزاء الحزمة غير المعروفة القابلة للوصول عبر العلاقات، إضافة إلى
إعلانات مساحات الأسماء الأجنبية لجذر المصنف وسمات
markup-compatibility وكل <extLst>
مصنف protection toggle مع optional
16-bit legacy كلمة مرور hash و
ClearUnsupportedParts/
UnsupportedPartCount flags. Reflected as UnsupportedPartBytes
في xl/مصنف.xml |
| PreserveRawParts | يحافظ هذا القسم من توثيق HotXLS على الإطار الفني والمعرفات: HotXLS |
| SaveAsEncrypted / OpenEncrypted / CanReadEncrypted | يحافظ هذا القسم من توثيق HotXLS على الإطار الفني والمعرفات: OLE, VBA, SaveAs
SaveAsEncrypted AddChartSheet(Name, Type, Title) CanReadEncrypted يحافظ هذا القسم من توثيق HotXLS على الإطار الفني والمعرفات: SaveAs OpenEncrypted TXLSXChart Open StreamingWrite
EXlsxEncryptionNotImplemented يحافظ هذا القسم من توثيق HotXLS على الإطار الفني والمعرفات: ECMA, AES, OLE, NI, OLE2 |
| SaveAs(FileName) | يكتب المصنف إلى الملف المعطى. يعيد
1 عند النجاح وقيمة سالبة عند الفشل. إذا كان المصنف بلا أوراق تُضاف ورقة Sheet1 افتراضية قبل الكتابةهذا التحميل الزائد و SaveAs(FileName, FileFormat) يدرجان الإخراج مرحليًا قبل استبدال الوجهة
إذا فشل الاستبدال فتكون قيمة الإرجاع -1 ويعلن LastDiagnostic عن xlsDiagnosticOutputCommitFailed (1005) ورمز NativeCodeالأصلي لـ Windows ورسالة خطأ النظام
تبقى الوجهة القديمة و FileName الخاص بالمصنف دون تغيير؛ ويُحرَّر الإخراج المؤقت، ويمسح الحفظ اللاحق التشخيص السابق |
| SaveAs(FileName, FileFormat) | يقبل xlsxOpenXMLWorkbook لإخراج OOXML العادي أو xlsxOpenDocumentSpreadsheet لـ ODS أو xlsxOpenXMLTemplate لقالب XLTX خالٍ من وحدات الماكرو أو xlsxOpenXMLMacroEnabledTemplate لقالب XLTM، مع دعم الإخراج المخزن والمتدفق لجميع خيارات OOXMLيكتب إخراج القالب application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml للملف /xl/workbook.xml؛ استخدم الامتداد .xltx للملفات و application/vnd.openxmlformats-officedocument.spreadsheetml.template عند تقديم الحزمة عبر HTTPيجب اختيار التنسيق صراحة: لا امتداد الملف ولا القالب المستورد يغيّر إخراج SaveAs الافتراضيإذا وُجد مشروع VBA يعيد إخراج XLTX القيمة -1 مع تشخيص تنسيق غير مدعوم قبل كتابة الوجهة؛ ويحفظ XLTM مشروعَ VBA القائم ويقبل أيضًا مصنفًا بلا وحدات ماكروSaveAsODS يبقى الاختصار المسمى لإخراج ODS مع تحكم اختياري عبر TODSExportOptions |
| GetConversionReport / SaveAsChecked | يفحص تقرير تحويل ميزات معروفة مملوكًا للمستدعي وخاليًا من التعديل، أو يرفض الميزات المتدهورة والمسقطة قبل الكتابة بترك AllowLossy=False
ويظل الحفظ الضائع الصريح يرفض التحويلات غير المدعومة؛ راجع دقة الحساب والتحويل لمعرفة حدود الهدف والملكية والتشخيص والحفظ |
| SaveAs(Stream) / SaveAs(Stream, FileFormat) | يكتب المصنف مباشرة في أي TStream، ويقبل التحميل الزائد FileFormat xlsxOpenXMLWorkbook أو xlsxOpenDocumentSpreadsheet أو xlsxOpenXMLTemplate أو xlsxOpenXMLMacroEnabledTemplate لمصنفات OOXML أو جداول ODS أو قوالب XLTX أو قوالب XLTM في الذاكرةيعيد 1 عند النجاح، وتحترم عمليات الحفظ إلى تدفق RecalcBeforeSave: يحفظ الوضع اليدوي ذاكرات الصيغ المؤقتة القائمة، بينما تُحدّث سياسات dirty وalways تلك الذواكر قبل التسلسليحتفظ المتصل بملكية التدفق؛ والإلغاء قبل بدء الكتابة يحفظ محتواه وموضعه، بينما قد يترك الفشل بعد بدء التسلسل مخرجات جزئية |
| Open(FileName) | يحافظ هذا القسم من توثيق HotXLS على الإطار الفني والمعرفات: OOXML, xlsx
Sheets collection with its contents. Returns 1
on success |
| Open(FileName, Password) | Reserved لـ future encrypted XLSX دعم. Behaves
like Open(FileName) today — كلمة مرور هو ignored |
| Open(Stream) | يحافظ هذا القسم من توثيق HotXLS على الإطار الفني والمعرفات: OOXML, xlsx
TStream. Returns 1 on success |
| OpenCSV(FileName) / OpenCSV(Stream) | تستورد نص CSV أو TSV إلى المصنف مع
كشف تلقائي للفاصل (,, ;،
علامة جدولة، أو الشرطة العمودية)، وكشف ترميز UTF-8 / UTF-16 اعتمادًا على BOM، وحقول مقتبسة على نمط
RFC 4180، واستنتاج اختياري لنوع القيمة عبر
ADetectTypes overloads. Calling
Open(FileName) on .csv or
.tsv يحافظ هذا القسم من توثيق HotXLS على الإطار الفني والمعرفات: CSV, TSV, BOM, UTF-8, UTF-16, RFC
أسلوب OpenCSV |
| OpenODS(FileName) / OpenODS(Stream) | يحافظ هذا القسم من توثيق HotXLS على الإطار الفني والمعرفات: OpenDocument, AutoFilter, OpenFormula, ODS.odsSaveAsODS(FileName) / SaveAsODS(Stream) content.xml, shared style information from styles.xmlيحافظ هذا القسم من توثيق HotXLS على الإطار الفني والمعرفات: OpenDocument, ODF, AutoFilter, HotXLS |
| SaveAsODS(FileName) / SaveAsODS(Stream), with optional TODSExportOptions | يحفظ المصنف بوصفه حزمة OpenDocument Spreadsheet صالحة. ويكتب mimetype الخاص بـ ODF وقائمة الحزم وmetadata والأنماط ومحتوى أوراق العمل مباشرةً، حاملًا القيم المُنمَّطة والصيغ والأنماط والنص الغني والأبعاد والدمجات والارتباطات التشعبية والصور والمخططات والأسماء المعرفة ونطاقات AutoFilter والتنسيقات الشرطية وعمليات التحقق من صحة البيانات وتثبيت الأجزاء وإعداد الصفحة والترويسات/التذييلات ونطاقات الطباعة وفواصل الصفحات اليدوية ومجموعات المخطط التفصيلي ولون علامة التبويب ورؤية ورقة العمل حيثما يمثلها نموذج مصنف HotXLS. وتمرير خيارات التصدير، بما فيها nil، يحافظ على سياسة إعادة الحساب وإلغاء التقدم والتشخيصات وحماية الكتابة العادية. ويجهّز الإخراج إلى ملف ملفًا شقيقًا ولا يستبدل الوجهة إلا بعد تسلسل ناجح؛ ويحفظ فشل التسلسل والإلغاء قبل الالتزام الوجهةَ السابقة. ويبلّغ تقدم الكتابة عن كل جدول مكتمل، وppsEnd إشعار نهائي لا يمكن لطلب Abort الخاص به إلغاء حفظ مكتمل بالفعل. ويحفظ الإخراج إلى تدفق ملكيةَ المتصل وسلوكَ الحفظ إلى تدفق العادي، الذي قد يترك مخرجات جزئية بعد بدء التسلسل |
| TODSExportOptions | يتحكم في إخراج ODS. يتجاوز Generator قيمة meta:generator في meta.xml؛ والقيمة الفارغة تستخدم سلسلة المولد المدمجة في HotXLS. وافتراض IncludeCharts و IncludeImages هو True، وعند ضبطهما على False تُزال أطر الرسم المطابقة وأجزاء الحزمة ومدخلات قائمة الحزم معًا فلا يبقى في الإخراج مرجع مخطط أو صورة يتيمة. ونسخة الخيارات مملوكة للمستدعي وعليه تحريرها |
| GetODSSheetNames(FileName, AList), GetODSSheetNames(Stream, AList) | يحافظ هذا القسم من توثيق HotXLS على الإطار الفني والمعرفات: ARGB, OOXML, SaveAs content.xml into AList دون إعادة تهيئة المصنف أو تعبئته. استخدمه عندما يحتاج منتقي ملفات أو سير عمل استيراد إلى أسماء الأوراق قبل تحميل المصنف |
| SaveAsCSV overloads | أربع نسخ (FileName أو Stream ×
الورقة النشطة الافتراضية / SheetIndex + Delimiter صريحين). تكتب الورقة
المختارة كملف CSV بترميز UTF-8 مع BOM. وتُعرض قيم التواريخ
yyyy-mm-dd hh:nn:ss؛ وتُحسب خلايا الصيغ قبل
التصدير، ولا يُستخدم نص الصيغة إلا عندما يتعذر الحساب
تعيد 0 عند النجاح |
| SaveAsHTML overloads | Options overloads accept TXLSXHtmlExportOptions for Title, WriteDocument, IncludeStyles, IncludeBOM, and TableClass. Set WriteDocument to False for a table fragment; set IncludeBOM to False عند تضمين المخرجات في استجابة UTF-8 قائمة. وتحافظ المخرجات المصدَّرة الآن على الارتباطات التشعبية للخلايا كـ <a> anchors and anchored images as inline data: لعناوين URI للصور؛ ويشمل التصدير على مستوى المصنف نقاط الإرساء خارج الخلايا المعبأة. كما تُصدَر تعليقات الخلايا بشكل مهرَّب كـ <td>title سمات، ويشمل التصدير على مستوى المصنف نقاط إرساء التعليقات فقط. وعند IncludeStyles is enabled, explicit ColWidth values are emitted as <col> widths and explicit RowHeight values as <tr> كأنماط ارتفاع. وتُصدَر أجزاء النص المنسّق للخلايا بشكل مهرَّب كـ <span> عناصر مع أنماط خط ولون وتأكيد وتسطير مضمّنة عندما IncludeStyles مُمكَّن. وتُصدَر حدود الخلايا كـ CSS border-left, border-right, border-top, and border-bottom rules when IncludeStyles مُمكَّن. الصفوف والأعمدة المخفية المعلَّمة بـ RowHidden / ColHidden، بالإضافة إلى الأعمدة ذات العرض الصفري المعلَنة صراحةً، تُتخطى في الجدول المولَّد وفي <colgroup>. وتُصدَر إعدادات المحاذاة العمودية كـ CSS vertical-align rules when IncludeStyles is enabled |
| SaveAsRTF overloads | أربع نسخ (FileName أو Stream ×
الورقة النشطة الافتراضية / SheetIndex صريح). تكتب الورقة المختارة
كمستند RTF 1.6 بجدول بسيط. وتُشتق أعرضية الأعمدة
من ColWidth (وحدة الحرف الواحدة ≈ 96 twip؛
افتراضيًا 809 twip). تُطبَّق الغامق / المائل / حجم الخط لكل خلية؛
وتُرمَّز المحارف غير ASCII كـ \uN?
تسلسلات هروب unicode في RTF ذات 16 بت إشارية. ولا تمتد الخلايا المدمجة. تعيد 0 عند
النجاح |
| ActiveSheet | فهرس يبدأ من 1 للورقة النشطة (المحددة) (0 عند عدم وجودها)، وهو يطابق ActiveSheetIndex. SaveAs writes activeTab="N" on <workbookView> (the OOXML activeTab نفسها تظل تبدأ من 0) عندما يلزم إصدار خيارات عرض المصنف، ويعلّم الورقة المطابقة بـ tabSelected="1" |
| Minimized / WindowHidden / ShowHorizontalScroll / ShowVerticalScroll | Workbook-window chrome flags written to <workbookView>. Minimized writes minimized="1", WindowHidden writes visibility="hidden", and ShowHorizontalScroll / ShowVerticalScroll hide or show the workbook scrollbars. Open round-trips all four values |
| XWindow / YWindow / WindowWidth / WindowHeight | Workbook-window geometry written to <workbookView>. XWindow and YWindow store the window origin, while WindowWidth and WindowHeight يخزنان حجمها. وتُحصر القيم في 0..65535 وتُحفظ وتُستعاد عند التحميل |
| ShowSheetTabs / TabRatio / FirstSheet / AutoFilterDateGrouping | Workbook-window view options written to <workbookView>. ShowSheetTabs hides or shows the sheet-tab bar, TabRatio يتحكم في تقسيم العرض بين شريط علامات التبويب وشريط التمرير، ويُحصر بين 0..1000، FirstSheet يختار أول علامة تبويب مرئية بوصفها فهرس ورقة يبدأ من 0، ويُحصر في ورقة موجودة، و AutoFilterDateGrouping يتحكم في تجميع التواريخ في Excel ضمن القوائم المنسدلة لـ AutoFilter. Open round-trips all four values |
| Date1904 | Workbook date base. False (الافتراضي) =
عصر 1900 الخاص بـ Windows؛ True = عصر 1904 الخاص بـ Mac (يزيح كل
رقم تسلسلي للتاريخ بمقدار 1462 يومًا). اضبط هذه before assigning
TDateTime كقيم خلايا ليعرض Excel تاريخ التقويم
نفسه |
| Iterate / IterateCount / IterateDelta | يتحكم في الحساب التكراري للمراجع الدائرية
IterateCount يُحصر في 1..32767 وافتراضيه 100
IterateDelta يقبل قيمًا منتهية غير سالبة و
افتراضيه 0.001
وتظل الحدود غير الافتراضية محفوظة حتى عندما Iterate is
currently False |
| CalcMode / RefMode / CalcId | يتحكم في وضع حساب المصنف ونمط
مراجع الصيغ وهوية محرك الحساب
CalcMode accepts auto,
manual, or autoNoTableRefMode accepts A1 or R1C1
مع إدخال لا يراعي حالة الأحرف وإخراج قياسي
ويستخدم إخراجُ الأخطاء الحديثة الغنية قيمةَ CalcId صادرة لا تقل عن
191029 حتى يفسّر Excel الأخطاءَ الحديثة المخزنة مؤقتًا، محافظًا على القيم المطلوبة الأعلى وترك الخاصية في الذاكرة دون تغيير |
| FullCalcOnLoad / ForceFullCalc / CalcCompleted / CalcOnSave / FullPrecision | يتحكم في إعادة الحساب الكامل واكتمال
الحساب المخزَّن مؤقتًا وإعادة الحساب قبل الحفظ وسياسة الدقة
وكل قيمة غير افتراضية تُصدِر وتُحفظ وتُستعاد على حدة
الـ <calcPr> attribute |
| ConcurrentCalc / ConcurrentManualCount | يتحكم في الحساب المتزامن للمصنف وفي تلميح
عدد الـ workers اليدوي
ConcurrentManualCount is clamped to zero or greater |
| SourceFormat | تعرض عائلة الحزمة التي حمّلها آخر استدعاء ناجح لـ Open أو OpenODS، معيدًا xlsxOpenXMLWorkbook لمصنفات وقوالب OOXML بما فيها XLTX و XLTM، و xlsxOpenDocumentSpreadsheet لـ ODS، و xlsxExcelBinaryWorkbook للمجموعة الفرعية المدعومة لقيم وأنماط XLSBويعرض المصنف المنشأ حديثًا xlsxOpenXMLWorkbook حتى يُفتح ملف، وهذه الخاصية لا تختار تنسيق الإخراج |
| IndexedColor[Index] | قيمة ARGB لخانة لوحة الألوان المفهرسة في OOXML المحددة
(0..63). تعيد القراءة تجاوز المستخدم إن وُجد، وإلا فالافتراضي
المضمّن في OOXML (XlsxDefaultIndexedPalette)
Writing overrides slot N; SaveAs then emits a full
<indexedColors> block with all 64 slots |
| ResolveIndexedColor | Classifies public color indexes, BIFF icv قيمًا، أو ألوان OOXML المفهرسة، ويحلّ قيمة ARGB مطبَّعة عندما توفرها لوحة ألوان المصنف أو callback صريح للون النظام |
| NearestIndexedColor | تعيد أقرب مدخل فعلي في لوحة الألوان عبر أداة المطابقة OKLab المخزنة مؤقتًا والمشتركة، دون تغيير اللوحة أو حالة المصنف |
| ScanIndexedColorUsage | تعيد جردًا حتميًا للخانات الـ 56 يضم ألوان لوحة الألوان وعدود التعريفات والمراجع وأنواع المستهلكين وأقفال الحفظ، دون تجسيد الخلايا أو تغيير حالة المصنف |
| BuildBiffPalettePlan | تعيد خطة حتمية للقراءة فقط لخانات لوحة BIFF الـ 56 تشمل الخانات المقفلة وأهداف الألوان الحقيقية المجمعة والتعيّنات الحتمية وهوية المصدر وإحصاءات خطأ OKLab المرجّحة |
| ApplyBiffPalettePlan | يتحقق من هوية المصدر وبيانات الخانات الوصفية والأقفال وأهداف الألوان المعتمة قبل تطبيق جميع مدخلات اللوحة المتغيرة تطبيقًا ذريًا وإعادة بناء أداة المطابقة المخزنة مؤقتًا مرة واحدة |
| HasCustomIndexedColor / CustomIndexedColorCount / ResetIndexedColors | HasCustomIndexedColor(N) returns
True when slot N was explicitly overridden
CustomIndexedColorCount تعيد عدد الخانات
المتجاوزة (0 = بلا <colors> block emitted by SaveAs)
ResetIndexedColors يحافظ هذا القسم من توثيق HotXLS على الإطار الفني والمعرفات: SaveAs |
| ExternalLinks | يحافظ هذا القسم من توثيق HotXLS على الإطار الفني والمعرفات: HotXLS
TXLSXExternalLink
entry holds a Target URL and a SheetNames list. SaveAs
emits the <externalReferences> block in
xl/workbook.xml and the corresponding
xl/externalLinks/ أجزاء. يُبقي Open على Target و
SheetNames عبر جولات الحفظ والاستعادة؛ أما قيم الخلايا المخزنة مؤقتًا داخل
<sheetDataSet> are not preserved |
| CreateWorkspaceWorkbook | Returns the revocable IXLSWorkspaceWorkbook adapter لهذا المصنف يحفظ الـ adapter هوية مصدر المصنف وتوليدَه وينقطع قبل تدمير نموذج المصنف |
| ExternalWorkspace | عند تمكين التحليل المتوازي للأوراق، تبقى callbacks التخطيط على الخيط المستدعي وتكتمل للأوراق المحددة قبل إفراغ طوابير الـ workers Live workbook workspace |
| RegisterExternalWorkbook / UnregisterExternalWorkbook | Compatibility facade over ExternalWorkspace يحافظ هذا القسم من توثيق HotXLS على الإطار الفني والمعرفات: URL, SaveAs, SheetNames |
uses lxHandleX;
var
wb: TXLSXWorkbook;
begin
wb := TXLSXWorkbook.Create;
try
wb.Sheets.Add('Demo').Cells.Item[1, 1].Value := 'Hello';
wb.SaveAs('demo.xlsx');
wb.Open('demo.xlsx');
ShowMessage(wb.Sheets[0].Cells.Item[1, 1].Value);
finally
wb.Free;
end;
end;