کتابخانه اکسل برای RAD Studio

خواندن، نوشتن، قالب‌بندی و استخراج کارپوشه‌های اکسل بدون اتوماسیون آفیس

HotXLS یک کتابخانه بومی Object Pascal برای برنامه‌های Delphi و C++Builder است. این کتابخانه گردش کارهای کلاسیک XLS و نمای فعلی XLSX را به صورت مستقیم، با APIهای کارپوشه، ویرایش کاربرگ، قالب‌بندی غنی، ابزارهای کمکی استخراج، نسخه‌های نمایشی و مستندات آفلاین در بسته مدیریت می‌کند

نمای کارپوشه XLS + XLSX
مقادیر
سبک‌ها
استخراج
اعداد
حاشیه‌ها
CSV
تاریخ‌ها
رنگ‌های تم
HTML
فرمول‌ها
اعتبارسنجی
RTF

خلاصه‌ای از قابلیت‌های فعلی

سری فعلی HotXLS نمای اصلی XLS را با یک موتور اختصاصی XLSX ترکیب می‌کند، بنابراین کدهای قدیمی می‌توانند به استفاده از API کلاسیک ادامه دهند در حالی که پروژه‌های جدید می‌توانند به صورت مستقیم ویژگی‌های OOXML را هدف قرار دهند

ورودی/خروجی بومی کارپوشه

کارپوشه‌های اکسل را مستقیماً از کد Delphi یا C++Builder ایجاد، باز، اصلاح و ذخیره کنید. نیازی به نصب Microsoft Excel، اتوماسیون COM یا فرآیند صفحه گسترده خارجی نیست

نمای کلاسیک XLS

یک API بالغ برای کارپوشه‌های Excel 97-2003 (.xls)، که مدل شی کلاسیک کامل را با رفت و برگشت BIFF8 با وفاداری بالا پوشش می‌دهد و فایل‌های قدیمی Excel 2.0/3.0/4.0 (BIFF2-4) را برای مقادیرشان می‌خواند

  • ذخیره XLS کلاسیک cacheهای فرمول بارگذاری‌شده یا محاسبه‌شده را حفظ می‌کند، از جمله ریشه‌های فرمول اشتراکی و آرایه‌ای؛ cacheهای غایب fallback محاسبه را نگه می‌دارند و Recalculate صریح مقادیر موجود را تازه می‌کند
  • ارجاع‌های نام تعریف‌شده اسکالر، محدوده‌های تک‌سطری یا تک‌ستونی را در سلول فرمول اشتراک می‌دهند، در حالی که آرگومان‌های بازه‌ای aggregate و lookup کل محدوده را نگه می‌دارند؛ محاسبه مجدد از حلقه‌های بازه‌ای کاذب پرهیز می‌کند، cacheهای lookup نهایی‌شده را در اولویت می‌گذارد و دقت ممیز شناور را در حساب ترکیبی صحیح و ممیز شناور حفظ می‌کند
  • round-tripهای XLSX فرمول‌های پویای ناحیه چاپ، اجتماع محدوده‌های دارای پیشوند و شاخص فونت فونتیکِ صفرِ الزامی را حفظ می‌کنند؛ بخش‌های تولیدی و حفظ‌شده اعلان content-type یکتا را به اشتراک می‌گذارند و ویژگی‌های سفارشی و relationshipهای ریشه opaque، شناسه relationship متمایز خود را نگه می‌دارند
  • XLS کلاسیک رکوردهای حاشیه غایبِ واردشده را تا زمانی که حاشیه متناظر صراحتاً تنظیم نشده نگه می‌دارد، بدون تغییر در خروجی حاشیه پیش‌فرض کارپوشه‌های جدید
  • AGGREGATE خطاهای کش‌نشده و انتخاب تودرتو را مستقل مدیریت می‌کند و برای گزینه‌های 0 تا 7 معناشناسی ارجاع و آرایه محاسبه‌شده را از هم جدا نگه می‌دارد
  • round-tripهای XLSX نمودار XML دست‌نخورده و آفست لنگر نمودار، نام، اندازه و scheme فونت قالب‌بندی شرطی، پرچم‌های سبک صریح و رنگ‌های RGB، و جهت صفحه نامشخص را وقتی فقط حاشیه‌ها تنظیم شده‌اند حفظ می‌کنند
  • مدل شی کامل: کارپوشه، کاربرگ، محدوده، فرمول، قالب‌بندی، تصویر، پیوند، نام تعریف شده، محافظت، تنظیمات صفحه و استخراج گزارش
  • فراداده ستون کلاسیک نشانگرهای جمع‌شدن outline را مستقل از وضعیت مخفی و سطح گروه‌بندی در معرض می‌گذارد و آن‌ها را در round-tripهای خام XLS، کپی‌های قالب ستون و کپی‌های کاربرگ حفظ می‌کند
  • page setup کلاسیک HasSetupRecord و PrinterSettingsInitialized را در معرض می‌گذارد، رکورد Setup دست‌نخورده در BIFF را بایت‌به‌بایت حفظ می‌کند، رکورد غایب را غایب نگه می‌دارد و فیلدهای وابسته به چاپگر را فقط وقتی setterهایشان لازم دارند مقداردهی اولیه می‌کند
  • تبدیل XLS به XLSX و XLSX به XLS، page setup نوع‌دار و بایت‌های opaque درایور چاپگر را مستقل از هم حمل می‌کند، فیلدهای استاندارد را بر مقادیر پیش‌فرض خصوصیِ تکراری حاکم نگه می‌دارد و تنظیمات غیرقابل‌نمایش BIFF8 را پیش از نوشتن مقصد رد می‌کند
  • کارپوشه‌های XLS کلاسیک و XLSX سیاست‌های همتای SaveExternalLinkValues و UpdateLinks را در معرض می‌گذارند؛ مقادیر کش‌شده کارپوشه بیرونی را می‌توان بدون حذف تعریف پیوندها یا cacheهای درون‌حافظه‌ای کنار گذاشت، اعلان‌های مبدأ دست‌نخوردهٔ نامعتبر بی‌افت می‌مانند، تبدیل بین‌قالبی مقادیر مجاز سیاست را نگه می‌دارد و ترجیحات به‌روزرسانی هرگز دسترسی به فایل یا شبکه را آغاز نمی‌کنند
  • کارپوشه‌های XLSX تشخیص دقیق task pane افزونه وب، شمارش و حذف اتمی آن را ارائه می‌کنند؛ عملیات حذف پیش از تغییر، بستن‌های relationship داخلی محدودشده را اعتبارسنجی می‌کند، هر بخشی که relationship دیگری با آن شریک است را حفظ می‌کند، بخش‌های relationship متعلق و ورودی‌های content-type کهنه را حذف می‌کند، از احیای کپی مبدأ فشرده جلوگیری می‌کند و idempotent می‌ماند؛ در مقابل XLS کلاسیک و ODS بدون پویش بسته، این عملیات را پشتیبانی‌نشده گزارش می‌کنند
  • کاربرگ‌های XLS کلاسیک و XLSX از طریق TXLSPanePosition متدهای همتای انتخاب آگاه از pane و پیمایش one-based را در معرض می‌گذارند؛ TryGetWindowScroll و ScrollWindow محورهای مشترک بالا، پایین، چپ و راست را به وضعیت نمایش دو سطحیِ بومی هر قالب نگاشت می‌کنند، آن‌ها را در ذخیره، باز کردن و کپی کاربرگ حفظ می‌کنند و paneهای غایب یا مختصات نامعتبر را به‌صورت اتمی رد می‌کنند؛ اسنپ‌شات‌های انتخاب مرتب، همپوشان و در مالکیت فراخوان می‌مانند، ویرایش‌های ساختاری کل‌سطر یا کل‌ستون هر pane را بازنگاشت می‌کنند در حالی که هویت ناحیه فعال با fallbackهای قطعی سلول بازمانده و سلول مرزی حفظ می‌شود و عملیات ناحیه بزرگ خطیِ تعدیل‌شده می‌مانند؛ XLS کلاسیک علاوه بر این رکوردهای انتخاب متوالی را تجمیع می‌کند، بدنه رکوردهای دست‌نخورده یا نامعتبر را حفظ می‌کند، گروه‌های خراب را از طریق xlsDiagnosticSelectionRecordInvalid گزارش می‌دهد و انتخاب‌های بزرگ‌تر از 1369 ناحیه را به chunkهای کوچک‌تر می‌شکند
  • واحد lxOutline مستقل از موتور، هندسه outline سطر یا ستون را از گستره‌های اسپارس مرتب‌شده می‌سازد، گره‌های summary-before یا summary-after را در زمان O(log n + k) پیدا می‌کند و برای جمع‌شدن گره، تغییر سطح نمایش، حفظ فرزندان تودرتو و به‌روزرسانی بازگشتی وضعیت فرزندان، طرح‌های فشرده و idempotent می‌سازد بدون آن‌که مختصات بلااستفاده کاربرگ را پویش کند؛ هر دو موتور کاربرگ همان متدهای پرس‌وجو و کنترل گره را ارائه می‌کنند و گروه‌های OpenDocument وضعیت نمایش بومی خود را نگه می‌دارند و به نشانگرهای گره summary در XLSX تبدیل می‌شوند
  • کارپوشه‌های XLS کلاسیک و XLSX قرارداد ResolveIndexedColor بدون اثر جانبی و یکسان را برای شاخص‌های رنگ عمومی، مقادیر icv در BIFF و رنگ‌های indexed در OOXML ارائه می‌کنند؛ tokenهای palette، automatic، system و نامعتبر متمایز می‌مانند، شاخص صفر کادر معنای نامشخص خود را نگه می‌دارد، خروجی ARGB نرمال‌سازی می‌شود و رنگ‌های سیستمی فقط از طریق callback صریح فراخوان حل می‌شوند
  • هر دو موتور کارپوشه پرس‌وجوی NearestIndexedColor بدون اثر جانبی را با پشتوانه یک cache آگاه از تغییرات OKLab ارائه می‌کنند؛ این پرس‌وجو فقط 56 ورودی فیزیکی palette در BIFF را جست‌وجو می‌کند، شاخص عمومی و فیزیکی را همراه فراداده فاصله و تطابق دقیق برمی‌گرداند، آلفای جزئی را رد می‌کند و تساوی‌های هم‌فاصله را به پایین‌ترین شاخص عمومی حل می‌کند
  • هر دو موتور کارپوشه فهرست قطعی و بدون اثر جانبی ScanIndexedColorUsage را برای هر 56 اسلات فیزیکی palette ارائه می‌کنند؛ شامل مقادیر ARGB نرمال‌شده، شمارش تعریف و ارجاع، انواع مصرف‌کننده و قفل‌های حفاظت در سبک‌ها، سلول‌های اسپارس، اشیاء کاربرگ، نمودارها، توضیحات و قالب‌های شرطی — بدون materialize کردن سلول‌های بلااستفاده
  • هر دو موتور کارپوشه پیش‌نمایش BuildBiffPalettePlan بدون تغییر وضعیت را ارائه می‌کنند که مصرف‌کنندگان indexed را محافظت می‌کند، رنگ‌های تم مستقیم و حل‌شده را بر اساس فرکانس رندر تجمیع می‌کند، تطابق‌های دقیق موجود را حفظ می‌کند، رنگ‌ها را به‌صورت قطعی از طریق OKLab نگاشت می‌کند و هویت مبدأ، تغییرات اسلات، پوشش دقیق، خطای وزن‌دار و کوانتیزاسیون سرریز را گزارش می‌دهد، بدون تغییر کارپوشه یا رفتار ذخیره
  • هر دو موتور کارپوشه می‌توانند طرح جاری 56 اسلاتی را از طریق ApplyBiffPalettePlan اعتبارسنجی و به‌صورت اتمی اعمال کنند، ورودی کهنه یا دستکاری‌شده را پیش از هر تغییری رد کنند و matcher ادراکی را فقط یک‌بار بازسازی کنند؛ کارپوشه‌های Classic به‌علاوه BiffPaletteSavePolicy صریحی دارند که پیش‌فرضش خروجی تاریخی را حفظ می‌کند، حالت بهینه‌سازی‌اش فقط روی BIFF8 اعمال می‌شود و ذخیره‌های ناموفق یا لغوشده palette اصلی را برمی‌گردانند
  • هر دو موتور کارپوشه مقدار نوع‌دار TXLSRenderCalibration با کنترل‌های عرض، ارتفاع، فاصله‌گذاری چندخطی، حاشیه سلول، مقیاس صفحه و DPI اندازه‌گیری را ارائه می‌کنند؛ تخصیص اتمی است، گرفتن مقدار یک اسنپ‌شات مستقل از عملیات برمی‌گرداند، پیش‌فرض‌ها قطعی‌اند و این تنظیم زمان اجرا هرگز serialize نمی‌شود یا به‌تنهایی هندسه کاربرگ را تغییر اندازه نمی‌دهد
  • هر دو موتور کارپوشه سرویس‌های IXLSRenderGeometry در مالکیت عملیات می‌سازند که کالیبراسیون تغییرناپذیر، generation کارپوشه، backend، امضای کامل فونت، عرض wrap و متن در آن‌ها هویت یک cache متریک محلیِ محدودشده را می‌سازند؛ اندازه‌گیری GDI مشترک و تبدیل‌های پیکسل، point، عرض ستون، MDW و عرض قابل‌استفاده سلول، cacheهای سراسری فرایندِ DPI و عرض پایه در AutoFit را حذف می‌کنند، در حالی که مقیاس صفحه وارد مقیاس‌دهی مختصات خروجی نمی‌شود
  • AutoFit در XLS کلاسیک و XLSX به‌ازای هر عملیات یک اسنپ‌شات هندسه رندر می‌گیرد و اندازه‌گیری فونت کالیبره‌شده، wrap، فاصله خطوط و حاشیه سلول را اعمال می‌کند؛ صفحه‌بندی هم به‌ازای هر build همان هندسه محلیِ کارپوشه را می‌گیرد، پس اندازه صفحه پیش‌فرض پایدار می‌ماند، تغییر کالیبراسیون بعدی بازسازی صریح می‌خواهد و محاسبه صفحه هرگز ارتفاع سطر یا عرض ستون ذخیره‌شده را نمی‌نویسد
  • صفحه‌بندی PDF، SVG، bitmap، پیش‌نمایش چاپ و نمایشگر کارپوشه، backend رندر خودشان را شناسایی می‌کنند و برای کل عملیات یک کالیبراسیون تغییرناپذیر کارپوشه نگه می‌دارند؛ fit متن صفحه مشترک و wrap در SVG به جای اشیاء اندازه‌گیری سراسریِ فرایند از cache متریک محلیِ محدودشدهِ عملیات با سبک فونت کامل و هویت charset استفاده می‌کنند
  • خروجی‌گیری دیتاست با TDataToXLS می‌تواند فقط فیلدهای انتخابی را شامل شود یا فیلدهای حساس را کنار بگذارد، در حالی که سربرگ‌ها، ردیف‌های داده، callbackها و عرض ستون‌ها هم‌راستا می‌مانند
  • محاسبه فرمول داخلی با رجیستری‌های تابع کاربر سراسریِ فرایند و محلیِ کارپوشه، معناشناسی override نام محلی، فراخوانی هندلر بدون قفل، callbackهای OnUserFunction و OnUserFunctionEx، به‌علاوه توابع رایج متن، تاریخ، روز کاری، مهندسی/تبدیل پایه، بیتی، آماری، aggregate، ریاضی و آرایه پویای اکسل؛ از جمله عملگرهای آرایه broadcast با خطای به‌ازای هر سلول، ماتریس‌های کامل چندمتغیره LINEST / LOGEST، پیش‌بینی‌های شکل‌دهی‌شده TREND / GROWTH، SORT پایدار سطری یا ستونی، SORTBY پایدار چندکلیدی سطری یا ستونی با جهت‌های مستقل و کلیدهای آرایه‌ای، گرد کردن آرایه‌آگاه CEILING.MATH / FLOOR.MATH با broadcast تک‌عضوی و خطاهای محلی، ارزیابی پایدار و آرایه‌آگاه COT / ACOT / COTH / ACOTH / CSC / CSCH / SEC / SECH با خطاهای محلی و شاخه‌های امن برای ورودی‌های بزرگِ در آستانه سرریز، محاسبات تکرار COMBINA / PERMUTATIONA با بررسی سرریز، ماتریس‌های همانی MUNIT با سقف حافظه، تبدیل UNICHAR بر پایه اسکالر Unicode، متن ارز تایلندی از طریق BAHTTEXT، بازرسی ISFORMULA حفظ‌کننده ارجاع بدون محاسبه مجدد هدف، UNIQUE سطری یا ستونی با شاخص hash، نتایج سرریزشده FREQUENCY، XMATCH / XLOOKUP باینری لگاریتمی، تشخیص آرگومان اختیاری با ISOMITTED، تبدیل آرایه با ARRAYTOTEXT / VALUETOTEXT، محاسبات اعتبارسنجی‌شده XIRR / XNPV، زمان‌بندی سرمایه‌گذاری و نرخ رشد PDURATION / RRI و استهلاک دوره کسری VDB، به‌علاوه اتصال‌های کامل LET و closureهای LAMBDA که از طریق نام‌های تعریف‌شده قابل فراخوان‌اند و درون LET به‌صورت لغوی capture می‌شوند
  • EvaluateFormulaAt مستقل از موتور، متن فرمول A1 یا R1C1 را در زمینه صریح یک سلول کاربرگ ارزیابی می‌کند بدون آن‌که مدل سلول، cache، وضعیت dirty، برگه فعال یا گراف وابستگی را تغییر دهد؛ نتایج نوع‌دار خطاهای فرمول، آرایه‌ها، مقادیر خالی، فرّار بودن، لغو، مجوز ارجاع بیرونی و دسته‌های پایدار شکست را حفظ می‌کنند و IXLSFormulaEvaluationTemplate یک anchor کامپایل‌شده تغییرناپذیر را زیر بودجه‌های قابل پیکربندی طول فرمول، گام، بازگشت و حافظه آرایه، در سلول‌های هدف بازاستفاده می‌کند
  • XLS کلاسیک و XLSX متدهای همتای ValidateFormulaEntry بدون تغییر وضعیت، FormulaEntryPolicy در سطح کارپوشه و پویش‌های تجزیه‌شده AuditFormulaSymbols روی سلول‌ها و نام‌های تعریف‌شده ارائه می‌کنند؛ ورودی خالی دقیق، فرمول‌هایی که رشته خالی برمی‌گردانند، توابع ناشناخته، نام‌های ناشناخته، خطاهای نحوی، هدف‌های نامعتبر و محدودیت‌های قالب هدف متمایز می‌مانند، تخصیص عادی فرمول رد سخت‌گیرانه یا حفظ را به‌صورت اتمی اعمال می‌کند، نمادهای ناشناخته حفظ‌شده به‌صورت #NAME? ارزیابی و منتشر می‌شوند، تغییر UDF یا نام تعریف‌شده وابستگی‌های کهنه را باطل می‌کند، BIFF کلاسیک فراخوانی‌های ناشناخته حفظ‌شده را به‌عنوان توابع کاربر add-in ذخیره می‌کند، اعتبارسنجی توابع کاربر ثبت‌شده یا callbackی، lambdaهای لغوی و نام تعریف‌شده، جای‌نشان‌های گزارش، پیوندهای بیرونی ثبت‌شده و ارجاع‌های ساخت‌یافته معتبر را بدون فراخوانی هندلر می‌شناسد و callbackهای خطرناک بیرونی یا سبک macro پیش از ارزیابی آرگومان‌ها، مگر با مجوز صریح، مسدود می‌مانند
  • بازرسی بی‌افت tokenهای فرمول و تغییر guarded برای هر دو موتور کارپوشه از طریق TXLSFormulaTokenStream، ParseFormulaTokens، GetFormulaTokens، FormulaTokensToText و SetFormulaTokens، با streamهای در مالکیت فراخوان، پروجکشن‌های فقط‌خواندنی token، payloadهای خام BIFF، پرچم‌های ارجاع مستقل، clone کردن، جایگزینی اتمی ارجاع، منشأ زمینه و اعتبارسنجی پیش از writeback
  • جداول داده What-If تک‌متغیره سطری، تک‌متغیره ستونی و دومتغیره با محاسبه مجدد وابستگی ایزوله، خطاهای ورودی حذف‌شده، ویرایش‌های ساختاری، کپی کاربرگ و پشتیبانی round-trip در BIFF8
  • اسکن سلول، جست‌وجو و جایگزینی الگو، پر کردن محدوده با callback، نوشتن مستقیم آرایه نوع‌دار از طریق ForEachCell، FindText، ReplaceText، WriteCells و متدهای نویسنده سطر و ستون عددی، رشته‌ای و variant، به‌علاوه ConvertFormulasToValues برای کل برگه یا تک‌سلول که فرمول‌ها را در نتایج محاسبه‌شده‌شان منجمد می‌کند و مقدار کش‌شده را نگه می‌دارد
  • بازرسی cache فرمول مستقل از موتور از طریق IXLSFormulaCacheReader و CreateFormulaCacheReader هر موتور کارپوشه، وجود، منشأ بارگذاری‌شده یا محاسبه‌شده و نوع blank، عدد، تاریخ/زمان، رشته، Boolean یا خطا را گزارش می‌کند بدون ارزیابی فرمول، فراخوانی توابع کاربر، decompile کردن token یا تغییر وضعیت کارپوشه؛ leaseهای طول عمر، خواننده‌ها را پس از نابودی کارپوشه به‌طور امن باطل می‌کنند، اعضای فرمول اشتراکی cacheهای مستقل دارند و XLSX و ODS خطاهای نوع‌دار و cacheهای خالی صریح را در بازگشایی حفظ می‌کنند
  • IXLSWorkbook.CreateReadOnlyView کلاسیک و IXLSXWorkbookOwner.CreateReadOnlyView در XLSX نمونه‌های IXLSReadOnlyWorkbookView با مدل مشترک و هزینه ثابت می‌سازند؛ با برگه فعال محلیِ نما، اسنپ‌شات سلول‌های ذخیره‌شده by-value، بدون افشای شیء قابل‌نوشتن، نتایج فرمول کش‌شده به‌طور پیش‌فرض و متن فرمول یا ارزیابی ایزوله فرمول به‌صورت opt-in؛ نماهای همزمان وضعیت بازگشت، cacheهای اسکالر و آرایه و فرمول‌های کامپایل‌شده XLSX را خصوصی نگه می‌دارند، ارزیابی بیرونی XLSX فقط cacheهای پیوند محلیِ فایل را می‌خواند، سلول‌های packed بدون materialize می‌مانند و هر نما یک lease خواندن دارد که نوشتن روی مدل را پیش از تغییر رد می‌کند
  • TXLSWorkbookWorkspace adapterهای قابل لغو XLS کلاسیک، XLSX یا ODS را از CreateWorkspaceWorkbook هر موتور می‌پذیرد، هویت کامل مسیر یا IRI را حفظ می‌کند، کاربرگ‌های بیرونی را پیش از موقعیت با نام حل می‌کند و فرمول‌های بیرونی را از طریق ثبت‌های زنده صریح، یک لودر اختیاریِ تحت کنترل فراخوان و یک‌بار به‌ازای هر هویت، cacheهای فایل نوع‌دار و #REF! ارزیابی می‌کند؛ درخواست‌های بارگذاری همزمان یک نتیجه را به اشتراک می‌گذارند، تشخیص‌های نوع‌دار شکست‌ها و سقف منابع را افشا می‌کنند، متدهای ثبت سازگاری روی هر دو نمای کارپوشه در دسترس می‌مانند، هدف‌های نابودشده به‌طور امن قطع می‌شوند و محاسبه مجدد هرگز ضمنی فایل یا منبع شبکه‌ای باز نمی‌کند
  • TXLSWorkbookWorkspace.BuildDependencyGraph از مدل‌های ثبت‌شده XLS کلاسیک، XLSX و ODS یک گراف فرمول بین‌کارپوشه‌ای استخراج می‌کند، هویت کامل کارپوشه و کاربرگ را نگه می‌دارد، نام‌های تعریف‌شده سمبولیک محلی و بیرونی را حفظ می‌کند، نام‌های محلی را هرجا ممکن باشد به وابستگی‌های عینی‌شان حل می‌کند و بازه‌های مستطیلی بزرگ را به‌صورت بازه فشرده ذخیره می‌کند؛ درخت‌های بازه سطری ساخت یال و جستجوی وابسته را شتاب می‌دهند و ساخت گراف، ذخیره packed XLSX را بدون materialize کردن می‌خواند
  • TXLSWorkbookWorkspace.Recalculate گراف وابستگی مشترک را نگه می‌دارد و به‌تدریج dirty می‌کند، گره‌های فرمول بدون حلقه را در ترتیب توپولوژیک بین‌کارپوشه‌ای زمان‌بندی می‌کند، حلقه‌های واقعی قوی‌همبند فرمول را رد می‌کند بدون آن‌که پیوندهای دوسویه بی‌ضرر میان کارپوشه‌ها را رد کند و یک cache سلول بیرونی محلیِ گذر را به اشتراک می‌گذارد با تشخیص صریح hit، miss، باطل‌سازی و گره مسدود؛ فراخوانی‌های همزمان در یک workspace سریال می‌شوند، حذف در میانه گذر از طریق اسنپ‌شات‌های امن adapter وضعیت workspace-تغییرکرده برمی‌گرداند، نابودی منتظر محاسبه فعال می‌ماند و گره‌های شکست‌خورده برای retry صریح dirty می‌مانند
  • CalculateAndVerify نتایج ذخیره‌شده فرمول را با محاسبات تازه غیرفرّار مقایسه می‌کند و تشخیص‌های کاربرگ، سلول، فرمول، مقدار مورد انتظار و مقدار واقعی را بدون جایگزینی cache گزارش می‌کند؛ RecalcAndVerifyEx ممیزی عمیق را با overlay جداگانه نتیجه گراف وابستگی، دسته‌های نوع‌دار شکست با پشته فراخوان محدودشده، لغو پیشرفت و اعمال اتمی opt-in مقادیر بازمحاسبه‌شده اضافه می‌کند
  • محاسبه مجدد کلاسیک از گراف وابستگیِ ساخته‌شده به‌صورت lazy استفاده می‌کند، ورودی‌های dirty را فقط به وابستگان تراگذری منتشر می‌کند، فرمول‌های فرّار را در هر گذر بازمحاسبه می‌کند، فرمول‌های بدون حلقه را در ترتیب وابستگی ارزیابی می‌کند و برای ارجاع‌های حلقوی از پیمایش مؤلفه‌های قوی‌همبند بهره می‌برد؛ غیرفعال کردن دقت کامل، cacheهای فرمول و جدول داده What-If را پیش از مصرف توسط وابستگان به دقت عددی مؤثر نمایش‌شان گرد می‌کند
  • فیلتر خودکار، اعتبارسنجی داده لیستی، جداول اکسل با چیدمان بدون سربرگ و توضیحات به‌ازای هر جدول به‌علاوه ارزیابی فرمول با ارجاع ساخت‌یافته (Table[Col]، گستره ستون‌ها، [#Data] / [#All] / [#Headers] / [#Totals])، پسوندهای قالب‌بندی شرطی (data bar با fill و کادر مقدار منفی، color scale، icon set) با اولویت‌های یکتا به‌ازای هر برگه هنگام ذخیره و قواعد در محدوده جدول محوری که به bucket پسوند Excel 2010+ هدایت می‌شوند، و برگه‌های نمودار
  • جعبه‌های متن، نقاشی‌های OfficeArt، ورود نوع‌دار جدول محوری مبتنی بر relationship، materialize کردن چندمقداری فیلترشده و گروه‌بندی‌شده، فیلدهای محاسبه‌شده، آیتم‌ها و اعضا، زیرجمع‌ها، جمع کل، مرتب‌سازی پایدار، محاسبات ShowDataAs کلاسیک و توسعه‌یافته، به‌علاوه توضیحات متنی غنی
  • رفت و برگشت BIFF8 با وفاداری بالا که سوابق ایجاد شده توسط اکسل، رنگ‌های دقیق RGB و تم، نماهای سفارشی، و فراداده‌های اشتراک‌گذاری / ویرایش را حفظ می‌کند
  • کارپوشه‌های محافظت‌شده با رمز عبور از طریق رمزگذاری BIFF8 RC4، به‌علاوه ذخیره و بارگذاری XLSX رمزگذاری‌شده Agile با HMAC صحت داده تأییدشده روی بسته رمزشده، و رزرو نوشتن کلاسیک (SetModifyPassword) همراه پرچم توصیه فقط‌خواندنی، hash رمز عبور و نام کاربر رزروکننده
  • overloadهای AutoFit سلول ادغام‌شده می‌توانند رشد لازم سطر یا ستون را به عضو اول، عضو آخر نسبت دهند یا آن را به‌طور یکنواخت در سراسر گستره ادغام پخش کنند، در حالی که وضعیت مخفی حفظ می‌شود و کران‌های هر عضو رعایت می‌شوند
  • کپی کاربرگ بین‌کارپوشه‌ای (TXLSWorksheets.AddCopy) که مقادیر سلول، فرمول‌ها (بازمحاسبه‌شده با نام برگه‌های مقصد)، قالب‌ها با رنگ دقیق RGB / تم، سلول‌های ادغام‌شده، توضیحات، پیوندها، چیدمان سطر و ستون، صفحات ثابت، محافظت، page setup، رنگ زبانه، قالب‌های شرطی، اعتبارسنجی‌های داده، معیارهای فیلتر خودکار، جداول، تصاویر تعبیه‌شده، اجراهای متن غنی (با فونت‌های منتقل‌شده به‌صورت by-value) و برگه‌های نمودار (با ارجاع سری‌های بازمحاسبه‌شده برای مقصد) را به کارپوشه دیگری clone می‌کند؛ فرمول‌هایی که برگه‌هایشان در مقصد غایب است، وقتی کارپوشه مبدأ هویت فایل دارد، به آن به‌عنوان پیوند بیرونی اشاره می‌کنند

نمای مدرن XLSX

یک موتور اختصاصی OOXML ساخته شده حول TXLSXWorkbook برای کارپوشه‌های Excel 2007+ (.xlsx)

  • رشته‌های مشترک، سبک‌ها، نقاشی‌ها، ویژگی‌های برگه، بسته‌بندی ZIP/XML و فراداده‌های round-trip، از جمله مدیریت Xstring در SpreadsheetMLِ آگاه از فیلد که نویسه‌های کنترلی و tokenهای literal _xHHHH_ را بدون بازنویسی نحو فرمول حفظ می‌کند
  • page setup کاربرگ تنظیمات باینری چاپگر بایت‌به‌بایت دقیق را از طریق relationship pageSetup و بخش printerSettingsN.bin مخصوص هر برگه حفظ می‌کند، موقعیت‌های غیراستاندارد بخش مبدأ را می‌پذیرد، هدف‌های canonical قطعی می‌نویسد، payload را در کپی‌های کاربرگ درون‌کارپوشه‌ای و بین‌کارپوشه‌ای deep-copy می‌کند و relationshipهای چاپگر غایب، اشتباه‌نوع یا آویزان را بدون اتصال به بخش باینری بی‌ربط گزارش می‌دهد
  • نویسنده‌های سطر و ستون نوع‌دار عددی، رشته‌ای و variant ظرفیت سلول‌ها را در دسته‌های تکراری به‌صورت هندسی رشد می‌دهند، دسته‌های سطر رو به جلو را مستقیماً در بردارهای اسپارس از پیش اندازه‌گذاری‌شده اضافه می‌کنند، امن در کران‌های کاربرگ clip می‌کنند، روی هم‌پوشانی هندل‌های پایدار نگه می‌دارند و از dispatch واقعی callback پرهیز می‌کنند
  • خواندن و نوشتن OpenDocument (.ods): وارد کردن صفحات گسترده موجود از طریق Open / OpenODS، خروجی گرفتن از طریق SaveAsODS یا SaveAs(xlsxOpenDocumentSpreadsheet)، تنظیم خروجی با TODSExportOptions و حفظ رفت و برگشتی سبک‌ها، متن غنی، تصاویر، نمودارها، اعتبارسنجی‌ها، قالب‌های شرطی، تنظیمات صفحه، محدوده‌های چاپ، گروه‌های طرح، ساختار برگه و فراداده‌های کارپوشه
  • واردات چند فرمتی: OpenDocument (.ods) و CSV / TSV با تشخیص جداکننده، تشخیص BOM و استنتاج نوع مقدار اختیاری
  • تشخیص امضای محتوا: DetectExcelContentFormat بایت‌های آغازین فایل یا stream را وارسی می‌کند تا فایل‌های مرکب BIFF، بسته‌های OOXML، بسته‌های OpenDocument و متن جداشده ساده را بدون توجه به پسوند فایل تفکیک کند و هر دو موتور کارپوشه ظروف ناهمخوان را با پیامی روشن که لودر درست را نام می‌برد رد می‌کنند
  • متن نمایشی قالب‌بندی‌شده: ویژگی فقط‌خواندنی FormattedText (روی IXLSRange و TXLSXCell) مقدار سلول را از میان قالب عددی‌اش رندر می‌کند — جداکننده‌ها، درصد، ماسک‌های تاریخ/زمان، ماسک‌های چندبخشی، قالب‌های بولی — دقیقاً همان چیزی که اکسل در گرید نشان می‌دهد
  • پایش تغییر فایل: TXLSFileMonitor یک کارپوشه روی دیسک را زیر نظر می‌گیرد و وقتی فرایند دیگری روی آن ذخیره می‌کند رویداد OnFileChanged را صدا می‌زند؛ فاصله polling قابل پیکربندی است و تحویل رویداد روی نخ اصلی یا نخ watcher انجام می‌شود؛ هندلرها می‌توانند مانیتور را متوقف یا نابود کنند، یا فایل زیر نظر را عوض کنند
  • پرسش رمز عبور: رویداد OnPassword موتور کلاسیک XLS وقتی Open به کارپوشه رمزشده‌ای با رمز غایب یا اشتباه می‌رسد از برنامه رمز می‌پرسد و باز کردن را دوباره تلاش می‌کند
  • قلم‌مو قالب: TXLSXCellFormat فونت، fill، کادر، تراز، قالب عددی و محافظت را یک‌بار توصیف می‌کند و سپس روی سلول‌ها، محدوده‌ها، سطرها، ستون‌ها یا کل برگه‌ها مهر می‌زند — فقط جنبه‌های لمس‌شده اعمال می‌شوند و شاخص‌های pool هر بار برای اعمال سریع انبوه یک‌بار حل می‌شوند
  • سطرهای استریم یکپارچه: TXLSRowCursor مبداهای .xls، .xlsx، .xlsm، .ods، CSV یا TSV را سطر به سطر (FindFirst / FindNext) می‌پیماید و فقط سطر تصویرشده جاری یا الگوی تکرار ODS را در حافظه نگه می‌دارد؛ کران‌های سطر و انتخاب ستون را پیش از تخصیص مقدار push می‌کند، نتایج کش‌شده فرمول و blankهای سبک‌دار ذخیره‌شده را حفظ می‌کند، وجود فرمول را از در دسترس بودن متن فرمول تفکیک می‌کند، به‌اختیاری متن فرمول را سرکوب می‌کند، سلول‌های covered در ODF را رد می‌کند، مستقیماً بین ستون‌های انتخابی در گستره‌های تکرارشونده ODS می‌پرد، BOMهای UTF-8 یا UTF-16 و رکوردهای متن چندخطی داخل گیومه را decode می‌کند، جداکننده‌های کاما، نقطه‌ویرگول، تب یا pipe را sniff می‌کند و lookup با هزینه ثابت ValueByCol فراهم می‌کند؛ وضعیت‌های صریح چرخه حیات، لغو idempotent، مالکیت stream قرضی یا منتقل‌شده، نمای سطر zero-copy با بررسی generation، PeakRowBufferedBytes و SheetPassesStarted اسکن‌های طولانی را قابل مشاهده و امن می‌کنند و TXLSForwardReader همان backendها را به callbackهای برگه و سلول one-based تطبیق می‌دهد بدون باز کردن بخش‌های کاربرگ ردشده
  • پیشرفت و تشخیص: کارپوشه‌های XLS کلاسیک و XLSX callbackهای کاری به‌علاوه callbackهای begin/work/end با لغو ارائه می‌دهند و IXLSWorkbookProgress و TXLSXWorkbook.Diagnostics کدهای پایدار، شدت، عملیات، زمینه برگه یا بسته، مقادیر بازگشتی بومی و جزئیات استثنا را در معرض می‌گذارند
  • ذخیره‌های ایمن در برابر خطا: شکست‌های commit کاربرگ، نمودار، پسوند سبک، VBA، control-stream، storage و خروجی در حالت کلاسیک به فراخوان منتشر می‌شوند و خروجی دیسکی XLS، XLSX و ODS پیش از جایگزینی اتمی مقصد، مرحله‌بندی می‌شود
  • ذخیره‌سازی فشرده سلول و سبک: سلول‌های XLSX در بلوک‌های 256 سطری با هندل‌های عمومی پایدار و سریال‌سازی row-major و سازگار با cache زندگی می‌کنند؛ ورودی‌های سطر برچسب payload اضافه ندارند و تغییر مقدار، فرمول و متن غنی از بازطبقه‌بندی شاخص پرهیز می‌کند؛ سبک‌های سلول واردشده از طریق یک آرایه cellXf مستقیمِ تغییرناپذیر با شاخص مستقیم حل می‌شوند و فشرده‌سازی خودکار pool سبک پیش از هر ذخیره، فونت‌ها، fillها، کادرها، قالب‌های عددی، ترازها و محافظت‌های بی‌مرجع را حذف می‌کند
  • overlay سبک بازه‌ای: قالب‌بندی سطر، ستون و مستطیل بدون materialize کردن اشیاء سلول خالی فشرده می‌ماند، در دسترسی به سلول به‌صورت lazy حل می‌شود، از ویرایش‌های ساختاری جان سالم می‌برد و به‌صورت ورودی‌های فشرده ستون، سطر و سلولِ فقط-سبک round-trip می‌شود
  • ذخیره عادی استریم سطری: StreamingWrite (پیش‌فرض) هر سطر کاربرگ را مستقیماً در stream بسته بسته نوشته می‌کند تا حافظه اوج دنبال بزرگ‌ترین سطر منفرد برود، در حالی که رشته‌های مشترک و بخش‌های XML کمکی یک‌به‌یک از طریق یک serializer UTF-8 بازاستفاده‌پذیر استریم می‌شوند
  • باز کردن فقط‌فراداده: TXLSXWorkbook.MetadataOnly ویژگی‌های کارپوشه، نام‌های تعریف‌شده، نام‌ها و وضعیت‌های visibility برگه‌ها، سبک‌ها، تم، connectionها و پیوندهای بیرونی را تجزیه می‌کند اما XML سلول کاربرگ به‌علاوه رشته‌های مشترک، داده توضیحات و اشخاص، relationshipهای کاربرگ، نقاشی‌ها، نمودارها، جدول‌ها، query tableها، جدول‌های محوری و payloadهای opaque قابل‌دسترس از کاربرگ را رد می‌کند تا کشف سریع و کم‌حافظه ویژگی‌ها و نام‌ها از کارپوشه‌های بزرگ ممکن شود
  • اسلات‌های کارپوشه بیرونی XLSX از ترتیب اعلان workbook.xml پیروی می‌کنند و برای relationshipهای شکسته جای‌نشان خالی نگه می‌دارند تا ارجاع‌های فرمول [N] بعدی در طول بارگذاری و ذخیره پایدار بمانند
  • بارگذاری انتخابی کاربرگ: TXLSXWorkbook.SelectedSheets به Open اجازه می‌دهد XML سلول را فقط برای برگه‌های نام‌برده تجزیه کند؛ برگه‌های دیگر نام و visibility خود را نگه می‌دارند اما سلول ندارند؛ برای materialize کردن یک برگه ردشده به‌صورت on demand از آرشیو اصلی، LoadSheet(Index) را صدا بزنید
  • کپی افزایشی بخش فشرده: TXLSXWorkbook.PreserveRawParts به‌ازای هر عملیات SaveAs یک آرشیو مبدأ خصوصی و اعتبارسنجی‌شده باز می‌کند و تم، پروژه VBA، connection، پیوند بیرونی، تصویر، نمودار، جدول محوری، pivot-cache و ورودی‌های opaque قابل‌دسترس از relationshipِ تغییرنیافته را با payload فشرده اصلی کپی می‌کند؛ ذخیره‌های موفق فایل، baseline تمیز بعدی می‌شوند و کارپوشه‌های stream-محور، فایل‌های مبدأ تغییرکرده، payloadهای ویرایش‌شده، روش‌های فشرده‌سازی پشتیبانی‌نشده و ناهمخوانی اندازه فشرده به fallback سریال‌سازی تراکنشی یا مسیرهای رد می‌روند
  • حفظ پسوندهای کارپوشه: باز کردن و ذخیره XLSX اعلان‌های namespace بیگانه در ریشه کارپوشه، صفات markup-compatibility، payloadهای کامل <extLst> در سطح کارپوشه و relationshipهای ناشناخته‌شان را حفظ می‌کند، در حالی که برگه‌های نوع‌دار، نام‌ها، نماها، ویژگی‌های محاسبه و pivot-cacheها قابل ویرایش می‌مانند؛ ارجاع‌های relationship هنگام تعارض IDهای تولیدی بازنگاشت می‌شوند
  • Slicerها: Worksheet.Slicers.Add(Table, ColumnName) Slicerهای جدولی (Excel 2013+) را سر تا سر می‌سازد — با slicer cache، نام تعریف‌شده رزروشده، پسوند کاربرگ و لنگر drawing — و کنترل موقعیت، caption، تعداد ستون، style و ارتفاع سطر را می‌دهد؛ کارپوشه‌هایی که Slicerهای ساخته‌شده توسط Excel (جدولی یا محوری) دارند آن‌ها را در باز کردن و ذخیره دست‌نخورده round-trip می‌کنند: بخش‌ها و لنگرهای دست‌نخورده بایت‌به‌بایت بازپخش می‌شوند در حالی که خود کارپوشه کاملاً قابل ویرایش باقی می‌ماند
  • چند پنجره کارپوشه: TXLSXWorkbook.WorkbookViews مجموعه‌ای مرتب با عملیات افزودن، درج، حذف، جابه‌جایی و پاک کردن، وضعیت visibility و هندسه نوع‌دار، صفات و extensionهای ناشناخته قابل ویرایش و بازنگاشت workbookViewId کاربرگ را در معرض می‌گذارد؛ ویژگی‌های تک‌پنجره‌ایِ تثبیت‌شده، تصویر سازگاری از نمای اول می‌مانند
  • نام‌های تعریف‌شده بیرونی و شکست refresh: TXLSXExternalLink ورودی‌های <definedNames> را از کارپوشه‌های پیوندشده تجزیه، ذخیره و round-trip می‌کند و هر TXLSXExternalSheetData پرچم RefreshError را برای وضعیت شکست refresh پیگیری می‌کند بدون نیاز به منبع داده زنده
  • ورود clipboard چندفرمتی: XLSPasteFromClipboardRich قالب clipboard مربوط به XML Spreadsheet (فرمول‌ها، سبک‌ها، ادغام‌ها) را به متن ساده Unicode ترجیح می‌دهد، همراه توابع اختصاصی تشخیص قالب، استخراج و تجزیه SpreadsheetML 2003
  • تبادل clipboard بومی Biff8: CopyToClipboard روی هر دو موتور، payload compound-document «Biff8» خود اکسل را کنار متن و HTML منتشر می‌کند و PasteFromClipboard اول سراغ همان می‌رود — مقادیر بدون تجزیه مجدد وابسته به locale می‌رسند، ارجاع‌های نسبی فرمول به هدف paste دوباره لنگر می‌شوند و قالب‌های عددی، فونت‌ها، fillها، کادرها، تراز و سلول‌های ادغام‌شده هم بین کارپوشه‌های HotXLS و هم از کپی‌های اکسل round-trip می‌شوند
  • نشانه‌گذاری متن غنی: ویژگی سلول TaggedText بین اجراهای متن غنی و تگ‌های سبک (<b>، <i>، <u>، <s>، <sub>، <sup>، <color=#RRGGBB>، <font=Name>، <size=N>) در هر دو جهت تبدیل برقرار می‌کند
  • خواننده‌های clipboard سازگار با 64 بیت با retry در شرایط رقابت، تطبیق بازه قالب شرطی کش‌شده و شاخص پیوند PDF با جستجوی باینری
  • توسعه‌پذیری محاسبات: ثبت تابع کاربر با نام، API ممیزی تابع ناشناخته، باز کردن در حالت بازیابی که بخش‌های خراب را رد می‌کند، تبادل clipboard بومی Biff8 و تطبیق بازه اعتبارسنجی داده کش‌شده
  • تصاویر PDF: تصاویر کاربرگ به‌صورت XObjectهای Flate RGB با passthrough تصویر JPEG و بازاستفاده stream PNG فرورفت می‌شوند (بدون کدگذاری مجدد، کانال آلفا از طریق soft mask حفظ می‌شود)، تصاویر بایت‌به‌بایت یکسان فقط یک‌بار فرورفت می‌شوند، بلوک‌های keep-together و XlsxAutoPageBreaks صفحه‌بندی را هم‌راستا می‌کنند و ZipCompressionLevel و DeterministicOutput خروجی ذخیره را کنترل می‌کنند
  • خط لوله خروجی PDF: streamهای محتوای صفحه فشرده Flate می‌شوند، عملیات متنی متوالی بلوک‌های متن دسته‌ای با انتخاب فونت و رنگ بدون تکرار را به اشتراک می‌گذارند، fillهای مجاور برابر در یک مستطیل ادغام می‌شوند و قطعات کادر هم‌خط به‌صورت اجراهای merged ترسیم می‌شوند — فایل‌های کوچک‌تر و تولید سریع‌تر؛ OnProgress و OnProgressEx قابل لغو، وضعیت‌های begin، صفحه و end را گزارش می‌کنند و Cancel خروجی‌های طولانی را بدون commit کردن PDF ناقص به stream مقصد متوقف می‌کند
  • وفاداری متن سلول در PDF: wrap واقعی کلمات با تراز بلوک عمودی و خطوط justified یا distributed، متن چرخیده و انباشته عمودی، shrink-to-fit، سرریز اکسل‌مانند به سلول‌های خالی همسایه با clipping، تراز راست اعداد زیر تراز general، تورفتگی، اجراهای متن غنی با سبک، اندازه، رنگ، زیرخط، خط‌خورده، بالانویس و زیرنویس به‌ازای هر اجرا، کادرهای مورب و دوتایی، و متن در سراسر سلول‌های ادغام‌شده — همه با عرض‌های پیشروی Helvetica کالیبره‌شده با GDI موقعیت‌دهی می‌شوند
  • وفاداری چاپ PDF: سربرگ و پابرگ سبک‌دار با کدهای اندازه فونت، رنگ، bold/italic/underline/strike و بالا/زیرنویس اکسل، حالت چاپ سیاه‌وسفید، عنوان سطر و ستون چاپی، وسط‌چین افقی و عمودی چاپ، نشانگر توضیحات به‌علاوه صفحه فهرست توضیحات در پایان از طریق PrintCommentsAtEnd، پیوندهای GoTo درون‌سندی برای hyperlinkهای داخلی، ترجیح PageLayout نمایشگر با فراداده XMP، عرض ستون‌های MDW دقیق اکسل و فرورفتن مجموعه TrueType با برش‌های bold/italic سنتزشده از قلم Unicode
  • نمودارهای PDF: نمودارهای کاربرگ به‌صورت بردار بومی رسم می‌شوند — ستونی/میله‌ای خوشه‌ای، انباشته و درصد-انباشته، خطی با نشانگر، سطحی، دایره‌ای و دوناتسی با برچسب درصد، پراکندگی و رادار — با قاب‌های عنوان‌دار، محورها و برچسب tick خودمقیاس، خطوط شبکه، legend، برچسب داده، fill به‌ازای هر سری و palette رنگ تأکیدی پیش‌فرض اکسل؛ نمودارهای لنگرشده فراتر از آخرین سلول داده، سطح چاپ را گسترش می‌دهند
  • PDF تعاملی: hyperlinkهای کاربرگ به حاشیه‌نویسی پیوند قابل کلیک تبدیل می‌شوند و هر برگه خروجی‌گرفته‌شده یک bookmark outline سند می‌گیرد
  • توسعه‌پذیری در سطح بسته: ویژگی‌های سند سفارشی نوع‌دار، بخش‌های داده XML سفارشی، همراهان تصویر SVG، برچسب‌های داده نمودار به‌ازای هر سری با مبدأ سلولی و cache شاخص‌دار و overrideهای visibility نقطه، سبک‌های جدول تعریف‌شده توسط کاربر با رنگ‌های به‌ازای هر بخش، و API ممیزی اعتبارسنجی داده که هر سلول متخلف را فهرست می‌کند
  • ارتقاهای وفاداری قالب: قالب‌های عددی زمان سپری‌شده [h]:mm:ss و کسر # ??/?? همه‌جا رندر می‌شوند، براکت‌های [Red] متن PDF را رنگ می‌کنند، fillهای گرادیانی سلول round-trip و در HTML/PDF/نمایشگر رندر می‌شوند، صفحات ثابت و پیمایش pane بازخوانی می‌شوند، DispBlanksAs/PlotVisibleOnly ویژگی نمودارند، جعبه توضیحات از طریق WidthPt/HeightPt/AutoSizeFromText اندازه می‌گیرد و ValidateNumberFormat رشته‌های قالب سفارشی را می‌آزماید
  • جست‌وجو با معناشناسی اکسل: FindText / ReplaceText از wildcardها (*، ?، escape با ~)، تطبیق کل‌سلول، حساسیت به بزرگی و کوچکی حروف، جست‌وجوی متن فرمول، پیمایش رو به عقب، ترتیب پیمایش ستون-محور، FindTextIn / ReplaceTextIn پنجره‌دار که جست‌وجو را به یک محدوده مستطیلی محدود می‌کند و callback جایگزینی به‌ازای هر تطبیق پشتیبانی می‌کنند؛ گروه‌بندی با معناشناسی اکسل از طریق AddSubtotals (سطرهای SUBTOTAL برچسب‌دار، جمع کل، سطوح outline، شکست صفحه و حالت جایگزینی)، A1ToR1C1 و R1C1ToA1 فرمول‌ها را در هر دو جهت بین سبک ارجاع A1 و R1C1 تبدیل می‌کنند، به‌علاوه WriteAutoValue برای sniffing نوع متن اکسل‌مانند (ISO، تاریخ‌های US به شکل m/d/yyyy و اروپایی به شکل d.m.yyyy با زمان‌های اختیاری AM/PM)، تجمیع محدوده با GetRangeStatistics، SortRange غیرحساس به حروف که فرمول‌ها را با معناشناسی ارجاع اکسل حفظ می‌کند (بخش‌های $ می‌مانند، ارجاع‌های نسبی دوباره لنگر می‌شوند)، قطعات HTML تک‌سلولی با GetHtmlFromCell و قطعات HTML به‌عنوان اجراهای غنی با SetCellFromHtml
  • پس‌زمینه برگه: SetBackgroundImage تصاویر tiling‌شده را در هر دو موتور کارپوشه می‌سازد؛ XLSX مالکیت media بسته را در کپی‌های کاربرگ حفظ می‌کند و Classic رکوردهای پس‌زمینه نوع‌دار BIFF8 را با شکست پیوسته payload، حفظ دقیق قالب ناشناخته، جداسازی کپی و تبدیل قالب شناخته‌شده بین موتورها می‌خواند و می‌نویسد؛ نمایشگر کارپوشه پس‌زمینه‌های معتبر را پشت سلول‌های بدون fill نشان می‌دهد، در حالی که چاپ، PDF، SVG، bitmap، metafile و هر دو خروجی‌گیرنده HTML پس‌زمینه را به‌طور پیش‌فرض غیرفعال نگه می‌دارند و برای خروجی صریح با پیوستگی فاز بین صفحه‌ای و بازاستفاده منبع به‌ازای هر session، ExportSheetBackgroundImages را در معرض می‌گذارند
  • عمق موتور قالب: بخش‌های قالب عددی شرطی ([>=100]) بر اساس مقدار انتخاب می‌کنند، بخش‌های متنی (@) رشته‌ها را قالب می‌کنند، TaggedText شکل‌های <br>، <strong>/<em> و <font color=...> را می‌پذیرد، ConvertFormulasToValues روی هر دو نما حالت فقط-بیرونی دارد، بلوک‌های keep-together ستونی مکمل بلوک‌های سطری‌اند، کنترل‌های فرم Spinner/ScrollBar کلاسیک در XLS نوشته می‌شوند و auto-fit سطر، سلول‌های ادغام‌شده را هم هندل می‌کند
  • تبادل clipboard: PasteFromClipboard متن جداشده با تب را با ارتقای نوع عدد/تاریخ/بولی و تشخیص فرمول به سلول‌ها می‌خواند و CopyToClipboard در سطح محدوده، هم متن جدولی Unicode و هم HTML سبک‌دار با فرمول‌ها، سلول‌های ادغام‌شده، پیوندها، قالب نمایشی و حفظ جداکننده درون‌محتوایی منتشر می‌کند
  • نمایشگر کارپوشه قابل ویرایش: TXLSWorkbookViewer مستقیماً به هر دو موتور متصل می‌شود، فایل‌های XLS، XLSX، XLSM، XLTX، XLTM یا ODS را بار می‌کند، سبک‌ها و قالب‌های شرطی را بدون materialize کردن سلول‌های اسپارس XLSX رندر می‌کند و ویرایش درجا آگاه از سلول محافظت‌شده، ورودی نوار فرمول، محاسبه مجدد خودکار، انتخاب مستطیلی، رویدادهای ارجاع فرمول و undo و redo محدودشده با O(1) اضافه می‌کند
  • cacheهای جدول محوری XLS کلاسیک از streamهای ذخیره مستقل با شناسه‌های یکتا، ارجاع‌های مبدأ کاربرگ یا نام‌دار، نام برگه‌های Unicode و خواندن/نوشتن cache رمزشده استفاده می‌کنند؛ پسوندهای موجود cache هنگام ذخیره بایت‌های اصلی خود را نگه می‌دارند
  • طراح چیدمان جدول محوری بازاستفاده‌پذیر: TXLSPivotDesigner ناحیه‌های available، ردیف، ستون، فیلتر و مقدار را در معرض می‌گذارد، به‌علاوه بازترتیب قطعی فیلدها، تجمیع پیش‌فرض آگاه از نوع، تغییر تجمیع صریح، اعتبارسنجی چیدمان و اعمال نتیجه برای مدل‌های جدول محوری XLS یا XLSX
  • کنترل‌های فرم کلاسیک: کاربرگ‌ها و مجموعه‌های shape می‌توانند دکمه، دکمه رادیویی، checkbox، combo-box و list-box را با برچسب نوع‌دار، وضعیت check، رندر تخت یا سه‌بعدی، اتصال macro، سلول‌های پیوندشده، محدوده‌های مبدأ، نوع کنترل و لنگرهای سلولی بسازند، فهرست کنند، ویرایش کنند، حذف کنند و round-trip کنند
  • بازرسی نمودار XLS کلاسیک از طریق GetChartModel خانواده نمودار، وضعیت سه‌بعدی، عنوان نمودار و محورها، legend، محورها با گروه محور اصلی یا فرعی‌شان، نام سری‌ها، دسته‌ها، فرمول مقادیر و پرچم‌های نمایش برچسب داده سری با جداکننده‌ها، اتصال گروه نمودار اصلی یا فرعی به‌ازای هر سری، ارجاع‌های دسته و مقدار نام‌دار یا بیرونی، سبک خط، fill و نشانگر به‌ازای هر سری با fillهای رنگ تمِ حمل‌شده توسط پسوند رنگ تم OfficeArt یعنی GelFrame (شاخص رنگ تم به‌علاوه tint)، پارامترهای کامل صحنه سه‌بعدی از stream نمودار و پیوندهای pivot-chart (نام نمای جدول محوری مبدأ به‌علاوه پرچم مخفی‌سازی caption فیلدها از طریق رکوردهای SXViewLink / PivotChartBits) را decode می‌کند، به‌علاوه اشیاء نمودار فرورفته روی کاربرگ‌های عادی از طریق AddChartObject، همراه trendlineهای به‌ازای هر سری (نوع رگرسیون، مرتبه یا دوره، عرض از مبدأ خودکار یا ثابت، نمایش معادله و R-squared، پیش‌بینی رو به جلو و رو به عقب، نام نمایشی) و error barها (سمت جهت، نوع مقدار، کلاهک انتهایی و بزرگی)
  • تصاویر سربرگ و پابرگ XLSX نوع‌دار از طریق TXLSXWorksheet.HeaderFooterImages، پوشش همه اسلات‌های چپ، وسط و راست در صفحه‌های فرد، زوج و اول با بایت‌های تصویر، قالب‌ها، عنوان‌ها، ابعاد point، حاشیه‌های point، کدهای فیلد تصویر خودکار، کپی‌های کاربرگ و round-tripهای باز کردن/ذخیره امن از نظر relationship در کنار توضیحات
  • افکت‌های تصویر XLSX قابل ویرایش از طریق TXLSXImage، شامل لبه‌های crop درصدی، شفافیت، روشنایی، کنتراست، fill کشیدگی یا tiling، چرخش بر حسب درجه و حفظ ساختاری DrawingML واردشده بی‌ربط
  • ساخت و round-trip نمودار XLSX پیشرفته با گروه‌های plot مرتبِ ستونی، میله‌ای، خطی، دایره‌ای، سطحی، پراکندگی، حبابی، رادار، سهامی، سطحی سه‌بعدی و نمودارهای سه‌بعدی؛ combination charts واقعی با ترتیب رسم صریح گروه‌های plot، جفت‌های محور اصلی و فرعی، محورهای تاریخ و سری نوع‌دار، نماهای سه‌بعدی قابل پیکربندی، سبک‌های گالری اکسل، استایل عنوان، legend و متن محورها، چیدمان دستی plot، عنوان، legend و عنوان محور، cacheهای سری اسپارس رشته‌ای یا عددی، cacheهای دسته چندسطحی اسپارس با حل زنده بازه دوبعدی و حفظ قابل ویرایش پسوندها و قالب‌بندی‌های ناشناخته ChartML
  • وصله‌های قالب انتخابی: TXLSXRange.ApplyFormatPatch فقط مؤلفه‌های درخواستی فونت، fill، کادر، قالب عددی، تراز یا محافظت را کپی می‌کند، الگوهای کوچک‌تر مبدأ را روی مقصدهای بزرگ‌تر tiling می‌کند و مقادیر سلول دست‌نخورده می‌مانند
  • خروجی داده master-detail: TDataToXLS.ReadDetailTables دیتاست‌های جزئیات پیوندشده فعال را زیر هر رکورد اصلی به‌صورت بازگشتی خروجی می‌گیرد و IndentDetailTables به‌ازای هر سطح رابطه یک ستون تورفتگی اضافه می‌کند؛ تنظیمات خروجی به‌ارث‌رسیده سلسله‌مراتب را از نظر بصری هماهنگ نگه می‌دارند و رویدادهای write-ahead رکورد و مقدار می‌توانند بدون آشفتن cursorهای دیتاست، رکوردها را فیلتر و مقادیر فیلدها را تبدیل کنند
  • ساخت WordArt: TXLSXWorksheet.AddWordArt متنی DrawingML لنگرشده به سلول با warp preset قابل پیکربندی، رنگ fill متن و رنگ outline می‌سازد و چرخه‌های بعدی باز کردن/ذخیره، لنگر کامل shape را حفظ می‌کنند
  • حفظ بسته‌های OOXML پشتیبانی‌نشده: بخش‌های سفارشیِ قابل‌دسترس از relationshipهای ناشناخته ریشه بسته، کارپوشه، کاربرگ یا drawing، شناسه‌های relationship امن در تعارض، content typeها، relationshipهای فرزند، انتخاب فشرده‌سازی و بایت‌های دقیق payload را در round-tripهای باز کردن/ذخیره نگه می‌دارند، همراه opt-out و تشخیص بخش‌های حفظ‌شده روی TXLSXWorkbook
  • جداول به سبک اکسل با سبک‌ها، بازه فیلتر و معیارها، وضعیت مرتب‌سازی، شناسه‌های ستون پایدار، برچسب‌ها و توابع سطر جمع، فرمول‌های ستون محاسبه‌شده، فرمول‌های سطر جمع، ویرایش‌های سطر و ستون آگاه از ساختار و ابزارهای کمکی مجموعه round-trip
  • قواعد ignored-error نوع‌دار کاربرگ از طریق TXLSXWorksheet.IgnoredErrors، پوشش همه دسته‌های خطای استاندارد، ارجاع‌های سلولی چندناحیه‌ای، کپی‌های کاربرگ، ویرایش‌های سطر و ستون و round-tripهای باز کردن/ذخیره
  • نگارش Scenario Manager نوع‌دار What-If از طریق TXLSXWorksheet.Scenarios، شامل سناریوهای فعال و نمایش‌داده‌شده، محدوده‌های سلول تغییرپذیر، وضعیت‌های قفل و مخفی، توضیحات کاربر، مقادیر ورودی و قالب‌های عددی، کپی کاربرگ، ویرایش‌های ساختاری و round-tripهای باز کردن/ذخیره بدون نیاز به تعمیر
  • جداول داده نوع‌دار What-If از طریق TXLSXWorksheet.AddDataTable و DataTables، پوشش معناشناسی ورودی سطری، ورودی ستونی، دومتغیره، ورودی حذف‌شده، ترتیب محاسبه، کپی کاربرگ، ویرایش ساختاری و round-trip در SpreadsheetML
  • اتصال‌های داده بیرونی نوع‌دار از طریق TXLSXWorkbook.Connections و نتایج کوئری کاربرگ از طریق TXLSXWorksheet.QueryTables، شامل سیاست refresh، اعتبارنامه‌ها، تنظیمات پایگاه داده، وب و متن، مقادیر پارامتر نوع‌دار دقیق، اتصال‌های جدول و فیلد، ویرایش‌های ساختاری، کپی کاربرگ و round-tripهای OOXML امن از نظر extension
  • سیاست کامل محاسبه کارپوشه از طریق CalcMode، RefMode، تنظیمات iteration، پرچم‌های محاسبه مجدد، کنترل دقت کامل و تنظیمات محاسبه همزمان، با پیش‌فرض‌های schema و ماندگاری مستقل غیرپیش‌فرض، به‌علاوه memoهای opt-in یعنی RecalcLookupCache و RecalcAggregateCache که اجازه می‌دهند پویش‌های تکراری XLOOKUP/XMATCH، VLOOKUP/HLOOKUP/MATCH و SUMIF/COUNTIF/AVERAGEIF به‌علاوه SUM/AVERAGE/MIN/MAX/COUNT بدون شرط روی یک محدوده ساده، در یک گذر محاسبه مجدد نتیجه اول را بازاستفاده کنند و فقط وقتی فعال می‌شوند که گراف وابستگی به‌طور اثبات‌شده از نظر ارجاع پایدار باشد تا نتایج هرگز متفاوت نشوند
  • سیاست محاسبه مجدد هنگام ذخیره از طریق RecalcBeforeSave (دستی، در صورت dirty، همیشه) به‌علاوه بازرسی وضعیت dirty با RecalcNeeded و دریافت مقدار تک‌سلول با RecalcCell پس از محاسبه مجدد کامل
  • جای‌نشان‌های مقدار گزارش با fallbackهای {{name;default}}، عبارت‌های dbvalue/dbcount/tonumber/ref روی یک DataContext ثبت‌شده و session داده ایزوله به‌ازای هر اجرا، سلول‌های {{=formula(...)}} برهنه که به‌صورت فرمول زنده نوشته می‌شوند و دستورهای ساختاری {{#imgsize}}، {{#comment}}، {{#html}}، {{#sheetvisible}} و {{#deletesheet}}
  • جدول‌های کاربر lazy نوع‌دار از طریق سلول‌های دقیق {{#usertable(alias, logicalName, providerKey, name=expression)}}، با بررسی نحو در زمان کامپایل، preflight ایستا بدون resolver، پارامترهای نوع‌دار پویا، اجرای provider ثبت‌شده، تشخیص تعارض غیرحساس به حروف، کران‌های اعلان و بارگذاری در اولین استفاده از طریق dbvalue یا dbcount؛ TXLSReportGenerator.DataContext و TXLSReportTemplateChecker.DataContext همان رجیستری را به تولید و اعتبارسنجی می‌برند
  • شکل‌دهی داده گزارش با combinatorهای lazy یعنی Filter، Sort پایدار چندکلیدی و Distinct؛ adapterهای FromDataSet و FromObjects دیتاست‌های باز و فهرست اشیاء با ویژگی published را به‌عنوان جدول‌های گزارش متصل می‌کنند؛ باندی‌های RunBidirectional به هر ردیف اصلی ستون‌های فرزند-محور خودش را می‌دهند؛ PreprocessAndRun اجازه می‌دهد قالب‌ها پیش از fill نهایی، خودشان را بر اساس داده تغییر دهند
  • گزینه‌های paste از clipboard (فقط مقادیر، درج سطر/ستون) روی هر دو موتور کارپوشه و تشخیص OnSkippedRecord روی خواننده مستقیم، row cursor و forward reader که ارجاع سلول‌های خراب ردشده و پویش‌های لغوشده برگه BIFF را افشا می‌کند
  • round-trip حفاظت shared-revision در XLS کلاسیک از طریق SharedRevisionProtected و SharedRevisionPasswordHash، و گزارش‌ها رمزگذاری را سرتاسری هندل می‌کنند: قالب‌های رمزشده با رمز باز می‌شوند و RunToEncryptedFile در یک گام نتیجه رمزشده تولید می‌کند
  • CopyRangeTo/CloneRangeTo بین‌کارپوشه‌ای سبک‌های سلول را by-value میان poolها بازنگاشت می‌کنند و CreatedDate، LastSavedDate، RevisionNumber و EditTimeMinutes در XLS کلاسیک از طریق stream خلاصه OLE round-trip می‌شوند
  • رندر نمودار GapWidth، Overlap و گروه‌بندی انباشته / درصد-انباشته گروه plot میله‌ای را مصرف می‌کند تا نمودارهای میله‌ای و ستونی رندرشده با معناشناسی چیدمان مدل همخوان باشند
  • نمودارها قالب‌بندی chart-space (گوشه‌های گرد، رنگ‌های پس‌زمینه/کادر/ناحیه plot) و پنج کلید حفاظت نمودار را round-trip می‌کنند و رندرکننده همان رنگ‌ها را مصرف می‌کند؛ Smooth در سطح سری و رنگ‌های fill/کادر نشانگر round-trip و به‌صورت قطعات منحنی رندر می‌شوند؛ محورها حالت تقاطع و استایل tick را حمل می‌کنند و AutoTitleDeleted عنوان‌های مشتق‌شده را سرکوب می‌کند
  • TXLSPDFWriter بدون هیچ صفحه‌گسترده‌ای PDF می‌سازد: اندازه صفحه صریح، جریان چندصفحه‌ای، مستطیل/خط/بیضی، متن اندازه‌گیری‌شده، transformها، clipping و کنترل graphics-state
  • AutoFit جریان دومرحله‌ای MarkSheet/ApplyMarked را ارائه می‌کند با اندازه‌گیری‌های در انتظار قابل بازرسی، کران‌های ناحیه fit، IgnoreStrings، KeepHeightAutomatic، کف DefaultRowHeightVisual و FitWorkbook تک‌فراخوانی
  • فونت‌های Unicode در PDF سیاست‌های فرورفتن خودکار، زیرمجموعه لازم، برنامه کامل و فقط-نگاشت را پشتیبانی می‌کنند، به‌علاوه برنامه‌های OpenType CFF مستقل، positioning مشترک GPOS/kern برای اندازه‌گیری و رسم، callback پیش‌حل OnFontEmbed و resolver خانواده/سبک OnGetFontDirectories با cache بازگشتی؛ خروجی PDF/A همچنان فرورفتن برنامه فونت را الزامی می‌داند
  • ابزارهای کمکی مجموعه برای جستجو، حذف و مرتب‌سازی مجدد برگه‌ها، جداول، نمودارها، تصاویر، محدوده‌های ادغام شده و پیوندهای خارجی بر اساس نام یا موقعیت
  • ساخت نمودار تک‌فراخوانی از یک محدوده داده: AddChartFromRange و میان‌بُرهای AddColumnChart / AddBarChart / AddLineChart / AddPieChart / AddAreaChart سری‌ها و دسته‌ها را به‌طور خودکار از یک بلوک داده استخراج می‌کنند، مثل insert-chart-from-selection در اکسل
  • درج و حذف سطر و ستون که فرمول‌ها، ستون‌های جدول و فراداده فیلتر یا مرتب‌سازی‌شان را تنظیم می‌کند، ارجاع‌های ساخت‌یافته ستون جدول حذف‌شده را در مصرف‌کنندگان فرمول باطل می‌کند، قالب‌های شرطی سلول-مقدار و عبارتی به‌علاوه اعتبارسنجی‌های داده را وقتی ناحیه‌های ویرایش‌شده anchor فرمول متفاوت می‌خواهند پارتیشن می‌کند، دامنه‌های قالب شرطی تجمعی را سالم نگه می‌دارد و نام‌های تعریف‌شده، پیوندها، سری‌های نمودار شامل اندازه‌های حباب، و لنگرهای تصویر، نمودار، جعبه متن و WordArt را خودکار جابه‌جا می‌کند
  • محاسبه فرمول که ارزیاب کلاسیک XLS را با رجیستری‌های تابع کاربر سراسریِ فرایند و محلیِ کارپوشه به اشتراک می‌گذارد، با معناشناسی override محلیِ کارپوشه، فراخوانی هندلر بدون قفل و امن برای موازی‌سازی، عملگرهای آرایه broadcast و خطاهای به‌ازای هر سلول، ماتریس‌های کامل چندمتغیره LINEST / LOGEST، پیش‌بینی‌های شکل‌دهی‌شده TREND / GROWTH، پوشش توابع متن، تاریخ، روز کاری، مهندسی/تبدیل پایه، بیتی، آماری، aggregate و ریاضی، بازرسی ISFORMULA حفظ‌کننده ارجاع بدون محاسبه مجدد هدف، XMATCH / XLOOKUP باینری لگاریتمی، تشخیص آرگومان اختیاری با ISOMITTED، تبدیل آرایه با ARRAYTOTEXT / VALUETOTEXT، محاسبات اعتبارسنجی‌شده XIRR / XNPV، زمان‌بندی سرمایه‌گذاری و نرخ رشد PDURATION / RRI، استهلاک دوره کسری VDB و callbackهای تابع سفارشی OnUserFunction؛ AnalyzeFormulaIssues preflight ساخت‌یافته برای توابع مفقود، ارجاع‌های بیرونی و مؤلفه‌های دقیق وابستگی حلقوی ارائه می‌دهد
  • ارجاع‌های ساخت‌یافته در شکل سطر جاری (Table[@Col]) در محاسبه مجدد سریالی و موازی بر اساس سطرِ خودِ سلول فرمول ارزیابی می‌شوند
  • تحلیل وابستگی، نام‌های تعریف‌شده محدودشده و فرمولیِ تودرتو را گسترش می‌دهد، شامل ارجاع‌های چندناحیه‌ای، و فقط وقتی حل ایستای وابستگی ناممکن است از guardهای حلقه استفاده می‌کند
  • فرمول‌های مشترک ساخته اکسل در مسیرهای کارپوشه کامل، خواننده مستقیم استریم و row cursor با هر follower گسترش‌یافته به عبارت نسبیِ درست سلولی‌اش باز می‌شوند، در حالی که anchorها و followerهای آرایه CSE از ویرایش‌های ساختاری امن کل-آرایه، کپی‌های کل-گستره، تکثیر کاربرگ و کپی‌های برگه بین‌کارپوشه‌ای جان سالم می‌برند
  • آرایه‌های پویا با TXLSXRange.SetDynamicArrayFormula قابل نگارش‌اند، بازه‌های فرمول و فراداده XLDAPR را در چرخه‌های باز کردن/ذخیره نگه می‌دارند، یک رکورد فراداده dedup شده را میان ریشه‌ها به اشتراک می‌گذارند، در کپی‌های بین‌کارپوشه‌ای آن را بازنگاشت می‌کنند و پس از پاک شدن ریشه آخر حذفش می‌کنند
  • نگارش کنترل فرم روی کاربرگ‌های XLSX (AddFormButton / AddFormCheckBox / AddFormRadioButton / AddFormComboBox / AddFormListBox) با shapeهای VML، بخش‌های ctrlProps و round-trip verbatim فایل‌های دارای کنترل
  • ارزیابی زنده بین‌کارپوشه‌ای XLSX از طریق نمای ExternalWorkspace حفظ‌کننده مسیر و RegisterExternalWorkbook سازگار: هدف‌های کامل relationship و extensionها متمایز می‌مانند، aliasهای مبهم صریحاً شکست می‌خورند، نابودی هدف adapter زنده را به‌طور امن لغو می‌کند و cacheهای نوع‌دار محلیِ فایل بدون دسترسی ضمنی به فایل یا شبکه، fallback می‌مانند
  • مقایسه کارپوشه از طریق TXLSXWorkbookCompare تفاوت‌های برگه، سلول، فرمول و ادغام را به‌صورت فهرست ساخت‌یافته یا گزارش یک‌سطر-به‌ازای-هر-تفاوت گزارش می‌کند
  • تولید کد از کارپوشه از طریق TXLSCodeGen (گویش‌های Delphi و C++Builder) و اعتبارسنجی ورود قواعد ستون از طریق TXLSImportCheck با حاشیه‌نویسی فونت قرمز و توضیح به‌علاوه فشرده‌سازی فقط-تخلف‌ها
  • رکوردهای ناشناخته کاربرگ XLS verbatim round-trip می‌شوند — رکوردهای مخصوص vendor یا جدیدتر از spec در خواندن گرفته می‌شوند و در ذخیره بازپخش می‌شوند
  • shapeهای هندسه preset از طریق AddPresetShape — هر token از ST_ShapeType در OOXML verbatim روی drawing سوار می‌شود و round-trip می‌شود
  • پردازش قالب: ApplyTemplate جای‌نشان‌های {{key}} را سراسر برگه جایگزین می‌کند و FillTemplateBand بلوک‌های قالب را به‌ازای هر رکورد با ترجمه فرمول، قالب‌های شرطی وابسته، اعتبارسنجی‌ها، پیوندها، توضیحات، تصاویر، نمودارها، clone ادغام‌ها و شرط‌های سطری #skip clone می‌کند؛ CloneRangeTo همان مسیر کپی آگاه از وابستگی با payloadهای انتخابی را در معرض می‌گذارد؛ TXLSCompiledReportTemplate موقعیت جای‌نشان‌ها و قطعات متن را یک‌بار برای اجراهای تکراری روی سلول‌ها، متن غنی، توضیحات، hyperlinkها، متن drawing، سربرگ‌ها و پابرگ‌ها، نام برگه‌ها، نام‌های تعریف‌شده و ویژگی‌های سند کامپایل می‌کند بدون اسکن مجدد کارپوشه، از تشخیص‌های preflight نشانی‌دار، اعتبارسنجی سخت‌گیرانه پیش از تغییر و کاربرگ‌های تشخیص پشتیبانی می‌کند؛ TXLSCompiledReportRunner پیشرفت در سطح هدف، لغو، شمارش قطعی اعمال‌شده‌ها، وضعیت موفقیت یا شکست بازاستفاده‌پذیر، رویدادهای جفتی چرخه حیات کارپوشه و کاربرگ، اسنپ‌شات‌های قابل بازیابی مشکلات و خروجی اتمی stream، فایل یا فایل رمزشده اضافه می‌کند؛ TXLSReportGenerator رویدادهای خواندن قالب و مبدأهای کارپوشه، فایل، stream و فایل رمزشده به‌علاوه تغییر درجا یا با clone اتمی را اضافه می‌کند؛ IXLSReportTable، IXLSReportCursor، providerها و resolverهای lazy به‌ازای هر اجرا و شاخص‌های رابطه کلید-مرکب، منابع داده مجازی یا درون‌حافظه‌ای بازاستفاده‌پذیر فراهم می‌کنند بدون آن‌که جدول‌های بی‌مرجع مجبور به بارگذاری شوند و TXLSReportTableFactory نماهای top، projected، counted، minimum، aggregate، unioned، split و hash-joined را بدون کپی کردن payload کامل سطرهای میانی می‌سازد؛ گالری‌های قابل اجرای Delphi و C++Builder همان DataContext، compiled runner، کاربرگ تشخیص، LastResult و مسیر RunToFile را نشان می‌دهند
  • باندی‌های گزارش ساختاری نام‌دار: TXLSCompiledReportBand یک نام تعریف‌شده مستطیلی با scope دقیق کارپوشه یا کاربرگ را حل می‌کند و از اسنپ‌شات‌های محدودشده یک‌گذره سطر و ستون به پایین، به راست یا در هر دو محور گسترش می‌دهد؛ انواع مقدار، فرمول‌های ارجاع مخلوط، ادغام‌ها، قواعد، اعتبارسنجی‌ها، hyperlinkها، توضیحات، drawingها و فراداده صریح چیدمان سطر یا ستون را حفظ می‌کند و ساختارهای جزئی پشتیبانی‌نشده را پیش از تغییر رد می‌کند
  • باندی‌های گزارش جدول Excel قابل گسترش از طریق TXLSCompiledTableReportBand با یک اسنپ‌شات cursor محدودشده، یک سطر قالب داده را گسترش می‌دهند در حالی که سربرگ‌ها، جمع‌ها، بازه‌های جدول و فیلتر خودکار، وضعیت فیلتر و مرتب‌سازی، فراداده ستون‌ها، فرمول‌های محاسبه‌شده و جمع، سبک‌ها، ارجاع‌های ساخت‌یافته و اشیاء وابسته کاربرگ نگه داشته می‌شوند؛ نتایج خالی قابل‌نمایش سطر قالب داده را حذف می‌کنند و جدول‌های query-محور و چیدمان‌های ناامن پیش از نوشتن ساختاری رد می‌شوند
  • باندی‌های گزارش بازه و جدول Excel ErrorMode، StrictDataAccess، RuntimeLimits و تشخیص‌های LastResult تغییرناپذیر را به اشتراک می‌گذارند؛ WriteAndContinue شکست سطریِ صریحاً قابل بازیابی را به‌صورت متن literal با سطر ورودی و آدرس خروجی واقعی ذخیره می‌کند و سپس هدف‌ها و سطرهای باقی‌مانده را ادامه می‌دهد، در حالی که شکست‌های ساختاری و منابعِ fatal گسترش را rollback می‌کنند
  • اسکن سلول و سطر با callback مقدار خام یا متن نمایشی، جستجو و جایگزینی الگو و نوشتن انبوه
  • مدیریت مرکزی فایل‌های scratch (فایل‌های temp ثبت‌شده در finalize جمع‌آوری می‌شوند)، بررسی رمزگشایی پس از نوشتن با VerifyEncryptedSave به‌صورت opt-in و ثابت‌های کران گرید به‌ازای هر قالب با رویداد OnExportLimit روی خروجی‌گیرنده دیتاست
  • ابزارهای کمکی اعتبارسنجی داده با dropdown لیستیِ تک‌فراخوانی از آرایه رشته، حالت‌های IME نوع‌دار مشترک میان XLS کلاسیک و XLSX، فرمول‌های جدول که صفات آرایه مستقل را نگه می‌دارند، پسوندهای قالب‌بندی شرطی، خروجی HTML قابل پیکربندی با کلاس‌های سبک CSS متمرکز و ذخیره و بارگذاری رمزشده با AES — رمزگذاری استاندارد ECMA-376 (AES-128) با شتاب AES-NI، به‌علاوه خواندن رمزگذاری Agile پیش‌فرض اکسل (اشتقاق کلید SHA-512، AES-128/192/256)
  • خروجی‌گیرنده‌های HTML کلاسیک و XLSX از اسنپ‌شات‌های هندسه xlsrgbHtml در مالکیت عملیات استفاده می‌کنند تا عرض نویسه‌ای را از طریق متریک بیشینه عرض رقم فونت Normal به طول‌های CSS ثابت تبدیل کنند، به‌ازای هر عملیات چندبرگه یک cache محدودشده را بازاستفاده کنند، اسنپ‌شات فعال را برای تشخیص در معرض بگذارند و ابعاد ذخیره‌شده کاربرگ را حفظ کنند
  • ارزیابی قالب شرطی XLSX آماده‌شده با لایه‌بندی اولویت و StopIfTrue، فرمول‌های نسبی، آمار چندناحیه‌ای مشترک، قواعد Top/Bottom و میانگین، مقادیر تکراری و یکتا، دوره‌های تاریخ نسبی، سبک‌های تمایزی آگاه از تم، color scaleها، data barهای جهت‌دار و همه خانواده‌های icon set داخلی
  • باز کردن متساهل XLSX: پیشوندهای namespace هنگام تجزیه نرمال می‌شوند، به‌طوری که کاربرگ‌ها، نمودارها، نقاشی‌ها و ویژگی‌های سندِ متصل به namespaceهای غیرکانونی یا strict در ISO 29500 مثل فایل عادی بار می‌شوند و کاربرگ‌هایی که سطرها یا سلول‌هایشان صفات موقعیت را ندارد، هر سلول را بعد از پیشینی‌اش در ترتیب پویش استنتاج می‌کنند
  • خروجی Open XML سخت‌گیرانه از طریق StrictOOXML: کل بسته XLSX — کاربرگ‌ها، رشته‌های مشترک، سبک‌ها، تم، نقاشی‌ها، نمودارها، توضیحات، ویژگی‌های سند و بخش‌های حفظ‌شده — در همگرایی strict با ISO/IEC 29500 و واژگان purl.oclc.org ذخیره می‌شود و انواع relationship از نوع strict در باز کردن، مثل انواع transitional حل می‌شوند
  • باز کردن XLSX کل-کارپوشه، ورودی‌های ZIP کاربرگ را مستقیماً به inflaterها و خواننده‌های XML مخصوص هر worker استریم می‌کند، هیچ نسخه مرحله‌بندی XML کاربرگِ inflate‌شده نگه نمی‌دارد و حافظه ورودی گذرای کاربرگ را به workerهای تجزیه فعال محدود می‌کند
  • خواننده مستقیم استریم (TXLSDirectReader) که .xlsx / .xlsm را سلول به سلول با رویدادهای به‌ازای هر سلول و هر برگه و ردپای حافظه تقریباً ثابت برای کارپوشه‌های بسیار بزرگ اسکن می‌کند و مقدار، نوع، متن فرمول و شاخص سبک هر سلول را با تشخیص تاریخ اختیاری، لغو زودهنگام که به ورودی ZIP و decompress منتشر می‌شود، pushdown بازه سطری و projection ستونی با هزینه ثابت پیش از decode مقدار گزارش می‌دهد؛ رویدادهای چیدمان opt-in پیش از سلول‌های وابسته، ابعاد کاربرگ، اندازه‌های پیش‌فرض، گستره ستون‌ها، فراداده سطرها، paneهای ثابت یا split و محدوده‌های ادغام‌شده را افشا می‌کنند؛ تجزیه موازی محدودشده، inflaterهای کاربرگ مخصوص هر worker را در صف‌های producer-consumer با بودجه مستقل استریم می‌کند در حالی که ترتیب callback روی نخ فراخوان حفظ می‌شود، حفظ rich-string اجراهای قالب‌دار، بازه‌های فونتیک و ویژگی‌های فونتیک را افشا می‌کند و مخزن رشته مشترک محدودشده، جدول‌های کوچک را در حافظه نگه می‌دارد و جدول‌ها و payloadهای غنی بزرگ‌تر را به ذخیره موقتی indexed با حذف هنگام بستن می‌برد
  • نویسنده مستقیم استریم (TXLSDirectWriter) که کارپوشه‌های .xlsx را سلول به سلول تولید می‌کند و هر کاربرگ را با رسیدن سطرها مستقیماً در بسته منتشر می‌کند تا فایل‌های بسیار بزرگ با ردپای حافظه تقریباً ثابت ساخته شوند؛ پوشش رشته‌های درون‌خطی یا dedup شده مشترک، رشته‌های غنی با اجراهای قالب‌دار و فونتیک، اعداد، بولی‌ها، تاریخ‌ها، فرمول‌ها، سبک‌های سلول سطح بسته بازاستفاده‌پذیر با هندل‌های clone‌شده، فونت/fill/کادر/قالب عددی dedup شده، تأکید فونت، underline، outline و سایه، 19 الگوی fill، 14 سبک کادر روی پنج لبه، تراز افقی و عمودی، wrap، کوچک‌سازی، تورفتگی، چرخش، پیشوند quote، محافظت locked/hidden، قالب‌های عددی داخلی و سفارشی، عرض ستون‌ها، ارتفاع سطرها، سطرها و ستون‌های مخفی، محدوده‌های ادغام‌شده، بازه‌های AutoFilter کاربرگ و جدول با فیلترهای مقدار، blank، گروه تاریخ، سفارشی، پویا، top/bottom و وضعیت مرتب‌سازی، محافظت کاربرگ با مجوزهای ریزتراشه، فراداده رمز قدیمی یا مدرن و بازه‌های محافظت‌شده قابل ویرایش، محافظت ساختار و پنجره کارپوشه، صفحات ثابت، رنگ زبانه برگه، نمای برگه راست‌به‌چپ، کلیدهای نمایش نما برگه، حاشیه‌های صفحه، متن سربرگ/پابرگ، گزینه‌های چاپ، page setup، تنظیمات fit-to-page، شکست صفحه دستی، hyperlinkهای کاربرگ در چند برگه، نام‌های تعریف‌شده کارپوشه و محلیِ برگه، بازه‌های تعریف‌شده تولیدی، ناحیه چاپ، سطر یا ستون عنوان چاپ، اعتبارسنجی داده با prompt و هشدار خطا، قالب‌بندی شرطی با 8 عملگر مقدار سلول، عبارات، تطبیق متن، رتبه‌بندی top/bottom، میانگین، تکراری/یکتا، محمول‌های blank/خطا، data barها، مقیاس‌های دو و سه‌رنگ، 17 خانواده icon set، سبک‌های تمایزی فونت/fill، کنترل اولویت و stop-if-true، بخش‌های جدول اکسل با نام ستون‌ها، پرچم‌های سطر سربرگ/جمع، توضیحات جدول، برچسب‌ها و توابع ستون سطر جمع، فرمول‌های ستون محاسبه‌شده، فرمول‌های سطر جمع و گزینه‌های نمایش سبک جدول، به‌علاوه کانال‌های جانبی برگه جاری برای توضیحات کلاسیک، مبدأهای تصویر استریم، DrawingML لنگرشده، نمودارهای نوع‌دار پشتیبان فرمول و ChartML تأمین‌شده توسط فراخوان
  • ادامه سرریز opt-in (AutoSplitRows) وقتی سطری فراتر از کران کاربرگ برسد خروجی را در برگه‌های <name>_2 تقسیم می‌کند و FillTableCalculatedColumn فرمول ستون جدول را مثل نگارش اکسل به هر سطر داده push می‌کند
  • وصله درجای کاربرگ از طریق BeginPatch: نویسنده استریم یک کاربرگ از بسته موجود را بازنویسی می‌کند در حالی که هر بخش دست‌نخورده با بایت‌های فشرده اصلی‌اش کپی می‌شود — یک برگه داده را جایگزین یا یکی جدید اضافه کنید بدون بازنگری قالب
  • اشیاء Camera از طریق AddCamera: تصاویر snapshot زنده متصل به یک محدوده سلولی، مطابق پسوند drawing ابزار camera مستندشده؛ این اتصال در ذخیره و بازگشایی round-trip می‌شود
  • پیوست‌های PDF از طریق AddAttachment — فایل‌ها به‌صورت ورودی‌های /EmbeddedFiles با درخت نام در خروجی سوار می‌شوند و IXLSPDFAttachmentSource می‌تواند هر payload را به‌صورت lazy و یک‌بار به‌ازای هر ذخیره از طریق یک spool محدودشده تأمین کند؛ مونتاژ نهایی اشیاء را به‌ترتیب به مقصد استریم می‌کند، پس payloadهای پیوست در chunkهای ثابت با شیء طول غیرمستقیم کپی می‌شوند و حافظه اوج تخت می‌ماند
  • خروجی صریح PDF/A-1a، 1b، 2a، 2b، 3a و 3b از طریق PDFAProfile، شامل قواعد شناسایی مخصوص پروفایل، مدیریت رنگ، tagging، پیوست و اعتبارسنجی اتمی؛ UsePDFA به‌عنوان کلید سازگاری برای PDF/A-2b باقی می‌ماند
  • خروجی PDF در چیدمان کلاسیک یا چیدمان opt-in مربوط به PDF 1.5 با streamهای شیء فشرده و stream ارجاع متقاطع باینری (UseXRefStream) برای فایل‌های کوچک‌تر اجرا می‌شود
  • خروجی PDF از callbackهای پیشرفت بازاستفاده‌پذیر begin، صفحه و end با لغو و بدون commit جزئی stream پشتیبانی می‌کند، به‌علاوه حاشیه‌نویسی‌های اختیاری توضیح Unicode موقعیت‌دار که می‌توانند با صفحه‌های توضیحات-در-پایان همزیستی داشته باشند
  • گرادیان‌ها و شفافیت PDF از سایه‌زنی‌های محوری یا شعاعی بومی با توابع چندتوقف دوخته‌شده، ماسک‌های آلفا به‌ازای هر توقف، الگوهای fill سلول، سایه تصویر، clipping در سطح صفحه و cacheهای منبع در سطح سند استفاده می‌کنند؛ پروفایل‌های PDF/A انتخابی، محدودیت‌های گرافیکی‌شان را پیش از commit خروجی اعمال می‌کنند
  • زنجیره‌های font fallback آگاه از سبک در PDF از طریق SetFontFallbackChain، AddFontFallback و ClearFontFallbackChains قلم‌های فرورفته را بر اساس خانواده مبدأ، tier سبک و پوشش glyph انتخاب می‌کنند، قلم‌ها و انتخاب‌های بارشده را cache می‌کنند، اسکالرهای مکمل و خوشه‌های grapheme بین‌اجرایی را حفظ می‌کنند، دنباله‌های Unicode با glyph مشترک را از طریق نگاشت‌های CID متمایز نگه می‌دارند و خروجی PDF/A را به‌جای استفاده از قلم بدون فرورفتن، به‌صورت اتمی رد می‌کنند
  • TXLSPageImageExporter صفحه‌بندی را یک‌بار می‌سازد و صفحه‌های منتخب XLS یا XLSX را به‌تدریج به‌صورت PNG یا JPEG با DPI، مقیاس، کیفیت، پیشرفت، لغو و طول عمر bitmap به‌ازای هر صفحه قابل پیکربندی خروجی می‌گیرد؛ ExportRange یک مستطیل سلولی فشرده می‌نویسد و رویدادهای قبل و بعد از paint، بوم صفحه واقعی را از طریق یک زمینه فقط‌خواندنی با کران پیکسل، اندازه صفحه، وضوح، مقیاس، شماره صفحه‌ها و کاربرگ مبدأ در معرض می‌گذارند و دقیقاً یک‌بار به‌ازای هر فریم رندرشده شامل فریم‌های TIFF چندصفحه‌ای صدا زده می‌شوند
  • TXLSCellImageExporter هر مستطیل سلولی کلاسیک یا XLSX را بدون artifact صفحه‌بندی اندازه می‌گیرد، رندر و به‌عنوان یک تصویر فشرده ذخیره می‌کند، با وضوح، مقیاس، قالب و کیفیت JPEG قابل پیکربندی، پس‌زمینه PNG شفاف یا رنگی، کلیدهای مستقل شیء، خط شبکه و کادر سلول، بودجه پیکسل و بایتِ اعتبارسنجی‌شده پیش از تخصیص و ذخیره فایل از طریق جایگزینی اتمی هم‌پوشه که در صورت شکست هرگز هدف موجود را خراب نمی‌کند
  • خروجی ODS فرمول‌های سلولی را با املای استاندارد OpenFormula یعنی of:= می‌نویسد و برای ارجاع‌های بین‌برگه‌ای یک passthrough msoxl: دارد، به‌طوری که به متن فرمول اکسل round-trip می‌شوند
  • ارتفاع سطرهای تکرارشونده و سبک‌های سلول خالی در ODS از بازه‌های فشرده استفاده می‌کنند؛ خروجی ODS ارتفاع سطرها و دنباله‌های سبک‌دار تکرارشونده را نگه می‌دارد و ویرایش تک‌سطری، پاک کردن، کپی کاربرگ، جابه‌جایی سطرها، tiling و خروجی XLSX ارتفاع‌های مؤثر را حفظ می‌کنند
  • تأمین سطر در حالت pull (OnNeedRow + RunRows) نویسنده استریم را از یک خط لوله داده، سطر به سطر می‌راند
  • کاربرگ‌های راست‌به‌چپ در خروجی PDF آینه می‌شوند و در HTML از طریق dir="rtl" برمی‌گردند و round-trip پرچم نمایش کامل می‌شود
  • حالت نمایش صفر کاربرگ، صفر واقعی عددی را پنهان می‌کند، شامل نتایج فرمول، مقادیر ارز و صفر پایه تاریخ، در نمایشگر و خروجی‌های بصری پیش از قالب‌بندی عددی یا اندازه‌گیری متن؛ حالت نمایش فرمول اولویت دارد، بصری‌های قالب شرطی و hyperlinkها فعال می‌مانند و مقادیر ذخیره‌شده، متن قالب‌بندی‌شده عمومی، CSV و خروجی ODS قراردادهای فعلی‌شان را نگه می‌دارند
  • حالت استریم عرض-ردیابی‌شده opt-in (TrackColumnWidths) کاربرگ را در حافظه مرحله‌بندی می‌کند تا فایل نهایی hint بازه استفاده یعنی <dimension> و عرض ستون‌ها را اندازه‌گرفته بر اساس طولانی‌ترین مقدار دیده‌شده به‌ازای هر ستون حمل کند — تقریبی از autofit برای داده‌ای که فقط هنگام استریم شناخته می‌شود
  • ویرایش‌های ساختاری سطر و ستون در XLSX امن از نظر ارجاع، فرمول‌ها، نام‌های تعریف‌شده، قواعد، پیوندها، نقاشی‌ها، تنظیمات چاپ، بازه‌های محافظت‌شده، anchorهای توضیح کلاسیک و رشته‌ای، sparklineها، مبدأها و نماهای جدول محوری نوع‌دار و ارجاع‌های extension حفظ‌شده قابل‌شناسایی را در یک تراکنش guarded به‌روزرسانی می‌کنند، با API شرکت‌کننده مرتب برای فراداده در مالکیت برنامه
  • درخت XML با دسترسی تصادفی و فشرده (TSimpleDomReader) که از همان pull reader در یک گذر ساخته می‌شود تا فراداده کارپوشه، relationshipها، تم‌ها و سایر بخش‌های بسته با مسیر QName حساس به حروف یا نام محلی قابل پرس‌وجو باشند
  • ارزیابی گام به گام فرمول از طریق TXLSFormulaTracer با گذارهای دقیق پشته عملوند، به‌علاوه تشخیص تعاملی از طریق TXLSFormulaDebugger که گره‌های تجزیه‌شده، مقادیر عملوند، ترتیب ارزیابی، وابستگی‌های سلول و محدوده، انتخاب‌های شاخه lazy، عبارات ردشده و مبدأ خطاهای منتشرشده را در معرض می‌گذارد
Version 2.362.0

مجموعه کامل قابلیت‌های کارپوشه، گزارش‌سازی و رندر

نسخه فعلی APIهای پشتیبانی‌شده کارپوشه، گزارش‌سازی و رندر را با مسیرهای اجرای محدودشده و قواعد صریح ایمنی قالب گسترش می‌دهد

قالب‌های کارپوشه و محاسبات

  • XML Mapهای قابل ویرایش و اتصال‌های schema تک‌سلولی از طریق TXLSXXmlMaps و TXLSXXmlCellBindings، همراه با round-trip رابطه‌ها و اعتبارسنجی پیش از ذخیره
  • وضعیت کارپوشه چندپنجره‌ای مرتب‌شده از طریق TXLSXWorkbookViews، شامل زبانه‌های فعال، هندسه، visibility، پرچم‌های نمایش، extensionها و نگاشت مجدد امن شاخص برگه
  • انتخاب‌های چندناحیه‌ای و سلول فعالِ مستقل به‌ازای هر pane برای XLS و XLSX، همراه با نگاشت مجدد ساختاری و رد اتمی محدوده نامعتبر
  • tokenهای فرمول بی‌افت در مالکیت فراخوان از طریق TXLSFormulaTokenStream، ParseFormulaTokens، GetFormulaTokens، FormulaTokensToText و SetFormulaTokens
  • انجماد فرمول XLS کلاسیک ارجاع‌های BIFF کامپایل‌شده را بدون decompile کردن متن فرمول طبقه‌بندی می‌کند، در حالت OnlyExternal فقط ارجاع‌های تأییدشده به کارپوشه بیرونی را تبدیل می‌کند، فرمول‌های نامطمئن را دست‌نخورده نگه می‌دارد و گروه‌های آرایه را به‌صورت اتمی با نتایج رشته literal سالم منجمد می‌کند
  • فرمول‌های ارجاع به کارپوشه بیرونی XLSX از یک lexer عددی آگاه از گرامر برای تبدیل سخت‌گیرانه، تشخیص، محاسبه مجدد، کپی میان‌کارپوشه‌ای و ذخیره‌های تولیدی استفاده می‌کنند؛ سازگاری نام فایل فقط وقتی دقیقاً یک هدف ثبت‌شده مطابقت دارد نرمال‌سازی می‌شود
  • TXLSXExternalLink شناسه‌های relationship مبدأ، slotهای one-based و انواع پیوند کارپوشه، DDE، OLE یا حل‌نشده را در معرض می‌گذارد و تغییر هدف و فهرست برگه‌ها از طریق یک به‌روزرسانی revision با هزینه ثابت، اتصال‌های بیرونی کامپایل‌شده را باطل می‌کند
  • ConvertExternalDefinedNamesToRefErrors تعریف‌های تأییدشده ارجاع به کارپوشه بیرونی را در XLS و XLSX کلاسیک به‌صورت اتمی با #REF! بومی جایگزین می‌کند و در عین حال هویت نام، scope، visibility، توضیحات، فراداده macro و built-in، صفات ناشناخته XLSX، فرمول‌های عادی سلول و بخش‌های external-link حفظ می‌شوند
  • مرتب‌سازی پایدار سطر یا ستون با TXLSSortFormulaMode، کلیدهای افقی، comparerهای سفارشی و انتخاب میان حفظ وابستگی منطقی و جابه‌جایی فیزیکی فرمول
  • فونت‌ها، قالب‌های عددی، سبک‌های XF و فرمول‌های BIFF2 تا BIFF4 قابل ویرایش که هنگام بارگذاری به مدل‌های فعلی کارپوشه و محاسبه تبدیل می‌شوند
  • یک نما (facade) callback یکپارچه TXLSForwardReader برای XLS، XLSX، CSV و TSV با projection در سطح backend، کران سطرها، وضعیت وجود فرمول، سرکوب اختیاری متن فرمول، تشخیص قالب و لغو عملیات
  • نماهای سفارشی نوع‌دار برای paneها، انتخاب‌ها، فیلترها، page setup و شکست صفحه‌ها، در حالی که رکوردهای ناشناخته BIFF payload اصلی خود را نگه می‌دارند
  • ویژگی‌های OLAP نوع‌دار، selectorهای web table، فیلدهای عرض ثابت و پارامترهای اتصال همراه با محتوای extension حفظ‌شده
  • تشخیص با AnalyzeFormulaIssues برای توابع مفقود، ارجاع‌های به کارپوشه بیرونی و مؤلفه‌های دقیق وابستگی حلقوی
  • رجیستری‌های UDF سراسری و محلیِ کارپوشه با thread-safety، override محلی، جستجوی میانگین O(1) و فراخوانی هندلر بیرون از قفل‌ها
  • XLSBidiVisualOrder برای متن مخلوط عربی یا عبری، متن لاتین، ارقام، علامت‌های ترکیبی و نشانه‌گذاری آینه‌ای، بدون تغییر متن منطقی سلول
  • استراتژی‌های AutoFit سلول ادغام‌شده که رشد را به عضو اول یا آخر می‌دهند یا آن را در سراسر گستره متعادل می‌کنند، برای هر دوی XLS و XLSX
  • حفظ نوع‌دار macro-sheetهای Excel 4 به‌علاوه یافته‌های فقط‌بازرسی ScanMacroCommands همراه با آدرس کاربرگ
  • پشتیبانی محاسبه از ISOMITTED، ARRAYTOTEXT، VALUETOTEXT، PDURATION و RRI با ذخیره‌سازی و رفتار خطای سازگار با اکسل
  • خلاصه‌های گروهی کاربرگ از طریق TXLSXWorksheet.Subtotal، شامل فرمول‌های درج‌شده، جمع کل قابل پیکربندی، قالب‌بندی مرئی به‌ارث‌رسیده و سلسله‌مراتب outline
  • بازرسی سبک مؤثر بدون materialize کردن از طریق GetCellVisibleFormat به‌علاوه اعتبارسنجی در سطح candidate و commit اتمی از طریق CheckDataValidation
  • باز کردن‌های فقط‌فراداده و برگه منتخب XLS کلاسیک از آفست‌های BOUNDSHEET، ذخیره محدودشده سرریز SST و یک قرارداد خواندن رو به جلو که با XLSX، CSV و TSV مشترک است استفاده می‌کنند
  • آرایه‌های پویا مستقیماً به تجمیع‌های اسکالر استریم می‌شوند، جستجوهای تکراری از cacheهای بازه‌ای افزایشی نوع‌دار بازاستفاده می‌کنند و tokenهای فرمول تغییرناپذیر اشیاء stateless را در طول کامپایل‌ها به اشتراک می‌گذارند
  • سبک‌های نام‌دار بخش‌های قالب مرتبط و overrideهای محلی را نگه می‌دارند و هر سبک جدول built-in روشن، متوسط و تیره به قالب مؤثری تبدیل می‌شود که مسیرهای ویرایش و خروجی استفاده می‌کنند
  • یک نمای یکپارچه drawing اشیاء DrawingML را گروه یا گروه‌گشایی می‌کند و تصاویر، نمودارها، جعبه‌های متن، لنگرهای حفظ‌شده و گروه‌های تودرتو را بدون از دست دادن relationshipها بازترتیب می‌کند
  • TXLSFormatSnapshot یک قالب کلاسیک کامل را مستقل از کارپوشه مبدأ ضبط می‌کند و IXLSRange.ApplyFormat آن را روی سلول‌ها، سطرها یا ستون‌ها اعمال می‌کند
  • کارپوشه‌های کلاسیک و XLSX همان APIهای استریم‌شونده SaveSemanticSnapshot و ComputeSemanticHash افزایشی SHA-256 را ارائه می‌دهند، با پروفایل‌های Content و SecurityComplete به‌علاوه گزینه‌های صریح viewer-state، فراداده فرّار و cache فرمول
  • برگه‌های جدید XLSX نوشتن انبوه نوع‌دار row-major سازگار را در ذخیره RLE فشرده نگه می‌دارند، به پرس‌وجوهای وجود و آمار ذخیره‌سازی بدون materialize پاسخ می‌دهند و فقط وقتی دسترسی در سطح شیء لازمشان کند، یک‌بار به اشیاء سلول پایدار گسترش می‌یابند
  • ذخیره‌گاه‌های سلول و مجموعه‌های کاربرگ کلاسیک و XLSX نسل‌های ساختاری مستقل را ارائه می‌کنند تا خواننده‌های طولانی‌مدت بتوانند تغییرات توپولوژی را تشخیص دهند بدون آن‌که ویرایش مقدار، فرمول، قالب، تغییرنام یا فعال‌سازی را باطل‌سازی ساختاری بدانند
  • هندل‌های سلول وضعیت سبک پیش‌فرض را بدون تخصیص نگه می‌دارند و سلول‌های خالی یکسانِ فقط-سبک از یک payload شمارش مرجعی با جداسازی copy-on-write برای ویرایش‌های محلی بعدی بهره می‌برند و بایت‌های صرفه‌جویی‌شده در آمار ذخیره‌سازی قابل اندازه‌گیری است

گزارش‌سازی کامپایل‌شده و ترکیب داده

  • TXLSCompiledReportTemplate جای‌نشان‌ها را یک‌بار در سراسر سلول‌ها، متن غنی، توضیحات، توضیحات رشته‌ای، ابرپیوند، نقاشی‌ها، نمودارها، سربرگ‌ها، پابرگ‌ها، نام برگه‌ها، نام‌های تعریف‌شده و ویژگی‌های سند کامپایل می‌کند
  • TXLSCompiledReportBand باندی سطر، ستون و cross-tab نام‌های تعریف‌شده را از اسنپ‌شات‌های داده یک‌گذره محدودشده گسترش می‌دهد و در عین حال فرمول‌ها، اشیاء وابسته و فراداده صریح محور را حفظ می‌کند
  • TXLSCompiledTableReportBand قالب‌های جدول Excel تک‌سطری را گسترش می‌دهد و در عین حال سربرگ‌ها، جمع‌ها، فیلترها، مرتب‌سازی، فرمول‌ها، سبک‌ها، ارجاع‌های ساخت‌یافته و نتایج امنِ واقعاً صفرسطری را نگه می‌دارد
  • IXLSReportTable، IXLSReportCursor، IXLSReportRandomAccessTable و TXLSReportMemoryTable یک قرارداد واحد برای منابع مجازی و درون‌حافظه‌ای فراهم می‌کنند
  • TXLSReportRelationIndex bucketهای compound-key نوع‌دارِ دقیق را یک‌بار برای جستجوی master-detail با میانگین O(1) می‌سازد، بدون کپی کردن payload سطرها
  • IXLSReportTableProvider و TXLSReportDataContext جدول‌های صریح و lazy را ثبت می‌کنند و BeginRun یک IXLSReportDataSession ایزوله با جستجوی hash غیرحساس به بزرگی و کوچکی حروف، negative caching، cache کردن قطعی خطای provider و تشخیص فوری بازگشت هم‌نام می‌سازد؛ قالب‌های کامپایل‌شده، runnerها، باندی‌های بازه و باندی‌های جدول Excel به‌طور خودکار از یک session به‌ازای هر اجرای منطقی استفاده می‌کنند، هر دو گذر PreprocessAndRun اسنپ‌شات مشترکی دارند، اجراهای همزمان ایزوله می‌مانند و هر مسیر موفقیت، لغو یا شکست، اسنپ‌شاتش را پیش از بازگشت آزاد می‌کند
  • TXLSReportDataRequest و IXLSReportDataResolver درخواست‌های نام‌دار یا کاربر با پارامترهای نوع‌دار مرتب‌شده، فراداده مبدأ، کنترل اجرای فقط‌خواندنی و نتایج صریح unhandled، resolved، not-found یا data-error اضافه می‌کنند؛ resolverها با کلید provider غیرحساس به حروف برای dispatch با O(1) ثبت می‌شوند، providerهای قدیمی از طریق یک adapter سازگار می‌مانند، جدول‌های صریح مرجع می‌مانند و هر اجرا fingerprintهای متناقض برای یک alias را پیش از فراخوانی دوم resolver رد می‌کند
  • TXLSReportDataLimits تعداد aliasهای کش‌شده، providerهای نام‌دار و قدیمی، schemaهای جدول، نام‌ها، پارامترها، رشته‌ها و پیام‌های خطا را محدود می‌کند؛ مختصات خراب مبدأ، نویسه‌های کنترلی، نام پارامتر تکراری، ظروف Variant پشتیبانی‌نشده، ترکیب نتایج نامعتبر، بازگشت و لغو در میانه حل، همه پیش از commit هدف شکست می‌خورند و لغو، ورودی ناتمام cache را برای یک retry تمیز حذف می‌کند
  • TXLSReportTableFactory cursorهای lazy شامل top، projection، union و split به‌علاوه شمارش سطر، حداقل، تجمیع و hash joinهای حفظ‌کننده تکراری‌ها را تأمین می‌کند
  • TXLSReportQueryProvider فقط تعریف کوئری‌های فقط‌خواندنی ثبت‌شده را به قالب‌ها می‌دهد و پارامترهای نوع‌دار به‌علاوه timeoutهای محدودشده را به یک executor میزبان می‌فرستد
  • TXLSCompiledSheetReportBand و TXLSCompiledOverflowReportBand برگه‌های per-record آگاه از وابستگی و برگه‌های ادامه محدودشده را از یک cursor رو به جلو می‌سازند
  • TXLSReportIncludeLibrary includeهای نام‌دار بازگشتی را حل می‌کند، حلقه‌ها را به‌صورت قطعی گزارش می‌کند و به یک کتابخانه تغییرناپذیرِ بازاستفاده‌پذیر منجمد می‌شود
  • شرط‌ها، lookupها، عبارات باقاعده و فرمول‌های پویای گزارش کامپایل‌شده از گره‌های عبارت تجزیه‌شده و شاخص ستون‌های حل‌شده بازاستفاده می‌کنند
  • TXLSReportDynamicFormat و TXLSReportFormatEvent قالب‌های عددی آگاه از رکورد، ارتفاع سطرها و عرض ستون‌ها را در دقت هدف کامپایل‌شده اعمال می‌کنند
  • IXLSReportImageDataProviderV2 و TXLSReportImageBinder هدف‌های تصویر نوع‌دار را از بایت‌های محدودشده یا streamهای در مالکیت فراخوان، با زمینه پایدار کاربرگ، باندی، جدول، سطر منطقی، سطر cursor، سطر جاری فقط‌خواندنی، anchor، transform، لغو و سقف اندازه حل می‌کنند؛ runnerها، مولدها، باندی‌های بازه و باندی‌های جدول Excel هر هدف را مستقیماً متصل می‌کنند بدون آن‌که سلول‌های کاربرگ تولیدشده را پویش کنند
  • تصاویر گزارش V2 اندازه فیزیکی و DPI را از هدرهای محدودشده PNG، JPEG، GIF، BMP، EMF یا WMF استخراج می‌کنند، از fitهای Natural، Contain وسط‌چین، Cover بریده‌شده و Stretch پشتیبانی می‌کنند، هندسه raster ناامن را پیش از تغییر رد می‌کنند و آفست‌های نسبی به anchor را در round-tripهای XLSX و ODS حفظ می‌کنند
  • IXLSXImageBlob و TXLSXImageBlob به تصاویر تکراری اجازه می‌دهند یک raster و payload SVG تغییرناپذیر با digest یک‌باره SHA-256 و کلید cache اختیاری را به اشتراک بگذارند؛ XLSX و ODS payloadهای متمایز رسانه را در سراسر برگه‌ها بازاستفاده می‌کنند و payloadهای مشترک را در بازگشایی بازمی‌گردانند
  • اتصال مجدد نمودارِ آگاه از وابستگی، سری‌ها، فرمول‌ها، نام‌ها و لنگرها را وقتی باندی‌های بازه و برگه گسترش می‌یابند ترجمه می‌کند
  • TXLSCompiledReportRunner فازهای begin، target، saving و end را گزارش می‌کند و از لغو عملیات، خروجی stream و فایل اتمی، شمارش دقیق اعمال‌شده‌ها و اجرای بازاستفاده‌پذیر در طول sessionهای داده ایزوله پشتیبانی می‌کند؛ ErrorMode رفتار توقف سازگار یا ادامه مدیریت شکست‌های داده، provider، تقسیم بر صفر و عبارت باقاعده نامعتبرِ صریحاً نوع‌دار را انتخاب می‌کند، StrictDataAccess داده مفقود را به جای blankهای قدیمی یا شمارش sentinel در معرض می‌گذارد و اسنپ‌شات‌های تغییرناپذیر LastResult مشکلات زمان اجرای مرتب‌شده و وضعیت پایانی را در طول بازاستفاده runner نگه می‌دارند
  • خروجی stream، فایل و فایل رمزنگاری‌شده گزارش از یک تراکنش مرحله‌ای استفاده می‌کند؛ شکست‌های fatal، لغوشده، serialization، نوشتن جزئی stream و جایگزینی فایل، مقصد کامل قبلی را حفظ می‌کنند، خروجی موفق رمزنگاری‌نشده قالب کارپوشه مبدأ را نگه می‌دارد و اسنپ‌شات‌های rollback استریم بزرگ به ذخیره موقت مدیریت‌شده سرریز می‌شوند
  • هدف‌های کامپایل‌شده پیش از قالب‌بندی پویا ارزیابی می‌شوند و سپس محتوا، قالب‌های عددی، ارتفاع سطرها و عرض ستون‌ها را به‌صورت اتمی با rollback دقیق commit می‌کنند؛ تشخیص‌های قابل بازیابی سلول، فرمول‌ها را پاک می‌کنند، سبک پایه باقی‌مانده را نگه می‌دارند و مشتقات قرمز-فونت و زرد-پُرِ استخرمشترک را میان فونت‌های پایه برابر به اشتراک می‌گذارند؛ هدف‌های امن غیرسلولی مقدار اصلی‌شان را حفظ می‌کنند و هدف‌های ساختاری fail-fast می‌مانند
  • TXLSReportRuntimeLimits شمارش مشکلات نگه‌داشته‌شده، طول پیام پاک‌سازی‌شده و حافظه مشکلات را پیش از تغییر هدف محدود می‌کند؛ پیام‌ها تک‌خطی‌اند و اعتبارنامه‌های متعارف را حذف می‌کنند و RuntimeDiagnosticsSheetName به‌اختیاری یک کاربرگ تشخیص ساخت‌یافته می‌نویسد که با کارپوشه تولیدشده round-trip می‌شود
  • TXLSReportGenerator چرخه حیات کامل خواندن و تولید را برای قالب‌های کارپوشه، فایل، stream و فایل رمزنگاری‌شده در اختیار دارد، با رویدادهای جفتی، زمینه پایدار کاربرگ، لغو امن، جداسازی خروجی با clone اتمی و همان قرارداد خطای قابل بازیابی و نتیجه تغییرناپذیرِ runner کامپایل‌شده
  • CloneRangeTo سلول‌های انتخابی و وابستگی‌های هویت‌دار را با ترجمه ارجاع مخلوط، preflight هم‌پوشانی و tiling خطی تکرارشونده با مبدأ ثابت clone می‌کند
  • TXLSReportPaginationPlanner پابرگ‌های ثابت، گروه‌های keep-together، شکستن سطر، ادغام گستره‌های مشابه و ستون‌های گزارش متعادل را فراهم می‌کند
  • تحلیل گزارش کامپایل‌شده، اجرای سخت‌گیرانه و WriteDiagnostics جای‌نشان‌های خراب و مقادیر مفقود را همراه با نوع هدف و آدرس دقیق گزارش می‌کنند
  • TXLSReportTemplateChecker و TXLSReportTemplateMigrator از معناشناسی کامپایلر برای اعتبارسنجی قالب‌ها و تبدیل شکل‌های جای‌نشان قدیمیِ پشتیبانی‌شده بازاستفاده می‌کنند

خروجی دسترس‌پذیر، برداری، تصویری و وب

  • TXLSPDFTagMode و DocumentLanguage درخت‌های ساختار PDF خودکار با جدول‌ها، سطرها، سلول‌های سربرگ و داده معنایی، Figureهای تصویر XLSX اطلاع‌رسان با متن جایگزین Unicode، شناسه‌های marked-content متراکم به‌ازای هر صفحه، گستره‌های سلول ادغام‌شده، درخت‌های والد دقیق و جداسازی artifact برای تصاویر تزئینی و دیگر drawingهای غیرمعنایی تولید می‌کنند
  • TXLSPDFSignature از فیلدهای امضای مرئی یا نامرئی، ظاهرهای PNG ناحیه-محصور، پوشانده یا کشیده، داده CMS تأمین‌شده توسط میزبان، callbackهای digest، بازه‌های بایتی وصله‌شده و سیاست‌های گواهی صریح DocMDP برای «بدون تغییر»، «پر کردن فرم و امضا» یا «پر کردن فرم، امضا و حاشیه‌نویسی» پشتیبانی می‌کند — بدون ذخیره کلید خصوصی
  • TXLSPDFAProfile با اعتبارسنجی پروفایل پیش از commit خروجی، PDF/A-1a، 1b، 2a، 2b، 3a یا 3b را انتخاب می‌کند؛ فایل‌های مرتبط PDF/A-3 از طریق overload مفصل AddAttachment نام Unicode، نوع MIME، توضیحات، اندازه بایت، زمان اصلاح و relationship از نوع Source، Data، Alternative، Supplement یا Unspecified را حمل می‌کنند
  • پیشرفت و لغو بازاستفاده‌پذیر PDF برای begin، صفحه و end مانع از streamهای مقصد ناقص می‌شود
  • زنجیره‌های font fallback آگاه از سبک در PDF پوشش glyph و فونت‌های embedشده را cache می‌کنند و در عین حال نویسه‌های مکمل، خوشه‌های grapheme و نگاشت‌های استخراج را حفظ می‌کنند
  • شکل‌دهی متن پیچیده متنی، ligatureها، جای‌گذاری علامت ترکیبی، اتصال عربی و نگاشت‌های خوشه مبدأ را پیش از خروجی glyph اعمال می‌کند
  • گرادیان‌های چندتوقف محوری و شعاعی بومی PDF، ماسک‌های آلفا به‌ازای هر توقف، الگوهای fill سلول، clipping و سایه تصویر از منابع گرافیکی cache‌شده بازاستفاده می‌کنند
  • توضیحات سلول می‌توانند به حاشیه‌نویسی‌های متنی Unicode موقعیت‌دار PDF تبدیل شوند و در عین حال خروجی توضیحات-در-پایان هم در دسترس می‌ماند
  • TXLSSvgExport محدوده‌ها، کاربرگ‌ها، کارپوشه‌ها، صفحه‌ها و اشیاء نام‌دار را با متن برداری، پیوندهای امن opt-in، نمودارها، shapeها و تصاویر رندر می‌کند؛ callbackهای صفحه هر بار یک SVG کامل برمی‌گردانند، پیشوندهای ID قطعی سندهای embedشده را ایزوله می‌کنند و رندرکننده صفحه مشترک، fillهای سلول اکسل، کادرهای جمع‌شده، فونت و تراز به‌ازای هر سلول، shrink-to-fit و سرریز به سلول همسایه را نقاشی می‌کند
  • TXLSPageImageExporter یک session صفحه‌بندی را بازاستفاده می‌کند و به‌تدریج صفحه‌های منتخب PNG یا JPEG تولید می‌کند، یا صفحه‌های منتخب را به‌صورت اتمی به‌عنوان یک TIFF چندصفحه‌ای فشرده‌شده با LZW می‌نویسد
  • TXLSGraphicsBackend و هندسه صفحه‌بندی مشترک، پیش‌نمایش، چاپ، PDF، SVG، تصویر، HTML و جای‌گذاری اشیاء را هم‌راستا می‌کنند، در حالی که serializerها کدگذاری مخصوص هر قالب را نگه می‌دارند
  • decoder محدودشده EMF و WMF پاکت رکوردها را اعتبارسنجی می‌کند و رکوردهای escape را پیش از بازپخش زیرمجموعه امن خود از طریق هندسه مشترک Canvas و SVG رد می‌کند: پشته‌های وضعیت DC، transformهای window، viewport و world، جدول‌های اشیاء pen، brush و pen توسعه‌یافته با stock objectها، مستطیل‌ها، بیضی‌ها، زنجیره خط‌ها، چندضلعی‌ها، منحنی‌های Bézier، پرانتزهای مسیر با گذرهای fill، stroke و ترکیبی، مستطیل‌های گردگوشه، کمان‌ها، وترها، قطاع‌ها و کمان‌های زاویه‌ای، fill و قاب ناحیه‌ها، اجراهای متن محدودشده با فونت و تراز و تصاویر stretch-DIB با کدگذاری مجدد به PNG؛ clipping و رکوردهای خصوصی بیرون از whitelist می‌مانند و در صورت خطا به‌صورت fail-closed به fallback raster محدودشده می‌روند
  • خروجی‌گیرنده‌های HTML کلاسیک و XLSX یک نمای صفحه‌گسترده صریح با سربرگ‌های معنایی سطر و ستون و hot tracking نوع‌دارِ تمام-CSS ارائه می‌دهند؛ پیوندهای بیرونی از یک URI sanitizer مشترک استفاده می‌کنند که هدف‌های script، data، blob، file، UNC و نویسه کنترلی را رد می‌کند
  • نمودارهای محور تاریخ XLSX سریال‌های کارپوشه را به‌عنوان مختصات پیوسته به‌کار می‌برند، اسلات سازگاری روز کبیسه 1900 را حفظ می‌کنند، سیستم تاریخ 1904 را رعایت می‌کنند و tickها را با روز، ماه یا سال واقعی تقویم در طول صفحه‌بندی مشترک و رندر SVG، PDF، تصویر، پیش‌نمایش، چاپ، نمایشگر و HTML جلو می‌برند؛ واحدهای حذف‌شده یک‌بار در سراسر همه سری‌های مرئی استنتاج می‌شوند، چگالی خودکار از گستره مرئی، عرض محور، فونت اندازه‌گیری‌شده برچسب، قالب عددی و چرخش استفاده می‌کند و خطوط شبکه اصلی و فرعی پیکربندی‌شده از همان مجموعه tick محدودشده بازاستفاده می‌کنند
  • مدل‌های محور تاریخ XLSX وجود مستقل واحدهای تقویم پایه، اصلی و فرعی به‌علاوه پرچم دسته خودکار محور تاریخ را حفظ می‌کنند، به‌طوری که عناصر حذف‌شده ChartML حذف می‌مانند و واحدهای روز صریح و مقدارهای Boolean false هم round-trip می‌شوند؛ فیلدهای توسعه محور تاریخ Classic نوع‌دار، هر مقدار خام و پرچم را نگه می‌دارند و مقادیر فعال را می‌توان به مدل محور XLSX نگاشت کرد
  • محورهای دسته چندسطحی cacheهای اسپارس برگه-اول و بازه‌های دوبعدی زنده را حفظ می‌کنند، برچسب‌های حذف‌شده را به ارث می‌برند اما برچسب‌های خالی صریح را مرز می‌دانند، برچسب‌های برابر را فقط درون گستره والدشان ادغام می‌کنند، ترتیب معکوس و راست‌به‌چپ به‌علاوه دسته‌های مخفی را رعایت می‌کنند و NoMultiLevelLabels را برای خروجی تک‌سطحی در معرض می‌گذارند
  • برچسب‌های داده نمودارِ مبدأ سلول، فرمول‌ها و cacheهای شاخص‌گذاری‌شده مستقل را به‌ازای هر سری حفظ می‌کنند، متن نمایشی محلی کاربرگ را یک‌بار به‌ازای هر تولید کارپوشه تازه می‌کنند، cacheهای بیرونی را بدون دسترسی ضمنی نگه می‌دارند، فرمول‌ها را در کپی کاربرگ و گسترش گزارش ترجمه می‌کنند و visibility مشترک و به‌ازای هر نقطه را در صفحه‌بندی و رندر SVG، PDF، تصویر، پیش‌نمایش، چاپ، نمایشگر و HTML رعایت می‌کنند
  • کارپوشه‌های کلاسیک XLS و XLSX یک سیاست نمایش شیء سه‌وضعیتی بی‌افت را به اشتراک می‌گذارند؛ اشیاء مخفی پیش از گسترش محدوده و کار رسانه کنار گذاشته می‌شوند، نمایشگر جای‌نشان‌های نام‌دار سبک رندر می‌کند و خروجی‌گیرنده‌های PDF، SVG، bitmap، چاپ و HTML می‌توانند به خروجی جای‌نشان opt-in کنند در حالی که خروجی کامل اشیاء به‌طور پیش‌فرض باقی می‌ماند
  • چیدمان‌های دستی نمودار، وجود مستقل فیلدها و tokenهای مبدأ نامعتبر را حفظ می‌کنند، حالت‌های فاکتور و لبه را با جای‌گذاری محدودشدهِ حفظ‌کننده اندازه حل می‌کنند، هدف‌های plot داخلی و بیرونی را تفکیک می‌کنند، هندسه عنوان، legend، ناحیه plot و عنوان محور را در خروجی صفحه‌بندی، SVG، PDF، تصویر، پیش‌نمایش، چاپ، نمایشگر و HTML به اشتراک می‌گذارند و موقعیت‌های ODF پشتیبانی‌شده را از طریق فواصل مطلق نمودار تبدیل می‌کنند
  • محورهای تاریخ XLSX قالب‌های عددی برچسب و وضعیت source-link را حفظ می‌کنند، استایل متن محور و چرخش ساعتگرد را اعمال می‌کنند، جهت معکوس را رعایت می‌کنند و فاصله‌گذاری پیوسته را برای تاریخ‌های تکراری و پراکنده در طول صفحه‌بندی و رندر SVG، PDF، تصویر، پیش‌نمایش، چاپ، نمایشگر و HTML نگه می‌دارند
  • حالت نمایش فرمول، همان متن نهایی آگاه از سلول محافظت‌شده، تراز و عرض چیدمان مؤثر دوبرابرِ محدودشده را در مسیرهای نمایشگر کارپوشه، پیش‌نمایش، چاپ، تصویر، EMF، SVG، PDF، HTML کلاسیک و HTML XLSX حل می‌کند، بدون تغییر مقادیر ذخیره‌شده، cacheهای فرمول یا عرض ستون‌ها
  • کمان‌های cubic Bezier تطبیقی مبتنی بر flatness یک قرارداد دقت مشترک در خروجی PDF، SVG و تصویر دارند و فقط وقتی مقیاس یا خروج از مرکز لازمشان کند قطعه اضافه تخصیص می‌دهند
  • outlineهای PDF از bookmarkهای تودرتوی Unicode، رنگ‌ها، متن bold یا ایتالیک و فرزندان باز یا جمع‌شده پشتیبانی می‌کنند، با callbackهای صفحه برای پس‌زمینه و overlayها
  • سبک‌های جدول نام‌دار و built-inِ حل‌شده از قالب‌بندی مشترک HTML، PDF، تصویر، پیش‌نمایش و نمایشگر عبور می‌کنند بدون آن‌که سلول‌های خالی materialize شوند
  • TXLSSvgExport.SaveObjectAsSVG یک نمودار، تصویر یا shape نام‌دار را در کران دقیق شیء رندر می‌کند بدون بریدن یک صفحه کامل
  • خروجی HTML نمودارها و shapeها را به‌صورت SVG درون‌خطی منتشر می‌کند و تصاویر SVG، لنگرهای drawing، پیوندها و افکت‌های پشتیبانی‌شده را بدون rasterize کردن کل برگه حفظ می‌کند
  • TXLSXHtmlExportSession سبک‌های مشترک را یک‌بار اسکن می‌کند و سپس کاربرگ‌ها را به‌تدریج با progress، لغو و reset خروجی می‌گیرد
  • TXLSImageRenderEffects crop، روشنایی، کنتراست، گاما، چرخش، opacity و سایه را به‌طور یکنواخت در بک‌اندهای گرافیکی اعمال می‌کند
  • shapeهای preset، adjustmentها، calloutها، فلوچارت‌ها، جعبه‌های متن و WordArt از هندسه برداری مشترک در قالب‌های خروجی استفاده می‌کنند
  • رندر پیشرفته نمودار، error barها، trendlineها، محورهای تاریخ، فاصله‌گذاری عددی، برچسب‌های مبدأ سلول با ترتیب مؤلفه custom-اول و میله‌های مالی high-low و up-down را پوشش می‌دهد
  • برچسب‌های نمودارهای متراکم و دایره‌ای، پیش از خروجی برداری نهایی، تنظیم برخورد قطعی و مسیریابی خط راهنما می‌گیرند

ویژگی‌های XLSX آماده برای کد برنامه

اکنون APIهای XLSX سناریوهای عملی تولید کارپوشه، خروجی گزارش و تغییر کارپوشه را به جای نوشتن ساده سلول پوشش می‌دهند

  • ساختار کاربرگ سلول‌ها، محاسبه فرمول، محدوده‌های کل و ادغام شده با ابزارهای کمکی جستجو/حذف مستقیم محدوده ادغام شده، اندازه‌های سطر و ستون با AutoFit محدود، طرح‌ها، سطرها و ستون‌های پنهان، صفحات ثابت، وضعیت برگه فعال، برگه‌های پنهان و بسیار پنهان
  • سبک‌ها و ارائه فونت‌ها، پر کردن‌ها، حاشیه‌ها، قالب‌های عددی، ترازبندی، متن غنی، رنگ‌های تم، رنگ‌های نمایه‌شده، سایه و رنگ، حاشیه‌های مورب و استخرهای سبک قابل استفاده مجدد
  • اشیاء اکسل پیوندها و نظرات با جستجوی سلول به علاوه ابزارهای کمکی حذف محدوده، تصاویر و جعبه‌های متنی رسم مستقل با ابزارهای کمکی جستجوی لنگر و حذف محدوده، قالب‌بندی‌های شرطی و اعتبارسنجی داده‌ها با ابزارهای کمکی جستجو و حذف آگاه از محدوده، جداول به سبک اکسل با جستجو و حذف بر اساس نام، معیارهای فیلتر خودکار با ابزارهای کمکی جستجو و حذف مستقیم ستون، اشیاء نمودار با ابزارهای کمکی جستجو و حذف عنوان، برگه‌های نمودار، نام‌های تعریف شده با ابزارهای کمکی جستجو و حذف در محدوده، حفظ پروژه VBA با کوئری‌های HasVbaProject / VbaProjectDefined به علاوه بازرسی و ویرایش سورس ماژول‌های موجود، و پیوندهای کارپوشه خارجی با ابزارهای کمکی جستجو و حذف هدف
  • پشتیبانی صفحه و فراداده حالت‌های مشاهده کاربرگ، مناطق چاپ، سطرها و ستون‌های عنوان، گزینه‌های چاپ خطوط شبکه و عنوان‌ها، شکستگی‌های صفحه دستی با جستجوی نمایه و ابزارهای کمکی حذف محدوده، کارپوشه‌های Date1904، ویژگی‌های سند، فراداده برنامه و ذخیره/باز کردن مبتنی بر جریان

قالب‌های خروجی از همان داده‌های کارپوشه

HotXLS به فایل‌های کارپوشه باینری محدود نمی‌شود. APIهای فعلی مسیرهای خروجی مستقیم را برای اهداف یکپارچه‌سازی و گزارش‌دهی رایج در معرض دید قرار می‌دهند

XLS خواندن، نوشتن و ویرایش کارپوشه کلاسیک Excel 97-2003؛ cursor سلول‌های بارگذاری‌شده با وضعیت ثابت همراه اسنپ‌شات‌های در مالکیت فراخوان، blankهای مستقلِ سبک‌دار اختیاری و اعتبارسنجی توپولوژی fail-fast؛ کشف سریع نام برگه از فایل یا stream؛ جستجوی برگه با نام، ابزارهای کمکی pane، زبانه فعال کارپوشه و فراداده saved-by؛ ابزارهای کمکی بارگذاری/ذخیره/پاک کردن payload پروژه VBA به‌علاوه بازرسی و ویرایش سورس ماژول‌های موجود؛ و کنترل‌های هندسه/وضعیت پنجره، زبانه، نوار پیمایش، کنترل‌های گروه‌بندی تاریخ فیلتر خودکار، نمای کاربرگ، رنگ خط شبکه و وفاداری پرچم Window2 برای صفحات ثابت؛ کنترل‌های سبک outline و مجوزهای محافظت کاربرگ؛ پرچم‌های page setup با حفظ محدودشده و بایت‌به‌بایت دقیق payload درایور چاپگر BIFF، دسترسی عمومی payload با جداسازی کپی و تبدیل به XLSX با اولویت فیلد نوع‌دار؛ مرتب‌سازی چندکلیدی محدوده، سبک‌های سلول داخلی، ویژگی‌های سند و گردش‌کارهای خروجی
XLSX تولید کارپوشه OOXML، محاسبه فرمول با پوشش تابع گسترده و OnUserFunction/OnUserFunctionEx؛ cursor سلول‌های بارگذاری‌شده با وضعیت ثابت روی بلوک‌های اسپارس materialize‌شده یا ذخیره packed، با اسنپ‌شات‌های در مالکیت فراخوان، blankهای مستقل سبک‌دار اختیاری و اعتبارسنجی طول عمر fail-fast؛ اسکن سلول‌های بارگذاری‌شده و نوشتن با callback؛ کران‌های AutoFit محدودشده برای عرض ستون‌ها و ارتفاع سطرهای گزارش؛ تبدیل قطعی اسپارس XLSX به BIFF8 از طریق SaveXLSXWorkbookAsXLS با حفظ رنگ indexed قفل‌شده، کوانتیزاسیون palette وزن‌دار OKLab و تنظیمات چاپگر نوع‌دارِ preflight‌شده؛ حفظ بایت‌به‌بایت دقیق بخش printer-settings کاربرگ با دسترسی عمومی payload با جداسازی کپی، معناشناسی پاک کردن دقیق و تشخیص relationship آویزان؛ ذخیره و بارگذاری رمزشده AES سازگار با اکسل (رمزگذاری استاندارد ECMA-376) با شتاب AES-NI و fallback نرم‌افزاری؛ حفظ پروژه VBA با کوئری‌های HasVbaProject / VbaProjectDefined به‌علاوه بازرسی و ویرایش سورس ماژول‌های موجود؛ یافتن/جایگزینی متن قالب؛ خروجی HTML قابل پیکربندی کارپوشه/محدوده؛ جستجو/حذف مستقیم معیارهای فیلتر خودکار و ارزیابی پیش‌نمایش؛ جستجو/حذف مستقیم لنگر تصویر تعبیه‌شده؛ جستجو/حذف آگاه از محدوده برای قالب‌بندی شرطی و اعتبارسنجی داده؛ و round-trip از طریق نمای اختصاصی lxHandleX
ODS وارد کردن OpenDocument Spreadsheet با داده‌های styles.xml، ابعاد سطر/ستون، سبک‌های سلول به ارث رسیده، تبدیل فرمول پایه، محافظت برگه، محدوده‌های نامگذاری شده، مقادیر عددی ذخیره شده بدون نوع، کسری از ثانیه تاریخ و مدت زمان منفی. صادرات کامل از طریق SaveAsODS که مقادیر تایپ شده سلول، فرمول‌ها، متن غنی، محدوده‌های ادغام شده، پیوندها، تصاویر، نمودارها، قالب‌های شرطی، اعتبارسنجی‌های داده، صفحات ثابت، محدوده‌های چاپ، گروه‌های طرح و کنترل اختیاری TODSExportOptions را در یک بسته ODF معتبر می‌نویسد
CSV / TSV وارد کردن متن جداشده از طریق OpenCSV با sniffing خودکار جداکننده، تشخیص رمزگذاری BOM، quoting طبق RFC 4180، استنتاج اختیاری نوع مقدار، دستورهای ورود به‌ازای هر ستون و برش عرض ثابت، به‌علاوه ابزارهای کمکی خروجی کارپوشه، کاربرگ و محدوده با overloadهای stream و فایل و خروجی عرض-ثابت با padding فاصله
HTML / RTF / PDF خروجی‌های جدول‌محور برای گزارش‌ها، پیش‌نمایش‌ها، بدنه ایمیل و تحویل سند، شامل قطعات محدوده انتخابی، عنوان‌های HTML قابل پیکربندی، صفات چیدمان جدول، لنگرهای hyperlink، tooltipهای توضیحات، سبک‌های تراز عمودی، سبک‌های اجرای متن غنی، سبک‌های تمایزی شرطی و قالب‌های عددی، color scaleها، data barهای جهت‌دار، glyphهای خانواده icon و خروجی جدول حداقلی. TXLSHTMLImport یک جدول سطح-بالای انتخابی یا همه جدول‌ها را در سلول هدف one-based با جداکننده اعشار صریح وارد می‌کند و overloadهای قبلیِ همه-جدول‌ها حفظ می‌شوند. SaveWorkbookAsHTML همه کاربرگ‌های مرئی XLSX را در یک سند قابل ناوبری با anchorهای پایدار به‌ازای هر برگه و نام برگه‌های escape‌شده منتشر می‌کند. RTF هم از طریق OpenRTF برمی‌گردد و سلول‌های جدول یا فهرست پاراگراف‌ها را به‌طور پیش‌فرض به A1، یا از طریق overloadهای توسعه‌یافته به سطر و ستون هدف one-based صریح نگاشت می‌کند. SaveAsPDF روی کارپوشه، همه کاربرگ‌های مرئی را در یک سند ترکیب می‌کند، fillهای توپر و شرطی، color scaleها، data barها، iconهای شرطی، رنگ‌های فونت، اندازه‌ها، تأکید bold، italic و underline، تراز، کادرهای صریح و خطوط شبکه اختیاری را رندر می‌کند و ناحیه‌های چاپ، اندازه کاغذ یا ابعاد کاغذ سفارشی دقیق بر حسب point، جهت، حاشیه‌ها، zoom، تنظیمات fit-to-width، عرض ستون‌ها، ارتفاع سطرها، شکست صفحه دستی، سطر و ستون‌های عنوان تکرارشونده و سربرگ/پابرگ چپ، وسط یا راست را رعایت می‌کند — از جمله کدهای فیلد نام فایل &F و مسیر &Z و سرکوب اختیاری باند سربرگ یا پابرگ — در حالی که محدوده‌های عریض و بلند را در هر دو محور صفحه‌بندی می‌کند؛ CalculatePageCount شمارش کامل صفحه‌های منطقی را بدون ساخت اشیاء PDF گزارش می‌کند و FirstPage و LastPage با شماره one-based، بازه خروجی را انتخاب می‌کنند در حالی که فیلدهای total-page حفظ می‌شوند. TXLSPaginationModel همان تصمیم‌ها را به‌صورت صفحه‌های منطقی بازاستفاده‌پذیر XLS و XLSX برای پیش‌نمایش چاپ VCL، خروجی PDF، canvasهای سفارشی و خروجی EMF در معرض می‌گذارد، شامل عنوان‌های تکرارشونده، ترتیب over-then-down یا down-then-over، مقیاس fit از 10% تا 400% و جای‌گذاری drawingها

چرا از آن استفاده کنیم

HotXLS تولید صفحه گسترده را در داخل فرآیند Delphi یا C++Builder شما نگه می‌دارد. این امر آن را برای برنامه‌های کاربردی دسکتاپ، ابزارهای دسته‌ای، خدمات و نصب کننده‌هایی که در آنها اتوماسیون آفیس شکننده یا در دسترس نیست، مناسب می‌کند

پوشش RAD Studio

این بسته برنامه‌های Delphi و C++Builder از XE5 تا RAD Studio 13.1 Florence را هدف قرار می‌دهد، با پروژه‌های بسته نسخه‌بندی شده و پوشه‌های خروجی هر نسخه

Free Pascal 3.2.2 با Lazarus/LCL هم از طریق بسته runtime Lib/FPC/HotXLSLaz.lpk روی Windows Win32 و Win64 پشتیبانی می‌شود؛ شامل APIهای کارپوشه XLS/XLSX، استریم مستقیم، فرمول‌ها و کامپوننت‌های خروجی TDataToXLS و TGridToXLS برای دیتاست‌های LCL و TDBGrid

برای کامپایل بسته، build-FPC-Lib.cmd Win64 یا build-FPC-Lib.cmd Win32 را اجرا کنید و سپس برای تأیید round-tripهای کارپوشه و فشرده‌سازی، Tests/Lazarus/Run-HotXLSLazarusSmoke.cmd Win64 یا معادل Win32 آن را اجرا کنید؛ برای نصب سفارشی LAZARUS_DIR را تنظیم کنید

برنامه‌های FPC باید واحد Interfaces مربوط به LCL را پیش از واحدهای HotXLS include کنند و Lib و Lib/FPC را به مسیرهای جستجوی واحد و Lib را به مسیر جستجوی include اضافه کنند؛ فرم‌های دموی VCL، نمایشگر کارپوشه VCL و adapter گرید DevExpress همچنان کامپوننت‌های Delphi/C++Builder می‌مانند

برای جزئیات راه‌اندازی برنامه و سازگاری regex، به پشتیبانی Free Pascal و Lazarus مراجعه کنید

توزیع آسان

منبع، بسته‌ها، اسکریپت‌های ساخت، نسخه‌های نمایشی، مستندات محلی HTML و ادغام نصب کننده گنجانده شده‌اند تا تیم‌ها بتوانند بدون اتکا به سرویس وب، بسازند، آزمایش کنند و ارسال کنند

نقاط شروع

هنگام ارزیابی کتابخانه یا اتصال آن به یک پروژه، ابتدا از این فایل‌های محلی استفاده کنید