یادداشتهای انتشار HotXLS
تاریخچه تغییرات قابل مشاهده برای کاربر، رفع اشکال، بهبودهای XLS/XLSX، بهروزرسانیهای خروجی، تغییرات سازگاری و بهروزرسانیهای مستندات HotXLS
آخرین انتشار
- آخرین نسخه: 2.229.0; تاریخ انتشار: 2026-08-03
نسخه 2.229.0
افزوده شد
TXLSXWorksheet.HeaderFooterImagesاکنون برای هر موقعیت چپ، وسط و راست سرصفحه یا پاصفحه در صفحات فرد، زوج و صفحه اول، شکافهای تصویر تایپشده ایجاد، پیدا، جایگزین و حذف میکند- تصاویر سرصفحه و پاصفحه دادههای خام، قالب، عنوان، ابعاد نقطهای و حاشیههای نقطهای خود را آشکار میکنند، با بارگذاری مستقیم از فایلهای PNG، JPEG، GIF، BMP، EMF و WMF
تغییر کرد
- تصاویر صفحات زوج و صفحه اول به طور خودکار انواع صفحه منطبق را فعال کرده و کدهای فیلد تصویر موردنیاز را هنگام ویرایش متن سرصفحه یا پاصفحه حفظ میکنند
رفع اشکال
- نظرات صفحه کاری و تصاویر سرصفحه یا پاصفحه اکنون هنگام اشتراک یک صفحه کاری، روابط VML مستقل را حفظ میکنند
- شکافهای تصویر سرصفحه و پاصفحه ایجادشده توسط Excel اکنون بایتهای تصویر، قالبها، عناوین، ابعاد، حاشیهها و روابط خود را طی چرخههای باز کردن و ذخیره حفظ میکنند
نسخه 2.228.0
افزوده شد
- برگههای کار XLS کلاسیک و مجموعههای شکل اکنون کنترلهای
TXLSButtonوTXLSRadioButtonتایپشده را در کنار کادرهای تأیید، کادرهای ترکیبی و کادرهای فهرست ایجاد و کشف میکنند - کنترلهای فرم اکنون نامهای ماکرو، سلولهای پیوندی، محدودههای ورودی، حالتهای تأیید، ظاهر تخت یا سهبعدی و پیوندهای گروه رادیویی را از طریق ویژگیهای تایپشده آشکار میکنند
- نامهای تعریفشده
IsMacroرا آشکار میکنند تا پیوندهای ماکرو فرادادههای نام لازم کاربرگ را حفظ کنند
رفع اشکال
- ویرایش و ذخیره مجدد کنترلهای فرم کلاسیک دیگر حالتهای تأیید، پیوندهای ماکرو، فرمولهای سلول پیوندی، محدودههای منبع یا فرادادههای گروه رادیویی پشتیبانیشده را دور نمیریزد
- پاک کردن محدوده منبع یک کادر ترکیبی یا کادر فهرست اکنون به جای بازگرداندن محدوده قبلی در باز کردن بعدی، فرمول ورودی سریالیشده را حذف میکند
نسخه 2.227.0
افزوده شد
LINESTوLOGESTاکنون آرایههای ضریب چندمتغیری کامل و ماتریسهای آماری پنج ردیفی اختیاری را برمیگردانندTRENDوGROWTHاکنون آرایههای پیشبینی شکلیافته را برای ورودیهای تکمتغیره و چندمتغیری برمیگردانند
تغییر کرد
- حساب آرایه، مقایسهها، الحاق، نقیض یکانی و عملیات درصد اکنون اسکالرها و ردیفها یا ستونهای منفرد را پخش میکنند در حالی که نتایج هر سلول را حفظ میکنند
- وابستگیهای محاسبه اکنون نامهای کاربرگ و کاربرگهای تودرتو، نامهای تعریفشده با فرمول و ارجاعات چند ناحیهای را با محافظت چرخه آگاه به دامنه گسترش میدهند
رفع اشکال
- خطا در یک عنصر آرایه دیگر نتیجه کامل را فرو نمیپاشد و به اشتباه به ارزیابی اسکالری بازنمیگردد
- نامهای تعریفشده با فرمول که وابستگیهایشان میتواند به طور ایستا حل شود دیگر محاسبه مجدد کامل فرّار غیرضروری را اجبار نمیکند
نسخه 2.226.0
افزوده شد
- حافظههای پنهان محور XLSX موجود و نماهای جدول محور اکنون از طریق روابط بسته در مدل تایپشده بارگذاری میشوند، از جمله رکوردهای حافظه پنهان، فیلدها، موارد مشترک، گروهبندی، فیلترها، قالبها، تعاریف محاسبهشده و افزونهها
TXLSPivotTable.Makeاکنون فیلدهای حافظه پنهان محاسبهشده، موارد محاسبهشده و اعضای داده محاسبهشده را با پیوند نام آگاه به وابستگی ارزیابی میکند- حالتهای بسطیافته
ShowDataAsدرصدهای والد، درصدهای جاری و رتبه صعودی یا نزولی را با نشانهگذاری افزونه XLSX معتبر اضافه میکنند
تغییر کرد
- تولید نتیجه محور اکنون پیش از ساخت دامنههای گروهبندیشده، قابلیت مشاهده مورد، انتخابهای صفحه و فیلترهای عنوان، تاریخ، تجمیع و مقدار را اعمال میکند
- گروههای عددی، تاریخ و گسسته، مرتبسازی برچسب یا مقدار داده، جمعهای میانگین پیکربندیشده و سطرها یا ستونهای جمع کل مادیشده اختیاری اکنون در تولید نتیجه مشارکت میکنند
رفع اشکال
- فیلترهای محور اکنون به جای مقادیر عددی مبهم، از نشانهگذاری فیلتر سطح ریشه معتبر برای طرح و انواع فیلتر نمادین استفاده میکنند
- بارگذاری مبتنی بر رابط دیگر نامهای بخش حافظه پنهان محور، رکورد حافظه پنهان یا جدول محور متعارف یا متوالی را فرض نمیکند
نسخه 2.225.0
افزوده شد
TXLSXWorkbook.ConnectionsوTXLSXWorksheet.QueryTablesاکنون برای فرادادههای پایگاهداده خارجی، وب، متن و نتیجه پرسوجو، تألیف و ویرایش نوعدار ارائه میدهند- پارامترهای اتصال نوع دقیق بولی، عدد صحیح، ممیز شناور، رشته یا ارجاع سلولی خود را حفظ میکنند، از جمله مقادیر صریح صفر، false و رشته خالی
تغییر کرد
- باز کردن و ذخیره XLSX اکنون بخشهای اتصال و جداول پرسوجو را از طریق روابط مالک آنها حل کرده و مینویسد، جداول نتایج و نامهای تعریفشده را همگام میکند و ویژگیهای ناشناخته، گرههای فرزند و فهرستهای افزونه را حفظ میکند
- ویرایشهای سطر و ستون محدودههای نتیجه پرسوجو را همتراز نگه میدارند، در حالی که کپی برگههای کاری در همان کتابکار و بین کتابهای کاری، مالکیت پرسوجو را حفظ کرده و شناسههای اتصال و نامهای متناقض را بازنگاشت میکنند
رفع اشکال
- جداول پرسوجو میتوانند بدون برخورد شناسههای رابطه برگهکار یا کتابکار، در کنار جداول استاندارد، نظرات رشتهای و جدولهای محوری همزیستی کنند
نسخه 2.224.0
افزوده شد
- برگههای کاری کلاسیک XLS و برگههای کاری مدرن XLSX اکنون
AddDataTableوDataTablesرا برای جداول داده What-If با یک متغیر سطر، یک متغیر ستون و دو متغیر نمایان میکنند
تغییر کرد
- محاسبه مجدد کتاب کار هر نتیجه جدول داده را با یک زمینه ورودی ایزوله، از جمله وابستگیهای غیرمستقیم فرمول، ارزیابی میکند و تعاریف بهعلاوه نتایج ذخیرهشده در حافظه نهان را از طریق باز کردن، ذخیره، کپی برگه کار و ویرایشهای ساختاری سطر یا ستون حفظ میکند
رفع اشکال
- سلولهای ورودی What-If حذفشده اکنون نتایج
#REF!تولید میکنند و محاسبه مجدد کلاسیک کتاب کار به جای حذف برگه اول، هر برگه کار را ملاقات میکند - درج سطرها در بالای یک برگه کار کلاسیک دیگر خطر نقض دسترسی را در Win64 به همراه ندارد
نسخه 2.223.0
تغییر کرد
- لغو خواننده مستقیم موازی اکنون به جای انتظار برای کشیدن XML بعدی، از طریق خواندنهای فعال اعضای ZIP و هر مرحله از فشردهسازی باز منتشر میشود
رفع اشکال
- لغو پویش موازی برگه کار دیگر منتظر تکمیل خواندن XML فشرده بزرگ نمیماند پیش از آن که کارگران مسدودشده آزاد شوند
نسخه 2.222.0
افزوده شد
TXLSDirectReader.ParallelBufferMemoryLimitبار کلیدی صف سلول خام تجمعی را برای پویش موازی برگه کار محدود میکند، در حالی کهParallelPeakBufferedBytesاوج اندازهگیریشده را برای تشخیص و آزمونهای ظرفیت نمایان میسازد
تغییر کرد
- خواندنهای مستقیم موازی اکنون به جای نگهداشتن XML برگه کار بازشده کامل و بافرهای کامل سلول برای هر برگه، ورودیهای ZIP برگه کار را به خوانندههای XML محلی کارگر و صفهای تولیدکننده-مصرفکننده محدودشده جریان میدهند
- برگههای کار فعال بودجههای صف مستقل دریافت میکنند و در پنجرههایی به اندازه کارگر پردازش میشوند و ترتیب فراخوانی را بدون اجازه دادن به برگههای کار بعدی برای قحطیزایی برگه کاری که اکنون منتشر میشود، حفظ میکنند
رفع اشکال
- لغوهای سلول، شکستهای فراخوانی و خطاهای کارگر اکنون تولیدکنندگان و مصرفکنندگان مسدودشده را بیدار میکنند، کشیدنهای XML را بهطور مشارکتی متوقف میکنند، همه کارگران را میپیوندند و خواننده مستقیم را قابل استفاده مجدد باقی میگذارند
نسخه 2.221.0
تغییر کرد
- باز کردن XLSX چندبرگه اکنون هر ورودی ZIP برگه کار را مستقیماً به بازکن فشردهسازی و خواننده XML محلی کارگر خود جریان میدهد به جای آنکه XML بازشده برگه کار را پیش از تجزیه نگه دارد
- خوانندههای همزمان برگه کار تنها خواندنهای موقعیتی کوتاه را از منبع بسته سریالسازی میکنند، بنابراین باز کردن فشردهسازی و تجزیه XML موازی میمانند در حالی که حافظه ورودی گذرا برگه کار توسط تعداد کارگران فعال محدود میشود
نسخه 2.220.0
افزوده شد
- تولید نتایج جدول محوری اکنون هر نه حالت کلاسیک
ShowDataAsرا اجرا میکند، از جمله تفاوت، درصد یک مورد پایه، تفاوت درصدی، جمع تجمعی، درصد سطر، درصد ستون، درصد کل و محاسبات شاخص xlPivotBaseItemPreviousوxlPivotBaseItemNextانتخابگرهای نوعدار برای موارد پایه مجاور در محاسبات مقایسهای فراهم میکنند
تغییر کرد
- درصدهای جدول محوری و مقادیر شاخص از جمعهای جزئی سطر، ستون و جمعهای کل که مستقیماً از رکوردهای منبع تجمیع شدهاند استفاده میکنند و معناشناسی صحیح میانگین، ضرب، شمارش، واریانس و انحراف معیار را بدون اسکن مجدد منبع حفظ میکنند
- مجامع تجمعی به ترتیب موارد جدول محوری پیروی میکنند، برای هر گروه همتا بهطور مستقل بازتنظیم میشوند و ذخیرهسازی پراکنده نتایج را برای جدولهای محوری با کاردینالیته بالا حفظ میکنند
رفع اشکال
- رکوردهای
SXDIدر BIFF8 اکنون از چیدمان ثابت استاندارد ۱۴ بایتی استفاده میکنند وShowDataAs، فیلد پایه، مورد پایه، قالب عدد و نام نمایش را از طریق خواندهای نوعدار حفظ میکنند، در حالی که رکوردهای قدیمی HotXLS همچنان خوانا میمانند - فیلدهای داده XLSX اکنون نمایههای فیلد محوری را مینویسند، انتخابگرهای قبلی و بعدی را به مقادیر مورد نیاز OOXML نگاشت میکنند و ویژگیهای پایه را تنها برای حالتهایی که از آنها استفاده میکنند منتشر میکنند
- سلولهای مقایسهای مفقوده خالی میمانند، در حالی که مخرجهای صفر موجود
#DIV/0!را برمیگردانند بهجای آنکه با دادههای مفقوده اشتباه گرفته شوند
نسخه 2.219.0
رفع اشکال
VDBاکنون استهلاک موجودی نزولی را در دورههای کسری اعمال میکند، هنگامیکه مفید است به استهلاک خط مستقیم تغییر مییابد وno_switchرا رعایت میکند- ضرایب صفر، مرزهای ارزش اسقاطی، دورههای شروع کسری و بازههای دوره نامعتبر اکنون از نتایج سازگار با اکسل پیروی میکنند بهجای آنکه دورهها را گرد کرده و تقریب موجودی نزولی سادهشده را برگردانند
نسخه 2.218.0
افزوده شد
TXLSXWorksheet.Scenariosاکنون تألیف نوعدار مدیر سناریوی What-If را با سناریوهای نامگذاریشده، نمایههای فعال و نمایشدادهشده، بازههای سلول تغییردهنده، فراداده کاربر و نظر، وضعیتهای قفلشده و پنهان، و مقادیر سلول ورودی متعلق فراهم میکند- تعریفهای سناریو اکنون از کپیهای برگه کار و ویرایشهای ساختاری سطر یا ستون پیروی میکنند، در حالی که محدودیتهای سازگاری اکسل پیش از آنکه فراداده نامعتبر بتواند نوشته شود، اعتبارسنجی میشوند
رفع اشکال
- باز کردن و ذخیره سناریوهای ایجادشده توسط اکسل اکنون ویژگیهای ریشه و سلولهای ورودی تودرتو را بهجای تسطیب سلسلهمراتب به XML خام زیانده حفظ میکند
- عناصر برگه کار سناریو، فیلتر خودکار، تجمیع داده، سلولهای ادغامشده و آوایی اکنون از ترتیب طرحواره استفاده میکنند تا مصرفکنندگان سختگیرانه صفحهگسترده نیازی به گذار تعمیر نداشته باشند
نسخه 2.217.0
افزوده شد
TXLSXWorksheet.IgnoredErrorsاکنون تألیف تایپشدهای را برای هر دسته استاندارد خطاهای نادیدهگرفتهشده با ارجاعات چندناحیهای، پشتیبانی از کپی کاربرگ، بهروزرسانیهای ویرایش ساختاری و چرخههای باز/ذخیره فراهم میکندTXLSXWorkbookاکنون حالت مرجع، محاسبهی مجدد هنگام ذخیره، دقت کامل، محاسبه همزمان و تنظیمات همزمانی دستی را در کنار گزینههای محاسباتی موجود خود آشکار میکند
رفع اشکال
- هر تنظیم محاسبه غیرپیشفرض کتاب کار اکنون بهطور مستقل یک عنصر
calcPrمرتبشده بر اساس طرحواره را تولید و حفظ میکند، از جمله محدودیتهای تکرار که پیش از فعالسازی تکرار پیکربندی شدهاند - حالتهای محاسبه، حالتهای مرجع، کرانهای تکرار، شناسههای محاسبه و شمارشهای همزمانی دستی اکنون مقادیر نامعتبر را رد یا نرمالسازی میکنند بهجای نوشتن وضعیت مبهم کتاب کار
نسخه 2.216.0
تغییر کرد
XMATCHوXLOOKUPاکنون در صورت درخواست، جستجوی دودویی لگاریتمی صعودی یا نزولی انجام میدهند، از جمله مرزهای تطبیق تقریبی و تکراری سازگار با ExcelXIRRاکنون حدس خود را با یک حلگر محافظتشده که میتواند ریشههای بالا و حساس به حدس را بیابد بهکار میبندد، در حالی کهXNPVاز جمعبندی جبرانی و ورودیهای تاریخ و نرخ اعتبارسنجیشده استفاده میکند- جستجوی نامهای تعریفشده XLSX با شمارش بالا اکنون از یک نمای هش تنبل و آگاه از محدوده استفاده میکند و در عین حال ترتیب سریالیشده، تقدم نام محلی و رفتار اولین تطبیق را حفظ میکند
- بخشهای بسته XLSX حفظشده اکنون اندازه فشردهنشده اعلامی خود را یکبار اختصاص میدهند و در عین حال تأیید کامل طول و CRC را حفظ میکنند
رفع اشکال
- حالتهای جستجوی نامعتبر، جستجوی دودویی wildcards، محدودههای جستجوی دوبعدی و بردارهای بازگشتی
XLOOKUPناهماهنگ اکنون بهجای تولید نتایج مبهم، خطاهای فرمول را گزارش میکنند XIRRوXNPVاکنون علائم جریان نقدی، نرخها، حدسها و تاریخهای نامعتبر را رد میکنند، سریالهای تاریخ کسری را کوتاه میکنند و عدمهمگرایی را بهجای بازگرداندن یک میانگین تأییدنشده گزارش میکنند
نسخه 2.215.0
افزوده شد
FREQUENCYاکنون یک آرایه عمودی با یک نتیجه برای هر بازه بهعلاوه سطل سرریز برمیگرداند
تغییر کرد
SORTاکنون برای ردیفها یا ستونها از مرتبسازی مقیاسپذیر پایدار استفاده میکند و ترتیب منبع کلیدهای مساوی را حفظ میکندUNIQUEاکنون برای ردیفها یا ستونها از تطبیق نمای هش پایدار استفاده میکند، از جمله نتایجexactly_onceو متن غیرحساس به حالتPERCENTRANK.INC،PERCENTRANK.EXCوMODE.MULTاکنون روی ورودی با شمارش بالا بهجای تکیه بر پویشهای درجهدو بهطور کارآمد مقیاس میشوند
رفع اشکال
- گزینه
by_colدرSORTوUNIQUEاکنون روی ستونها کار میکند بهجای آنکه به رفتار مبتنی بر ردیف برگردد
نسخه 2.214.0
افزوده شد
- گشودن XLSX اکنون بخشهای XML جریانی با ترتیببایت UTF-16低位درابتدا (little-endian) و高位درابتدا (big-endian) بههمراه نشانگر ترتیب بایت یا اعلان مخصوص endian مورد نیاز را میپذیرد، از جمله نویسههای خارج از صفحه چندزبانه پایه
تغییر کرد
- بازخوانی کش PivotTable با شمارش بالا اکنون از نمایههای هش قطعی برای مقادیر مشترک استفاده میکند و ماتریس رکورد را یکبار اختصاص میدهد، ترتیب اولین دیدهشدن آیتمها را حفظ میکند و از جستجوی خطی مکرر و رشد ردیفبهردیف پرهیز میکند
- بازخوانیهای مستقیم تصویریشده اکنون سلولهای بیرون از ردیفها و ستونهای انتخابشده را پیش از کپی مقادیر خام، فرمولها و rich text در بافرهای هر-برگه دور میریزند
رفع اشکال
- XML ناقص با نشانگرهای ترتیب بایت تکراری، اعلانهای رمزگذاری پشتیبانینشده یا متناقض، امضاهای UTF-32، طول بایتهای UTF-16 فرد، یا جفتهای جانشین نامعتبر اکنون رد میشود
- workerهای موازی بازخوان مستقیم اکنون همه وضعیت کار را پیش از شروع مقداردهی اولیه میکنند، پس از یک شکست گرفتن کارهای جدید برگه را متوقف میکنند، خطای کار با کمترین ایندکس را قطعی دوباره raise میکنند و در صورت شکست ساخت pool هر worker ساختهشده را پاکسازی میکنند
نسخه 2.213.0
افزوده شد
T.TESTاکنون نمونههای مستقل را با واریانس مساوی تجمیعشده یا واریانس نامساوی Welch علاوه بر نمونههای جفتشده ارزیابی میکند، از جمله احتمالات یکطرفه و دوطرفه
تغییر کرد
- گشودن XLSX اکنون اهداف رابطه workbook، worksheet و drawing را برای برگهها، رشتههای مشترک، سبکها، themeها، ماکروها، پیوندهای خارجی، نظرات، نظرات رشتهای، VML، نقاشیها، تصاویر، نمودارها، جداول و PivotTableها دنبال میکند، از جمله بستههای معتبری که از مسیرهای بخش تغییرنامیافته یا ناپیوسته استفاده میکنند
رفع اشکال
- بستههای ناقص با شناسههای رابطه تکراری دیگر اجازه نمیدهند یک رابطه پشتیبانینشده بعدی، اولین هدف قابلاستفاده را در طول بازیابی سازگاری جایگزین کند
نسخه 2.212.0
تغییر کرد
- ردیابی وابستگی فرمول اکنون با نمایهسازی وابستگیهای سلول و محدوده پیش از بازسازی و نامعتبرسازی سلولهای کثیف، روی برگههای بزرگ بهتر مقیاس میشود
- فرمولهای بزرگ آماری و رگرسیون اکنون هر مقدار عددی در محدودههای دادهشده را بهجای توقف در بافر اندازه ثابت قبلی ارزیابی میکنند
رفع اشکال
- سلولهای XLSX بیرون از شبکه برگه بهطور یکنواخت رد میشوند تا مختصات نامعتبر دیگر نتوانند سلولهای معتبر را نام مستعار کنند
- ویرایش فرمولها دیگر حالت محاسبه workbook، محدودیتهای تکرار، پرچمهای محاسبه کامل یا سایر تنظیمات محاسبه را بازنشانی نمیکند
- خواندن blob-list اکنون محدودههای درخواستی را بهطور صریح اعتبارسنجی میکند و برشهای خالی معتبر در پایان جریان را اجازه میدهد
امنیت
- رمزگذاری XLS کلاسیک اکنون بههمراه دادههای برگه، جریانهای کش pivot را پوشش میدهد
- دمهای پسوند SST ناقص و رکوردهای فهرست راهنمای مرکزی ZIP پیش از اختصاص بیشازحد، خواندنهای کوتاهشده، یا رکوردهای راهنمای جعلی تعبیهشده در کامنت که میتوانند بر بارگذاری اثر بگذارند، رد میشوند
نسخه 2.211.0
افزوده شد
TXLSPivotTable.Makeاکنون هر فیلد داده پیکربندیشده را با تجمیع مخصوص خود مادی میکند و مقادیر را روی ردیفها یا ستونها مطابقDataFieldAxisIsRowگسترش میدهد
تغییر کرد
- تولید نتیجه pivot دامنههای کلید ردیف و ستون نمایهشده با هش را در همه فیلدهای داده دوباره استفاده میکند، فضای انباشت متراکم یا تخت را بر اساس شکل نتیجه انتخاب میکند، ترتیب آیتم کش را فراتر از نه کلید حفظ میکند و برچسبهای ترکیبی خوانا برای محورهای چندفیلدی تولید میکند
رفع اشکال
Countاکنون مقادیر کش متن غیرخالی، Boolean، خطا، تاریخ و عددی را شامل میشود در حالی کهCountNumsفقط مقادیر عددی و تاریخ را شامل میشود،Productبرای تقاطعهای بدون مقدار عددی صفر برمیگرداند، سلولهای خالی دیگر بهعنوان ورودی شمارش نمیشوند و pivotهای فقط-مقدار میتوانند جمع کل خود را بدون فیلدهای ردیف یا ستون مادی کنند
نسخه 2.210.0
افزوده شد
TXLSWorkbookViewerاکنون پرهای شرطی XLSX، رنگ و تأکید فونت، قالبهای عدد، میلههای داده جهتدار مثبت و منفی، gradientها، حاشیهها، محورها، مقادیر پنهان و همه خانوادههای مجموعهآیکون داخلی را رندر میکندTXLSWorkbookViewer.RefreshConditionalFormatsپس از آنکه فراخواننده یک workbook پیوستشده XLSX را در محل تغییر میدهد، وضعیت تجمیع و آستانه آمادهشده را بازسازی میکند
تغییر کرد
- نمایشگر یک ارزیاب شرطی آمادهشده برای هر برگه فعال را کش میکند، آن را در سراسر پویش، انتخاب و عملیات repaint دوباره استفاده میکند و هنگامی که workbook یا برگه تغییر میکند آن را آزاد میکند
رفع اشکال
- محورهای میله داده در مرز راستترین اکنون درون سلول صاحب بریده میشوند بهجای آنکه در سلول مجاور رسم شوند
نسخه 2.209.0
افزوده شد
- برگههای XLSX اکنون یک ارزیاب شرطی آمادهشده عرضه میکنند که اولویت قاعده،
StopIfTrue، فرمولهای نسبی، سبکهای تفاضلی، رتبهبندی Top/Bottom، آزمونهای بالاتر/پایینتر از میانگین، مقادیر تکراری و یکتا، دورههای تاریخ نسبی، مقیاسهای دو و سهرنگ، میلههای داده و مجموعهآیکونها را برای هر سلول حل میکند
تغییر کرد
- صادرات HTML و PDF اکنون پرهای شرطی منطبق، تأکید و رنگ فونت، قالبهای عدد، مقیاسهای رنگ، میلههای داده جهتدار مثبت و منفی، محورهای صریح، glyphهای خانوادهآیکون، مقادیر پنهان و رنگهای theme با تفکیک tint را رندر میکنند
- دامنههای شرطی بزرگ اکنون فرمولهای نسبی کامپایلشده را بدون تخصیص درختار نحوی هر-سلول دوباره استفاده میکنند، آمار میانگین، انحراف، کمینه و بیشینه را جریانی میکنند، مقادیر مرتبشده را فقط برای قواعد رتبهبندی یا صدک نگه میدارند، کلیدهای تکراری Unicode را بهصورت دستهای مرتب میکنند و از ایندکسهای نامزد ردیفباند برای پرهیز از پویش قواعد نامربوط استفاده میکنند
رفع اشکال
- قواعد شرطی کلاسیک اکنون انواع عبارت را بهدرستی بارگذاری میکنند و بین مرزهای معکوس، گزارههای متن غیرحساس به حالت، سلولهای خالی و گزارههای خطا را بهطور یکنواخت ارزیابی میکنند
نسخه 2.208.0
تغییر کرد
- موتور ذخیرهسازی سلول بستهبندیشده اکنون بارهای رشته، Boolean، خطا و خالی برچسبدار بومی را مینویسد، سلولها را به ترتیب ردیفمحور پویش میکند و سلولهای متوالی با نوع مساوی را با طولاجرای رمزگذاری میکند تا مصرف حافظه کمتر و خروجی متوالی سریعتر شود
- رشتههای مشترک workbook کلاسیک اکنون بایتهای نویسه را در یک تخصیص نگه میدارند و مقادیر رشته رمزگشاییشده را بهصورت تنبل میسازند و سربار تخصیص را برای جدولهای رشته یکتای بزرگ کاهش میدهند
افزوده شد
- جدولهای pivot اکنون میتوانند یک ماتریس نتیجه کامل را از رکوردهای کش با گروهبندی کلید ردیف و ستون و همه ۱۱ تابع تجمیع پشتیبانیشده محاسبه کنند
- نمودارهای workbook کلاسیک اکنون اطلاعات سری تایپشده، محور، راهنما و گروه نمودار را برای جریانهای کار تبدیل و بازرسی عرضه میکنند
نسخه 2.207.0
افزوده شد
TXLSPivotCache.RefreshFromSourceیک کش pivot از محدوده برگه منبع میسازد: ردیف سرستون را برای نامگذاری فیلدها میخواند، مقادیر متمایز هر ردیف داده را در دامنه آیتم مشترک هر فیلد تقطیر میکند، نوع فیلد را از اولین مقدار غیرخالی قفل میکند و ایندکس آیتم مشترک را برای هر (رکورد، فیلد) ضبط میکند — بنابراین یک جدول pivot میتواند بهجای تکیه برrefreshOnLoadExcel بهصورت برنامهنویسی از یک محدوده داده ساخته شود. یک خواننده مقدار مبتنی بر callback، واحد pivot را از وابستگی مستقیم به برگه کار خالی نگه میدارد
نسخه 2.206.0
افزوده شد
TlxCellMMUجدید (واحدlxCellMMU) یک موتور ذخیرهسازی سلول بستهبندیشده ردیفمحور با رمزگذاری طولاجرای اجراهای سلولی با نوع مساوی و خالی، و یک کد نوع بایتبرچسبدار که بهعنوان انتخابگر عرض داده نیز دوبرابر میشود را پیادهسازی میکند — بنابراین یک ستون از اعداد صحیح کوچک بهجای هشت بایت، یک بایت به ازای هر سلول هزینه دارد. موتور اعداد را در کمترین عرضی که مقدار را حفظ میکند رمزگذاری میکند (int8 / int16 / int32 / اعداد صحیح مقیاسشده ۲-دهدهی / ۴-دهدهی / IEEE double)، سلولهای ایندکسرشته، Boolean، خطا و خالی را فشرده ذخیره میکند و یک APIGetValue/SetNumber/SetStringبهعلاوه یک پیمایشگر روبهجلو عرضه میکند. این backend نسلبعدی پشت یک پرچم ویژگی برای API موجودTXLSXCellsاست، با هدف کاهش working-set ۱۰ تا ۲۵ برابری روی برگههای متراکم
نسخه 2.205.0
افزوده شد
TXLSCustomChart.GetChartInfoاکنون یک خلاصه معنایی از جریان رکورد نمودار BIFF خام رمزگشایی میکند — خانواده نوع نمودار (میلهای، خطی، دایرهای، ناحیهای، نقطهای، راداری، دوناتی، سطحی، حبابی)، شمارش سری و حضور راهنما — بنابراین نوع یک نمودار BIFF میتواند بهصورت برنامهنویسی پرسوجو شود و یک تبدیل نمودار BIGH-to-XLSX میتواند خانواده هدف درست را انتخاب کند. ذخیرهسازی byte-passthrough که وفاداری round-trip را تضمین میکند تغییر نکرده است
نسخه 2.204.0
تغییر کرد
- جدول رشته مشترک
.xlsکلاسیک اکنون رشتههای فقط-ASCII را در رمزگذاری فشرده Latin-1 ([MS-XLS] §2.5.294fHighByte=0، یک بایت به ازای هر نویسه) مینویسد بهجای همیشه استفاده از UTF-16، که اندازه SST — و در نتیجه فایل.xls— را برای workbookهای سنگین ASCII تقریباً نصف میکند
نسخه 2.203.0
افزوده شد
TlxCompoundFileجدید قالب ظرف Compound File Binary (OLE2) را مستقیماً در Pascal خالص میخواند و مینویسد، بدون وابستگی بهole32.dll/ COMIStorage— که راه را برای پردازش.xlsدر حافظه و چندسکویی باز میکند. خواننده طرح v3 را که HotXLS در عمل با آن روبرو میشود پوشش میدهد (header + DIFAT درون-header + پویش زنجیره FAT + MiniFAT و mini-stream برای جریانهای زیر ۴۰۹۶ بایت + درخت فهرست راهنما)؛ نویسنده یک ظرف v3 کمینه اما معتبر را که برای خروجی HotXLS کافی است تولید میکند
نسخه 2.202.0
افزوده شد
- حالت مرتبسازی autofilter اکنون یک مدل تایپشده (
TXLSXSortStateبا فرزندانTXLSXSortCondition) دارد که مرتبسازی بر اساس مقدار / رنگ سلول / رنگ فونت / آیکون، روش مرتبسازی (هیچ / stroke / pinYin)، حساسیت به حالت، مرتبسازی ستون و فهرستهای سفارشی هر-شرط را پوشش میدهد — بنابراین برنامهها میتوانند حالتهای مرتبسازی را بهجای ویرایش XML خام بهصورت برنامهنویسی بسازند، در حالی که passthrough ماتSortStateXmlقدیمی همچنان برای فایلهایی که HotXLS ننوشته است برنده است - فیلترهای پویا اکنون بهعنوان
TXLSXDynamicFilterTypeتایپشده خوانده و نوشته میشوند (بالاتر/پایینتر از میانگین و std-dev، امروز/دیروز/فردا، این/گذشته/هفته آینده، ماه، فصل و سال، year-to-date، Q1–Q4، M1–M12) بههمراه مرزهای اختیاریval/maxVal— گشودن workbookای که از فیلتر پویا استفاده میکند دیگر آن را هنگام ذخیره از دست نمیدهد
نسخه 2.201.0
افزوده شد
- نمودارهای سطحی و سطحی سهبعدی (
xlsxChartSurface/xlsxChartSurface3D) اکنون نوعهای نمودار درجهیک هستند — مانند سایر خانوادههای نمودار نوشته، خوانده و round-trip میشوند - API تألیف autoshape زیرمجموعه عملی فهرست preset-geometry OOXML را پوشش میدهد — مثلثها، الماسها، متوازیالسطوحها، ششضلعیها، هشتضلعیها، پیکانها، Vشکلها، calloutها، گرههای فلوچارت، ستارهها، قلبها، خورشید، ماه، براکتها و کمانها — که هرکدام به token
prstو id شکل[MS-ODRAW]درست خود نگاشت میشود، بنابراین اشکال تألیفشده بهدرستی در Excel رندر میشوند (فهرست کامل ۱۸۷ پریست از قبل از طریق passthrough raw-anchor روی round-trip حفظ میشد)
نسخه 2.200.0
رفع اشکال
- گشودن workbookای که autofilter آن از فیلتر رنگ یا فیلتر آیکون استفاده میکند دیگر آن فیلتر را هنگام ذخیره از دست نمیدهد —
colorFilterوiconFilterاکنون در ستونهای تایپشده (TXLSXAutoFilterColumn.SetColorFilter/SetIconFilter) خوانده و کلمهبهکلمه دوباره صادر میشوند، بهجای آنکه بهعنوان فرزندان ستون فیلتر ناشناخته از دست بروند
نسخه 2.199.0
افزوده شد
TCondFormatRule.Evaluateپاسخ میدهد که آیا یک قاعده conditional-formatting برای یک سلول دادهشده فعال میشود یا خیر، و مقایسههای مقدار سلول، عبارات فرمول، متن شامل/شروع/پایان، قواعد خالی و خطا را پوشش میدهد — پایه برای پرسوجوی اینکه کدام سلولها را یک قاعده در حال حاضر برجسته میکند و برای رندر نتایج CF بیرون از Excel
تغییر کرد
FACTو کمککنندههای فاکتوریل داخلی اکنون از یک جدول از پیشمحاسبهشده ۰!..۱۷۰! استفاده میکنند بهجای محاسبه دوباره یک ضرب O(n) در هر فراخوانی، کهFACT، ضرایب چندجملهای و مسیرهای توزیع Poisson/Binomial/chi-square را تسریع میکند
نسخه 2.198.0
تغییر کرد
- ذخیره یک برگه اکنون سلولها را در ردیفها با یک پاس شمارش-سپس-پر گروهبندی میکند بهجای رشد ایندکس هر ردیف با realloc-هر-سلول، که یک کپی پنهان O(cells × cells-per-row) را روی برگههای بزرگ حذف میکند
- گراف وابستگی فرمول اکنون محدودههای مرجع خود را بر اساس (برگه، ردیف) نمایه میکند بنابراین seed کردن یک سلول کثیف، باند نامزد را با جستجوی دودویی مییابد بهجای پویش هر فرمول در هر سلول تغییریافته — هرچه workbook بزرگتر و برگههای بیشتری داشته باشد، شتاببخشی در محاسبه دوباره بیشتر است
- پیمایش سلول ردیفمحور و مرتبشده بر ستون اکنون بهعنوان
TXLSXWorksheet.BuildRowMajorCellOrderعرضه میشود تا ذخیره، clipboard، autofilter و سایر مصرفکنندگان مرتب بر ردیف بهجای اشتقاق دوباره، یک پیمایش مشترک داشته باشند
نسخه 2.197.0
رفع اشکال
- نمودارهای راداری، سهامی و pie-of-pie/bar-of-pie دیگر هنگامی که یک workbook
.xlsxشامل آنها گشوده و دوباره ذخیره میشود از دست نمیروند — خواننده نمودار اکنون عناصر ظرفc:radarChart،c:stockChartوc:ofPieChartرا که قبلاً مینوشت شناسایی میکند و پوشش متقارن خواندن/نوشتن را بازمیگرداند SUBTOTALبا کدهای تابع ۱۰۱–۱۱۱ اکنون مقادیر روی ردیفهای پنهان را مستثنی میکند وAGGREGATEاکنون کدهای گزینه ignore-hidden-row خود (۲، ۳، ۶، ۷) را بهکار میبندد و با Excel مطابقت دارد بهجای آنکه variants شاملپنهان و مستثنیپنهان را یکسان رفتار کند- فراخوانی یک تابع داخلی با arity ثابت با آرگومانهای بیشتر از اعلامشده (مثلاً
=SIN(1,2)) اکنون بهطور مرکزی#VALUE!ایجاد میکند بهجای آنکه توسط dispatcher پذیرفته شود
نسخه 2.196.0
رفع اشکال
- درج یا حذف ردیف و ستون اکنون قالبهای شرطی مقدار سلول و عبارت بهعلاوه اعتبارسنجی داده را هنگامی که مناطق هدف ویرایششده به لنگرهای فرمول نسبی متفاوت نیاز دارند پارتیشن میکند، در حالی که تنظیمات قاعده، تخصیص اولویتهای conditional-format یکتا و حفظ دامنههای conditional-format تجمیعی را نگه میدارد
نسخه 2.195.2
تغییر کرد
- صادرات PDF اکنون فونت TrueType جاسازیشده را از طریق API
CreateFontPackageدر Windowsfontsub.dllزیرمجموعه میکند و فقط glyphهایی که سند واقعاً رندر کرده را نگه میدارد بهجای جاسازی کل.ttf— معمولاً PDF را برای برگههای سنگین Unicode ۸ تا ۲۰ برابر کوچک میکند؛ هنگامی که زیرمجموعهسازی در دسترس نیست به جاسازی کامل برمیگردد
نسخه 2.195.1
رفع اشکال
- درج یا حذف ردیفها و ستونها روی موتور
.xlsکلاسیک اکنون هر مرجع فرمول تأثیریافته (فرمولهای سلول و نامهای تعریفشده) را برای مطابقت با semantics Excel بازنویسی میکند — مراجع زیر یک درج شیفت میکنند، مراجع کاملاً درون یک حذف به#REF!تبدیل میشوند و مناطق با همپوشانی جزئی کوچک میشوند — بهجای گذاشتن مختصات کهنه
نسخه 2.195.0
تغییر کرد
- حذف ستونهای جدول اکنون هر token ساختار-مرجع تأثیریافته را در فرمولهای برگه، فرمولهای جدول، نامهای تعریفشده و سری نمودار به
#REF!تبدیل میکند در حالی که مراجع نامرتبط و literjal رشتهای را حفظ میکند
رفع اشکال
- حذف یک جدول کامل دیگر مراجع ساختاری کیفیشده را به جدولی که دیگر وجود ندارد اشاره نمیکند
- اعتبارسنجیهای داده کلونشده اکنون حالت ورودی IME خود را حفظ میکنند
نسخه 2.194.0
تغییر کرد
- ویرایشهای ردیف و ستون اکنون شناسههای ستون جدول Excel، نامها، فرمولهای محاسبهشده، فرمولهای جمع، ستونهای فیلتر، محدودههای فیلتر و شرایط مرتبسازی را با جدول ویرایششده هماهنگ نگه میدارد
رفع اشکال
- فرمولهای conditional-format و اعتبارسنجی داده اکنون مراجع نسبی و مختلط را هنگامی که حذف اولین منطقه هدف آنها را برمیدارد rebase میکنند
- حالتهای مرتبسازی برگه و جدول اکنون ویژگیهای معتبر مینویسند و شرایطی که محدودههایشان حذف شده را دور میریزند
نسخه 2.193.0
تغییر کرد
- ویرایشهای ردیف و ستون اکنون فرمولهای نام تعریفشده پیچیده و میانمحدوده، محدودههای داده نمودار حبابی و آستانههای conditional-format بصری مبتنی بر فرمول را بهروزرسانی میکنند
- نمودارهای حبابی و نقطهای اکنون محدودههای سری محور X، محور Y و اندازه حباب خود را هنگام بازگشایی بازمیگردانند
رفع اشکال
- اهداف conditional-format و اعتبارسنجی داده چندمنطقهای اکنون هر منطقه بازمانده را مستقل شیفت میدهند بهجای آنکه فهرست هدف کامل را بدون تغییر بگذارند
- لنگرهای جعبه متن و WordArt اکنون با ردیفها و ستونهای درجشده و حذفشده حرکت میکنند یا تغییر اندازه میدهند
نسخه 2.192.0
افزوده شد
- بازخوانیهای مستقیم جریانی و پیمایش row-cursor میتوانند رشتههای rich ساختاریافته با قالببندی اجرای کامل، اجراهای آوایی و ویژگیهای آوایی را اختیاری کنند و در عین حال ذخیرهسازی مشترکرشته محدود را حفظ کنند
TXLSDirectWriter.WriteRichStringمتن قالببندیشده و آوایی را بهعنوان رشتههای درونخطی یا مشترک de-duplicateشده مینویسد
تغییر کرد
- de-duplication رشته مشترک rich اکنون قالببندی اجرا و متاداده آوایی را متمایز میکند در حالی که interning رشته عادی را روی مسیر سریع موجود خود نگه میدارد
رفع اشکال
- متن آوایی در رشتههای درونخطی دیگر در مقدار سلول نمایشدادهشده گنجانده نمیشود
نسخه 2.191.0
افزوده شد
TXLSXRange.SetDynamicArrayFormulaاکنون فرمولهای آرایه پویای بومی را با زنجیره متاداده کامل Excel XLDAPR ایجاد میکند
تغییر کرد
- ریشههای آرایه پویا اکنون یک رکورد متاداده workbook de-duplicateشده را به اشتراک میگذارند و کپیهای worksheet یا محدوده میانworkbook آن رکورد را در workbook مقصد نگاشت دوباره میکنند
- متاداده آرایه پویای پشتیبانیشده هنگامی که حفظ بستهبخش پشتیبانینشده غیرفعال است در دسترس باقی میماند، در حالی که متاداده مقدار نامرتبط همچنان حذف میشود
رفع اشکال
- سلولهای سرریز آرایه پویا دیگر بهعنوان پیروان CSE قدیمی مدلسازی نمیشوند و جایگزینی یا پاککردن ریشه دیگر ایندکسهای متاداده کهنه برجای نمیگذارد
- حذف ریشه آرایه پویای نهایی اکنون بخش متاداده استفادهنشده، رابطه workbook و ورودی content-type را حذف میکند
نسخه 2.190.0
تغییر کرد
- بازخوانیهای مستقیم جریانی و پیمایش row-cursor اکنون پیروان فرمول مشترک را به فرمولهای کامل نسبتبهسلول گسترش میدهند در حالی که رفتار تصویر و حافظه محدود را حفظ میکنند
رفع اشکال
- workbookهای آرایه پویا اکنون ایندکسهای متاداده سلول و مقدار، ویژگیهای محاسبه دوباره فرمول، روابط بسته متاداده و پیشوندهای future-function بدون تغییر را در طول چرخههای گشودن و ذخیره حفظ میکنند
- غیرفعالکردن حفظ بسته پشتیبانینشده دیگر ایندکسهای متاداده برگه آویزان را پس از حذف بخش متاداده برجای نمیگذارد
نسخه 2.189.0
افزوده شد
- گشودن workbookهای XLSX اکنون پیروان فرمول مشترک را به فرمولهای کامل هر-سلول با مراجع نسبی، مطلق، مختلط، محدوده و sheet-qualified درست گسترش میدهد
رفع اشکال
- پیروان فرمول مشترک self-closing اکنون XML مقدار یا فرمول بعدی را capture نمیکنند و نتایج کششده آنها در چرخههای گشودن و ذخیره زنده میمانند
- فرمولهای آرایه CSE اکنون لنگر و روابط پیروان خود را از طریق ویرایشهای ساختاری ردیف یا ستون، کپیهای محدوده کامل، تکثیر برگه و کپیهای برگه میانworkbook حفظ میکنند
- انتساب یک فرمول عادی یا پاککردن یک سلول اکنون عضویت آرایه CSE کهنه را حذف میکند تا محاسبه نتواند به یک لنگر آرایه قدیمی هدایت شود
- کپی فقط بخشی از یک آرایه CSE دیگر مراجع پیرو آویزان در مقصد ایجاد نمیکند
- کپیهای محدوده اکنون منابع همپوشان را snapshot میکنند و مراجع فرمول نسبی را شیفت میدهند و از بازنویسی سلولهای منبع یا لنگرهای آرایه پیش از کپیشدن جلوگیری میکنند
- ویرایشهای ردیف یا ستون که فقط با بخشی از یک آرایه CSE تقاطع دارند رد میشوند بهجای تغییر اندازه یا جداسازی بیصدا آرایه
نسخه 2.188.0
افزوده شد
TXLSDirectReader.SharedStringMemoryLimitحافظه رشته مشترک رمزگشاییشده را محدود میکند و جداول بزرگتر را بهطور خودکار به ذخیرهسازی موقت ایندکسشده delete-on-close با یک کش مقدار اندازه ثابت منتقل میکندTXLSRowCursor.SharedStringMemoryLimitهمان کنترل ذخیرهسازی رشته مشترک محدود را برای پیمایش ردیف روبهجلو عرضه میکند
تغییر کرد
- تجزیه رشته مشترک مستقیم اکنون مقادیر فقطفضایسفید، CDATA، موجودیتهای XML، نویسههای غیر-BMP، آیتمهای خالی و ترتیب اجرای rich-text را حفظ میکند در حالی که متن راهنمای آوایی را از مقدار نمایشدادهشده مستثنی میکند
رفع اشکال
- گشودن workbookهای XLSX اکنون هر آیتم رشته مشترک را به ترتیب سند حفظ میکند و از فروپاشی متن تکراری یا رشتههای rich با قالببندی متفاوت بر ایندکسهای سلول بعدی جلوگیری میکند
- ذخیره workbookهای XLSX اکنون رشتههای rich را بر اساس مرزهای اجرا و ویژگیهای قالببندی بهجای متن قابلمشاهده de-duplicate میکند و قالببندی متمایز را برای سلولهایی با مقدار نمایشدادهشده یکسان حفظ میکند
نسخه 2.187.0
افزوده شد
TXLSDirectReader.FirstRowوLastRowخواندن جریانی را به یک محدوده ردیف ۱-پایه محدود میکنند و تجزیه برگه را پس از محدوده درخواستشده متوقف میکنندTXLSDirectReader.IncludeColumnوClearColumnProjectionتصویر ستون با زمان ثابت عرضه میکنند که سلولهای انتخابنشده را پیش از رمزگشایی مقدار و dispatch callback دور میاندازد
نسخه 2.186.0
افزوده شد
TXLSDirectWriter.UseSharedStringsمیتواند متن تکراری را در یک بخش رشتههای مشترک OOXML با شمارش کل و یکتای دقیق de-duplicate کند و اندازه بسته را برای دادههای تکراری سنگین کاهش دهدTSimpleDomReaderیک درخت XML تکگذری فشرده برای پرسوجوهای دسترسیتصادفی متاداده workbook و بخشهای بسته، با QName حساس به حالت و جستجوی local-name عرضه میکند
تغییر کرد
- خواندن مستقیم XLSX اکنون از dispatch دقیق عنصر با کمک هش، برداشت ویژگی تکگذری و جستجوی ستون ردیفجاری با زمان ثابت استفاده میکند در حالی که رفتار حافظه جریانی را حفظ میکند
- تولید XML رشته مشترک اکنون از یک بافر با رشد خطی استفاده میکند تا از کپیهای کلرشته مکرر روی جداول رشته متمایز بزرگ پرهیز شود
رفع اشکال
- صادرات فرمول CSV اکنون وقتی متن فرمول از قبل شامل یک علامت مساوی است علامت مساوی دومی اضافه نمیکند
- صادرات PDF در XLSX اکنون متن سلول را قبل از layout با تخمین شمارش نویسه کوتاه نمیکند
- هشهای نام خواننده XML اکنون processing instructionها، ویژگیها و حرکت بهعقب به عناصر صاحب خود را بدون افشای وضعیت عنصر کهنه پیگیری میکنند
نسخه 2.185.1
رفع اشکال
- درج یا حذف ردیفها و ستونها اکنون مراجع فرمول محلی و میانبرگه را دقیقاً یکبار تنظیم میکند در حالی که نامهای تابع و literjalهای متنی را حفظ میکند
نسخه 2.185.0
افزوده شد
TXLSPDFExportاکنون انتخاب خروجیFirstPageوLastPageیکپایه، یکPageCountمنطقی کامل و شش overload ازCalculatePageCountبرای محدودههای کلاسیک و XLSX، برگهها و workbookها بدون ساخت آبجکتهای صفحه PDF عرضه میکندTXLSXWorkbook.SaveWorkbookAsHTMLبرگههای قابلمشاهده را در یک سند HTML قابلپیمایش با لنگرهای پایدار هر-برگه، عنوانها و نامبرگههای escapeشده و یک گزینه برای گنجاندن برگههای پنهان یا بسیار پنهان منتشر میکندTDataToXLS.BeforeRecordمیتواند رکوردها را پیش از خروجی ردیف skip کند وBeforeValueمیتواند مقادیر فیلد را با زمینه dataset، سطحجزئیات، فیلد منبع و ستون صادرات تبدیل یا سرکوب کندTXLSWorkbookViewerنظرات و hyperlinkهای سلول انتخابشده را عرضه میکند، یک رویداد hyperlink کنترلشده توسط برنامه raise میکند، نشانگرهای نظر و فونتها، پرها و ترازبندی XLSX را نقاشی میکند و انتخاب و رندر را در سراسر محدودههای ادغامشده نرمال میکند
تغییر کرد
- مثال ConversionWorkbench اکنون میتواند خروجی PDF تولید کند و همه برگههای قابلمشاهده XLSX را برای اهداف HTML منتشر میکند، در حالی که مثال WorkbookViewer ناوبری سلول ادغامشده، نظرات و فعالسازی hyperlink را نمایش میدهد
نسخه 2.184.0
افزوده شد
- محدودههای کلاسیک XLS و XLSX میتوانند متن جدولی Unicode و HTML سبکدار را از طریق
CopyToClipboardبه clipboard ویندوز کپی کنند، با حفظ فرمولها، سلولهای ادغامشده، پیوندها، قالببندی نمایش و تبهای جاسازیشده، line breakها و علامتهای نقلقول با escape امن TXLSXWorkbookاکنون بخشهای بسته سفارشی قابلدسترس از روابط ناشناخته package-root، workbook، worksheet یا drawing را حفظ میکند، از جمله مدیریت تصادف رابطه-ID، انواع محتوا، روابط فرزند، انتخاب فشردهسازی و بایتهای payload دقیق؛PreserveUnsupportedParts،UnsupportedPartCount،UnsupportedPartBytesوClearUnsupportedPartsکنترل و تشخیص را عرضه میکنند- ذخیره کلاسیک XLS callbackهای شروع، کار و پایان را با لغو از طریق
OnProgressExعرضه میکند، در حالی کهIXLSWorkbookProgressتشخیصهای ساختاریافته با کدهای پایدار، شدت، عملیات، زمینه برگه، مقادیر بازگشتی بومی و جزئیات استثنا فراهم میکند TXLSXWorkbookاکنون همان سطوح ساختاریافتهDiagnostics،LastDiagnosticوOnDiagnosticرا برای گزارش ذخیره، گشودن، محاسبه دوباره، لغو و استثنا عرضه میکند- ماژولهای VBA تجزیهشده اکنون از ویرایش
SourceCodeو نوشتن جریان ماژول فشردهشده بهروزرسانیشده از طریق ذخیره کلاسیک XLS، ذخیره VBA مستقل و ذخیرههای OOXML فعالشده با ماکرو پشتیبانی میکنند در حالی که پیشوندهای جریان و محتوای پروژه دستنخورده را حفظ میکنند - برگههای کلاسیک و مجموعههای شکل اکنون کنترلهای فرم تایپشده
TXLSCheckBox،TXLSComboBoxوTXLSListBoxرا با کمککنندههای ساخت، برچسبها، بازرسی نوع کنترل، لنگرهای سلول، حذف و کشف بازکردن/ذخیره عرضه میکنند TXLSXRange.ApplyFormatPatchمیتواند اجزای فونت، پر، حاشیه، قالب عدد، ترازبندی و محافظت را بهصورت انتخابی با tileکردن الگوی منبع کپی کند در حالی که مقادیر مقصد و قالببندی انتخابنشده را حفظ میکندTDataToXLSمیتواند datasetهای master-detail پیوندی را بهصورت بازگشتی از طریقReadDetailTablesوIndentDetailTablesصادر کند، با حفظ پیوندهای داده فعال، الحاق هر جدول جزئیات زیر رکورد master آن، و بهارثبردن گزینههای فیلد، عنوان و قالببندی در هر سطحTXLSXWorksheet.AddWordArtمتن DrawingML با لنگر سلولی با warp از پیشتنظیمشده بهعلاوه رنگهای متن و outline پیکربیدیشده ایجاد میکند و مسیر حفظ raw drawing-anchor شکل WordArt کامل را در چرخههای بازکردن/ذخیره بعدی نگه میداردTXLSWorkbookViewerیک نمایشگر برگه VCL برای آبجکتهای workbook کلاسیک و مدرن با بارگذاری فایل XLS، XLSX، XLSM، template و ODS، متن سلول قالببندیشده، سبکهای کلاسیک، اندازهگیری ردیف و ستون، headerها، رندر خط شبکه و انتخاب، scrollbarها، انتخاب با ماوس، ناوبری صفحهکلید، جایابی سلول، تعویض برگه و رویدادهای انتخاب یا برگه اضافه میکند- مثالهای جدید Delphi
FeatureShowcaseوWorkbookViewerچاپ PDF سبکدار، عناوین چاپ، شکستهای دستی، کنترلهای فرم کلاسیک، patchهای قالب انتخابی، WordArt، تشخیصها، ساخت viewer در زمان اجرا، بارگذاری فایل، ناوبری سلول، تعویض برگه و رویدادهای viewer را با راهنمای انگلیسی منطبق و موضوعات مرجع توسعهدهنده نمایش میدهند
تغییر کرد
- صادرات PDF کلاسیک XLS و مدرن XLSX workbook، worksheet و محدوده اکنون هر برگه قابلمشاهده را در یک سند مینویسد، برگههای پنهان و نموداری را skip میکند، پرهای توپر، رنگهای فونت، اندازههای فونت، تأکید bold و italic، ترازبندی افقی و عمودی، حاشیههای صریح سلول و خطوط شبکه برگه اختیاری را رندر میکند، print area هر برگه، اندازه کاغذ، جهت، حاشیهها، zoom، تنظیم fit-to-width، عرض ستونها، ارتفاعهای واقعی ردیف، شکستهای صفحه دستی ردیف و ستون، ردیفها و ستونهای عنوان تکرارشده و headerها و footerهای سهبخشی با فیلدهای صفحه، صفحه کل، نام برگه، تاریخ و زمان را دنبال میکند، محدودههای پهن و بلند را در سراسر هر دو محور صفحهبندی میکند، نحوی عددی PDF مستقل از locale صادر میکند و یک فونت TrueType واجد شرایط بههمراه یک ToUnicode map برای متن بیرون از WinAnsi جاسازی میکند
- callbackهای پیشرفت گستردهشده XLSX اکنون حالتهای شروع، کار و پایان قابلاعتماد را برای ذخیره، گشودن و محاسبه دوباره دریافت میکنند، در حالی که callback قدیمی همچنان فقط-کار است و هر عملیات وضعیت لغو قبلی را بازنشانی میکند
- serialization کلاسیک XLS اکنون شکستهای worksheet، نمودار، سبکاضافه، VBA، control-stream، storage و commit خروجی را منتقل میکند بهجای گزارش موفقیت، و ذخیره فایلها کل فایل مرکب را پیش از جایگزینی اتمیک مقصد مرحله میکنند
- ذخیره فایلهای XLSX و ODS اکنون یک بسته موقت خواهرخوانده کامل میسازد و فقط پس از نهاییسازی موفق مقصد را بهطور اتمیک جایگزین میکند و فایلهای موجود را پس از لغو یا شکست بدون تغییر میگذارد
نسخه 2.183.0
افزوده شد
TXLSDirectWriterاکنون از handleهای سبک سلول سطحبسته قابلاستفادهمجدد و کلونکردن سبک بدون buffering ردیفهای برگه پشتیبانی میکند؛ همان ایندکس سبک میتواند روی هر تعداد سلول اعمال یا در سراسر برگهها دوباره استفاده شود- سبکهای سلول مستقیم ۳۰ قابلیت قالببندی شامل نام فونت، اندازه، رنگ BGR، bold، italic، strikeout، outline، shadow، پنج حالت underline، ۱۹ الگوی پر با رنگ پیشزمینه/پسزمینه، پنج لبه حاشیه با رنگ مستقل و ۱۴ سبک خط و جهت مورب، قالبهای عدد داخلی یا سفارشی، ترازبندی افقی و عمودی، wrapping، shrink-to-fit، تورفتگی، چرخش متن، پیشوندهای نقلقول و محافظت locked/hidden عرضه میکنند
- overloadهای سبکدار برای رشتهها، اعداد، booleanها، تاریخها، فرمولها، خطاها و هر نوع نتیجه فرمول کششده در دسترس هستند و به صادرکنندگان حجمبالا اجازه میدهند یک سبک از پیشساختهشده را بر اساس ایندکس عدد صحیح در طول نوشتن متوالی انتخاب کنند
تغییر کرد
- نویسنده مستقیم اجزای فونت، پر، حاشیه و قالب عدد مساوی را هنگام ساخت
styles.xmlde-duplicate میکند، در حالی که ایندکسهای سبک سلول پایدار از قبل نوشتهشده در جریانهای برگه را حفظ میکند - جداول سبک نویسنده مستقیم تولیدشده اکنون پرهای پیشفرض استاندارد
noneوgray125را پیش از پرهای سفارشی برای سازگاری سختگیرانهتر OOXML شامل میشوند
نسخه 2.182.0
افزوده شد
TXLSDirectWriterاکنون قالببندی شرطی را با حفظ پروفایل حافظه مستقل از شمارش ردیف مینویسد، با هشت عملگر مقدار سلول، قواعد عبارت، قواعد متن شامل/غیرشامل/شروعبا/پایانبا، قواعد مقدار و درصد top یا bottom، قواعد بالاتر یا پایینتر از میانگین، مقادیر تکراری و یکتا، سلولهای خالی و غیرخالی، سلولهای خطا و بدونخطا، میلههای داده، مقیاسهای دو و سهرنگ و همه ۱۷ خانواده مجموعهآیکون پایه- قواعد شرطی مستقیم از اولویتهای صریح، ارزیابی stop-if-true، گزینههای انحراف معیار میانگین و برابری، جایگزینی آستانه آیکون، نمایش فقطآیکون و معکوس، نمایش مقدار میله داده، رنگهای BGR و سبکهای تفاضلی پر، رنگ فونت، bold و italic پشتیبانی میکنند
تغییر کرد
- نویسنده مستقیم سبکهای تفاضلی معادل را در سراسر برگهها de-duplicate میکند و فقط قواعد و سبکهای conditional-format را ذخیره میکند، بنابراین مصرف حافظه با شمارش قاعده مقیاس میکند نه تعداد ردیفهای برگه
- نوعهای آستانه خودکار کمینه و بیشینه میله داده به tokenهای استاندارد
minوmaxدر عنصر OOXML پایه برای سازگاری گسترده spreadsheet نرمال میشوند
نسخه 2.181.0
افزوده شد
TXLSDirectWriterاکنون محافظت برگه و workbook را بدون buffering دادههای برگه مینویسد، از جمله ۱۵ مجوز ریزدانه برگه، verifierهای رمز عبور قدیمی، متاداده هش مدرن، محدودههای محافظتشده قابلویرایش با رمزهای عبور اختیاری یا security descriptorها، قفلهای ساختار و پنجره workbook، انتساب verifier خام و پاککردن محافظت
رفع اشکال
- لنگرهای drawing پشتیبانینشده اکنون هنگام بازسازی برای خروجی round-trip هر عنصر بستهشونده را حفظ میکنند، بنابراین نقاشیهای فقطشکل پس از گشودن و ذخیره well-formed باقی میمانند
- مجوزهای محافظت برگه XLSX اکنون از تعریف پرچم قفلشده OOXML پیروی میکنند، بنابراین اقدامات مجاز
0و اقدامات ممنوع1مینویسند و ویژگیهای حذفشده با پیشفرضهای schema خود بازگشایی میشوند - رمزهای عبور برگه، محدوده محافظتشده و workbook XLSX قدیمی اکنون از الگوریتم verifier ۱۶-بیت سازگار با Excel با تبدیل ANSI و محدودیت ۱۵-بایتی استفاده میکنند
نسخه 2.180.0
افزوده شد
- مدل برگه XLSX اکنون عناصر What-If Scenario Manager (
<scenarios>) و Data Consolidation (<dataConsolidate>) را round-trip میکند. ویژگیهای جدید raw-XMLScenariosXmlوConsolidateXmlرویTXLSXWorksheetمحتوای درونی را کلمهبهکلمه منتقل میکنند — نویسنده عناصر ظرف را صادر میکند، خواننده فرزندان scenario/data-consolidation را باز میگرداند. فایلهای مدلسازی مالی که scenarioها یا تعاریف consolidation تعریف میکنند دیگر آنها را در round-trip از دست نمیدهند.
نسخه 2.179.0
افزوده شد
- یک تابع کمککننده
XlsxBuildNumFmtجدید کدهای قالب عدد OOXML را از ویژگیهای معنایی میسازد —Decimals،Thousands(جداکننده)،NegativeRed(منفیهای قرمز)،CurrencySymbolوPercent. فراخوانها دیگر نیازی به نوشتن دستی رشتههای قالب مانند"$#,##0.00;[Red]-$#,##0.00"ندارند — سازنده آنها را از پارامترهای ساده تولید میکند. طراحیشده برای استفاده باCell.NumberFormatیاWorkbook.NumberFormats.Add.
نسخه 2.178.0
افزوده شد
- مدل برگه XLSX اکنون نام کد VBA (
<sheetPr codeName="..."/>) را round-trip میکند، که برای interop VBA که پروژه VBA برگهها را بر اساس نام کد ارجاع میدهد ضروری است. ویژگی جدیدCodeNameرویTXLSXWorksheet. - نظرات اکنون یک toggle نمایش
AlwaysShowرویTXLSXCommentپشتیبانی میکنند — وقتی True باشد بالن نظر همیشه قابلمشاهده است (toggle «Show/Hide Comment» هر نظر در Excel)، نه فقط هنگام hover. - اعتبارسنجی داده اکنون ویژگی حالت IME (
imeMode) را رویTXLSXDataValidationround-trip میکند. enum ۱۱-مقداری رفتار روش ورودی CJK را هنگام ورود به یک سلول کنترل میکند (noControl / off / on / hiragana / fullKatakana / و غیره). برای فایلهای locale ژاپنی/کرهای/چینی ضروری است. - مدل برگه یک ویژگی
PaneStateبرای ویژگی حالت-پنجره روی<pane>فراتر از مدیریت frozen-mode موجود بهدست میآورد — از حالتهایfrozenSplit(یخزده-سپس-قابلپیمایش) وsplitپشتیبانی میکند.
نسخه 2.177.0
افزوده شد
- سه تابع برگه قبلاً ثبتشده اما پیادهسازینشده اکنون dispatch کامل دارند:
DOLLAR(متن با قالب ارز)،FIXED(متن اعشار ثابت با سرکوب اختیاری کاما) وAREAS(شمارش مناطق در یک مرجع). قبلاً اینها درInitFuncHashثبت شده بودند اما مورد case موتور محاسبه نداشتند — ارزیابی=DOLLAR(...)بهطور بیصدا نتایج نادرست برمیگرداند. - مدل برگه XLSX اکنون مقیاسهای zoom هر-view-type (
zoomScaleNormal/zoomScalePageLayoutView/zoomScaleSheetLayoutView)، رنگ خط شبکه (sheetView color) و پرچمهای نمایش sheet-view (showFormulas/showZeros) را round-trip میکند. ویژگیهای جدید رویTXLSXWorksheet:ZoomNormal،ZoomPageLayout،ZoomSheetLayout،GridColor،ShowFormulas،ShowZeros. - جهت خلاصه outline اکنون round-trip میشود. ویژگیهای جدید
SummaryBelow،SummaryRightوShowOutlineSymbolsرویTXLSXWorksheetکنترل میکنند که آیا ردیفها/ستونهای خلاصه زیر/راست جزئیات ظاهر میشوند و آیا نمادهای outline قابلمشاهده هستند. نویسنده<outlinePr>را درون<sheetPr>صادر میکند؛ خواننده آن را بازمیگرداند. - calcPr workbook اکنون بههمراه سهتایی موجود
calcId/fullCalcOnLoad/calcMode/iterate، ویژگیهایforceFullCalcوcalcCompletedرا حمل میکند.
نسخه 2.176.0
افزوده شد
- موتور فرمول XLSX اکنون مراجع جدول ساختاریافته را پیش از کامپایل حل میکند. یک متد جدید
ResolveStructuredRefsرویTXLSXWorkbookمتن فرمول را برای الگوهایTableName[ColumnSpec]پویش میکند و آنها را با مراجع محدوده A1 ملموس با استفاده از مجموعهTXLSXTableworkbook جایگزین میکند. مشخصات پشتیبانیشده شامل محدوده داده ستون (Sales[Qty])، ستون ردیف جاری (Sales[@Total])، داده کامل (Sales[#Data]/Sales[#All])، headerها (Sales[#Headers]) و ردیف جمعها (Sales[#Totals]) است. حل خودکار درونGetCompiledFormulaاجرا میشود — فرمولهای موجود تحت تأثیر قرار نمیگیرند زیرا شناسههای غیرجدولی کلمهبهکلمه باقی میمانند. قبلاً مراجع ساختاریافته باعث شکست کامپایل فرمول میشدند.
نسخه 2.175.0
افزوده شد
- موتور فرمول اکنون از کامپایل فرمول با سبک ارجاع R1C1 پشتیبانی میکند. یک متد جدید
GetCompiledFormulaR1C1رویTXLSCalculator(وGetCompiledR1C1رویTXLSFormula) یک فرمول نوشتهشده در نماد R1C1 (R2C3برای مطلق،R[-1]C[2]برای نسبی،RCبرای سلول جاری) را میپذیرد و آن را با تبدیل اول به نماد A1 با استفاده از ردیف/ستون سلول فرمول کامپایل میکند. یک تابع مستقلR1C1ToA1تبدیل را انجام میدهد — نشانههایR/Cمستقل (نه بخشی از نام تابع مانند ROUND) را شناسایی میکند، offsetهای اختیاری براکتدار را تجزیه میکند و مرجع A1 معادل را تولید میکند. literjalهای رشتهای و شناسهها skip میشوند. قبلاً فقط فرمولهای سبک A1 قابل کامپایل بودند.
نسخه 2.174.0
افزوده شد
- خروجی AutoFilter در
TXLSDirectWriterاکنون از ستونهای فیلتر برگه و جدول، فیلترهای مقدار، فیلترهای خالی، فیلترهای گروه تاریخ، فیلترهای مقایسه سفارشی، فیلترهای پویا، فیلترهای top/bottom، پرچمهای دکمه فیلتر، حالتهای مرتبسازی، شرایط مرتبسازی، XML escaping و سرکوب تکراری محدوده فیلتر برگه/جدول هنگام streaming فایلهای XLSX پشتیبانی میکند
نسخه 2.173.0
افزوده شد
- خروجی جدول در
TXLSDirectWriterاکنون از نظرات جدول، شمارشهای ردیف جمع، برچسبهای ردیف جمع ستون، توابع ردیف جمع ستون، فرمولهای ستون محاسبهشده، فرمولهای ردیف جمع و XML escaping برای متاداده ستون جدول هنگام streaming فایلهای XLSX پشتیبانی میکند
نسخه 2.172.0
افزوده شد
TXLSDirectWriterاکنون بخشهای جدول Excel را هنگام streaming فایلهای XLSX مینویسد، از جمله روابط جدول برگه، انواع محتوای بخش جدول، محدودههای جدول، نامهای ستون، پرچمهای ردیف سرستون و ردیف جمع و پرچمهای نمایش سبک جدول داخلی بدون ساخت یک مدل آبجکت workbook کامل
نسخه 2.171.0
افزوده شد
TXLSDirectWriterاکنون اعتبارسنجی داده برگه را هنگام streaming فایلهای XLSX مینویسد، از جمله list، عدد صحیح، اعشار، تاریخ، زمان، طول متن، فرمول سفارشی،sqrefدلخواه، prompt، error-alert، allow-blank، dropdown و پرچمهای پیام input/error بدون ساخت یک مدل آبجکت workbook کامل
نسخه 2.170.0
افزوده شد
TXLSDirectWriterاکنون نامهای تعریفشده workbook و sheet-local را هنگام streaming فایلهای XLSX مینویسد، از جمله نامهای پنهان، نظرات، محدودههای مطلق تولیدشده، print areaها، ردیفهای عنوان چاپ، ستونهای عنوان چاپ، عناوین چاپ ترکیبی، مراجع نامبرگه نقلقولشده، XML escaping و semantics جایگزینی برای setterهای مکرر print-name بدون ساخت یک مدل آبجکت workbook کامل
نسخه 2.169.0
افزوده شد
TXLSDirectWriterاکنون hyperlinkهای برگه را هنگام streaming فایلهای XLSX مینویسد، از جمله روابط URL خارجی، mailto و فایل، مکانهای برگه داخلی، متن نمایش، tooltipها، محدودههای hyperlink تکسلولی یا چندسلولی، نرمالسازی URL پایهwww.، XML escaping و اهداف رابطه percent-encoded بدون ساخت یک مدل آبجکت workbook کامل
نسخه 2.168.0
افزوده شد
TXLSDirectWriterاکنون متاداده چاپ و sheet-view را هنگام streaming فایلهای XLSX مینویسد، از جمله toggleهای نمایش خط شبکه و headerهای ردیف/ستون، حاشیههای صفحه، متن odd header/footer، خطوط شبکه چاپ و headings، مرکزگذاری صفحه، اندازه کاغذ و جهت افقی، ابعاد fit-to-page و شکستهای صفحه دستی ردیف یا ستون بدون ساخت یک مدل آبجکت workbook کامل
نسخه 2.167.0
افزوده شد
TXLSDirectWriterاکنون متاداده layout برگه را هنگام streaming فایلهای XLSX مینویسد، از جمله اندازههای پیشفرض ستون و ردیف، عرض ستون سفارشی، ردیفها و ستونهای پنهان، محدودههای ادغامشده، محدودههای AutoFilter، پنجرههای یخزده، رنگ tab برگه و نمایشهای برگه راستبهچپ بدون ساخت یک مدل آبجکت workbook کامل
نسخه 2.166.0
افزوده شد
- جریانهای کار streaming XLSX اکنون شامل فهرستکردن نامبرگه بدون پویش برگه، انتخاب برگه row-cursor مبتنی بر نام، streaming تاریخ عددی خام، استفاده دوباره direct writer، نوشتن error-cell و writerهای نتیجهفرمول کششده برای مقادیر عدد، رشته، Boolean، تاریخ و خطا است
نسخه 2.165.0
رفع اشکال
TXLSDirectReader.ReadStreamاکنون موقعیت جریان فراخواننده را پس از پویش مستقیم بازمیگرداند، که با قرارداد جریان مستند مطابقت دارد و به برنامهها اجازه میدهد پس از یک پاس خواندن مستقیم همان جریان را دوباره استفاده کنند
نسخه 2.164.0
افزوده شد
- صادرات dataset
TDataToXLSاکنون از فهرستهای رشتهایIncludeFieldsوExcludeFieldsپشتیبانی میکند. برنامهها میتوانند فیلدهای صادرشده را whitelist کنند، ستونهای حساس را حذف کنند و headerها، ردیفهای داده، عرض ستونها و callbackهای صادرات را با مجموعه فیلد انتخابشده هماهنگ نگه دارند
نسخه 2.163.0
افزوده شد
- صادرات CSV قابلیت نقلقول متن پیکربیدیشده را در سراسر موتورهای XLS و XLSX بهدست میآورد.
TXLSWorkbookاکنونCSVEmitFormulasوCSVQuoteAllStringsرا عرضه میکند وTXLSXWorkbookCSVQuoteAllStringsرا اضافه میکند. هنگامی که فعال باشد، صادرات فرمول متن فرمول را مینویسد و فیلدهای رشتهای نقلقول میشوند در حالی که فیلدهای عددی، تاریخ، Boolean، Null و Empty قواعد نقلقول عادی را نگه میدارند
نسخه 2.162.0
افزوده شد
- موتور XLSX یک سیستم رویداد پیشرفت قابللغو بهدست میآورد. یک callback جدید
OnProgressExرویTXLSXWorkbookبههمراهOnProgressموجود با سه بهبود fire میشود: (۱) یک پارامترTXLSXProgressState(ppsBegin/ppsWork/ppsEnd) که هر فاز را براکت میکند تا UIها بدانند یک عملیات کی شروع و پایان مییابد؛ (۲) یک پارامتر varAbort: Booleanکه به callback اجازه میدهد عملیات جاری را mid-stream لغو کند — حلقههای read/write/calcWorkbook.Abortedرا بررسی میکنند و بهطور تمیز break میکنند؛ (۳) یک فاز جدیدxlsxProgressExportingبرای عملیات صادرات (HTML/RTF/CSV/ODS). یک متد کمککنندهFireProgressdispatch دوگانه-callback را متمرکز میکند. پرچمFAbortedدر ابتدای هر عملیات سطحبالا (Open / SaveAs / Recalculate) بازنشانی میشود.
نسخه 2.161.0
افزوده شد
- مدل نمودار XLSX اکنون برای سازگاری قویتر با Excel از چهار عنصر نمودار جدید پشتیبانی میکند. جدول داده نمودار (
c:dTable):TXLSXCharttoggleهایShowDataTable+ShowDataTableKeysرا بهدست میآورد — هنگامی که فعال باشد نویسنده عنصر data-table را درون plot area صادر میکند تا Excel دادههای منبع را بهعنوان یک شبکه زیر محور نمودار رندر کند. Up/down bars + hi-low lines (عناصر نمودار stock/OHLC):TXLSXChartHasUpDownBars+UpDownGapWidthوHasHiLowLinesرا بهدست میآورد — نویسندهc:upDownBarsوc:hiLowLinesرا درون عنصر نمودار (نمودارهای خطی/سهامی) صادر میکند. کنترلهای نمای سهبعدی:TXLSXChartRotation3DX/Rotation3DY/Elevation3D/Perspective3D/RightAngleAxes3Dرا بهدست میآورد — نویسنده هنگامی که هر ویژگی سهبعدی از پیشفرض متفاوت باشدc:view3Dرا در سطح نمودار صادر میکند. قبلاً هیچیک از این عناصر صادر نمیشدند، بنابراین نمودارهای ساختهشده با جدول داده، عناصر نمودار سهامی یا نمای سهبعدی آنها را در round-trip از دست میدادند.
نسخه 2.160.0
افزوده شد
- مراجع فرمول اکنون هنگامی که ردیفها یا ستونها در موتور XLSX درج یا حذف میشوند بهطور خودکار تنظیم میشوند. متد
ShiftSheetGeometry— که توسطInsertRows/DeleteRows/InsertCols/DeleteColsفراخوانده میشود — اکنون هر سلول فرمول بازمانده را پویش میکند و مراجع A1 آن را برای انعکاس تغییر ساختاری بازنویسی میکند. یک اسکنر متن جدیدXlsxAdjustFormulaRowColRefsمراجع تکسلولی (A1،$B$2) و مراجع محدوده (A1:B3) را شناسایی میکند، اجزای ردیف/ستون آنها را از نقطه درج عبور میدهد و مراجع حذفشده را به#REF!تبدیل میکند. هم مراجع نسبی و هم مطلق شیفت مییابند (مطابق رفتار Excel). قبلاً فرمولها بهطور بیصدا پس از یک ویرایش ساختاری به سلولهای نادرست اشاره میکردند.
نسخه 2.159.0
افزوده شد
- حالت مرتبسازی Autofilter اکنون از طریق موتور XLSX round-trip میشود.
TXLSXWorksheetیک ویژگیSortStateXmlبهدست میآورد که XML درونی خام عنصر OOXML<sortState>را (جهت مرتبسازی ستون، حساسیت به حالت، روش مرتبسازی و هر<sortCondition>با پرچم نزولی + ref آن) حمل میکند. نویسنده عنصر را پس از<autoFilter>صادر میکند؛ خواننده ویژگیها و شرایط مرتبسازی را بازمیگرداند. قبلاً حالت مرتبسازی بهطور بیصدا هنگام خواندن از دست میرفت و هرگز نوشته نمیشد. - تنظیمات آوایی/ruby در زبان CJK اکنون از طریق موتور XLSX round-trip میشوند.
TXLSXWorksheetPhoneticFontId،PhoneticType(hiragana / katakana / fullWidthKatakana / noConversion) وPhoneticAlignment(left / center / distributed) را بهدست میآورد. نویسنده<phoneticPr>را پس از<sheetData>صادر میکند؛ خواننده ویژگیها را بازمیگرداند. قبلاً عنصر آوایی بهطور بیصدا هنگام خواندن از دست میرفت — فایلهای بازار ژاپن تنظیمات کمککننده قرائت furigana خود را از دست میدادند.
نسخه 2.158.0
افزوده شد
- موتور XLSX اکنون جدول سبک سلول نامگذاریشده (
<cellStyles>) را round-trip میکند. یک کلاس جدیدTXLSXNamedStyle+ مجموعهTXLSXNamedStylesرویTXLSXWorkbookسطح کامل را حمل میکند:Name،XfId،BuiltInId،CustomBuiltIn،Hidden،BuiltinLevel. نویسنده وقتی مجموعه غیرخالی باشد یک<cellStyle>به ازای هر ورودی صادر میکند؛ خواننده آنها را بازمیگرداند. قبلاً نویسنده یک ورودی منفرد"Normal"را hardcoded میکرد و خواننده همه سبکهای نامگذاریشده را دور میریخت، بنابراین فایلهایی با سبکهای "Good"/"Bad"/"Total"/نامسفارشی آن نامها را در round-trip از دست میدادند.
نسخه 2.157.0
افزوده شد
- موتور XLSX اکنون کل عنصر
<calcPr>را round-trip میکند، نه فقط toggleهای محاسبه تکراری.TXLSXWorkbookCalcId(شناسه موتور محاسبه که Excel برای تصمیمگیری در مورد کهنهبودن مقادیر کششده استفاده میکند)،FullCalcOnLoad(Excel را مجبور به انجام یک محاسبه کامل هنگام گشودن میکند — حیاتی برای workbookهای تولیدشده توسط یک موتور غیر-Excel) وCalcMode(auto / manual / autoNoTable) را بهدست میآورد. نویسنده ویژگیهای منطبق روی<calcPr>را صادر میکند؛ خواننده آنها را بازمیگرداند. قبلاً فقطiterate/iterateCount/iterateDeltaمدیریت میشدند و بقیه بهطور بیصدا دور ریخته میشدند.
نسخه 2.156.0
افزوده شد
- ارزیاب فرمول اکنون ۳۷ تابع برگه که قبلاً ثبت شده بودند (ptg در InitFuncHash انتساب داده شده) اما پیادهسازی dispatch نداشتند را پیادهسازی میکند — آنها به
#NAME?میافتادند. پیادهسازیهای جدید پنج خانواده تابعی را پوشش میدهند: رگرسیون (FORECAST،LINEST،TREND،GROWTH،LOGEST،CORREL،PEARSON،SLOPE،INTERCEPT،RSQ،STEYX)، استهلاک (SLN،SYD،DB،DDB،VDB)، آمار توصیفی (AVEDEV،DEVSQ،KURT،SKEW،GEOMEAN،HARMEAN،TRIMMEAN،FREQUENCY)، آرایهای جفتی (SUMXMY2،SUMX2MY2،SUMX2PY2) و ترکیبیاتی/ریاضی (COMBIN،PERMUT،FACT،QUOTIENT،ROMAN،DEGREES،RADIANS،STANDARDIZE). توابع رگرسیون از یک حلگر کمترینمربعات استفاده میکنند؛ توابع استهلاک روشهای خطمستقیم، مجموع-سالهای-رقم و موجودینزولی را پیاده میکنند؛ توابع آمار توصیفی انحراف مطلق میانگین، kurtosis، skewness و میانگینهای هندسی/هارمونیک/بریدهشده را محاسبه میکنند؛ و توابع جفتی مجموع اختلافات مربعات را بین دو محدوده با اندازه مساوی محاسبه میکنند. یک کمککننده جدیدCollectRangeValuesرویTXLSCalculatorمقادیر عددی را از آرگومانهای محدوده برای توابع آماری استخراج میکند.
نسخه 2.155.0
افزوده شد
- ارزیاب فرمول اکنون از پنج نام سازگاری آماری و مهندسی اضافی پشتیبانی میکند:
ERFC،ERFC.PRECISE،BINOM.INV،CHI.INV.RTوF.TEST.ERFCسری تابع خطای موجود را تکمیل میکند،BINOM.INVآستانه CDF دوجملهای را جستجو میکند،CHI.INV.RTنام مستعار معکوس chi-square دم راست است وF.TESTمقدار p واریانس نمونه دوطرفه را برمیگرداند
نسخه 2.154.0
افزوده شد
- ارزیاب فرمول اکنون مراجع میانworkbook را از طریق یک callback جدید
OnGetExternalValueرویTXLSCalculatorحل میکند. وقتی یک مرجع محدوده سهبعدی به یک workbook خارجی ([1]Sheet1!A1) اشاره میکند، ارزیاب بهجای بازگرداندن#REF!از طریق callback مسیریابی میشود. موتور XLSX این callback را بهGetExternalCellValueمتصل میکند که ایندکس SupBook + ایندکس برگه را به کش<sheetDataSet>TXLSXExternalLinkمنطبق نگاشت میکند و مقدار سلول کششده را بر اساس ویژگی نوع OOXML آن (عددی / boolean / رشته / خطا) رمزگشایی میکند. قبلاً فرمولهای میانworkbook بهطور بدونقیدوشرط#REF!برمیگرداندند؛ زیرساخت callback اکنون به هر موتوری (BIFF8، XLSX یا یک میزبان calculator سفارشی) اجازه میدهد مقادیر خارجی عرضه کند. - ارزیاب فرمول اکنون broadcasting آرایه عنصربهعنصر را روی عملگرهای دودویی (
+/-/*///^) انجام میدهد. وقتی هر عملوند یک آرایه variant یکبعدی یا دوبعدی باشد (مثلاً یک نتیجه تابع ماتریسی، یک محدوده سرریزشده یا یک عملوند آرایه CSE)، عملگر عنصربهعنصر اعمال میشود؛ یک عملوند اسکالر به هر عنصر عملوند آرایه broadcast میشود. کمککننده جدیدApplyArrayBinaryOpاعتبارسنجی شکل، broadcast اسکالر و انتشار تقسیمبرصفر را مدیریت میکند. محاسبات اسکالر قدیمی تغییر نکردهاند — مسیر آرایه فقط وقتی فعال میشود که حداقل یک عملوند یک آرایه variant باشد. - ارزیاب فرمول اکنون تابع
TABLE(What-If Analysis DataTable) را شناسایی میکند. Excel data tableها را بهعنوان فرمولهای آرایه CSE که بدنه آنهاTABLE(rowRef, colRef)است ذخیره میکند؛ قبلاًTABLEناشناخته بود و به#NAME?میافتاد. تابع با یک ptg سنتتیک (ftabTABLE = 4232) ثبت میشود تا از طریق رمزگذاری فرمول BIFF8 round-trip شود و در زمان ارزیابی یک مقدار جایگزین (۰) برمیگرداند — نتایج واقعی از قبل توسط Excel پیشمحاسبه و بهعنوان مقادیر سلول کششده ذخیره شدهاند، بنابراین HotXLS منطق جایگزینی را دوباره ارزیابی نمیکند.
نسخه 2.153.0
افزوده شد
- مدل تایپشده PivotTable اکنون ویژگیهای تایپشده محور صفحه (Hier / Caption / Name)، محدوده auto-sort و hookهای round-trip raw-XML برای
<formats>و<extLst>مورد نیاز برای سازگاری کاملتر Excel را حمل میکند.TXLSPivotFieldPageHier/PageCaption/PageName(F16 — نام سلسلهمراتب OLAP + caption محور صفحه + نام نمایش) وAutoSortScope(F20 — مرجع محدوده A1 که سلولهایی که Excel برای auto-sort آیتمهای فیلد استفاده میکند را پین میکند) را بهدست میآورد؛TXLSPivotTableFormatsXml/ExtLstXml(F17 — round-trip raw inner-XML برای بلوک overrideهای CF / قالب عدد<formats>و بلوک slicer / timeline / x14<extLst>، که هنگامی که تنظیم شوند کلمهبهکلمه صادر میشوند تا round-trip حتی میان نسخههای موتور امن باشد) را بهدست میآورد. نویسنده XLSX ویژگیهای منطبق<pageField hier=... cap=... name=.../>، فرزند<autoSortScope>از<pivotField>و بلوکهای<formats>+<extLst>را پیش از sentinel بستهشونده صادر میکند. - ردیاب فرمول اکنون snapshotهای پشته-عملوند هر-مرحله را ضبط میکند و یک دیباگر «Evaluate Formula» واقعی step-through را فعال میکند.
TXLSFormulaStepStepKind(push / reduce / function)،StackBefore/StackAfter(snapshotهای جداشده با کاما از پشته عملوند در لحظه شروع / پایان هر مرحله) وTokenStart/TokenEnd(دهانه نویسه یکپایه که مرحله را به فرمول منبع پین میکند) را بهدست میآورد.TXLSFormulaTracerTraceReversed(همان مراحل را به ترتیب ارزیابی معکوس برمیگرداند — مفید برای یک UI step-back که از نتیجه نهایی بهسوی عملوندهای اصلی پویش میکند) و یک ویژگیStepCountرا بهدست میآورد. قبلاً ردیاب فقط Depth / Source / Expression / Value را بدون وضعیت پشته ضبط میکرد. - صادرات HTML اکنون تصاویر هر-سلول را از طریق یک callback جدید
OnCellImageرویTXLSHTMLExportو یک گزینه جدیدxhImagesجاسازی میکند. وقتی گزینه تنظیم شود و callback متصل باشد، صادرکننده از پیادهساز برای fragment<img>هر سلول (معمولاً یک data-URI Base64) میخواهد و آن را پس از متن سلول الحاق میکند. این صادرکننده را از ذخیرهسازی تصویر BIFF8 موتور XLS (که در رکورد MsoDrawing هر-برگه زندگی میکند) جدا میکند تا صادرکننده مجبور نباشد خود لنگرها را تجزیه کند. صادرات HTML موتور XLSX از قبل تصاویر را جاسازی میکرد؛ این شکاف را برای موتور XLS میبندد. - import RTF اکنون ویژگیهای نویسه (bold / italic / underline / strikethrough / size) را از control wordهای RTF به فونت سلول مقصد اعمال میکند.
TXLSRTFImport\b/\i/\ul/\strike/\fsرا در سراسر سند پیگیری میکند و قالببندی اجر غالب را در زمان commit در XF سلول هل میدهد. یک ویژگی جدیدImportCharFormat(پیشفرض True) رفتار را toggle میکند؛ برای بازگرداندن import فقطمتن قدیمی False تنظیم کنید. سلولهای چنداجر به یک XF منفرد فرو میپاشند (آخرین اجر فعال برنده میشود) زیرا API سلول موتور XLS در سطح سلول است نه هر-fragment — اما این بسیار بهتر از دورریختن همه قالببندی است که import کننده قدیمی انجام میداد. - یک کلاس جدید
TXLSHTMLImportجدولهای HTML را به سلولهای برگه تجزیه میکند. اولین<table>در منبع را پویش میکند، یک ردیف برگه به ازای هر<tr>و یک سلول به ازای هر<td>/<th>صادر میکند.colspan/rowspan(ادغام سبک Excel) را بهجا میآورد، تگهای درون یک سلول را (فروپاشی قالببندی تودرتو به متن ساده) حذف میکند، پنج موجودیت نویسه استاندارد (&/</>/"/'/ ) و فرمهای عددی&#NNN;/&#xNN;را رمزگشایی میکند و رشتههای عددی تمیز را به Double تحمیل میکند تا جدولهای importشده قابلمحاسبه باقی بمانند. طراحیشده برای خروجی که خود HotXLS تولید میکند (SaveAsHTML) بهعلاوه جدولهای HTML با کیفیت copy-paste کلی؛ یک تجزیهکننده کامل HTML5 نیست.
نسخه 2.152.0
افزوده شد
- جداول XLSX اکنون متاداده جمع و فرمولهای جدول در سطح ستون را حفظ میکنند.
TXLSXTableColumnTotalsRowFunctions[]،ColumnTotalsRowLabels[]،ColumnCalculatedColumnFormulas[]وColumnTotalsRowFormulas[]را عرضه میکند؛SaveAsXML ستون جدول منطبقtotalsRowFunction،totalsRowLabel،calculatedColumnFormulaوtotalsRowFormulaرا صادر میکند،Openآنها را بازمیگرداند و cloneهای جدول آنها را حفظ میکنند
نسخه 2.151.0
افزوده شد
- مدل تایپشده PivotTable اکنون مجموعه فیلتر هر-فیلد، toggle چندانتخابی، سطح fieldGroup discretePr + groupItems و مدل آیتمهای محاسبهشده / اعضای محاسبهشده مورد نیاز برای سازگاری کاملتر PivotTable را حمل میکند.
TXLSPivotFieldیک مجموعه تایپشدهTXLSPivotFiltersبهدست میآورد (هر ورودیFilterTypeرا در سراسر enum ۸۰-عضوی OOXMLST_FilterType— خانوادههای شمارش / درصد / جمع / caption / مقدار / تاریخ — بهعلاوهValue1/Value2/StrValue1/StrValue2،EvalOrder،DataField،MemberPropertyId،Name،Descriptionحمل میکند)، یک toggleMultipleItemSelectionAllowed(F9) و یک مجموعهTXLSPivotCalculatedItem(F14).TXLSPivotCacheFieldDiscreteIndices[]+AddDiscreteIndexوGroupItemLabels[]+AddGroupItemرا برای بلوکهای fieldGroup discretePr + groupItems (F13) بهدست میآورد.TXLSPivotTableیک مجموعهTXLSPivotCalculatedMember(F14) بهدست میآورد. نویسنده XLSX<pivotField multipleItemSelectionAllowed="1">منطبق، بلوک<filters><filter .../>هر-فیلد، عنصر<fieldGroup><discretePr>...</discretePr><groupItems>...</groupItems></fieldGroup>، بلوک<calculatedItems>هر-فیلد و بلوک<calculatedMembers>در سطح جدول را صادر میکند — بنابراین pivotهای ساختهشده برنامهنویسی با فیلتر / چندانتخابی / گروهبندی / آیتمهای محاسبهشده round-trip میشوند.
نسخه 2.150.0
افزوده شد
- نامهای تعریفشده اکنون متن فرمول خود را هنگامی که برگهای که ارجاع میدهند حذف یا تغییرنام داده میشود معتبر نگه میدارند. حذف یک برگه هر qualifier
SheetN!درون فرمول یک نام تعریفشده را به#REF!بازنویسی میکند (مطابق رفتار Excel)؛ تغییرنام یک برگه qualifier را به نام جدید بازنویسی میکند. قبلاً متن فرمول به یک نام برگه ناموجود اشاره میکرد که Excel سپس آن را در بازگشایی بهعنوان یک پیوند شکسته علامتگذاری میکرد. - مدل تایپشده PivotTable اکنون ترتیب مرتبسازی و toggleهای layout در سطح فیلد بهعلاوه ویژگیهای layout / display در سطح جدول مورد نیاز برای سازگاری layout PivotTable کاملتر را حمل میکند.
TXLSPivotFieldSortType(دستی / صعودی / نزولی)،Compact،Outline،SubtotalTop،DragToRow/DragToCol/DragToPage/DragToData،ShowAll،InsertBlankRow،NumFmtIdرا بهدست میآورد؛TXLSPivotTableCompact/CompactData/Outline/OutlineData/Indent/ShowEmptyRow/ShowEmptyCol/ShowHeaders/ShowDrill/EnableDrill/FieldListSortAscending/GridDropZonesبهعلاوهRowHeaderCaption/ColHeaderCaption/ErrorCaption/MissingCaption/ShowError/ShowMissingو جفت layout محور صفحهRowPageCount/ColPageCountرا بهدست میآورد. نویسنده XLSX ویژگیهای منطبق<pivotField sortType=... compact=... outline=...>و<pivotTableDefinition indent=... outline=... showEmptyRow=...>و عنصر<location rowPageCount=... colPageCount=.../>را صادر میکند تا pivotهای ساختهشده برنامهنویسی بهجای پیشفرضهای Excel، layout تنظیمشده توسط کاربر را حمل کنند. - یک متد جدید
FormulaIsVolatileرویTXLSWorkbookگزارش میدهد که آیا یک فرمول یک محاسبه دوباره را در هر پاس محاسبه اجبار میکند — یعنی یک تابع فرار (NOW / RAND / TODAY / OFFSET / INDIRECT) فراخوانی میکند یا یک مرجع غیرقابلحل حمل میکند. probe همان استخراجکننده وابستگی که موتور محاسبه دوباره استفاده میکند را به اشتراک میگذارد، بنابراین پاسخ با آنچهRecalculateواقعاً انجام میدهد مطابقت دارد. فراخوانها میتوانند از آن برای علامتگذاری سلولها برای یک UI تأیید، برای populate یک مجموعه فرار calc-chain روی یک workbook کاملاً جدید، یا برای skipکردن کش نتیجه یک فرمول تازهواردشده استفاده کنند.
نسخه 2.149.0
افزوده شد
- کشهای PivotTable اکنون میتوانند از محدوده منبع خود بهصورت برنامهنویسی refresh شوند. یک متد جدید
RefreshPivotCache(ACacheId)رویTXLSXWorkbookمحدوده منبع کش را دوباره پویش میکند، دامنه shared-items را هر فیلد بازسازی میکند (دوباره de-duplicate مقادیر و دوباره اشتقاق boundهای هر-نوع) و ایندکسهای آیتم هر-رکورد را بازنویسی میکند. قبلاً HotXLS به پرچم hardcodedrefreshOnLoad="1"تکیه میکرد و همه کار refresh را به Excel در گشودن بعدی موکول میکرد؛ pipelineهای برنامهنویسی اکنون میتوانند درون-پردازش refresh کنند.
نسخه 2.148.0
افزوده شد
InsertColsروی موتور XLSX اکنون عرض ستون را از همسایه چپ خود به ارث میبرد، که با رفتار پیشفرض Excel برای «درج ستون» مطابقت دارد. قبلاً ستون درجشده عرض پیشفرض workbook را برمیداشت و یک شکاف وفاداری قابلمشاهده پس از یک بازگشایی تولید میکرد.- موتور XLSX کمککنندههای outline-collapse راحتی
ToggleColGrouped/ToggleRowGroupedرویTXLSXWorksheetرا بهدست میآورد که درخت outline را پویش میکنند و گروه را در یک سطح دادهشده جمع یا گسترش میدهند. پرچمهای جمع خودشان از قبل round-trip میشدند؛ این API راحتی پویشدرخت گمشده را اضافه میکند.
نسخه 2.147.0
افزوده شد
- صادرات HTML اکنون لنگرهای
<a name>را در سلولهایی که هدف hyperlink داخلی هستند صادر میکند، بنابراین hyperlinkهای#SubAddressهنگامی که خواننده روی آنها کلیک میکند بهدرستی حل میشوند. قبلاً پیوندها صادر میشدند اما هدفها لنگر نداشتند، بنابراین پرشهای داخلی به هیچچیز حل نمیشدند. - صادرات CSV یک ویژگی
CSVEmitFormulasرویTXLSXWorkbookبهدست آورد. وقتی True باشد، سلولهای فرمول متن فرمول (=SUM(A1:A2)) خود را بهجای مقدار محاسبهشده صادر میکنند — مفید برای دیباگ و برای pipelineهایی که دوباره به یک موتور متفاوت import میشوند. - URLهای hyperlink خارجی اکنون هنگام نوشتن percent-encoded میشوند (
XlsxEncodeHyperlinkUrl): فاصله، angle bracketها، نقلقولها، براکتها، pipeها، backslashها، caretها و backtickها بهعنوان%XXدر ویژگی<Relationship Target="..."/>رمزگذاری میشوند تا فایل بهدرستی در هر مرورگری باز شود. توالیهای percent-encoded موجود (%20) همانطور که هست حفظ میشوند. - اطلاعات سبک PivotTable اکنون سطح کامل
pivotTableStyleInfoرا حمل میکند:StyleName،ShowRowHeaders،ShowColHeaders،ShowRowStripes،ShowColStripes،ShowLastColumnرویTXLSPivotTable. نویسنده XLSX عنصر منطبق را صادر میکند تا pivotهای ساختهشده برنامهنویسی بهجای پیشفرض hardcoded سبک banding انتخابشده توسط کاربر را حمل کنند. - یک متد جدید
CalculateAndVerifyرویTXLSXWorkbookهر سلول فرمول را دوباره ارزیابی میکند و نتیجه محاسبهشده را با مقدار کششده سلول مقایسه میکند. شمارش عدمتطابق را برمیگرداند (۰ = همه مقادیر کششده با محاسبه تازه موتور مطابقت دارند؛ فرمولهای فرار مستثنی میشوند). مفید برای QA هنگام port کردن workbookها میان موتورها یا تأیید اینکه یک نویسنده مقادیر کششده را خراب نکرده است.
نسخه 2.146.0
افزوده شد
- موتور XLSX اکنون از محاسبه ارجاع چرخشی تکراری (حالت محاسبه تکراری Excel) پشتیبانی میکند. یک سهتایی ویژگی جدید
Iterate/IterateCount/IterateDeltaرویTXLSXWorkbookرفتار را کنترل میکند: وقتیIterate=Trueو یک چرخه مرجع هنگامRecalculateشناسایی شود، موتور سلولهای عضو-چرخه را تاIterateCountبار (پیشفرض ۱۰۰) یا تا زمانی که تغییر هر سلول< IterateDelta(پیشفرض ۰.۰۰۱) باشد دوباره ارزیابی میکند، بهجای بازگرداندن#REF!. تنظیمات از طریق عنصر OOXML<calcPr iterate="1" iterateCount="N" iterateDelta="X"/>round-trip میشوند. مدلهای مالی با ارجاعهای چرخشی عمدی (بهرهبربهره، تخصیصهای چرخشی) اکنون همگرا میشوند بهجای خطا دادن. - فیلدهای کش PivotTable اکنون یک مدل گروهبندی برای گروهبندی محدوده عددی و سلسلهمراتب تاریخ حمل میکنند.
TXLSPivotCacheFieldHasGroup+GroupStartNum/GroupEndNum/GroupInterval(محدوده عددی) وGroupByDate/GroupDays/GroupMonths/GroupQuarters/GroupYears/GroupHours/GroupMinutes/GroupSeconds/GroupStartDate/GroupEndDate(تاریخ) را بهدست میآورد. نویسنده XLSX عنصر<fieldGroup><rangePr groupBy="range|days|months|..."/>را صادر میکند تا pivotهای ساختهشده برنامهنویسی با فیلدهای گروهبندیشده با خروجی Excel مطابقت کنند. - صادرات HTML اکنون endnoteهای نظر صادر میکند. وقتی
xhCommentsدر گزینههای صادرات باشد، هر سلول نظردار یک لینک superscript[n]بهدست میآورد و متن کامل نظر (نویسنده + بدنه) بهعنوان یک بخش endnote پس از جدول با یک back-anchor به سلول فهرست میشود. قبلاً نظرات فقط از طریق ویژگیtitle=سلول در دسترس بودند که هنگام چاپ یا copy-past قابلمشاهده نیست.
نسخه 2.145.0
افزوده شد
- literjalهای خطای فرمول BIFF8 (token
tErr) اکنون بهجای شکست تجزیه فرمول، به یک آیتم نحویSA_ERRORتایپشده رمزگشایی میشوند. یک سلول ذخیرهکننده=#N/A(یا هر یک از هفت ثابت خطای Excel) قبلاً باعث میشد کل فرمول هنگام خواندن از دست برود؛ بایت خطا اکنون از طریق خواندن ← ارزیابی ← نوشتن round-trip میشود و به فرم متنی خود (#NULL!،#DIV/0!،#VALUE!،#REF!،#NAME?،#NUM!،#N/A) از طریق یک کمککننده جدیدXlsErrorToStringبازسازی میشود. - token BIFF8
tIsect $0F(عملگر تقاطع ضمنی) اکنون در مترجم فرمول دودویی رمزگشایی میشود و همان گرهSA_ISECTکه تجزیهکننده متن برای@تولید میکند را میسازد. قبلاً یک فرمول دودویی حاویtIsectدر تجزیه شکست میخورد. - قالببندی شرطی میله داده اکنون هنگامی که مدل هر فیلد x14 غیرپیشفرض را حمل کند (رنگ پر منفی، gradient خاموش، رنگ محور، جهت، حاشیه)، بلوک پسوند
x14در Excel 2010+ را درextLstبرگه صادر میکند. یکBuildDataBarExtXmlجدید عنصرext<x14:conditionalFormattings>را با اولویت منطبق، جفت cfvo، رنگهای پر + منفی + محور و ویژگیهای gradient/border/direction/negativeBarColorSameAsPositive میسازد.
نسخه 2.144.0
افزوده شد
- موتور XLSX اکنون میتواند workbookهای رمزگذاریشده Agile را بنویسد (
TXLSXWorkbook.SaveAsEncryptedAgile) و یک شکاف سازگاری خواندن/نوشتن ارزشمند را میبندد. Agile آن چیزی است که Excel 2010+ بهطور پیشفرض برای فایلهای .xlsx محافظتشده با رمز عبور مینویسد؛ HotXLS قبلاً میتوانست Agile را بخواند اما فقط رمزگذاری استاندارد (AES-128) را بنویسد. pipeline نوشتن جدید مسیر رمزگشایی موجود را بازتاب میدهد: هشکردن رمز عبور SHA-512 با spin count ۱۰۰۰۰۰-تکرار، رمزگذاری بسته هر-بخش AES-256-CBC، یک کلید میانی تصادفی تولیدشده که بر اساس سه کلید بلوک spec-pinned wrap میشود، و یک توصیفگر<encryption>XML کامل که verifier + blobهای کلید رمزگذاریشده را حمل میکند. خروجی با آنچه Excel تولید میکند byte-faithful است و بهطور تمیز از طریقXlsLoadAgileEncryptedFileround-trip میشود (تأییدشده با تست: رمز عبور درست رمزگشایی میکند، رمز عبور نادرست رد میشود). - پریمیتیوهای رمزنگاری جدید زیر پایه مسیر نوشتن Agile را تشکیل میدهند:
XlsHMACSHA512(RFC 2104، مورد نیاز برای عنصرdataIntegrity)،XlsBase64Encode(رمزگذار RFC 4648 که رمزگشای موجود را بازتاب میدهد) وAESEncryptCBC(رمزگذاری AES-CBC برای هر اندازه کلید ۱۲۸/۱۹۲/۲۵۶، معکوسAESDecryptCBCموجود). واحد AES اکنونaes_encrypt_key192/aes_encrypt_key256را از obj Gladman import میکند (قبلاً فقط رمزگذاری ۱۲۸-بیت در دسترس بود).
نسخه 2.143.0
افزوده شد
- ارزیاب فرمول اکنون عملگر تقاطع صریح
@(نحوی آرایه پویای Excel 365، مثلاً=A2:A4 @ B2:B4) را تجزیه و ارزیابی میکند. lexer یک token جدیدLT_ISECTبرای نماد@صادر میکند، تجزیهکننده اولویت یک گرهSA_ISECTمیسازد (محکمتر از^، شلتر از%) و یک ارزیاب جدیدIntersectRangesهر دو عملوند را بهعنوان محدوده حل میکند و مقدار سلول تقاطع منفرد را برمیگرداند — قانون تقاطع ضمنی Excel. serializer token BIFFtIsect $0Fصادر میکند تا عملگر از طریق XLS round-trip شود و مسیر بازسازی متن فرمول فرم implicit-space صادر کند. قبلاً چنین فرمولهایی در تجزیه شکست میخوردند. - یک رمزگذار Base64 استاندارد (
XlsBase64Encode) اکنون در دسترس است کهXlsBase64Decodeموجود را بازتاب میدهد. این پیشنیاز برای مسیر نوشتن رمزگذاری Agile است که saltValue / encryptedVerifierHashInput / encryptedKeyValue / encryptedHmacValue را بهعنوان مقادیر ویژگی Base64 صادر میکند. - رویداد
OnProgressworkbook اکنون همچنین در طول محاسبه کامل (Recalculate) با یک فاز جدیدxlsxProgressCalculatingfire میشود. قبلاً رویداد فقط در طول خواندن و نوشتن fire میشد، بنابراین محاسبههای کامل طولانی هیچ ضربان به UI نمیدادند. رویداد تقریباً هر ۴٪ سلول fire میشود تا از flooding جلوگیری شود. - ویژگیهای سند گستردهشده (
docProps/app.xml) اکنون سه فیلد دیگر که Excel برای اسناد محافظتشده با رمز عبور / مبتنی بر template مینویسد را round-trip میکنند:Manager،TemplateوDocSecurity(یک bit field: ۱=محافظتشده با رمز عبور، ۲=توصیه فقطخواندنی، ۴=اعمال فقطخواندنی، ۸=قفل برای حاشیهنویسی).
نسخه 2.142.0
افزوده شد
- مدل تایپشده PivotTable اکنون سطح متاداده، منبع، فیلد محاسبهشده، «نمایش مقادیر بهعنوان» و boundهای shared-items را که دور قبلی تحلیل بهعنوان شکاف علامتگذاری کرد، حمل میکند.
TXLSPivotCacheRefreshOnLoad/RefreshedBy/RefreshedDate/MissingItemsLimit/CreatedVersion/RefreshedVersion/MinRefreshableVersion/EnableRefresh/BackgroundQuery/SaveDataبهعلاوه یک شکل منبع برگه تایپشده (SourceName/SourceRelId/SourceIsNamedRange) را بهدست میآورد؛TXLSPivotCacheFieldFormula/DatabaseField/MemberPropertyField(فیلدهای محاسبهشده) و boundهای shared-items (ContainsBlank/ContainsInteger/ContainsString/ContainsNumber/ContainsDate/MinValue/MaxValue/MinDate/MaxDate/HasBounds) را بهدست میآورد؛TXLSPivotDataFieldShowDataAs/BaseField/BaseItemرا برای تبدیلهای «نمایش مقادیر بهعنوان» (درصد-از / تفاوت / جمع-تجمعی / شاخص) بهدست میآورد. نویسنده XLSX (BuildPivotCacheDefinitionXml/BuildPivotTableXml) به همه اینها احترام میگذارد تا یک pivot ساختهشده برنامهنویسی (AddPivotTable) یکpivotCacheDefinition+pivotTableDefinitionغنیتر صادر کند — refreshOnLoad / سهتایی نسخه / refreshedBy / منبع named-range / فرمول cacheField محاسبهشده / boundهای sharedItems / subtotal dataField + showDataAs. جدولهای pivot خواندهشده از یک فایل همچنان XML خام خود را کلمهبهکلمه round-trip میکنند. - رفتار لنگر تصویر اکنون از طریق یک ویژگی جدید
AnchorTypeرویTXLSXImageround-trip میشود (xaTwoCell= حرکت و تغییر اندازه با سلولها،xaOneCell= حرکت اما بدون تغییر اندازه،xaAbsolute= بدون حرکت یا تغییر اندازه). نویسنده عنصر لنگر (xdr:oneCellAnchor/xdr:twoCellAnchor editAs=.../xdr:absoluteAnchor) را برای مطابقت انتخاب میکند؛ خواننده نام عنصر + ویژگیeditAsرا بازمیگرداند. به دیالوگ right-click ← Size and Properties ← Properties در Excel نگاشت میشود. - header/footer اکنون تمایز صفحه زوج/اول round-trip میکند.
TXLSXWorksheetEvenHeaderText/EvenFooterText/FirstHeaderText/FirstFooterTextبهعلاوه چهار toggle<headerFooter>(DifferentOddEven،DifferentFirst،ScaleWithDoc،AlignWithMargins) را بهدست میآورد. فایلهایی که کاربر در آن «Different odd and even pages» یا «Different first page» را فعال کرده دیگر بخشهای صفحه زوج/اول را در round-trip از دست نمیدهند. - تنظیم صفحه اکنون ویژگیهای گسترده
<pageSetup>که Excel برای تنظیمات چاپ غیرپیشفرض مینویسد را round-trip میکند:Copies،FirstPageNumber+UseFirstPageNumber،HorizontalDpi،VerticalDpi،PrintErrors(displayed/blank/dash/NA)،UsePrinterDefaults. <sheetFormatPr>اکنونcustomHeight،zeroHeight،outlineLevelRowوoutlineLevelColرا round-trip میکند، بنابراین فایلهایی که کاربر در آن یک ارتفاع ردیف پیشفرض پینشده توسط کاربر، ردیفهای پنهان پیشفرض یا یک سطح outline پیشفرض تنظیم کرده دیگر آن رفتار را از دست نمیدهند.- قالببندی شرطی میله داده ویژگی استاندارد
gradient(پر gradient در مقابل توپر) را round-trip میکند وTXLSDataBarSpecفیلدهای پسوندx14در Excel 2010+ (NegativeBarColor،NegativeBarColorSameAsPositive،GradientFill،AxisColorبا theme/tint،Direction،Border) را روی مدل بهدست میآورد تا مصرفکنندگان API بتوانند آنها را تنظیم کنند. - بالن نظرات VML drawing خود را کلمهبهکلمه round-trip میکند. خواننده
xl/drawings/vmlDrawingN.vmlرا همانطور که هست capture میکند و نویسنده آن را هنگام ذخیره replay میکند (بهجای template بالن زرد داخلی)، بنابراین موقعیت / اندازه / رنگ پر / نمایش تنظیمشده توسط کاربر هر بالن زنده میماند. - بدنه نظرات قالببندی هر-اجر را round-trip میکنند.
TXLSXCommentیک payload lazyRichText: TXLSXRichTextبهدست میآورد (استفاده دوباره از مدل اجر رشته مشترک)؛ نویسنده وقتی RichText قالببندی حمل کند یک<r><rPr>...</rPr><t>...</t></r>به ازای هر اجر صادر میکند و خواننده<b/>،<i/>،<sz val=N/>،<color rgb=.../>را بازمیگرداند تا bold / italic / size / colour زنده بمانند. - ارزیاب فرمول اکنون
SUBTOTAL(همه یازده تجمیعگر: AVERAGE / COUNT / COUNTA / MAX / MIN / PRODUCT / STDEV / STDEVP / SUM / VAR / VARP، بهعلاوه variantهای ۱۰۱–۱۱۱ ignore-hidden) وAGGREGATE(نوزده تجمیعگر با پرچمهای option-code ۰–۷ که skip کردن خطا/پنهان را انتخاب میکنند، از جمله خانواده LARGE / SMALL / MEDIAN / PERCENTILE / QUARTILE با آرگومانkآنها) را پیادهسازی میکند. هر دو قبلاً به مسیر تابع پشتیبانینشده میافتادند؛SUBTOTALثبت شده بود اما پیادهسازی نداشت،AGGREGATEاصلاً ثبت نشده بود. - توابع برگه
CELLوINFOاکنون ارزیابی میشوند:CELLازaddress،col،row،type،contents،filename،formatپشتیبانی میکند وinfo_typeهای حالت-GUI (color،parentheses،prefix،protect،width) پیشفرضهای خنثی برمیگردانند؛INFOازosversion،system،recalc،memavail،numfile،release،originپشتیبانی میکند. هر دو ثبت شده بودند اما به#NAME?میافتادند. - قالببندی شرطی اکنون ویژگیهای
cfRuleدرstopIfTrue،stdDev،equalAverageوtimePeriodبهعلاوه کل خانواده دهعضویtimePeriod(yesterday / today / tomorrow / last7Days / lastWeek / thisWeek / nextWeek / lastMonth / thisMonth / nextMonth) را round-trip میکند. اینها هنگام خواندن بهطور بیصدا دور ریخته میشدند؛ Excel آنها را روی قواعد above-average و date-band بهطور معمول مینویسد و دورریختن آنها نحوه ارزیابی دوباره قاعده هنگام بازگشایی را تغییر میداد. - صادرات CSV یک ویژگی
TXLSCsvEncodingرویTXLSCSVSaverبا سه حالت بهدست آورد:ceSystemAnsi(پیشفرض قدیمی)،ceUtf16(حالت Unicode تاریخی) وceUtf8که یک فایل UTF-8 با نشانگر ترتیب بایت EF BB BF مینویسد — پیشفرض دوستدار Excel مدرن که بدون جادوگر import متن روی هر locale بازگشایی میشود. - import CSV یک ویژگی
LocaleTolerantNumbersرویTXLSCSVLoaderبهدست آورد. هنگامی که فعال باشد، یک فیلد عددی که با.بهعنوان جداکننده اعشار در تجزیه شکست میخورد، با,دوباره امتحان میشود (و بالعکس)، بنابراین یک3,14اروپایی بهعنوان عدد ۳.۱۴ روی یک ماشین US import میشود. حالت سختگیرانه (پیشفرض) تغییر نکرده تا متن با صفر ابتدایی، کدهای پستی و سایر tokenهای حامل کاما متن باقی بمانند.
رفع اشکال
- استنتاج عدد حالت سختگیرانه موتور XLSX اکنون فیلدهای متنی حامل کاما (مثلاً
3,14) را از طریقTryStrToFloatDelphi که حتی وقتیThousandSeparatorروی#0تنظیم شده یک کاما را بهعنوان جداکننده هزارگان تحمل میکند، به عدد تحمیل نمیکند. چنین فیلدهایی اکنون متن باقی میمانند مگر اینکه گزینه جدیدLocaleTolerantNumbersفعال باشد.
نسخه 2.140.0
تغییر کرد
- موتور XLSX اکنون شش pool سبک هر-ویژگی خود (Fonts / Fills / Borders / NumberFormats / Alignments / Protections) را پیش از هر ذخیره compact میکند: یک پاس
CompactStylePoolsجدید ایندکسهای سبک هر سلول را پویش میکند و ورودیهای pool را که دیگر توسط هیچ سلولی ارجاع نمیشوند دور میریزد — ورودیهایی که هنگامی که سلولها پاک، حذف یا دوباره سبکبندی میشوند پس از اولین اضافهشدن ورودی pool انباشته میشوند. poolهای compact شده یک جدول<cellXfs>کوچکتر در فایل خروجی تولید میکنند (معمولاً ۳۰–۷۰٪ کوچکتر برای اسنادی که از چند چرخه ویرایش عبور کردهاند)، که با compactionای که موتور XLS از طریقCreateAllReferredListاز قبل انجام میدهد مطابقت دارد
نسخه 2.139.0
افزوده شد
- اشکال لایه drawing، connectorها، اشکال گروه و quad franes گرافیکی غیر نموداری اکنون کلمهبهکلمه round-trip میشوند: هنگامی که خواننده XLSX با یک لنگر
<xdr:sp>،<xdr:cxnSp>،<xdr:grpSp>یا<xdr:graphicFrame>غیر نموداری مواجه میشود که مدل تایپشده (تصاویر / نمودارها / جعبههای متن) آن را پوشش نمیدهد، کل XML لنگر را capture میکند و آن را هنگام ذخیره بدون تغییر replay میکند — بنابراین نقاشیهای تألیفشده در Excel (پیکانها، calloutها، اشکال گروهی، quad فریمهای هوشمند) یک چرخه خواندن←نوشتن را بدون اتلاف طی میکنند. هر برگهRawDrawingAnchorCount/RawDrawingAnchor(i)را برای بازرسی عرضه میکند
نسخه 2.138.0
افزوده شد
- مقادیر سلول کششده پیوند خارجی اکنون روی موتور XLSX round-trip میشوند: یک مدل جدید
TXLSXExternalCell/TXLSXExternalRow/TXLSXExternalSheetDataاز هرTXLSXExternalLinkاز طریقAddSheetData/AddRow/AddCellآویزان میشود، نویسنده بلوک منطبق<sheetDataSet>را درونexternalLinkN.xmlصادر میکند و بازگشایی هر مقدار کششده را بازمیگرداند.FindCachedCell(sheetIdx, row, col)آخرین مقدار شناختهشده یک سلول ارجاعشده خارجی را جستجو میکند — دادهای که خود Excel هنگامی که workbook از راه دور آفلاین است نمایش میدهد
نسخه 2.137.0
افزوده شد
- پرچم
quotePrefixcellXf در OOXML — مکانیزم Excel برای علامتگذاری متن ذخیرهشده بهعنوان literjal تا از تحمیل عددی جان biasesدارد (کدهای importشده CSV مانند00123، شماره حسابهای طولانی، هر چیزی که کاربر با یک آپوستروف پیشوند کرده) — اکنون روی موتور XLSX round-trip میشود:TXLSXAlignmentیک ویژگیQuotePrefixبهدست میآورد، pool ترازبندی آن را در de-dup شمارش میکند، نویسندهquotePrefix="1"روی<xf>منطبق صادر میکند و بازگشایی آن را بازمیگرداند چه cellXf یک فرزند<alignment/>حمل کرده باشد یا یک<xf quotePrefix="1"/>self-closing ساده بوده باشد
نسخه 2.136.0
افزوده شد
- محورهای نمودار اکنون کاملاً برنامهپذیر هستند: یک مدل جدید
TXLSXChartAxisرویCategoryAxisوValueAxisهر نمودارLogBase(مقیاس لگاریتمی، مثلاً ۱۰ برای لگاریتم مبنای ۱۰)،Orientation(عادی / معکوس)،MajorGridlines/MinorGridlines،MinValue/MaxValue(NaN = خودکار)،MajorUnit/MinorUnit،CrossesAt،TickLblPosوDispUnits(واحدهای نمایش: صدها / هزارها / میلیونها / میلیاردها / تریلیونها) را عرضه میکند. همه به رفتار خودکار Excel پیشفرض میشوند، بنابراین نمودارهای موجود همان XML قبلی را صادر میکنند؛ نویسنده<c:logBase>،<c:orientation>،<c:majorGridlines>،<c:majorUnit>،<c:crossesAt>،<c:tickLblPos>و<c:dispUnits>را تنها وقتی فراخواننده یک مقدار غیرپیشفرض تنظیم کند اضافه میکند، و بازگشایی چنین نموداری هر تنظیمی را بازمیگرداند
نسخه 2.135.0
افزوده شد
- میلههای خطای نمودار اکنون روی موتور XLSX برنامهپذیر و round-trip هستند: هر
TXLSXChartSeriesAddErrorBar(dir)را بهدست میآورد که یکTXLSXChartErrBarباValueType(ثابت / درصد / stdDev / stdErr / سفارشی)،Value،PlusValue/MinusValue(سفارشی) وNoEndCapبرمیگرداند؛ یک اسلات میله خطا به ازای هر جهت (X / Y) ذخیره میشود، نویسنده بلوک منطبق<c:errBars>را صادر میکند و بازگشایی جهت، نوع و بزرگی را بازمیگرداند تا نمودارهای علمی / مهندسی نشانگرهای عدمقطعیت خود را حفظ کنند
نسخه 2.134.0
افزوده شد
- برچسبهای داده نمودار اکنون روی موتور XLSX برنامهپذیر و round-trip هستند: هر
TXLSXChartSeriesویژگیهایShowValue،ShowCategoryName،ShowSeriesName،ShowLegendKey،ShowPercent،ShowBubbleSizeوSeparatorرا بهدست میآورد که بلوک منطبق<c:dLbls>با فرزندان<c:show*/>آن را صادر میکنند؛ بازگشایی چنین نموداری کلیدها را بازمیگرداند تا تنظیمات «show value» / «show percent» یک چرخه ذخیره-ویرایش-ذخیره را زنده بمانند
نسخه 2.133.0
افزوده شد
- قالبهای تصویر برداری EMF و WMF اکنون انواع تصویر درجه یک روی موتور XLSX هستند:
TXLSXImageFormatxlsxImageEmf/xlsxImageWmfرا بهدست میآورد، نویسنده انواع محتوای منطبقimage/x-emf/image/x-wmfو پسوندهای.emf/.wmfرا صادر میکند، و تشخیصدهنده قالب سرصفحههای EMF (01 00 00 73)، WMF قابلقراردهی (D7 CD C6 9A) و WMF استاندارد را تشخیص میدهد — بنابراین تصاویری که از Word یا PowerPoint جایگذاری شدهاند و اکسل آنها را بهصورت داده برداری جاسازی میکند اکنون رفت و برگشت دارند به جای آنکه رها شوند
رفع اشکال
- زیرجریانهای نمودار BIFF8 که رکورد GELFRAME آنها (
$1066) از مرز ادامه 8224 بایتی فراتر میرود دیگر هندسه پرکردن/خط را از دست نمیدهند: خواننده اکنون خود-ادامه GELFRAME را میپذیرد (اکسل به جای CONTINUE استاندارد$003Cیک$1066دیگر مینویسد) و همچنین به رکوردهای CONTINUE استاندارد اجازه میدهد درون زمینه نمودار دوخته شوند که با ارسال چندتکهای موجود نویسنده مطابقت دارد - تصاویر پسزمینه سرصفحه/پاصفحه BIFF8 (
$0866) که محموله آنها در سراسر رکوردهای ادامه امتداد دارد دیگر خراب نمیشوند: هر بخش ادامه یک سرصفحه 14 بایتی MSO را تکرار میکند که خواننده اکنون پیش از الحاق آن را حذف میکند، بنابراین داده تصویر جاسازیشده دیگر به ازای هر بخش 14 بایت شیفت نمیکند
نسخه 2.132.19
رفع اشکال
- پاکسازی ذخیرهسازی XLS قدیمی و XLSX رمزگذاریشده اکنون جریانهای فایل مرکب را بهصورت قطعی آزاد میکند که مانع از قفل ماندن فایلهای موقت پس از عملیات ذخیره، بارگذاری، VBA یا بسته رمزگذاریشده میشود
- نمایش قالببندیشده مقادیر متغیر عدد صحیح توسعهیافته اکنون قالب عددی درخواستشده را بهطور سازگار اعمال میکند که با رفتار موجود برای مقادیر عدد صحیح استاندارد مطابقت دارد
- رشتههای مشترک، اعتبارسنجی داده، برگههای نمودار، آرشیوهای ZIP، رسم PNG و فرمولهای متن تکراری اکنون بافرهای موقت را در طول مسیرهای خطا و عملیات متن بزرگ بهطور تدافعیتری پاکسازی میکنند
نسخه 2.132.18
رفع اشکال
- انتساب مقدار سازنده رشته داخلی اکنون هنگام انتساب یک رشته خالی متن قبلی را پاک میکند که از بافرهای متن و XML استفادهمجددشده در نگهداری محتوای کهنه جلوگیری میکند
نسخه 2.132.17
رفع اشکال
- ایجاد برگ نمودار XLS اکنون نامهای برگ منبع داخل گیومه حاوی علامت تعجب را میپذیرد، مراجع ردیف بسیار بزرگ را قبل از آنکه به یک ردیف BIFF معتبر سرریز شوند رد میکند و نامهای راهنمای خط روند را به حد متن کوتاه BIFF محدود میکند تا رکوردهای نمودار تولید شده خوشساخت باقی بمانند
نسخه 2.132.16
رفع اشکال
- لیستهای داخلی کلید-رشته و کلید-شیء اکنون هنگام بازنویسی یک جایگاه موجود، کلیدهای جستجوی قدیمی را حذف میکنند که مانع از ارجاع کلیدهای قدیمی به ورودیهای جایگزین میشود
- جایگزینیهای داخلی لیست-شیء و حافظههای پنهان کلید یکتای تبدیلشده اکنون ورودیهای تحت مالکیت را در هنگام بازنویسی، پاکسازی و تخریب آزاد میکنند که از نشت حافظه در طول عملیات مکرر کارپوشه و سبک جلوگیری میکند
نسخه 2.132.15
رفع اشکال
- خواندنهای جریانی مستقیم XLSX اکنون سلولهای منطقی را که مقادیر تحتاللفظی OOXML مانند true و false را ذخیره میکنند رمزگشایی میکنند
- بهروزرسانیهای شاخص داخلی لیست-رشته اکنون هنگام بازنویسی یک جایگاه موجود، کلیدهای قدیمی را حذف میکنند که مانع از ارجاع نامهای قدیمی به مقدار جدید میشود
نسخه 2.132.14
رفع اشکال
- پیامهای راهنما و خطای اعتبار سنجی دادههای BIFF8 که اولین نویسه آنها NUL است اکنون به جای نوشتن طول DV نامتقارن، مرزهای رکورد را حفظ میکنند
نسخه 2.132.13
رفع اشکال
- تجزیه متن XML اکنون شروع موجودیتهای تودرتو مانند && را رد میکند، به جای اینکه موجودیت ناقص را بدون هیچ پیامی نادیده بگیرد
- فرمولهای دیکامپایلشده اکنون ثابتهای عددی را با یک جداکننده اعشاری نقطهای مستقل از سیستم مینویسند تا متن فرمول در تنظیمات منطقهای مختلف قابل انتقال باقی بماند
نسخه 2.132.12
رفع اشکال
- شفافیت پالت PNG اکنون رنگهای شفافی را که در پالت تصویر وجود ندارند نادیده میگیرد، به جای اینکه یک شاخص پالت دلخواه را به عنوان شفاف علامتگذاری کند
- فرمولهای SUMPRODUCT اکنون اسکن ردیفهای باقیمانده را پس از اولین ردیف خارج از محدوده استفاده شده در آرگومانهای محدوده طولانی متوقف میکنند که ضمن حفظ نتیجه محاسبهشده، از خواندن غیرضروری سلولها جلوگیری میکند
نسخه 2.132.11
رفع اشکال
- فرمولهای TEXT اکنون وقتی یک قالب عددی نامعتبر یا بیش از حد بزرگ قابل اعمال نباشد، #VALUE! را برمیگردانند، به جای اینکه به عنوان یک نتیجه موفق خالی نادیده گرفته شوند
- کوتاهسازی جدول رشتههای مشترک اکنون بلوکهای انتهایی صحیح را آزاد میکند و جدول را پس از چرخههای حذف بزرگ، قابل استفاده مجدد نگه میدارد
نسخه 2.132.10
رفع اشکال
- جستجوهای دقیق MATCH اکنون از نویسههای عمومی (wildcard) اکسل پشتیبانی میکنند، و فرادادههای آفست ردیف کلاسیک XLS اکنون ردیفهای خارج از بلوک را نادیده میگیرند به جای اینکه ساختار کارپوشه ذخیره شده را خراب کنند
- فرادادههای متنی فشردهشده PNG اکنون در صورت بروز خطا در پردازش بخشها (chunk)، بافرهای موقت را به صورت ایمن آزاد میکنند
نسخه 2.132.9
رفع اشکال
- فرادادههای متنی فشردهشده PNG، درج در لیست بخشها (chunk) و مدیریت ترتیب بایت CRC اکنون در تمام پلتفرمهای پشتیبانیشده ویندوز پایدار باقی میمانند
نسخه 2.132.8
رفع اشکال
- فرمولهای LEFT و RIGHT اکنون وقتی num_chars نتواند به یک عدد صحیح معتبر تبدیل شود، #VALUE! را گزارش میکنند
نسخه 2.132.7
رفع اشکال
- فرمولهای SEARCH اکنون از نویسههای عمومی (wildcard) سبک اکسل شامل ?، * و ~ پشتیبانی میکنند
- اعتبار سنجی نام کاربرگ اکنون هنگام تغییر نام برگها، نویسههای نامعتبر برای نام برگ اکسل را رد میکند
- حذف دستی شکست صفحه اکنون پس از درج یک شکست قبل از شکستهای موجود به درستی کار میکند
نسخه 2.132.6
رفع اشکال
- فرمولهای DATE اکنون با رفتار انتقال ماه و روز سازگار با اکسل مطابقت دارند، از جمله فراخوانیهایی مانند DATE(2008,14,2)
- خواندنهای ویژگی Hidden محدوده ستون اکنون وضعیت دید هر ستون را به جای ترکیب با وضعیت دید ردیف گزارش میکنند
- فراداده ردیف BIFF در محدودیت ردیف اکسل 97-2003 اکنون به درستی بارگذاری میشود تا تنظیمات ردیف 65536 حفظ شوند
نسخه 2.132.5
رفع اشکال
- بارگذاری کارپوشه BIFF اکنون رنگهای زبانه کاربرگ نامعتبر، برچسبهای محوری بریدهشده و بخشهای تاریخ حافظه پنهان محوری نامعتبر را بدون ایجاد استثنا تحمل میکند
- بارگذاری بسته و جریان کارپوشه اکنون مسیرهای ناموفق راهاندازی آرشیو و ذخیرهسازی را با سازگاری بیشتری پاکسازی میکند تا از نشت منابع در صورت ورودی نامعتبر یا باز نشدن ذخیرهسازهای مبتنی بر جریان جلوگیری شود
نسخه 2.132.4
رفع اشکال
- مدیریت آرشیو ZIP اکنون قبل از استفاده مجدد از همان شیء آرشیو برای بستهای دیگر، بسته فعلی را نهایی میکند، و باز کردن آرشیو مبتنی بر فایل اکنون به خوانندگان مشترک همزمان اجازه دسترسی میدهد
نسخه 2.132.3
رفع اشکال
- نوشتن بسته کارپوشه اکنون نامهای ورودی غیر ASCII در ZIP را با فرادادههای UTF-8 حفظ میکند، تا از به هم ریختن متون (mojibake) در صورتی که نام بخشهای بسته شامل متن یونیکد باشد جلوگیری کند
- خروجی XML اکنون وقتی نویسههای گریز (escaping) غیرفعال است، متن خام و مقادیر صفتها را به عنوان بایتهای UTF-8 مینویسد که با کدگذاری اعلامشده سند مطابقت دارد
- ارزیابی فرمول اکنون پس از رخ دادن استثناهای فراخوانی، وضعیت در حال اجرای خود را پاک میکند و لغو عددهای بزرگ را در نسخههای یونیکد دلفی به درستی مدیریت میکند
- استخراج ماتریس فرمول آرایهای اکنون کرانهای پایین غیر صفر آرایه Variant را رعایت میکند، به جای اینکه برای آرایههای معتبر مبتنی بر یک خطا ایجاد کند
نسخه 2.132.2
تغییر کرد
- مرتبسازی محدوده اکنون از یک مرحله مرتبسازی پایدار O(n log n) برای محدودههای مرتبشده بزرگ استفاده میکند، در حالی که رفتار رفت و برگشت محتوای ردیف موجود را حفظ میکند
- تجزیه و قالببندی عددی ODS و XLSX اکنون از وضعیت قالببندی ثابت مجدداً استفاده میکنند، به جای اینکه آن را در مسیرهای بحرانی به طور مکرر ایجاد کنند
رفع اشکال
- تجزیه XML اکنون بلوکهای معتبر CDATA و دستورالعملهای پردازش UTF-8 را بدون خراب کردن متن یا شکست در نشانهگذاریهای معتبر میپذیرد
- تجزیه فرمول اکنون نماد علمی علامتدار را میپذیرد و بایتهای فرمول خراب یا ناقص را به طور کامل رد میکند
- مسیرهای باز کردن و ذخیره کارپوشه کلاسیک اکنون پس از بروز خطا، جریانها و ذخیرهسازها را به طور قابل اطمینانی آزاد میکنند که مانع از قفل ماندن فایلهای موقت میشود
- مدیریت بافر باینری اکنون مرزهای کپی و خواندن را اعتبار سنجی میکند، بافرهای مقصد را قبل از کپی کردن بزرگتر میکند و مراجع برگشتی نامعتبر فشردهسازی VBA را به طور کامل رد میکند
نسخه 2.132.1
رفع اشکال
- پیام خطای ایجاد شده در هنگام استفاده کارپوشه رمزگذاریشده از طرح رمزگذاری پشتیبانینشده اصلاح شد: پیش از این ادعا میشد که رمزگذاری ECMA-376 Agile قابل خواندن نیست، اگرچه رمزگشایی Agile (نسخههای AES-128/192/256) از نسخه 2.119.0 پشتیبانی میشده است؛ پیام اکنون طرحهایی را که در واقع پشتیبانی میشوند لیست میکند
- تابع Open اکنون هنگام رد کردن یک بسته OOXML رمزگذاریشده، فراخوانها را به TXLSXWorkbook.OpenEncrypted ارجاع میدهد، به جای اینکه اعلام کند کارپوشههای رمزگذاریشده پشتیبانی نمیشوند
نسخه 2.132.0
تغییر کرد
- بارگذاری XLSX به طور قابل توجهی سریعتر است: خواننده XML اکنون نام عناصر تکراری را یکتاسازی (intern) میکند و مقادیر متن و صفت را مستقیماً از بافر اسکن خود تبدیل میکند که تخصیص حافظه به ازای هر سلول را به بیش از نصف کاهش میدهد؛ باز کردن چند نخی (نسخه 2.128.0) بیشترین بهره را میبرد — تخصیصهای حذفشده مواردی بودند که نخهای کاری را سریالی میکردند — به طوری که کارپوشههای چند برگی اکنون در سیستمهای چند هستهای تقریباً دو برابر سریعتر از مسیر تک نخی باز میشوند؛ باز کردن تک نخی نیز چند درصد بهبود یافته است
نسخه 2.131.0
افزوده شد
- بخشهای پسوند کاربرگ که HotXLS آنها را مدلسازی نمیکند — ورودیهای
<ext>در<extLst>یک کاربرگ غیر از نمودارهای درونسلولی (sparklines)، که توسط اکسل برای ویژگیهایی مانند قالببندی شرطی x14 یا اسلایسرها نوشته شدهاند — اکنون هنگام باز شدن کارپوشه عیناً حفظ میشوند و در هنگام ذخیره مجدد بازنویسی میشوند، بنابراین باز کردن و ذخیره مجدد یک فایل دیگر این پسوندها را حذف نمیکند؛ بخشهای ضبطشده به صورت فقط خواندنی از طریقWorksheet.RawWorksheetExtsقابل مشاهده هستند و در هنگام کپی شدن برگ به کارپوشهای دیگر، همراه آن منتقل میشوند
نسخه 2.130.0
افزوده شد
- کارپوشههای ذخیرهشده حاوی فرمول اکنون بخش زنجیره محاسباتی
xl/calcChain.xmlرا به همراه دارند، که به اکسل اجازه میدهد موتور وابستگی خود را از روی ترتیب ثبتشده مقداردهی اولیه کند به جای اینکه آن را در هنگام بارگذاری مجدداً بسازد؛ پس از فراخوانیRecalculate، زنجیره از ترتیب توپولوژیکی نمودار وابستگی پیروی میکند؛ در غیر این صورت سلولهای فرمول به ترتیب سند لیست میشوند (یک راهنمای معتبر که اکسل در حین کار آن را اصلاح میکند)؛ این بخش، نوع محتوای آن و رابطه کارپوشه مربوط به آن با هم صادر میشوند و در چرخههای رفت و برگشت باز کردن/ذخیره حفظ میشوند
نسخه 2.129.0
افزوده شد
- ویژگی جدید
Workbook.ParallelParseThreadsتعداد نخهای کاری را برای مسیر باز کردن چند نخی معرفیشده در نسخه 2.128.0 تنظیم میکند (0 = خودکار، یک نخ کاری به ازای هر هسته پردازنده)؛ تجزیه کاربرگ تخصیص حافظه سنگینی دارد و تخصیص حافظه در بین نخها به صورت سریالی انجام میشود، بنابراین در برخی از بارهای کاری، یک حد صریح کوچک به اندازه کل تعداد هستهها — یا بهتر از آن — عمل میکند؛ این ویژگی به توسعهدهندگان یکپارچهساز اجازه میدهد تا آنچه را که برای فایلهایشان بهترین نتیجه را دارد انتخاب کنند
نسخه 2.128.0
افزوده شد
- بارگذاری چند نخی XLSX: باز کردن یک کارپوشه اکنون XML هر کاربرگ را — که هزینه اصلی در فایلهای بزرگ است — روی نخهای کاری تجزیه میکند، بنابراین کارپوشههای چند برگی در سیستمهای چند هستهای سریعتر باز میشوند؛ بخشهای برگ از قبل از بسته استخراج میشوند و هر نخ کاری فقط با برگ خود کار میکند، بنابراین کارپوشه بارگذاری شده با نتیجه سریالی یکسان است
- ویژگی جدید
Workbook.ParallelParse(پیشفرضTrue) وقتی قبل ازOpenرویFalseتنظیم شود، به تجزیه تک نخی بازمیگردد — یک گزینه انصراف تکخطی برای محیطهای محدود
تغییر کرد
- فراخوانی برگشتی خواندن
OnProgressهنوز هم به ازای هر کاربرگ یک بار روی نخ فراخوان اجرا میشود، اکنون به جای اینکه دقیقاً بین برگها باشد، هنگام ارسال هر برگ برای تجزیه اجرا میشود
نسخه 2.127.0
افزوده شد
- محاسبه مجدد تدریجی در موتور XLSX: متد جدید
Workbook.Recalculateیک نمودار وابستگی فرمول میسازد، هر سلول فرمول را یک بار به ترتیب وابستگی ارزیابی میکند و هر نتیجه را در مقدار ذخیرهشده سلول ذخیره میکند؛ فراخوانیهای بعدی فقط سلولهایی را ارزیابی مجدد میکنند که از آخرین مرحله تحت تأثیر تغییرات مقدار قرار گرفتهاند — در مدلهای زنجیرهای (برگهای مالی، آبشارهای گزارش) ویرایش یک ورودی به جای کل کارپوشه، فقط فرمولهای پاییندستی آن را مجدداً محاسبه میکند - توابع فرار (
NOW،TODAY،RAND،OFFSET،INDIRECT) در هر مرحله مجدداً محاسبه میشوند، همانطور که فرمولهایی که مراجع آنها به طور ایستا قابل حل نیستند (نامهای چند ناحیهای، کارپوشههای خارجی) چنین میشوند — موتور به جای به خطر انداختن نتیجه قدیمی، بیش از حد محاسبه مجدد انجام میدهد - حلقههای مرجع به جای حلقه زدن بینهایت شناسایی میشوند:
Recalculateهنگامی که فرمولها یک زنجیره حلقوی تشکیل میدهند یک کد خطا برمیگرداند، اعضای حلقه را نادیده میگیرد و همچنان هر فرمول خارج از حلقه را ارزیابی میکند؛ مراجع بین برگی، محدودههای نامگذاریشده و فرمولهای آرایهای CSE (که نتایج آنها در محدوده مهارشده سرریز میشوند) به طور کامل در نمودار وابستگی شرکت میکنند
تغییر کرد
- مسیر موجود برحسب تقاضای
Calculateبدون تغییر باقی مانده است؛Recalculateیک API جداگانه اختیاری است و کارپوشههایی که هرگز آن را فراخوانی نمیکنند دقیقاً مانند قبل رفتار میکنند
نسخه 2.126.0
افزوده شد
- نمودارهای درونسلولی (Sparklines) در موتور XLSX: کاربرگها اکنون شامل گروههای نمودار درونسلولی هستند — نمودارهای کوچک درونسلولی که اکسل از یک محدوده داده رندر میکند — با سه نوع اکسل (خطی، ستونی، برد/باخت)؛ یکی از آنها را با
Worksheet.AddSparklineGroupایجاد کنید یا گروهها را به صورت دستی از طریق مجموعه جدیدWorksheet.SparklineGroupsبسازید، با افزودن هر تعداد نمودار درونسلولی در هر گروه که هر کدام دارای یک محدوده منبع و یک سلول نمایش باشند - گروههای نمودار درونسلولی مجموعه کاملی از گزینههای ارائهشده توسط اکسل را در اختیار میگذارند: ضخامت خط، نشانگرهای نقاط داده، سوئیچهای تأکید بر نقطه بالا/پایین/منفی/اول/آخر، هشت جایگاه رنگ ARGB (سری، منفی، محور، نشانگرها، اول، آخر، بالا، پایین)، مقیاسگذاری محور عمودی برای هر گروه یا هر نمودار درونسلولی، و مدیریت فاصله/صفر/بازه برای سلولهای منبع خالی
- نمودارهای درونسلولی در یک چرخه کامل ذخیره و باز کردن حفظ میشوند: ذخیره کردن، بخش پسوند
extLstکاربرگ ([MS-XLSX] §2.3.6) را صادر میکند تا اکسل 2010 و نسخههای بعدی نمودارهای درونسلولی را رندر کنند، و باز کردن چنین کارپوشهای — چه توسط HotXLS نوشته شده باشد و چه توسط اکسل — هر گروه، گزینه و محدوده را بازسازی میکند تا در چرخههای ویرایش پایدار بمانند؛ کپی کردن یک برگ به کارپوشه دیگر نیز گروههای نمودار درونسلولی آن را شبیهسازی میکند
نسخه 2.125.0
افزوده شد
- هفت تابع متنی شمارش بایت DBCS از تجزیه و تحلیل شکاف XLSSuit اکنون در هر دو موتور ارزیابی میشوند:
LEFTB،RIGHTB،MIDB،LENB،FINDB،SEARCHBوREPLACEB؛ هر کدام ورودی خود را به عنوان یک رشته بایتی تحت صفحه کد ANSI سیستم در نظر میگیرند، به طوری که نویسههای CJK (چینی/ژاپنی/کرهای) 2 بایت را اشغال میکنند در حالی که ASCII 1 بایت را اشغال میکند؛ عملیاتی که جفت بایت راهنما/دنباله DBCS را تقسیم میکنند، به نزدیکترین مرز نویسه باز میگردند که با رفتار اکسل مطابقت دارد
نسخه 2.124.0
افزوده شد
- پنج تابع توزیع و آزمون فرضیه از تجزیه و تحلیل شکاف XLSSuit اکنون در هر دو موتور ارزیابی میشوند:
Z.TEST(احتمال یکطرفه دم راست که میانگین نمونه تحت فرضیه صفر حداقلxباشد)،T.TEST(مقدار p-value آزمون تی دو نمونهای زوجی؛ انواع واریانس برابر/نابرابر غیرزوجی به تعویق افتادهاند)،CHISQ.TEST(مقدار p-value نیکویی برازش از طریق CDF کای-دو دم بالا)،HYPGEOM.DIST(PMF/CDF فوقهندسی با پرچم انباشتگی) وNEGBINOM.DIST(PMF/CDF دوجملهای منفی)؛ محاسبات ریاضی p-value از کمککنندههای موجود CDF نرمال/تی-استیودنت/کای-دو موتور از طریق روالهای تودرتوی مستقل مجدداً استفاده میکند، بنابراین هیچکدام از متدهای Calc موجود تغییر نمیکنند
نسخه 2.123.0
افزوده شد
- چهارده تابع فرمولی که مقایسه با XLSSuit آنها را به عنوان شکاف شناسایی کرده بود، اکنون در هر دو موتور ارزیابی میشوند:
AVERAGEIF(میانگین تکمعیاره، همتای SUMIF/COUNTIF که موتور فاقد آن بود)،WORKDAY.INTLوNETWORKDAYS.INTL(ماسکهای دلخواه آخر هفته از طریق کدهای عددی 1-17 یا یک رشته 7 نویسهای دوشنبه-یکشنبه)،XIRRوXNPV(نرخ بازده داخلی و ارزش فعلی خالص برای جریانهای نقدی با تاریخهای غیرمنظم، حلشده با روش تنصیف محصورکننده)،CEILING.PRECISE/FLOOR.PRECISE/ISO.CEILING(گرد کردن بدون در نظر گرفتن علامت)،PERCENTRANK.INC/PERCENTRANK.EXC(رتبه صدک با درونیابی شاملشونده/انحصارشونده مطابقتیافته)،MODE.MULT(هر مقداری را که در بالاترین فراوانی با هم برابر هستند سرریز میکند)،ERF.PRECISE(تابع خطای گاوس از طریق سری متناوب آن)،ACCRINT(بهره انباشته) وISPMT(بهره دوره برای استهلاک اصل سرمایه ثابت)
نسخه 2.122.0
افزوده شد
- کامنتهای رشتهای (اکسل 365) اکنون در موتور XLSX رفت و برگشت کاملی دارند: توابع
AddThreadedCommentوAddThreadedReplyدر یک کاربرگ، یک درخت پاسخ والد-فرزند مهارشده در یک سلول ایجاد میکنند، به طور خودکار هر نویسنده را در یک لیست جدیدPersonsدر سطح کارپوشه ثبت میکنند، و بخش اختصاصیxl/threadedComments/threadedCommentN.xmlرا به ازای هر برگ به همراهxl/person/person.xmlدر محدوده کارپوشه صادر میکنند؛ باز کردن مجدد چنین بستهای درخت گفتگو و لیست شرکتکنندگان را از روی آن بخشها بازسازی میکند، به طوری که زنجیرههای پاسخ، شناسهها و نامهای نمایشی در یک چرخه کامل خواندن و نوشتن حفظ میشوند
نسخه 2.121.0
افزوده شد
- ارزیاب فرمول اکنون توابع آرایه پویا اکسل 365 یعنی
XMATCH،SORT،UNIQUEوSEQUENCEرا با پیوستن به توابع از قبل پشتیبانیشدهXLOOKUPوFILTERمحاسبه میکند؛ نتایج به صورت آرایههای دو بعدی سرریز میشوند به طوری کهSEQUENCE(3;2;1;1)یک شبکه 3×2 را برمیگرداند،SORTردیفها را بر اساس هر ستون کلیدی به صورت صعودی یا نزولی مرتب میکند،UNIQUEردیفهای تکراری را جمع کرده و اولین وقوع را نگه میدارد، وXMATCHموقعیت مبتنی بر یک مقدار جستجو شده را با همان حالتهای مطابقت دقیق/نویسه عمومی (wildcard)/کوچکترین بعدی/بزرگترین بعدی مانندXLOOKUPگزارش میکند
نسخه 2.120.0
افزوده شد
- متد جدید
PasteFromClipboardدر کاربرگهای هر دو موتور، متن جداشده با تب را از کلیپبورد ویندوز میخواند — دادهای که اکسل هنگام کپی کردن یک محدوده در آنجا قرار میدهد، یا یک انتخاب ساده از هر برنامه دیگر — و آن را در سلولهایی که از ردیف و ستون دادهشده شروع میشوند مینویسد، با همان ارتقاء نوع عدد/تاریخ/بولین که بارگذار CSV از قبل استفاده میکند؛ متنهایی که با=شروع میشوند به یک فرمول زنده تبدیل میشوند که با نحوه چسباندن خود اکسل مطابقت دارد
نسخه 2.119.0
افزوده شد
- خواندن رمزگذاری ECMA-376 Agile Encryption — محافظت با گذرواژه که اکسل 2010 و نسخههای بعدی به طور پیشفرض اعمال میکنند: تابع
OpenEncryptedاکنون توصیفگر رمزگذاری XML را تجزیه میکند، کلیدها را با درهمسازی تعداد چرخش SHA-512 استخراج میکند، گذرواژه را تأیید میکند و بسته بخشبندیشده AES-CBC (نسخههای AES-128/192/256) را رمزگشایی میکند، به طوری که کارپوشههای محافظتشده با گذرواژه مستقیماً در اکسل بدون نیاز به نصب اکسل باز میشوند - تابع
OpenEncryptedهر سه حالت را از طریق یک نقطه ورود مدیریت میکند:.xlsxساده بدون رمزگذاری، رمزگذاری استاندارد (چرخه رفت و برگشتSaveAsEncryptedما) و رمزگذاری Agile؛ یک گذرواژه اشتباه، در هر طرح خطای واضح یکسانی ایجاد میکند
رفع اشکال
- ذخیره کردن یک کارپوشه
.xlsxکه حجم XML کاربرگ آن از حدود 116 کیلوبایت — تقریباً 3000 ردیف از دادههای رشتهای معمولی — فراتر میرفت، با سرریز پشته متوقف میشد؛ چکسام CRC-32 نویسنده ZIP اکنون دادهها را در بخشهای 64 کیلوبایتی پردازش میکند که باعث میشود بخش پشتیبانی فشردهسازی از مسیر کد ورودی بزرگ خود که یک بافر موقت بیش از حد بزرگ را روی پشته تخصیص میدهد دور بماند؛ نتیجه چکسام بدون تغییر است
تغییر کرد
- حذف تکرار رشتههای مشترک اکنون به جای اسکن کردن لیست رشتهها، از طریق یک جدول هش انجام میشود، و بخش
sharedStrings.xmlبه جای الحاق مکرر، از طریق سازنده رشته پیشبزرگشده مونتاژ میشود — این امر همراه با شاخص زمان ثابت سلول، زمان ذخیره 120000 سلول رشتهای را از دهها ثانیه به حدود یکسوم ثانیه کاهش میدهد
نسخه 2.117.0
تغییر کرد
- دسترسی به سلول XLSX اکنون با زمان ثابت انجام میشود: مجموعه سلول کاربرگ یک شاخص هش روی (ردیف، ستون) را حمل میکند که پویش خطی قبلی را جایگزین میکند — بنابراین پر کردن، خواندن مجدد یا بارگذاری یک برگه بزرگ بهجای درجه دوم، بهطور خطی با تعداد سلول مقیاس میشود؛ پر کردن 100000 سلول اکنون بهطور قابل توجهی کمتر از یک ثانیه طول میکشد در حالی که قبلاً چند دقیقه طول میکشید
- این تسریع در سراسر موتور اعمال میشود:
Cells[r, c]،HasCell، بارگذاری کارپوشه، ذخیرهسازی، کپیهای بینکارپوشهای، auto-fit و هر کمکی که سلولها را بر اساس موقعیت لمس میکند همگی بهره میبرند؛ درج یا حذف ردیف و ستون شاخص را در یک گذر بازسازی میکند
نسخه 2.116.0
افزوده شد
- صادرات PDF در موتور کلاسیک XLS: متدهای جدید
SaveAsPDFروی کاربرگ و کارپوشه محدوده استفادهشده (یا محدودهای که فراخوان از طریقTXLSPDFExportفراهم کرده) را بهصورت یک شبکه صفحهبندیشده رندر میکنند — متن نمایش سلول از طریق قالب عددی، خطوط شبکه، عرض ستونهای مشتق از عرضهای اکسل و مقیاسشده برای جا شدن در صفحه، و صفحهبندی خودکار چندصفحهای - خروجی یک فایل PDF 1.4 خودکفا بدون وابستگیهای خارجی است که از فونت داخلی Helvetica با رمزگذاری متن WinAnsi استفاده میکند؛ جهت A4 عمودی یا افقی، حاشیه صفحه و اندازه فونت روی صادرکننده قابل پیکربندی هستند
- این یک صادرات ارائه داده در کنار HTML و RTF است: محتوا و چیدمان جدولی را برای گزارشها و تحویل سند بازتولید میکند به جای قالببندی کامل به ازای هر سلول
نسخه 2.115.0
افزوده شد
- ایجاد نمودار با یک فراخوان از یک محدوده داده در موتور XLSX:
AddChartFromRangeجدید یک نمودار کامل میسازد و سریهای آن را بهطور خودکار از یک بلوک داده مستطیلی استخراج میکند — معادل «درج نمودار از انتخاب» اکسل — با چیدمان سریها در ستونها یا سریهای منتقلشده در ردیفها - میانبرهای نامگذاریشده
AddColumnChart،AddBarChart،AddLineChart،AddPieChartوAddAreaChartنوع نمودار را بر اساس نام در همان جریان یکفراخوانی انتخاب میکنند، نام سریها را از ردیف سرصفحه و برچسبهای دسته را از نخستین ستون میخوانند - بهروزرسانی: مراجع سری با نام داخل گیومه برگ منبع صفتدهی میشوند، بنابراین نمودار تولیدشده هنگام قرار گرفتن روی هر برگ به کار خود ادامه میدهد و از ذخیره و بارگذاری مجدد جان سالم به در میبرد
نسخه 2.114.0
افزوده شد
- وارد کردن RTF در موتور کلاسیک XLS، معکوس صادرات
SaveAsRTFموجود: متدهای جدیدOpenRTFروی کاربرگ و کارپوشه جدول یک سند RTF را در سلولهای کاربرگ میخوانند —\cellستون را پیش میبرد،\rowردیف را پیش میبرد — از A1 آغاز میشود - بهروزرسانی: دادههای جدولی را از فایلهایی که با
SaveAsRTF، Word یا WordPad تولید شدهاند بازیابی میکند: متن عددی بهصورت عدد ذخیره میشود تا فرمولها به کار خود ادامه دهند، گریزهای هگز (\'hh) و یونیکد (\uN) بهدرستی رمزگشایی میشوند، و گروههای سرصفحه (جدول فونت، جدول رنگ، stylesheet، info) نادیده گرفته میشوند - سندهای بدون جدول به حالت پاراگراف بازمیگردند و هر
\parرا بهعنوان ردیف بعدی در ستون A وارد میکنند
نسخه 2.113.0
افزوده شد
- خواندن کارپوشههای رمزگذاریشده
.xlsx: تابعOpenEncryptedاکنون بستههای رمزگذاری استاندارد ECMA-376 (AES-128) را رمزگشایی میکند و چرخه رفت و برگشت را باSaveAsEncryptedموجود کامل میکند — کانتینر فایل مرکب را میخواند، کلید را از گذرواژه استخراج میکند، آن را تأیید میکند و کارپوشه بازیابیشده را بارگذاری میکند - یک گذرواژه اشتباه خطای واضح «گذرواژه نادرست است» ایجاد میکند و تابع
OpenEncryptedروی یک فایل.xlsxساده بدون رمزگذاری همچنان آن را مستقیماً بارگذاری میکند، تا فراخوانها بتوانند هر فایلی را از یک نقطه ورود عبور دهند
تغییر کرد
- بهروزرسانی: پیام رمزگذاری پشتیبانینشده اکنون بهطور خاص رمزگذاری Agile ECMA-376 را بهعنوان طرح پشتیبانینشده باقیمانده نام میبرد، از آنجا که خواندن و نوشتن رمزگذاری استاندارد هر دو در دسترس هستند
نسخه 2.112.0
افزوده شد
- ویژگی جدید
TaggedTextروی سلولهای XLSX بین متن غنی و نشانهگذاری سبک تبدیل میکند:<b>،<i>،<u>،<s>،<sub>،<sup>،<color=#RRGGBB>،<font=Name>و<size=N>، با گریزهای</>/&— تا محتوای سلول چندقالبی را بتوان از یک قالب String به جای مونتا دستی اشیاء اجرایی تولید کرد - نوشتن نشانهگذاری فهرست اجرایی را میسازد و
Valueرا بهعنوان متن ساده الحاقشده نگه میدارد؛ نشانهگذاری بدون تگها یک String ساده بدون محموله غنی ذخیره میکند؛ خواندن صفات هر اجرا را بهعنوان مجموعههای تگ کامل سریالی میکند؛ تگهای ناشناخته بهعنوان متن تحتاللفظی عبور میکنند
رفع اشکال
- یک اجرای متن غنی (rich-text run) که کاملاً از فضای خالی تشکیل شده (مثلاً یک فاصله سبکدار بین کلمات) اکنون از ذخیره و بارگذاری مجدد جان سالم به در میبرد؛ پیش از این فاصله هنگام بازگشایی مجدد فایل رها میشد
نسخه 2.111.0
افزوده شد
- رویداد جدید
OnProgressروی کارپوشه XLSX پیشرفت بارگذاری و ذخیره را گزارش میکند: این رویداد بهازای هر کاربرگ هنگامی که در طولOpenتجزیه یا در طولSaveAsصادر میشود یک بار شلیک میشود و فاز (خواندن یا نوشتن)، شماره برگ مبتنی بر ۱ فعلی و کل را حمل میکند — تا برنامهها بتوانند یک نوار پیشرفت را در طول عملیات چندبرگی طولانی با هزینه فراخوانی ناچیز هدایت کنند
نسخه 2.110.0
افزوده شد
- مکاننمای ردیف
TXLSRowCursorجدید به سبک dataset برای فایلهای.xlsx/.xlsm:Open،SelectSheet، سپسFindFirst/FindNextیک کاربرگ را یک ردیف در هر بار پیمایش میکنند و تنها سلولهای ردیف فعلی در حافظه هستند — جایگزینی کششی برای فراخوانیهایTXLSDirectReaderبرای پردازش متوالی برگههای چند میلیون ردیفی - هر ردیف شماره ردیف کاربرگ مبتنی بر ۱ خود، سلولهای پرشده را به ترتیب سند (مقدار نوعدار، متن فرمول، شاخص سبک) و یک جستجوی
ValueByColکه برای ستونهای پرنشده در آن ردیفNullبرمیگرداند را نمایش میدهد؛ ردیفهای بدون سلول پرشده نادیده گرفته میشوند - نام برگها و تعداد پس از
Openدر دسترس هستند (بارگذاریهای اضافی فایل و جریان)، با مدیریت رشتههای مشترک و تشخیص قالب تاریخ به همان شیء خواننده جریانی انجام میشود
نسخه 2.109.0
افزوده شد
TXLSXCellFormatجدید «قلممو قالب» برای موتور XLSX: فونت، پرکردن، کادر، تراز، قالب عدد و محافظت را یکبار توصیف کنید، سپس هر تعداد هدف را باApply(تک سلول)،ApplyRange،ApplyRows،ApplyColsیاApplySheetمهر کنید- فقط جنبههایی که واقعاً لمس شدهاند اعمال میشوند — قلممویی که فقط
Font.Boldرا تنظیم میکند، پرکردنها، کادرها و قالبهای عددی اهداف را دستنخورده میگذارد — بنابراین قلمموها با قالببندی موجود مانند قلممو قالب اکسل ترکیب میشوند - هر اعمال جنبههای لمسشده را یکبار در استخرهای سبک کارپوشه حل میکند و سپس تنها شاخصهای استخر را به ازای هر سلول مینویسد، تا قالببندی محدودههای بزرگ یک جستجوی استخر به ازای هر جنبه را به جای به ازای هر سلول هزینه دارد؛
ApplyRangeسلولهای مفقود را مادی میکند در حالی که فرمهای ردیف/ستون/برگ فقط سلولهای موجود را مهر میزنند
نسخه 2.108.0
افزوده شد
- متن نمایش بولی بومیسازیپذیر: متغیرهای جدید
XLSBooleanTrueText/XLSBooleanFalseTextنحوه رندر مقادیر سلول بولی را هرجا که متن نمایش تولید میشود کنترل میکنند —FormattedText، صادرات HTML و اندازهگیری auto-fit — تا برنامههای بومیسازیشده بتوانند مثلاً WAHR/FALSCH یا VRAI/FAUX را نمایش دهند
تغییر کرد
- بهروزرسانی: سلولهای بولی اکنون بهطور پیشفرض بهصورت
TRUE/FALSEنمایش داده میشوند که با شبکه اکسل مطابقت دارد، به جای بزرگنویسیTrue/Falseمحیط اجرایی
نسخه 2.107.0
افزوده شد
- رویداد جدید
OnPasswordروی کارپوشه کلاسیک XLS: هنگامی کهOpenبا کارپوشه رمزگذاریشده مواجه میشود و گذرواژه عرضهشده مفقود یا نادرست است، رویداد از برنامه یک گذرواژه میخواهد و باز کردن را دوباره امتحان میکند (تا سه تلاش) — تا ابزارهای تعاملی بتوانند به جای پیشبارگذاری گذرواژهها یا بازرسی کدهای خطا، از کاربر سؤال کنند - رویداد گذرواژه فعلی را با مرجع و یک پرچم
Retryدریافت میکند؛ باقی گذاشتنRetryرویFalseتسلیم میشود و خطای گذرواژه اصلی را برمیگرداند
نسخه 2.106.0
افزوده شد
- کلاس جدید
TXLSFileMonitorیک فایل کارپوشه را روی دیسک تماشا میکند و هنگامی که فرایند دیگری — معمولاً اکسل — روی آن ذخیره میکندOnFileChangedرا شلیک میکند، تا برنامهها بتوانند نما را بهطور خودکار بارگذاری مجدد و بازخوانی کنند - بهروزرسانی: مبتنی بر نظرسنجی (زمان آخرین نوشتن بهعلاوه اندازه،
IntervalMsقابل پیکربندی، پیشفرض 1 ثانیه)، تا بدون یک حلقه پیام به یک اندازه روی دیسکهای محلی و اشتراکهای شبکه کار کند؛SynchronizeEventبین تحویل در نخ اصلی برای کنترلکنندههای رابط کاربری (پیشفرض) و تحویل مستقیم در نخ تماشاگر برای کد کنسول یا سرویس یکی را انتخاب میکند - فایلی که در طول چرخه ذخیره بهطور گذرا ناپدید میشود یک رویداد کاذب شلیک نمیکند؛ تغییر هنگامی که محتوای جدید در جای خود قرار گرفت گزارش میشود
نسخه 2.105.0
افزوده شد
- auto-fit محدودشده در موتور کلاسیک XLS که با محدودیتهایی که موتور XLSX از قبل عرضه میکند مطابقت دارد: بارگذاریهای اضافی جدید
AutoFit(Columns, AMin, AMax)،ColumnsAutoFit(AMinWidth, AMaxWidth)وRowsAutoFit(AMinHeight, AMaxHeight)هر عرض ستون برازششده (واحدهای عرض اکسل) یا ارتفاع ردیف (نقطه) را به محدوده دادهشده محدود میکنند — 0 یک سمت را نامحدود میگذارد و یک ستون یا ردیف کاملاً خالی همچنان حداقل درخواستی را دریافت میکند
نسخه 2.104.0
افزوده شد
- ویژگی جدید فقط خواندنی
FormattedTextمتن نمایش سلول را برمیگرداند — مقدار ذخیرهشده رندرشده از طریق قالب عددی آن، به شیوهای که اکسل در شبکه نمایش میدهد — که جداسازهای هزارگان، اعشارها، درصدها، ماسکهای تاریخ و زمان، ماسکهای چندبخشی مثبت/منفی/صفر و قالبهای بولی را پوشش میدهد - در هر دو موتور در دسترس است: روی
IXLSRangeدر موتور کلاسیک XLS (محدودههای چندسلولی سلول لنگر خود را رندر میکنند) و رویTXLSXCellدر موتور XLSX (سلولهای متن غنی متن اجرایی الحاقشده خود را برمیگردانند)
نسخه 2.103.0
افزوده شد
- تابع جدید
DetectExcelContentFormat(بارگذاریهای اضافی نام فایل و جریان) کانتینر کارپوشه را از بایتهای آغازین آن بهجای پسوند فایل شناسایی میکند — یک فایل مرکب BIFF/OLE، یک بسته OOXML.xlsx، یک بسته OpenDocument.odsیا متن جدا شده ساده را گزارش میکند — تا برنامهها بتوانند فایلهای تغییرنامیافته یا بدون پسوند را به بارگذار درست هدایت کنند
تغییر کرد
- بهروزرسانی: تابع
TXLSWorkbook.Openاکنون امضای محتوا را میشمارد و بستههای مبتنی بر ZIP (یک.xlsxیا.odsتغییرنامیافته به.xls) را با یک پیام واضح که نام بارگذار درست را میبرد رد میکند، بهجای شکست با یک کد خطای مبهم - تابع
TXLSXWorkbook.Openاکنون محتوای فایل مرکب OLE (یک.xlsقدیمی تغییرنامیافته به.xlsx، یا یک بسته رمزگذاریشده) را تشخیص میدهد و گزارش میکند که فایل واقعاً چیست، بهجای نمایش یک خطای تجزیهکننده ZIP
نسخه 2.102.0
افزوده شد
- Cross-کارپوشه کاربرگ copy in the classic XLS (BIFF8) engine now brings the کارپوشه-level defined names a فرمول uses over to the destination — the same thing Excel does when a sheet moves between workbooks: a name the destination already has is bound as-is (no duplicate is created), a missing name is registered with its original definition and visibility so the فرمول recompiles against it, and a name whose definition cannot resolve in the destination (for example, it points at a sheet that does not exist there) leaves the فرمول on its computed مقدار as before
نسخه 2.101.0
افزوده شد
- Cross-کارپوشه کاربرگ copy in the classic XLS (BIFF8) engine now re-points formulas at the source کارپوشه as an external link when the destination has no sheet of the referenced name and the source has been saved to a فایل: the copied سلول stays a live فرمول (its references switch to the [SourceBook]Sheet form), the source's computed مقدار is kept as the cached result so reads keep working until the link is refreshed, and the external کارپوشه reference round-trips through save and reload; formulas carrying defined-name references, and copies from unsaved source workbooks, keep the computed مقدار as before
نسخه 2.100.0
افزوده شد
- Array formulas now survive کاربرگ copies in the classic XLS (BIFF8) engine: each array محدوده is rebuilt as a whole in the copy — within the same کارپوشه and across workbooks alike — with the root فرمول recompiled against the destination's sheet names; an array the destination cannot recompile keeps its computed values instead
رفع اشکال
- Copying a محدوده that contains array-فرمول cells between classic XLS worksheets no longer risks a crash on the spill cells (which carry no فرمول tree of their own); such cells now transfer their computed مقدار
نسخه 2.99.0
افزوده شد
- Chart sheets can now be copied between classic XLS (BIFF8) workbooks: the chart record stream is cloned into the destination, series category / مقدار / name references are recompiled against the destination's sheet names (a series whose sheet has no same-name counterpart falls back to an empty reference so the فایل still opens), chart font references migrate by مقدار into the destination font table, and the page setup, tab color, zoom, and visibility of the chart sheet come along; this removes the last documented limitation of the cross-کارپوشه کاربرگ copy
نسخه 2.98.0
افزوده شد
- Cross-کارپوشه کاربرگ copy in the classic XLS (BIFF8) engine now preserves rich-text formatting inside cells: each formatting run's font is migrated by مقدار into the destination کارپوشه's font table and the run is rewritten to point at it, so mixed-font strings keep their appearance instead of falling back to plain text; phonetic (Far-East) auxiliary data travels with the String as well
رفع اشکال
- Fonts referenced only by rich-text runs (and not by any سلول قالب) are no longer dropped from the FONT table when saving a classic XLS کارپوشه, and the runs now follow the same font reordering as سلول formats on save, so rich-text strings keep the correct fonts after a save/reload cycle
نسخه 2.97.0
افزوده شد
- Cross-کارپوشه کاربرگ copy in the classic XLS (BIFF8) engine now also clones embedded pictures: the image bytes migrate into the destination کارپوشه's picture store (identical images are shared rather than duplicated), and each picture frame keeps its سلول anchor, size, visibility, and transparent color; a new CrossWorkbookCopyXls sample project demonstrates the classic-engine copy end to end
تغییر کرد
- Classic XLS cross-کارپوشه copy limitations are now documented: chart sheets are not copied (AddCopy returns nil for them), and a فرمول whose sheet reference has no same-name sheet in the destination keeps the source's computed مقدار instead of becoming an external reference
نسخه 2.96.0
افزوده شد
- Cross-کارپوشه کاربرگ copy in the classic XLS (BIFF8) engine now also clones conditional formats (سلول-is and expression rules, data bars, color scales, icon sets, and their differential styles), data validations (list, numeric, date, text-length, and custom rules with prompt and error boxes), the AutoFilter definition with its per-ستون criteria (the dropdown buttons are rebuilt in the copy), and tables (ids and names are re-issued so they stay unique in the destination کارپوشه); rule formulas are recompiled against the destination's sheet names, matching the behavior of سلول formulas
نسخه 2.95.0
افزوده شد
- Classic XLS (BIFF8) worksheets can now be copied from one کارپوشه into another: TXLSWorksheets.AddCopy adds a new sheet to the destination کارپوشه and copies the source sheet's سلول values, formulas (re-encoded as text so the destination recompiles them against its own sheet names, keeping same-name 3D references live), merged cells, comments, hyperlinks, ردیف heights, ستون widths, outline levels, frozen panes, sheet protection, page setup, manual page breaks, tab color, and view settings; سلول, ردیف, and ستون formats are migrated by مقدار into the destination کارپوشه's قالب table, so a styled source produces an independently styled copy
- Cross-کارپوشه قالب migration in the classic XLS engine now carries the full-precision RGB and theme colors alongside each قالب entry, so fills, fonts, and borders keep their exact colors instead of falling back to palette approximations; this also applies to محدوده-level paste between workbooks
نسخه 2.94.0
افزوده شد
- Cross-کارپوشه کاربرگ copy now clones conditional formats (with their differential styles and the dataBar / colorScale / iconSet visual payloads), tables, data validations, and charts (with every series); each sub-شیء deep-copies its own state into the destination کاربرگ
- Cross-کارپوشه فرمول references are rewritten: a reference whose sheet name exists in the destination resolves as-is, otherwise it becomes an external reference back to the source کارپوشه (which is registered as an external link) or #REF! when the source has no فایل identity; the rewrite applies to سلول formulas, conditional-قالب rules, data-validation formulas, and chart series ranges alike
نسخه 2.93.0
افزوده شد
- A کاربرگ can now be copied from one کارپوشه into another: TXLSXSheets.AddCopy adds a new sheet to the destination کارپوشه and copies the source sheet's cells, formulas, merged ranges, ستون/ردیف sizing, hidden/collapsed/outline flags, freeze panes, view state, protection, page setup, AutoFilter محدوده, and tab colour onto it; the six per-سلول style indices are remapped into the destination کارپوشه's own Font/Fill/Border/NumberFormat/Alignment/Protection pools via مقدار-equality lookup, so a styled source produces an independently-styled copy rather than indices pointing at the wrong pool
- The six per-attribute style pools (Fonts, Fills, Borders, NumberFormats, Alignments, Protections) each expose a 1-based LookupOrAdd that deduplicates by مقدار; a new CrossWorkbookCopy sample project demonstrates the cross-کارپوشه copy with style preservation
نسخه 2.92.0
افزوده شد
- XLSX workbooks now support pivot tables: TXLSXWorksheet.AddPivotTable scans a flat source محدوده, auto-builds a pivot cache, and برمیگرداند typed pivot table for ردیف / ستون / page / data-axis wiring, mirroring the long-standing BIFF8 (XLS) engine API so the same code targets either قالب; PivotSetDataFieldFormat assigns a number قالب to each aggregated مقدار field
- Excel-created pivot tables round-trip without loss through Open then Save: the XLSX engine preserves each pivot cache definition, cache records, and pivot table part verbatim and replays the original bytes on save, so re-saving a کارپوشه never drops or alters its pivots even when they use features the typed model does not expose
نسخه 2.91.0
افزوده شد
- اکنون میتوان یک AutoFilter در کاربرگ روی دادهها اعمال کرد تا کارپوشه ذخیرهشده با سطرهای پنهانشده باز شود، مشابه رفتاری که Excel هنگام انتخاب یک مقدار از منوی کشویی فیلتر انجام میدهد
- تصاویر درونساخته هندسه خود را در واحدهای واقعی (سانتیمتر، اینچ، پوینت) در کنار مقادیر EMU افشا میکنند و میتوانند با یک ضریب مقیاس به همراه قفل اختیاری نسبت ابعاد تغییر اندازه دهند
- حاشیههای تنظیمات صفحه (Page-setup) اکنون میتوانند مستقیماً با سانتیمتر تنظیم شوند، که یک سهولت متریک نسبت به حاشیههای بر پایه اینچ فراهم میکند
- کاربرگهای محافظتشده XLSX اکنون پانزده تنظیم دقیق سطح دسترسی (format cells, insert/delete rows and columns, sort, AutoFilter, select locked/unlocked cells و غیره) را از طریق ویژگی جدید AllowOption افشا میکنند، که با فهرست چکباکسهای Review > Protect Sheet اکسل مطابقت دارد؛ تنظیمات هر عملیات (per-action) هنگام ذخیره و بازخوانی فایل حفظ میشوند
- کاربرگهای XLSX اکنون قابل تکثیر هستند (TXLSXSheets.Duplicate): یک شیت جدید اضافه میشود و سلولها، محدودههای ادغامشده، اندازه سطر/ستون، freeze panes، وضعیت نما، محافظت، تنظیمات صفحه و رنگ تب از مبدا به آن کپی میشوند، مشابه قابلیت right-click > Move or Copy > Create a copy در Excel
- بیست و دو پروژه نمونه جدید قابلیتهای پشتیبانیشده توسط کتابخانه را پوشش میدهند: رمزنگاری کارپوشه، cell comments، hyperlinks، defined names، ارزیابی AutoFilter، تصاویر درونساخته، یک قالب فاکتور، conditional formatting پیشرفته در XLSX، سلولهای ادغامشده، row/column outlining، freeze panes، چیدمان چند شیتی، فرمولهای آرایهای، copy/move محدوده، find/replace، سیستمهای تاریخ، rich text، CSV پیشرفته، گزینههای خروجی HTML، formatهای سفارشی اعداد، hidden rows/columns و worksheet protection
نسخه 2.90.29
تغییر کرد
- خواننده مستقیم جریانی (streaming direct reader) اکنون هر سلول پرشده را حتی زمانی که هیچ کنترلکننده سطح سلول متصل نیست میشمارد، بنابراین یک فراخوانی ساده ReadFile میتواند برای تعیین اندازه سریع یک کاربرگ استفاده شود؛ شمارش بازگرداندهشده و ویژگی CellCount تعداد سلولهای پرشده اسکنشده را گزارش میدهند
نسخه 2.90.28
افزوده شد
- فرمولها اکنون میتوانند مرحله به مرحله ارزیابی شوند، معادل دستور Evaluate Formula در اکسل: یک ردیاب جدید یک عبارت را در هر زمان یک زیرمرحله کاهش میدهد، از داخلیترین قسمت شروع میکند، و هر کاهش را با زیرعبارت منبع آن، همان زیرعبارت پس از جایگزینی عملوندهای آن با مقادیرشان، و مقدار حاصل گزارش میدهد، بنابراین برنامهها میتوانند نحوه ساخته شدن یک نتیجه را نشان دهند؛ این ردیاب تقدم عملگرها را رعایت میکند، ارجاعات محدوده را برای توابعی مانند SUM دستنخورده نگه میدارد، و از موتور محاسبه کاربرگ دوباره استفاده میکند تا هر مرحله با یک محاسبه مجدد کامل همخوانی داشته باشد
نسخه 2.90.27
افزوده شد
- کارپوشههای XLSX اکنون میتوانند سلول به سلول از طریق یک نویسنده مستقیم جریانی (streaming direct writer) جدید تولید شوند که با رسیدن ردیفها، هر کاربرگ را مستقیماً در بسته منتشر میکند، بدون اینکه یک درخت سلولی کامل در حافظه بسازد، بنابراین فایلهای بسیار بزرگ میتوانند با ردپای حافظه تقریباً ثابت تولید شوند؛ این نویسنده رشتههای درونخطی، اعداد، مقادیر بولی، تاریخها و فرمولها را در چندین برگه مدیریت میکند و با خواننده مستقیم جریانی رفتوبرگشت دارد
نسخه 2.90.26
افزوده شد
- کارپوشههای XLSX اکنون میتوانند سلول به سلول از طریق یک خواننده مستقیم جریانی (streaming direct reader) جدید اسکن شوند که رویدادهای سطح سلول و سطح برگه را بدون ساختن یک درخت سلولی کامل در حافظه فراخوانی میکند، و ردپای حافظه را برای فایلهای بسیار بزرگ تقریباً ثابت نگه میدارد؛ هر سلول گزارششده حامل مقدار، نوع (عدد، رشته، بولی، تاریخ، یا خطا)، متن فرمول، و شاخص سبک خود است، همراه با تشخیص تاریخ اختیاری و پشتیبانی از توقف زودهنگام
نسخه 2.90.25
افزوده شد
- کاربرگهای XLS کلاسیک اکنون میتوانند ابرپیوندها را از ارجاعات سلولی به سبک A1 اضافه کنند، در حالی که عادیسازی URL، زیرآدرسهای هدف کارپوشه، متن نمایشی و نکات راهنما (screen tips) حفظ میشوند
نسخه 2.90.24
افزوده شد
- شکستهای صفحه XLS کلاسیک اکنون میتوانند از موقعیتهای سطر یا ستون (بر پایه یک) و ارجاعات سلول به سبک A1 از طریق مجموعه شکستصفحه و اورلودهای کمکی کاربرگ اضافه شوند
نسخه 2.90.23
افزوده شد
- کاربرگهای XLS کلاسیک و مجموعههای اشکال اکنون میتوانند اشیای ترسیمی مستطیل، بیضی، خط و شکلخودکار نوعدار را از رشتههای محدوده به سبک A1 ایجاد کنند
نسخه 2.90.22
افزوده شد
- مجموعههای اشکال XLS کلاسیک اکنون میتوانند از طریق یک اورلود AddTextBox از رشتههای محدوده به سبک A1 جعبهمتن ایجاد کنند
نسخه 2.90.21
افزوده شد
- جعبهمتنهای XLS کلاسیک اکنون میتوانند از طریق یک اورلود جدید SetArea از رشتههای محدوده به سبک A1 تغییر موقعیت دهند
نسخه 2.90.20
افزوده شد
- جعبهمتنهای کاربرگ XLS کلاسیک اکنون میتوانند از طریق یک اورلود AddTextBox از رشتههای محدوده به سبک A1 ایجاد شوند
نسخه 2.90.19
افزوده شد
- کاربرگهای XLS کلاسیک اکنون میتوانند از طریق روش جدید AddTextBox مستقیماً از لنگرهای سطر و ستون جعبهمتنهای ترسیمی ایجاد کنند
نسخه 2.90.18
افزوده شد
- کاربرگهای XLS کلاسیک اکنون میتوانند از طریق اورلودهای جدید AddComment مستقیماً از مختصات سطر و ستون نظرات سلولی ایجاد کنند
نسخه 2.90.17
افزوده شد
- نامهای تعریفشده XLS کلاسیک اکنون میتوانند از طریق اورلودهای جدید Names.Add از یک نام کاربرگ و مختصات سطر/ستون ایجاد شوند
نسخه 2.90.16
افزوده شد
- درج تصویر XLS کلاسیک اکنون میتواند تصاویر فایل و TBitmap را در یک سلول کاربرگ مشخصشده بدون تغییر انتخاب فعلی قرار دهد
نسخه 2.90.15
افزوده شد
- ستونهای AutoFilter در XLS کلاسیک اکنون میتوانند از طریق شاخص فیلد در مجموعه AutoFilterColumns پیدا شوند
نسخه 2.90.14
افزوده شد
- نامهای تعریفشده XLS کلاسیک اکنون میتوانند از طریق اورلودهای جدید FindByCell روی مجموعه Names توسط سلول کاربرگ یافت شوند
نسخه 2.90.13
افزوده شد
- محدودههای XLS کلاسیک اکنون از ایجاد نظر با متن و نویسنده در یک فراخوانی واحد AddComment پشتیبانی میکنند
نسخه 2.90.12
افزوده شد
- نظرات XLS کلاسیک اکنون یک ویژگی Author برای تنظیم و خواندن نویسنده نظر ذخیرهشده از طریق API نوعدار در دسترس قرار میدهند
نسخه 2.90.11
رفع اشکال
- کپی محدوده در XLS کلاسیک اکنون نویسندگان نظرات کپیشده را همراه با متن نظر حفظ میکند
نسخه 2.90.10
رفع اشکال
- متد AddHyperlink در XLS کلاسیک اکنون اهداف سلول در کتابکار را به جای مسیرهای فایل خارجی به عنوان زیرآدرسهای داخلی ذخیره میکند
نسخه 2.90.9
رفع اشکال
- کپی محدوده در XLS کلاسیک اکنون پیوندهای سلول در مقصد شامل آدرس، راهنمای ابزار و متن نمایشدادهشده را حفظ میکند
نسخه 2.90.8
رفع اشکال
- پیوندهای XLS و XLSX اکنون آدرسهای عریان www را قبل از ذخیرهسازی ضمن حفظ متن نمایشدادهشده به آدرسهای مطلق http عادیسازی میکنند
نسخه 2.90.7
رفع اشکال
- متد ApplyAutoFilter در XLS کلاسیک اکنون شاخصهای فیلد خارج از محدوده را قبل از بازسازی محدوده فیلتر نادیده میگیرد و به جای پاک کردن، معیارهای موجود را حفظ میکند
نسخه 2.90.6
رفع اشکال
- سریهای نمودار در XLS کلاسیک اکنون ارجاع به خود برگههای نمودار را بدون حساسیت به حروف کوچک و بزرگ رد میکنند تا در صورت متفاوت بودن حروف نام برگه، از ایجاد منابع داده Area3D نامعتبر جلوگیری شود
نسخه 2.90.5
رفع اشکال
- برگههای نمودار XLS کلاسیک اکنون هنگام اعمال نامهای سفارشی برگه نمودار از محافظت معمول نام کاربرگ استفاده میکنند تا از ایجاد نامهای تکراری که فقط در حروف کوچک و بزرگ تفاوت دارند جلوگیری شود
نسخه 2.90.4
رفع اشکال
- جداول محوری در XLS کلاسیک اکنون نامهای کاربرگ منبع را هنگام ایجاد یا استفاده مجدد از کشهای محوری بدون حساسیت به حروف کوچک و بزرگ مطابقت میدهند
نسخه 2.90.3
رفع اشکال
- تغییر نام کاربرگ در XLS کلاسیک اکنون نسخههای تکراری غیرحساس به حروف را رد میکند تا رفتار جستجو پس از تغییر نام بدون ابهام باقی بماند
نسخه 2.90.2
رفع اشکال
- جستجوی نام کاربرگ در XLS کلاسیک اکنون در SheetByName، TryGetSheetByName، Index و IDByName به حروف کوچک و بزرگ حساس نیست
نسخه 2.90.1
رفع اشکال
- جستجوی نامهای تعریفشده در XLS کلاسیک اکنون به حروف کوچک و بزرگ حساس نیست، بنابراین نامهای حلشده از طریق مجموعه Names در کتابکار پس از ذخیره و بازگشایی رفتار ثابتی دارند
نسخه 2.90.0
تغییر کرد
- تغییر ناسازگار — مجموعه worksheet های XLSX اکنون از 1 شروع میشود.
Workbook.Sheets[i]،Sheets.IndexByNameو ویژگی عدد صحیحActiveSheetاکنون برای هماهنگی با موتور XLS از 1 میشمارند، بنابراین نخستین worksheet برابرSheets[1]است نهSheets[0]; کمککنندههای موقعیتیActiveIndex،Activate،Moveو آرگومان شاخص sheet درSaveAsCSV/SaveAsHTML/SaveAsRTFهمچنان از 0 شروع میشوند - تغییر ناسازگار — FreezePanes در هر دو موتور ابتدا ردیف را میگیرد. موتورهای XLS و XLSX اکنون
FreezePanes(ARow, ACol)را مشترکاً استفاده میکنند; متد XLSXFreezePane(ACol, ARow)و overload دوآرگومانی معکوس XLS حذف شدهاند، بنابراین فراخوانیای که N ستون و M ردیف را ثابت میکرد باید دو آرگومان خود را جابهجا کند - تغییر ناسازگار — کلاسهای worksheet در XLS پیشوند گمراهکننده I را از دست دادند.
IXLSWorksheetوIXLSWorkSheetsبهTXLSWorksheetوTXLSWorksheetsتبدیل میشوند (آنها همیشه کلاس بودند، نه interface); interface های واقعیIXLSWorkbookوIXLSRangeبدون تغییر میمانند - تغییر ناسازگار — enum عملگر اعتبارسنجی داده XLS تغییر نام داده است. اعضای
TXLSDvOperatorازxlsDv...بهxlsDvOp...تغییر میکنند (برای نمونهxlsDvOpBetween)، بنابراین دیگر با enum نوع اعتبارسنجی پیشوند مشترک ندارند و با نامهای XLSXxlsxDvOp...همراستا میشوند
نسخه 2.89.46
رفع اشکال
- تمهای سفارشی پس از یک رفتوبرگشت XLSX باقی میمانند. باز کردن workbook دارای تم اختصاصی و ذخیره دوباره آن، همان تم را حفظ میکند و آن را با تم داخلی Office جایگزین نمیکند، بنابراین رنگهای مبتنی بر تم دیگر بیصدا بازنویسی نمیشوند
- ناحیههای ادغامشده همپوشان رد میشوند. ادغام محدوده سلولی که با ناحیه ادغامشده موجود تلاقی دارد اکنون رد میشود، به جای اینکه ورودیهای همپوشان نوشته شود و Excel فایل ذخیرهشده را خراب گزارش کند
- تاریخی که به عنوان مقدار سلول نوشته میشود به صورت تاریخ نمایش داده میشود. اختصاص تاریخ یا زمان به سلولی که هنوز در قالب عددی General است اکنون قالب تاریخ پیشفرض را اعمال میکند، بنابراین در Excel به صورت تاریخ دیده میشود نه شماره سریال خام; قالب عددیای که خودتان تنظیم کردهاید بدون تغییر میماند
امنیت
- فرمولهای بسیار تو در تو دیگر نمیتوانند stack را تمام کنند. خواننده فرمول .xls عمق تو در تو شدن token های فرمول را محدود میکند، بنابراین workbook بدشکل یا مخرب با تو در تویی افراطی به جای خطر crash رد میشود
نسخه 2.89.45
رفع اشکال
- نامهای ورودی ZIP که بهعنوان UTF-8 علامتگذاری شدهاند درست خوانده میشوند. وقتی یک بایگانی نام یکی از اعضا را بهصورت UTF-8 (بیت 11 هدف عمومی) علامت میزند، نام بهجای code page محلی بایگانی بهصورت UTF-8 رمزگشایی میشود
- سلولهای خطای literal در .xls حفظ میشوند. سلولی که مستقیماً بهصورت مقدار خطا ذخیره شده است (رکورد BOOLERR با پرچم خطا فعال) کد خطای خود را حفظ میکند و بهجای اینکه بهصورت blank خوانده شود، همان کد خطا را برمیگرداند
- رمزگذاری بستهای بزرگتر از 2 GB با شکست تمیز انجام میشود. رمزگذاری استاندارد payload بیشازحد بزرگ را رد میکند و بهجای سرریز کردن محاسبات اندازه 32 بیتی، آن را رد میکند
نسخه 2.89.44
رفع اشکال
- خروجی فرمولهای ODS نامهای تعریفشده را دستنخورده نگه میدارد. نام تعریفشدهای که شبیه یک ارجاع سلولی است (برای نمونه
TaxRate2) دیگر بهصورت یک آدرس نامعتبر سلول ODF بازنویسی نمیشود، و تجزیه_xlnm.Print_Titlesدیگر نام برگهای را که ویرگول دارد تکهتکه نمیکند - درونریزی ODS فراتر از آخرین ستون ایمن است. ردیفی که سلولهای متن قالببندیشده تکراری آن فراتر از آخرین ستون کاربرگ امتداد پیدا میکنند دیگر از یک نمونه اولیه متن غنی آزادشده دوباره استفاده نمیکند
نسخه 2.89.43
رفع اشکال
- خروجی RTF متن غیر ASCII را حفظ میکند. متن سلول با escapeهای یونیکد
\uنوشته میشود و هدر یک code page را اعلام میکند، بنابراین نویسههای CJK / سیریلیک / دارای اَکسان دستنخورده خروجی میشوند و بهجای `?` زیر code page نویسنده فرو نمیریزند - قاب ناوبری HTML چندصفحهای نام برگهها را escape میکند. نام برگهها در صفحه index / frameset بهصورت HTML-escaped نوشته میشوند و نویسههای غیر ASCII به ارجاعهای عددی نویسه تبدیل میشوند، بنابراین تبی با نویسههای نشانهگذاری یا حروف غیر ASCII درست رندر میشود
نسخه 2.89.42
رفع اشکال
- اعداد با نماد علمی در فرمولها تجزیه میشوند. یک مقدار literal مانند
1E3یا2.5E-3داخل فرمول اکنون بهعنوان یک عدد واحد توکن میشود، نه یک عدد بههمراه یک نام اضافی - تابع SEARCH نسبت به یونیکد ایمن است. تابع SEARCH غیرحساس به بزرگی/کوچکی حروف دیگر تبدیل حروف را از طریق code page ANSI انجام نمیدهد، بنابراین find-text / within-text غیر ASCII در موقعیت نویسه درست تطبیق میشوند
نسخه 2.89.41
رفع اشکال
- سیستم تاریخ 1904 برای تاریخهای سلول XLSX اعمال میشود. خواندن یا نوشتن یک workbook که از پایه تاریخ Mac 1904 استفاده میکند اکنون سریالهای تاریخ را 1462 روز جابهجا میکند، بنابراین تاریخها در چنین workbookهایی با Excel منطبق میشوند و حدود چهار سال خطا ندارند
نسخه 2.89.40
رفع اشکال
- تاریخها در فایلهای XLSX شخص ثالث بهصورت تاریخ بارگذاری میشوند. سلولی که سبک آن از هر قالب عددی تاریخ/زمان داخلی یا سفارشی استفاده میکند ــ نه فقط سبک تاریخ خود HotXLS ــ اکنون بهصورت یک مقدار تاریخ برمیگردد، نه یک عدد سریال خام، از جمله قالبهای تاریخ/زمان محلی CJK
نسخه 2.89.39
رفع اشکال
- قالبهای عددی تاریخ دقیقتر تشخیص داده میشوند. یک کد قالب فقط با توکنهای تاریخِ بدون escape بیرون از literalهای رشتهای و بخشهای bracket بهعنوان تاریخ/زمان شناخته میشود، بنابراین یک literal مانند
#,##0 "MM"دیگر تاریخ تلقی نمیشود و کدهایی مانندm/dدیگر از قلم نمیافتند - بایگانیهای ZIP با comment بزرگ رکورد پایان دایرکتوری را درست میخوانند. رکورد end-of-central-directory فقط وقتی از buffer اسکن تجزیه میشود که کامل در آن ثبت شده باشد، و در غیر این صورت دوباره از فایل خوانده میشود، و این یک خوانش اشتباه احتمالی را وقتی comment رکورد را روی مرز پنجره اسکن میشکند برطرف میکند
نسخه 2.89.38
رفع اشکال
- XLSX رمزگذاریشدهای که با Standard Encryption نوشته میشود اکنون در Excel باز میشود. بسته رمزگذاریشده مطابق فرمت با AES-128 در حالت ECB رمز میشود، نه CBC، که قبلاً هر چیزی بعد از بلوک اول را ناخوانا میکرد
- رمزگشایی RC4 برای BIFF8 (.xls) محافظتشده با گذرواژه اصلاح شده است. جریان کلید اکنون دوباره کلیددهی میشود و همگام با موقعیت جریان مصرف میشود، بنابراین یک گذرواژه درست بدنه workbook را رمزگشایی میکند و بهجای آن سلولهای بههمریخته تولید نمیکند
نسخه 2.89.37
رفع اشکال
- حذف یک کاربرگ نامهای تعریفشده را سازگار نگه میدارد. حذف یک برگه اکنون نامهای تعریفشده کارپوشه را که به آن محدود شدهاند حذف میکند و نامهای محدود به برگههای بعدی را یک واحد پایین میبرد، بنابراین یک کارپوشه ذخیرهشده دیگر یک نام وابسته به برگه (مثل print area یا print title) را به برگه اشتباه اشاره نمیدهد
نسخه 2.89.36
رفع اشکال
- خواندن فایلهای .xls آسیبدیده مقاومتر شده است. رکوردهای number / blank چندسلولی و پالت رنگ دیگر هنگام خراب بودن فیلدهای طول بیشخوانی نمیشوند، و وقتی باز کردن فایل خطا میدهد، workbook reader آزاد میشود و نشت نمیکند
- درج تصویر دیگر هنگام شکست نشت ایجاد نمیکند. بارگذاری یک تصویر خراب یا ناخوانا (BMP / WMF / EMF / JPEG / PNG) جریان موقت و bitmap آن را آزاد میکند و آنها را نشت نمیدهد
- هنگام ذخیره، رکوردهای تکراری سبک ایجاد نمیشوند. سبکی که اولین تطابق آن خود نخستین ورودی جدول است اکنون درست به اشتراک گذاشته میشود، نه اینکه هنگام بهینهسازی سبک BIFF دو بار نوشته شود
- خروجی HTML نام فونتها را escape میکند، بنابراین نام فونتی که شامل
&،<،>یا"باشد دیگر ویژگی سبک سلولِ صادرشده را خراب نمیکند
نسخه 2.89.35
رفع اشکال
- چند تابع کاربرگ اکنون با Excel منطبق هستند.
EXPنتیجه خود را برمیگرداند نه خطای `unsupported`،WEEKDAYتکاستدلالی یکشنبه را 1 در نظر میگیرد،MODعلامت و بخش کسری مقسومعلیه را نگه میدارد، وLEFT/RIGHT/MIDبرای طولهای منفی یا تعداد نادرست آرگومانها#VALUE!برمیگردانند - ارجاعهای عددی نویسه غیر ASCII در XLSX اکنون درست خوانده میشوند. موجودیتهای عددی XML مانند
中در shared strings، متن سلول، و ویژگیها بهجای یک بایت بریدهشده به کل نویسه decode میشوند - قواعد متنی قالببندی شرطی با دابلکوتها سالم میمانند. متنی که در قواعد `containsText` / `beginsWith` / `endsWith` شامل
"باشد escape میشود تا workbook ذخیرهشده معتبر بماند - ویرایش محدودههای قالببندی شرطی دیگر یک محدوده سرگردان باقی نمیگذارد. پاککردن یا جابهجا کردن یک ستون از داخل ناحیه قالببندی شرطی دیگر یک محدوده شبحِ همپوشان ایجاد نمیکند
- رنگ تب برگههای ایندکسشده که از .xls خوانده میشوند از ورودی درست palette استفاده میکند، و تاریخهای قالببندیشده بهصورت عددی داخل رکوردهای چندسلولی (MULRK) تشخیص تاریخ خود را زیر سیستم تاریخ 1904 حفظ میکنند
- معیارهای درصدی AutoFilter بالا/پایین رفتوبرگشت میکنند. بارگذاری یک فیلتر `top N percent` یا `bottom N percent` از .xls دیگر آن را به یک شمارش ساده آیتم تنزل نمیدهد
- پیوندهای `mailto:` بهعنوان URL شناخته میشوند، و ScreenTipهای پیوند (tooltipها) طوری نوشته میشوند که رفتوبرگشت داشته باشند و بهجای حذف شدن حفظ شوند
- خروجی HTML اندازه فونتهای معتبر را در localeهای با اعشارِ ویرگول تولید میکند، بنابراین فونتهای سلولِ صادرشده دیگر به مقدار پیشفرض مرورگر برنمیگردند
- خواندن فایلهای بدشکل یا ناقص مقاومتر شده است. طراحیهای OfficeArt خراب، شاخصهای خارج از محدوده style / color / palette / theme، و JPEGهای غیر baseline دیگر باعث crash یا اندازههای بیمعنی نمیشوند، و نشت حافظه shared strings هنگام بارگذاری rich text برطرف شد
نسخه 2.89.34
افزوده شد
- مدیریت text boxهای کاربرگ XLSX آسانتر شده است.
TXLSXWorksheetاکنونIndexOfTextBoxAt،FindTextBoxAt،DeleteTextBox،DeleteTextBoxAt،DeleteTextBoxesInRangeوClearTextBoxesرا اضافه میکند و به فراخوانندهها اجازه میدهد text boxهای مستقل ترسیم را بر اساس سلول anchor یا محدوده متقاطع پیدا و حذف کنند - شکستهای دستی صفحه در XLSX را میتوان با محدوده پیدا و حذف کرد.
TXLSXWorksheetاکنونIndexOfRowBreak،IndexOfColBreak،RemoveRowBreaksInRangeوRemoveColBreaksInRangeرا برای نگهداری مستقیم شکست صفحه سطر / ستون اضافه میکند
رفع اشکال
- کاربرگهای XLSX که فقط text box دارند اکنون رابطه drawing را مینویسند. کاربرگی که text boxهای مستقل ترسیم دارد اما هیچ تصویر، نمودار، نظر، پیوند یا جدولی ندارد اکنون رابطه drawing متناظر
xl/worksheets/_rels/sheetN.xml.relsرا صادر میکند تا بسته ذخیرهشده ارجاع<drawing r:id="...">خود را resolve کند
نسخه 2.89.33
تغییر کرد
- نمونههای workbench در C++Builder اکنون با قابلیتهای بازبینی Delphi هماهنگ هستند. نمونه `WorkbookAudit` در C++Builder همان شدت، اقدام پیشنهادی، و شواهد بازبینی نسخه Delphi را در فهرست workbook و در گزارشهای JSON، CSV، و HTML بهدست میآورد، و نمونه `ConversionWorkbench` در C++Builder برای هر وظیفه تبدیل قالب مبدأ، اقدام، و یادداشت بازبینی را ثبت میکند، از جمله شمارشهای تجمیعشده اقدامها در گزارش HTML
نسخه 2.89.32
تغییر کرد
- نمونه ConversionWorkbench اکنون از خط فرمان بدون نظارت اجرا میشود. فراخوانی
ConversionWorkbench.exe <folder> [/targets=xlsx,csv,html] [/persheet] [/skip] [/quiet]پوشه را اسکن میکند، هر منبع را به قالبهای هدف درخواستی تبدیل میکند، گزارشهای تبدیل را مینویسد و خارج میشود؛/quietپنجره را مخفی نگه میدارد تا تبدیلها بتوانند از اسکریپتها و taskهای زمانبندیشده اجرا شوند - تبدیلهای دستهای تعاملی میمانند. یک نوار پیشرفت فهرست وظایف را دنبال میکند (منابع انتخابشده ضربدر هدفهای انتخابشده)، دکمه Cancel دسته را قطع میکند و گزارشها وظایف تکمیلشده را پوشش میدهند، و دوبارکلیک روی یک سطر نتیجه فایل تولیدشده را باز میکند (یا پوشه خروجی را برای مجموعههای CSV per-sheet)
- گزینههای Workbench بین نشستها پایدار میمانند. پوشه، قالبهای هدف، جداکننده، گزینههای HTML، سوئیچهای ODS، CSV per-sheet، skip-existing، و انتخابهای streaming در یک فایل INI کنار executable ذخیره میشوند؛ گذرواژه رمزگذاری عمداً ذخیره نمیشود
نسخه 2.89.31
تغییر کرد
- نمونه WorkbookAudit اکنون از خط فرمان بدون نظارت اجرا میشود. فراخوانی
WorkbookAudit.exe <folder> [/r] [/quiet]پوشه را اسکن میکند (در صورت نیاز همراه با زیرپوشهها)، هر workbook را audit میکند، گزارشهای JSON، CSV، و HTML را صادر میکند و خارج میشود؛/quietپنجره را مخفی نگه میدارد تا audit بتواند از اسکریپتها و taskهای زمانبندیشده اجرا شود - دستههای بزرگ تعاملی میمانند. یک نوار پیشرفت دسته را دنبال میکند، دکمه Cancel آن را قطع میکند (فایلهای باقیمانده Cancelled علامت میخورند)، و انتخاب یک workbook اکنون یک پنل drill-down بهازای هر برگه را با جزئیات ساختار، فرمول، ارجاع، و حفاظت پر میکند
- پوشه audit و انتخاب زیرپوشه پایدار میمانند. گزینهها در یک فایل INI کنار executable ذخیره میشوند و در شروع بعدی بازیابی میشوند
نسخه 2.89.30
تغییر کرد
- نمونه WorkbookAudit اکنون شدت بازبینی و اقدامهای پیشنهادی را استخراج میکند. فهرست اصلی بههمراه گزارشهای JSON، CSV، و HTML شامل severity، recommended action، و شواهد بازبینی است تا auditهای دستهای بتوانند workbookهای رمزگذاریشده، macro-enabled، دارای پیوند خارجی، محافظتشده، سبکسنگین، یا فرمولسنگین را بدون خواندن هر سطر هر برگه مسیردهی کنند
- نمونه ConversionWorkbench اکنون یک دفتر ثبت بازبینی تبدیل مینویسد. هر وظیفه قالب مبدأ، action، و یادداشت بازبینی را ثبت میکند، و گزارش HTML شمارشهای action را برای خروجیهای پذیرفتهشده، مجموعههای CSV per-sheet، فایلهای دوبارهاستفادهشده، انتخابهای هدف پشتیبانینشده، repairهای منبع، نامزدهای retry، و نتایج بازبینی دستی تجمیع میکند
نسخه 2.89.29
افزوده شد
- کارپوشههای کلاسیک XLS اکنون هنگام باز کردن ویژگیهای سند را میخوانند. باز کردن یک فایل یا stream موجود `.xls` فیلدهای
Title،Subject،Author،Keywords،Comments،CompanyوManagerرا از اطلاعات خلاصه فایل پر میکند و با رفتار ویژگی سند در مدل XLSX همخوان است؛ ویژگیهایی که خود Excel ذخیره کرده است، از جمله متن غیر لاتین ذخیرهشده در code pageهای ANSI محلی، درست decode میشوند
نسخه 2.89.28
تغییر کرد
- نمونه ConversionWorkbench چهار گزینه دستهای تازه میگیرد. نمونههای Delphi و C++Builder اکنون میتوانند هر کاربرگ را به فایل CSV خودش (
<name>.<sheet>.csv، برای منبعهای کلاسیک XLS و مدل XLSX) جدا کنند، خروجی XLSX محافظتشده با گذرواژه را از طریقSaveAsEncryptedبنویسند (از جمله مسیر bridge برای کلاسیک XLS)، تبدیلهایی را که خروجیشان از قبل وجود دارد رد کنند (بهصورت skipped گزارش میشوند، نه دوباره اجراشده)، و نوشتن streaming XLSX را برای workbookهای بزرگ فعال کنند
نسخه 2.89.27
تغییر کرد
- نمونه WorkbookAudit اکنون عمیقتر اسکن میکند و نشانگرهای ریسک را علامت میزند. نمونههای Delphi و C++Builder بازگشت به زیرپوشهها را با نام فایلهای نسبی به پوشه گرفتند، تشخیص XLSX محافظتشده با گذرواژه را از طریق
CanReadEncryptedاضافه کردند (بهصورت encrypted بهجای یک خطای عمومی باز کردن گزارش میشود)، و یک ستون `Flags` دارند که پروژههای VBA، ارجاعهای خارجی، برگههای مخفی، برگههای محافظتشده، و فایلهای رمزگذاریشده را در فهرست و در هر گزارش در یک نگاه نشان میدهد - گزارشهای audit فراداده غنیتری حمل میکنند. گزارش JSON مجموعه کامل ویژگیهای سند (`title`، `subject`، `author`، `keywords`، `company`، `manager`، `description`، `category`، `created`، `modified`، `last modified by`) را در یک شیء
docPropsگروهبندی میکند، و هر سه قالب گزارش شمارش تصویرِ هر برگه را اضافه میکنند؛ نامهای تعریفشده محدود به برگه اکنون همراه با نامهای سطح workbook برای فایلهای کلاسیک XLS جمعآوری میشوند
نسخه 2.89.26
افزوده شد
- نمونههای Delphi و C++Builder اکنون یک تبدیلکننده دستهای ConversionWorkbench دارند. نمونه جدید منابع XLS، XLSX، CSV، و ODS را از یک پوشه جمع میکند، فایلهای انتخابشده را در یک اجرا به هر ترکیبی از هدفهای XLSX، CSV، HTML، RTF، ODS، و XLS تبدیل میکند، و هر منبع را از طریق object model متناظر هدایت میکند، از جمله bridge
SaveXLSWorkbookAsXLSXبرای XLS کلاسیک و مسیر دو مرحلهای XLS-to-ODS - گزینههای تبدیل بهازای هر قالب در دسترس هستند. فرم یک انتخاب جداکننده CSV، گزینههای title و table-class برای HTML، و سوئیچهای inclusion برای chart و image در ODS ارائه میکند؛ جهت در دسترس نبودن XLSX-to-XLS بهجای شکست بیصدا بهصورت unsupported گزارش میشود
- هر اجرا یک گزارش تبدیل مینویسد.
ConversionReport.csvوConversionReport.htmlوضعیت، زمانبندی، و اندازه خروجی را برای هر وظیفه کنار فایلهای تبدیلشده ثبت میکنند، و یک generator نمونه ورودیهای XLS، XLSX، CSV، و ODS میسازد تا workbench بدون تنظیم اولیه اجرا شود
نسخه 2.89.25
افزوده شد
- نمونههای Delphi و C++Builder اکنون یک ابزار audit دستهای WorkbookAudit دارند. نمونه جدید پوشهای از workbookهای XLS و XLSX را اسکن میکند و ساختار کاربرگ، شمارش فرمولها همراه با نام تابعهای در حال استفاده، ارجاعهای workbook خارجی (ورودیهای external-link، ارجاعهای فرمولی داخل کروشه، و هدفهای نام تعریفشده)، پیوندها، استفاده از سبک، محدودههای ادغامشده، نظرها، جدولها، قالببندیهای شرطی، اعتبارسنجیهای داده، نمودارها، محدودههای AutoFilter، paneهای یخزده، و وضعیت حفاظت را خلاصه میکند
- نتایج audit بهصورت گزارشهای JSON، CSV، و HTML صادر میشوند. با یک کلیک
AuditReport.json،AuditReport.csvوAuditReport.htmlکنار فایلهای auditشده نوشته میشوند و فراداده سطح workbook، poolهای style، نامهای تعریفشده، و سطرهای جزئیات هر برگه را پوشش میدهند - نمونه audit خودبسنده است. یک generator نمونه workbookهای کلاسیک XLS و XLSX را با فرمولها، پیوندهای خارجی، برگههای مخفی، hyperlinkها، نظرها، جدولها، نمودارها، و برگههای محافظتشده میسازد تا جریان کامل audit بدون تنظیم اولیه اجرا شود
نسخه 2.89.24
رفع اشکال
- خروجی CSV در XLSX اکنون نتیجه محاسبهشده فرمولها را مینویسد.
TXLSXWorkbook.SaveAsCSVپیش از نوشتن متن CSV یا TSV سلولهای فرمول را از طریق موتور فرمول workbook ارزیابی میکند، بنابراین سلولهایی که فقط فرمول دارند مقدار نمایشدادهشده خود را صادر میکنند نه متن فرمول را
نسخه 2.89.23
افزوده شد
- خروجی OpenDocument اکنون با گزینهها قابل تنظیم است. یک شیء جدید گزینههای خروجی به
.odsذخیرهشده اجازه میدهد نمودارها یا تصویرهای جاسازیشده را حذف کند و رشته generator ثبتشده در فراداده سند را بازنویسی کند، از طریق overloadهای جدید `SaveAsODS` که این گزینهها را میپذیرند - محتوای حذفشده هیچ اثری باقی نمیگذارد. خاموش کردن نمودارها یا تصاویر، پوشههای object، قابهای drawing، و ورودیهای manifest آنها را با هم حذف میکند، بنابراین بسته ذخیرهشده هرگز یک ارجاع یتیم حمل نمیکند
نسخه 2.89.22
افزوده شد
- فایلهای OpenDocument اکنون از طریق فراخوانی معمول open باز میشوند. دادن یک فایل یا stream
.odsبه روش عمومی open بسته OpenDocument را تشخیص میدهد و آن را خودکار بارگذاری میکند، بنابراین دیگر لازم نیست از قبل بدانید فایل.xlsxاست یا.ods - یک میانبر `SaveAsODS` اضافه شد. ذخیره در OpenDocument دیگر نیاز به پاسدادن مقدار file-format ندارد و با شیوه ذخیره سایر قالبها همخوان است
- قالب بارگذاریشده را میتوان پرسوجو کرد. یک ویژگی `SourceFormat` گزارش میدهد workbook بازشده از OpenXML آمده یا OpenDocument
نسخه 2.89.21
رفع اشکال
- دنبالههای superscript و subscript هنگام ذخیره rich text در
.xlsxحفظ میشوند. دنبالهای که در یک سلول سبکدار بهعنوان superscript یا subscript علامتگذاری شده اکنون موقعیت عمودی خود را در shared string مینویسد و آن را برمیخواند، بنابراین متن بالارفته یا پایینرفته در یک رفتوبرگشت.xlsxباقی میماند و به baseline نمیافتد - superscript و subscript میان قالبها منتقل میشوند. rich text خواندهشده از یک فایل
.odsدنبالههای superscript و subscript خود را وقتی workbook دوباره بهصورت.xlsxذخیره و باز میشود حفظ میکند
نسخه 2.89.20
افزوده شد
- خروجی و ورودی ODS اکنون قالببندیهای شرطی colour-scale و data-bar را حمل میکنند. یک مقیاس دو یا سهرنگی و یک data bar همراه با نقاط مقدار و رنگهایشان نوشته و دوباره خوانده میشوند و قواعد مقایسه موجود را گسترش میدهند تا این قالبهای گرافیکی در یک رفتوبرگشت
.odsباقی بمانند - قالببندیهای شرطی مبتنی بر فرمول پشتیبانی میشوند. قانونی که با یک فرمول هدایت میشود بهصورت یک شرط `is-true-formula` نوشته میشود و عبارت آن به syntax OpenDocument ترجمه میشود، و همراه با قواعد موجودِ مقدار سلول دوباره به یک قانون فرمولی خوانده میشود
نسخه 2.89.19
افزوده شد
- خروجی و ورودی ODS اکنون پیامهای ورودی data-validation را حمل میکنند. عنوان و متن پیام که هنگام انتخاب یک سلول اعتبارسنجیشده نشان داده میشود همراه با alert خطای موجود نوشته و دوباره خوانده میشود، بنابراین پیام ورودی در یک رفتوبرگشت
.odsباقی میماند - رنگ زبانه برگه حفظ میشود. رنگ یک sheet tab در فایل
.odsنوشته و از آن خوانده میشود، و درونریزی هم ویژگی extension رایج و هم ویژگی استاندارد رنگ زبانه OpenDocument را میپذیرد
نسخه 2.89.18
افزوده شد
- خروجی و ورودی ODS اکنون گروههای سطر و ستون را حمل میکنند. گروههای outline بهصورت عناصر تودرتوی گروه سطر و ستون نوشته و دوباره خوانده میشوند، بنابراین سطرها و ستونهای گروهبندیشده سطح outline خود را در یک رفتوبرگشت
.odsحفظ میکنند، حتی با چندین سطح تودرتو - گروههای جمعشده، جمعشده میمانند. گروهی که سطرها یا ستونهای آن collapsed شدهاند هنگام ذخیره بهصورت not displayed علامت میخورد و هنگام بارگذاری بازیابی میشود، و grouping بدون تداخل با سطرهای مخفی، page breakها، و اندازهگذاری سطر یا ستون همزیستی میکند
نسخه 2.89.17
افزوده شد
- خروجی و ورودی ODS اکنون print area را حمل میکنند. محدوده چاپ یک برگه در فایل
.odsنوشته و از آن خوانده میشود، بنابراین یک print area تعریفشده از ذخیره و بارگذاری دوباره جان سالم به در میبرد - شکستهای دستی صفحه حفظ میشوند. شکستهای صفحه سطر و ستون بهصورت نشانگرهای `break-before` روی سطرها و ستونهای affected نوشته و هنگام بارگذاری خوانده میشوند، بنابراین صفحهبندی دستی از طریق
.odsرفتوبرگشت میکند
نسخه 2.89.16
افزوده شد
- خروجی و ورودی ODS اکنون سربرگ و پاورقی را حمل میکنند. ذخیره در
.odsبرای هر برگه header و footer را با بخشهای چپ، میانی، و راست آن مینویسد، و باز کردن یک فایل.odsآنها را برمیخواند، بنابراین فیلدهای شماره صفحه، تعداد صفحات، تاریخ، زمان، و نام برگه بههمراه متن literal در رفتوبرگشت باقی میمانند - هر برگه سربرگ و پاورقی خودش را نگه میدارد. workbookی که برگههای آن header یا footer متفاوت دارند اکنون برای هر برگه یک page style جدا مینویسد، بنابراین هر برگه با header و footer خودش دوباره بارگذاری میشود و با برگه اول share نمیشود
نسخه 2.89.15
افزوده شد
- خروجی و ورودی ODS اکنون چرخش متن را حمل میکنند. سلولی که متن آن چرخانده شده است زاویه خود را در ذخیره و بارگذاری دوباره
.odsحفظ میکند، و زاویههای ساعتگرد و پادساعتگرد بهدرستی بین spreadsheet و قراردادهای OpenDocument نگاشت میشوند - تورفتگی سلول حفظ میشود. سطح تورفتگی یک سلول هنگام ذخیره بهصورت حاشیه چپ نوشته و هنگام بارگذاری دوباره خوانده میشود، بنابراین سلولهای دارای تورفتگی عمق خود را در یک رفتوبرگشت
.odsحفظ میکنند
نسخه 2.89.14
افزوده شد
- خروجی ODS اکنون rich text مینویسد. ذخیره سلولی که متن آن چندین run قالببندی را مخلوط میکند در
.odsبرای هر run یک span متن با سبک خودکار text-family خودش صادر میکند، بنابراین نام فونت، اندازه، bold، italic، underline، strikethrough، رنگ، و superscript یا subscript بهجای تخت شدن به یک قالب در ذخیره حفظ میشوند - سبکهای run یکسان به اشتراک گذاشته میشوند. runهایی که قالببندی یکسان دارند بهجای صادر کردن یک نسخه تکراری برای هر run از یک ورودی سبک خودکار واحد استفاده میکنند، و یک سلول ساده همچنان بهصورت یک پاراگراف واحد بدون span نوشته میشود
نسخه 2.89.13
افزوده شد
- درونریزی ODS اکنون قالببندی rich text را حفظ میکند. باز کردن یک فایل
.odsکه سلول آن چندین span متن با قالببندی متفاوت را مخلوط میکند هر run را حفظ میکند بهجای اینکه سلول را به متن ساده تخت کند، بنابراین نام فونت، اندازه، bold، italic، underline، strikethrough، رنگ، و superscript یا subscript بهازای هر run حمل میشوند - سلولهای ساده ساده میمانند. سلولی با یک run بدون قالببندی، و هر سلول عددی، تاریخی، یا فرمولی، بهعنوان یک مقدار عادی باقی میماند و به rich text ارتقا داده نمیشود
نسخه 2.89.12
افزوده شد
- درونریزی ODS اکنون نمودارها را میخواند. باز کردن یک فایل
.odsهر شیء نمودار جاسازیشده ارجاعشده از یک کاربرگ را تجزیه میکند، بنابراین نمودارهای column، bar، line، pie، area، doughnut، scatter، bubble، و radar به برگهای که مالک آنهاست بازگردانده میشوند و رفتوبرگشت با خروجی نمودار کامل میشود - محدودههای series نمودار بازگردانده میشوند. هر series محدوده مقدار خود را دارد، و در صورت وجود محدوده category آن نیز از spelling محدوده سلولی OpenDocument دوباره تبدیل میشود تا نمودار به همان دادههای کاربرگ اشاره کند
- یک نمودار آسیبدیده یا مفقود با ایمنی رد میشود. یک drawing frame که شیء نمودار آن غایب است یا نمودار نیست دیگر بارگذاری را متوقف نمیکند، و هر تصویر fallback در همان frame همچنان درونریزی میشود
نسخه 2.89.11
افزوده شد
- خروجی ODS اکنون تصاویر جاسازیشده مینویسد. ذخیره در
.odsهر تصویر کاربرگ را در پوشهPictures/بسته ذخیره میکند، آن را از یک drawing frame داخل سلول لنگر خود ارجاع میدهد، و در manifest ثبت میکند، بنابراین تصویرهای قرارگرفته در یک workbook به فایل ذخیرهشده منتقل میشوند - اندازه تصویر حفظ میشود. هر تصویر عرض و ارتفاع خود را به سانتیمتر مینویسد، بنابراین تصویری که در
.odsذخیره و دوباره باز میشود همان اندازه روی صفحه را حفظ میکند - تصاویر روی یک سلول ادغامشده لنگر خود را حفظ میکنند. تصویری که لنگرش داخل یک محدوده ادغامشده میافتد توسط سلول بالا-چپ آن محدوده میزبانی میشود، و تصویری که بیرون از شبکه برگه لنگر میشود بهجای اینکه بهصورت یک ورودی بدون drawing frame نوشته شود نادیده گرفته میشود
نسخه 2.89.10
رفع اشکال
- سطح خطای data validation در ODS اکنون در رفتوبرگشت باقی میماند. ذخیره یک اعتبارسنجی که alert آن warning یا information است دیگر آن را بدون نوع alert صادر نمیکند، بنابراین باز کردن دوباره فایل
.odsسطح اصلی را نگه میدارد و آن را بیصدا به یک stop alert تنزل نمیدهد
نسخه 2.89.9
افزوده شد
- خروجی ODS اکنون نمودارها را مینویسد. ذخیره در
.odsهر نمودار کاربرگ را به یک subdocument نمودار جاسازیشده جداگانه درون بسته serializes میکند، بنابراین نمودارهای column، bar، line، pie، area، doughnut، scatter، bubble، و radar به فایل ذخیرهشده منتقل میشوند - نمودارها از برگه خود ارجاع میگیرند. برگهای که مالک یک نمودار است از طریق یک drawing frame به شیء نمودار جاسازیشده پیوند میخورد، و هر شیء نمودار در manifest بسته ثبت میشود تا LibreOffice سند را بدون گزارش خرابی باز کند
- محدودههای series ترجمه میشوند. هر series نمودار محدوده مقدار خود را دارد، و در صورت وجود محدوده category آن نیز به spelling محدوده سلولی OpenDocument تبدیل میشود تا نمودار به همان دادههای کاربرگ اشاره کند
نسخه 2.89.8
افزوده شد
- درونریزی ODS اکنون تصاویر جاسازیشده را میخواند. باز کردن یک فایل
.odsتصویرهای ذخیرهشده زیر پوشهPictures/بسته را استخراج میکند و PNG، JPEG، GIF، و BMP را از روی محتوا تشخیص میدهد، بنابراین یک drawing لنگرگرفته در سلول بهصورت تصویر کاربرگ دوباره باز میشود - جانمایی تصویر حفظ میشود. هر تصویر درونریزیشده سلول لنگر drawing frameی را که آن را نگه میدارد حفظ میکند، و عرض و ارتفاع آن از ابعاد ذخیرهشده frame تبدیل میشود
- تصویر مفقود با ایمنی رد میشود. یک drawing frame که تصویر ارجاعشده آن از بسته غایب است بدون خطا رد میشود، بنابراین یک سند ناقص هم باز میشود
نسخه 2.89.7
افزوده شد
- خروجی ODS اکنون freeze panes را مینویسد. ذخیره در
.odsستونها و سطرهای frozen هر برگه را در تنظیمات view بسته ثبت میکند، بنابراین برگهای که به یک هدر frozen تقسیم شده در LibreOffice و از طریقOpenODSبهصورت frozen دوباره باز میشود - خروجی ODS اکنون page setup را مینویسد. layout صفحه در بسته ذخیرهشده اندازه کاغذ، جهتگیری (portrait یا landscape)، و حاشیههای بالا، پایین، چپ، و راست را از page setup کاربرگ حمل میکند و وقتی page setupی وجود ندارد به A4 portrait برمیگردد
نسخه 2.89.6
افزوده شد
- درونریزی ODS اکنون freeze panes را میخواند. باز کردن یک فایل
.odsستونها و سطرهای frozen ثبتشده در تنظیمات view بسته را بازیابی میکند، بنابراین برگهای که به یک هدر frozen تقسیم شده دوباره frozen باز میشود - درونریزی ODS اکنون محدودههای AutoFilter را میخواند. یک محدوده فیلترشده که در بسته بهصورت یک database range ذخیره شده روی برگه خودش خوانده میشود، بنابراین محدودههای AutoFilter نوشتهشده توسط
SaveAsتوسطOpenODSدوباره خوانده میشوند
نسخه 2.89.5
افزوده شد
- درونریزی ODS اکنون قالببندیهای شرطی را میخواند. باز کردن یک فایل
.odsقواعد مقایسه مقدار سلول را وارد میکند (بزرگتر از، کوچکتر از، مساوی، نامساوی، بزرگتر یا مساوی، کوچکتر یا مساوی، بین، و خارج از بازه)، و هر کدام روی سلولهایی که هدف گرفتهاند اعمال میشود - قواعد بازهای هر دو کران را نگه میدارند. یک قانون بین یا خارج از بازه هر دو مقدار آستانه خود را بازیابی میکند، بنابراین حد پایین و حد بالا در درونریزی حفظ میشوند
- قواعد مقایسه رفتوبرگشت میکنند. قالببندیهای شرطیِ مقدار سلول که در
.odsنوشته شدهاند با operator، thresholdها، و محدوده هدف خود بهصورت دستنخورده دوباره باز میشوند، بنابراین قواعد ذخیرهشده توسطSaveAsتوسطOpenODSخوانده میشوند
نسخه 2.89.4
افزوده شد
- درونریزی ODS اکنون data validationها را میخواند. باز کردن یک فایل
.odsاعتبارسنجیهای محتوای سلول را وارد میکند: بازههای عددی (بین و خارج از بازه)، فهرستهای drop-down، بررسی طول متن، و مقایسههای scalar، که هر کدام روی سلولهایی که به آن ارجاع میدهند اعمال میشوند - جزئیات اعتبارسنجی حفظ میشوند. پرچم `allow-empty-cell` و alert خطا (سبک stop، warning، یا information آن و متن پیامش) به model workbook منتقل میشوند
- اعضای فهرست در رفتوبرگشت باقی میمانند. یک فهرست drop-down که در
.odsنوشته شده دوباره با اعضای خود بهصورت دستنخورده باز میشود، بنابراین اعتبارسنجیهای ذخیرهشده توسطSaveAsتوسطOpenODSخوانده میشوند
نسخه 2.89.3
افزوده شد
- خروجی ODS اکنون عناصر ساختاری را مینویسد. ذخیره در
.odsمحدودههای نامگذاریشده، پیوندهای سلولی، سطرها و ستونهای مخفی، محدودههای AutoFilter، قالببندیهای شرطی، و data validationها را به بسته منتقل میکند - محدودههای نامگذاریشده و پیوندها رفتوبرگشت میکنند. نامهای محدوده workbook-scoped آدرس خود را حفظ میکنند، پیوندهای خارجی و داخلی سلول هدف، متن نمایشی، و tooltip خود را حفظ میکنند، و سطرها و ستونهای مخفی بهصورت مخفی دوباره باز میشوند
- AutoFilter، قالببندیهای شرطی، و اعتبارسنجیها صادر میشوند. یک محدوده فیلترشده با دکمههای فیلتر آن نوشته میشود و قواعد شرطی مقایسه مقدار و data validationهای محتوای سلول طوری نوشته میشوند که مصرفکنندههایی مانند LibreOffice آنها را حفظ کنند
نسخه 2.89.2
افزوده شد
- درونریزی ODS اکنون سبک کامل سلول را میخواند. باز کردن یک فایل
.odsنام فونت، اندازه فونت، bold، italic، underline، و strikethrough سلولهای سبکدار را همراه با مقدارهای کششده و قالبهای عددیِ پشتیبانیشده قبلی وارد میکند - رنگ فونت، fill پسزمینه، و borderها درونریزی میشوند. رنگهای صریح فونت به RGB مات نگاشت میشوند، یک رنگ پسزمینه به یک fill یکدست تبدیل میشود، و چهار لبه سلول (بالا، پایین، چپ، راست) سبک خط و رنگ خود را حمل میکنند
- همترازی درونریزی میشود. همترازی افقی و عمودی متن و گزینه wrap-text روی سلول اعمال میشوند
- ارثبری سبک والد رعایت میشود. سبکها مقادیر خود را از طریق زنجیره سبک والد ODS میخوانند، بنابراین یک سبک فرزند ویژگیهای والد را بهصورت ویژگیبهویژگی override میکند و هر چیزی را که unset بگذارد به ارث میبرد
- چرخه نوشتن/خواندن را میبندد. سبکهای سلول که توسط
SaveAsدر.odsنوشته میشوند توسطOpenODSدوباره خوانده میشوند و فونت، رنگ، fill، borderها، و همترازی را حفظ میکنند
نسخه 2.89.1
افزوده شد
- خروجی ODS اکنون سبک کامل سلول را مینویسد. ذخیره در
.odsنام فونت، اندازه فونت، bold، italic، underline، strikethrough، و رنگ فونت را به بسته منتقل میکند، بنابراین سلولهای سبکدار هنگام باز شدن دوباره ظاهر خود را حفظ میکنند - fillهای پسزمینه و borderهای سلول نوشته میشوند. رنگهای پسزمینه یکدست و چهار لبه سلول (بالا، پایین، چپ، راست) با عرض، سبک خط، و رنگ خود صادر میشوند
- همترازی و wrap شدن حفظ میشوند. همترازی افقی و عمودی متن بههمراه گزینه wrap-text به سبکهای سلول ODS منتقل میشوند
- سبکها با قالبهای عددی ترکیب میشوند. یک سبک واحد سلول میتواند فونت، fill، و borderهای خود را با یک قالب عددی جفت کند، و ترکیبهای سبک یکسان به اشتراک گذاشته میشوند تا بسته جمعوجور بماند
نسخه 2.89.0
افزوده شد
- خروجی OpenDocument Spreadsheet (`.ods`).
SaveAsاکنونxlsxOpenDocumentSpreadsheetرا میپذیرد و یک بسته معتبر ODF را مستقیماً مینویسد، بدون اینکه از یک مرحله میانی XLSX عبور کند - مقادیر نوعدار سلول نوشته میشوند. متن، عدد، بولین، و تاریخ با نوع مقدار ODF خود صادر میشوند تا ارزشها هنگام باز شدن دوباره معنای خود را حفظ کنند
- قالبهای عددی حفظ میشوند. قالبهای رایج (تعداد رقم اعشار، گروهبندی هزارگان، ارز، درصد، علمی، و تاریخهای ISO) بهصورت data styleهای ODF نوشته میشوند و سلولهایی که از آنها استفاده میکنند به آنها ارجاع میدهند
- ساختار برگه منتقل میشود. کاربرگها، عرض ستونها، و محدودههای سلول ادغامشده در بسته نوشته میشوند
- رفتوبرگشت از طریق HotXLS. بستهای که توسط
SaveAsنوشته شده میتواند باOpenODSدوباره خوانده شود و مقدارها، قالبهای عددی، عرض ستونها، و ادغامها را حفظ کند
نسخه 2.88.249
افزوده شد
- توابع بازه اطمینان اکنون در موتور فرمول محاسبه میشوند.
CONFIDENCE.NORMاز کوانتیل توزیع نرمال وCONFIDENCE.Tاز کوانتیل t دانشجو برای برگرداندن نیمعرض بازه اطمینان میانگین استفاده میکنند - نامهای آماری مدرن در دسترس هستند.
PERCENTILE.INC،PERCENTILE.EXC،QUARTILE.INC،QUARTILE.EXC،RANK.AVG،COVARIANCE.PوCOVARIANCE.Sدرصدکها و چارکهای فراگیر و انحصاری، رتبهبندی با میانگین مساوی، و کوواریانس جمعیت و نمونه را ارزیابی میکنند - ناممستعار برای اشکال قدیمی.
MODE.SNGLوRANK.EQبهMODEوRANKموجود نگاشت میشوند
نسخه 2.88.248
افزوده شد
- تابع توزیع دوجملهای اکنون در موتور فرمول محاسبه میشود.
BINOM.DISTتوده احتمال و توزیع تجمعی را ارزیابی میکند و برای شکل تجمعی از بتای ناقص تنظیمشده استفاده میکند - تابع توزیع پواسون اکنون در موتور فرمول محاسبه میشود.
POISSON.DISTتوده احتمال و توزیع تجمعی را ارزیابی میکند و برای شکل تجمعی از گامای ناقص بالایی استفاده میکند - ارزیابی پایدار. هر دو توده از شکل فاکتوریل log-gamma استفاده میکنند تا برای تعداد بزرگ دقیق بمانند، و پارامترهای نامعتبر
#NUM!برمیگردانند
نسخه 2.88.247
افزوده شد
- توابع توزیع بتا اکنون در موتور فرمول محاسبه میشوند.
BETA.DISTوBETA.INVتوزیع تجمعی، چگالی احتمال، و معکوس را روی یک بازه اختیاری[A, B]ارزیابی میکنند - توابع توزیع t دانشجو در دسترس هستند.
T.DIST،T.DIST.RT،T.DIST.2T،T.INVوT.INV.2Tدنباله چپ، دنباله راست، احتمال دوطرفه، و معکوسهای آنها را پوشش میدهند - توابع توزیع F در دسترس هستند.
F.DIST،F.DIST.RT،F.INVوF.INV.RTتوزیع تجمعی، دنباله راست، و معکوسها را ارزیابی میکنند - هسته ارزیابی مشترک. هر سه خانواده از بتای ناقص تنظیمشده با ارزیابی کسر مستمر استفاده میکنند، معکوسها با تنصیف حل میشوند، و پارامترهای نامعتبر
#NUM!برمیگردانند
نسخه 2.88.246
افزوده شد
- توابع توزیع گاما و کایدو اکنون در موتور فرمول محاسبه میشوند.
GAMMA.DIST،GAMMA.INV،CHISQ.DIST،CHISQ.DIST.RT،CHISQ.INVوCHISQ.INV.RTتوزیع تجمعی، چگالی احتمال، دنباله راست، و معکوسهای آنها را از طریقCalculateزنده ارزیابی میکنند - log-gamma با دقت بالا در دسترس است.
GAMMALN.PRECISEلگاریتم طبیعی تابع گاما را برمیگرداند - ارزیابی دقیق و مقاوم. مقادیر تجمعی از بسط سری و کسر مستمر گامای ناقص تنظیمشده استفاده میکنند، معکوسها با تنصیف حل میشوند، و پارامترهای نامعتبر
#NUM!برمیگردانند
نسخه 2.88.245
افزوده شد
- توابع توزیع پیوسته اکنون در موتور فرمول محاسبه میشوند.
EXPON.DIST،WEIBULL.DIST،LOGNORM.DISTوLOGNORM.INVتوزیع تجمعی، چگالی احتمال، و معکوس را از طریقCalculateزنده ارزیابی میکنند - ارزیابی به شکل بسته. توزیعهای نمایی و Weibull از فرمولهای تحلیلی خود استفاده میکنند، در حالی که توزیع لوگنرمال CDF نرمال و معکوس آن را دوباره استفاده میکند؛ پارامترهای نامعتبر
#NUM!برمیگردانند
نسخه 2.88.244
رفع اشکال
- توزیع نرمال معکوس اکنون در دنبالهها دقیق است.
NORMSINV،NORM.S.INVوNORM.INVدر شاخههای دنباله (احتمالات زیر حدود 0.024 یا بالای حدود 0.976) از لگاریتم مبنای 10 استفاده میکردند در جایی که الگوریتم به لگاریتم طبیعی نیاز دارد؛ نتایج اکنون در تمام بازه احتمال درست هستند
نسخه 2.88.243
افزوده شد
- توابع توزیع نرمال با نامهای نقطهدار مدرن اکنون در موتور فرمول محاسبه میشوند.
NORM.DIST،NORM.INV،NORM.S.DISTوNORM.S.INVتوزیع تجمعی، چگالی احتمال، و معکوسهای آنها را از طریقCalculateزنده ارزیابی میکنند - ناممستعار آماری نقطهدار.
STDEV.S،STDEV.P،VAR.SوVAR.Pبهعنوان نامهای Excel 2010+ برای انحراف معیار و واریانس نمونه و جمعیت شناسایی میشوند - نامهای تابع نقطهدار بهدرستی تجزیه میشوند. تجزیهکننده فرمول اکنون نامی مانند
NORM.S.DISTرا بهعنوان یک تابع واحد در نظر میگیرد، بنابراین این توابع درCalculateکار میکنند و از طریق پیشوند_xlfn.در OOXML رفتوبرگشت میکنند
نسخه 2.88.242
افزوده شد
- توابع مهندسی اعداد مختلط اکنون در موتور فرمول محاسبه میشوند.
COMPLEXیک عدد مختلط را بهصورت متن میسازد و خانوادهIM*آن را میخواند و روی آن عمل میکند، همه از طریقCalculateزنده ارزیابی میشوند - اجزا و حساب.
IMREAL،IMAGINARY،IMABS،IMARGUMENTوIMCONJUGATEمؤلفهها را نمایش میدهند، در حالی کهIMSUM،IMSUB،IMPRODUCTوIMDIVحساب مختلط انجام میدهند - توابع ترانسندنتال.
IMPOWER،IMSQRT،IMEXPوIMLNاز طریق شکل قطبی ارزیابی میشوند، و پسوند موهومی میتواندiیاjباشد
نسخه 2.88.241
افزوده شد
- توابع آرایه پویای
XLOOKUPوFILTERاکنون در موتور فرمول محاسبه میشوند. هر دو از طریقCalculateزنده ارزیابی میشوند و جستجو و فیلتر مدرن را به فرمولهای کاربرگ و ارزیابی موردی میآورند XLOOKUPبا حالتهای تطابق و جستجو. تطابق دقیق (پیشفرض)، wildcard، و تقریبی کوچکترین بعدی / بزرگترین بعدی پشتیبانی میشوند، بههمراه جستجوی اول تا آخر یا آخر تا اول و یک نتیجه اختیاریif_not_foundFILTERبا نتایج spill شده. سطرهایی که بردار include آنها TRUE است نگه داشته میشوند و از طریقSetArrayFormulaدر محدوده هدف spill میشوند، با یک مقدار اختیاریif_emptyوقتی هیچ چیز تطابق ندارد
نسخه 2.88.240
افزوده شد
- توابع ریاضی
GCD،LCM،MROUND،QUOTIENTوMULTINOMIALاکنون در موتور فرمول محاسبه میشوند. آنها از طریقCalculateزنده ارزیابی میشوند و بزرگترین مقسوم علیه مشترک، کمترین مضرب مشترک، گرد کردن به مضرب، تقسیم صحیح، و ضریب چندجملهای را پوشش میدهند - تبدیل مبنا و اعداد رومی.
BASEیک عدد را در هر مبنایی از 2 تا 36 با zero-padding اختیاری رمزگذاری میکند،DECIMALچنین رشتهای را به عدد تجزیه میکند، وARABICیک عدد رومی را به مقدارش تبدیل میکند
نسخه 2.88.239
افزوده شد
- توابع انبوه
PRODUCTوSUMSQاکنون در موتور فرمول محاسبه میشوند.PRODUCTآرگومانهای عددی خود را ضرب میکند وSUMSQمجذور آنها را جمع میکند، هر دو از طریقCalculateزنده ارزیابی میشوند - واریانس و انحراف معیار نوع A.
VARA،VARPA،STDEVAوSTDEVPAپراکندگی نمونه و جمعیت را در حالی که متن را 0 و TRUE را 1 میشمارند محاسبه میکنند، برخلاف اشکال ساده که مقادیر غیرعددی را نادیده میگیرند
نسخه 2.88.238
افزوده شد
- توابع انبوه آماری اکنون در موتور فرمول محاسبه میشوند.
VAR،VARP،STDEV،STDEVP،MODE،COUNTBLANKوAVERAGEAاز طریقCalculateزنده ارزیابی میشوند - واریانس و انحراف معیار.
VARوSTDEVاز فرمول نمونه استفاده میکنند در حالی کهVARPوSTDEVPاز فرمول جمعیت استفاده میکنند، برای هر دو بازه و آرگومانهای درونخطی - پرتکرارترین مقدار.
MODEپرتکرارترین عدد را برمیگرداند، و وقتی هیچ مقداری تکرار نمیشود#N/Aگزارش میکند - شمارش خانههای خالی.
COUNTBLANKسلولهای خالی یک بازه را میشمارد، از جمله سلولهایی که نتیجه متن خالی دارند - میانگین آگاه از متن.
AVERAGEAمقادیر را میانگین میگیرد در حالی که متن را صفر و TRUE منطقی را یک میشمارد، بنابراین باAVERAGEکه متن را نادیده میگیرد تفاوت دارد
نسخه 2.88.237
افزوده شد
- توابع بیتی اکنون در موتور فرمول محاسبه میشوند.
BITAND،BITOR،BITXOR،BITLSHIFTوBITRSHIFTاز طریقCalculateزنده ارزیابی میشوند - AND، OR و XOR بیتی.
BITAND،BITORوBITXORدو عدد صحیح غیرمنفی را بیتبهبیت ترکیب میکنند - جابهجایی بیت در هر دو جهت.
BITLSHIFTبیتهای یک عدد را به چپ جابهجا میکند وBITRSHIFTآنها را به راست جابهجا میکند؛ مقدار shift منفی جهت را برعکس میکند - محدودیتهای سازگار با Excel. عملوندها باید اعداد صحیح از 0 تا 2^48-1 باشند و مقدار shift محدود به 53 جایگاه است؛ مقادیر خارج از این محدودیتها
#NUM!گزارش میدهند - رفتوبرگشت با پیشوند OOXML. هنگام ذخیره در XLSX این توابع Excel 2013 با پیشوند
_xlfn.نوشته میشوند و بهدرستی باز میشوند، بنابراین به درستی نمایش داده میشوند و محاسبه میشوند
نسخه 2.88.236
افزوده شد
- توابع تبدیل مبنای مهندسی اکنون در موتور فرمول محاسبه میشوند.
DEC2BIN،DEC2OCT،DEC2HEX،BIN2DEC،OCT2DEC،HEX2DEC،HEX2BIN،BIN2HEX،HEX2OCT،OCT2HEX،BIN2OCTوOCT2BINاز طریقCalculateزنده ارزیابی میشوند - تبدیل بین دودویی، هشتایی، دهدهی، و شانزدهشانزدهی. اعداد در هر دو جهت بین هر چهار مبنا تبدیل میشوند، از جمله جفتهای متقاطع مانند شانزدهشانزدهی به دودویی
- مقادیر علامتدار از طریق مکمل دو. اعداد منفی به شکل استاندارد مکمل دوی ۱۰ رقمی نمایش داده میشوند، بنابراین مقادیر در تبدیلها بهدرستی رفتوبرگشت میکنند
- خروجی با عرض ثابت اختیاری. تبدیلها به یک مبنای متنی یک آرگومان places اختیاری میپذیرند که نتیجه را با صفرهای پیشرو به عرض ثابت pad میکند
- اعتبارسنجی بازه و ورودی. مقادیر خارج از بازه قابل نمایش، یا متنی که شامل ارقام نامعتبر برای مبنای منبع است،
#NUM!گزارش میدهند
نسخه 2.88.235
افزوده شد
- توابع تاریخ روز کاری اکنون در موتور فرمول محاسبه میشوند.
WORKDAYوNETWORKDAYSاز طریقCalculateزنده ارزیابی میشوند - پیشروی تاریخ با آگاهی از آخر هفته.
WORKDAYتاریخی را برمیگرداند که تعداد معینی روز کاری قبل یا بعد از تاریخ شروع باشد و شنبهها و یکشنبهها را رد میکند؛ تعداد منفی به عقب حرکت میکند و تعداد صفر تاریخ شروع را برمیگرداند - شمارش روزهای کاری.
NETWORKDAYSروزهای کاری کامل بین دو تاریخ را میشمارد، شامل هر دو نقطه پایانی، و یک شمارش منفی برمیگرداند وقتی تاریخ شروع بعد از تاریخ پایان باشد - فهرستهای تعطیلات اختیاری. هر دو تابع یک آرگومان تعطیلات اختیاری میپذیرند، بهصورت تاریخ واحد یا محدوده سلولی، و آن تاریخها را از محاسبه روز کاری حذف میکنند
نسخه 2.88.234
افزوده شد
- توابع تاریخ و زمان اکنون در موتور فرمول محاسبه میشوند.
EDATE،EOMONTH،DATEDIF،YEARFRAC،DAYS،WEEKNUMوISOWEEKNUMاز طریقCalculateزنده ارزیابی میشوند - حساب ماهانه با محدود کردن پایان ماه.
EDATEیک تاریخ را به تعداد کامل ماه جابهجا میکند وEOMONTHآخرین روز ماه جابهجاشده را برمیگرداند؛ هر دو به ماه کوتاهتر محدود میشوند، برای مثال روز 31 که به فوریه جابهجا شود - واحدهای بازه
DATEDIF. واحدهای شمارش کامل"Y"،"M"و"D"بهعلاوه واحدهای باقیمانده"YM"،"YD"و"MD"پشتیبانی میشوند - پایههای شمارش روز
YEARFRAC. هر پنج پایه پیادهسازی شدهاند: US 30/360، actual/actual، actual/360، actual/365، و European 30/360 - شمارهگذاری هفته.
WEEKNUMاز قراردادهای شروع از یکشنبه، شروع از دوشنبه، و ISO (نوع بازگشت 21) پشتیبانی میکند، وISOWEEKNUMشماره هفته ISO 8601 را برمیگرداند
نسخه 2.88.233
افزوده شد
- توابع پایگاه داده اکنون در موتور فرمول محاسبه میشوند.
DSUM،DCOUNT،DCOUNTA،DAVERAGE،DMIN،DMAX،DPRODUCT،DGET،DVAR،DVARP،DSTDEVوDSTDEVPاز طریقCalculateزنده ارزیابی میشوند و هنگام باز کردن دوباره workbook مجدد محاسبه میشوند - تطابق استاندارد جدول معیار. شرایط قرار داده شده زیر سرتیترهای فیلد در یک سطر بهصورت AND و در سطرها بهصورت OR ترکیب میشوند، از عملگرهای مقایسه مانند
>،<و>=پشتیبانی میکنند، و از تطابق متن wildcard با*/?اجازه میدهند؛ سلولهای معیار خالی هیچ محدودیتی اضافه نمیکنند - انتخابگر فیلد انعطافپذیر. فیلد تجمیعشده میتواند بهصورت متن سرتیتر ستون، ایندکس مبتنی بر 1، یا ارجاع به سلول سرتیتر داده شود
- جستجوی تک رکوردی
DGET.DGETمقدار فیلد رکورد منطبق را برمیگرداند، از جمله متن، و وقتی چند رکورد منطبق باشد#NUM!و وقتی هیچکدام منطبق نباشد#VALUE!گزارش میدهد
نسخه 2.88.232
افزوده شد
OpenODSاکنون حفاظت برگه ODS را درونریزی میکند. جداول ODS باtable:protected="true"اکنون بهعنوان کاربرگهای محافظتشده با استفاده از وضعیت حفاظت برگه بدون گذرواژه موجود باز میشوند؛ کلیدهای حفاظت ODS بهعنوان هش گذرواژه قدیمی XLSX تلقی نمیشوند
نسخه 2.88.231
افزوده شد
OpenODSاکنون محدودههای نامگذاریشده ODS را درونریزی میکند. ورودیهایtable:named-rangeباtable:cell-range-addressاکنونDefinedNamesworkbook را پر میکنند و ارجاعات برگه/سلول ODS مانند$Sheet.$A$1:$Sheet.$B$2را به فرمولهای نام تعریفشده XLSX تبدیل میکنند
نسخه 2.88.230
افزوده شد
OpenODSاکنون سبکهای حفاظت سلول ODS را درونریزی میکند. سبکهای table-cell که ازstyle:cell-protectاستفاده میکنند اکنونnone،formula-hidden،protectedوhidden-and-protectedرا به وضعیت سلولی درونریزیشدهLockedوFormulaHiddenنگاشت میکنند، از جمله مقادیر به ارث رسیده از طریقstyle:parent-style-name
نسخه 2.88.229
افزوده شد
OpenODSاکنون فرمولهای پایه ODS را درونریزی میکند. سلولهای فرمول که ازof:=یاoooc:=استفاده میکنند اکنون مقادیر scalar کششده خود را نگه میدارند و یک فرمول XLSX نرمالشده با ارجاعات bracket محلی مانند[.A1:.B1]درونریزی میکنند و جداکنندههای نیمهنقطه آرگومان به syntax اکسل تبدیل میشوند
نسخه 2.88.228
افزوده شد
OpenODSاکنون سبکهای سطر و ستون ODS به ارث رسیده را resolve میکند. سبکهای table-row و table-column که ازstyle:parent-style-nameاستفاده میکنند اکنون ارتفاع سطر، عرض ستون، و تنظیمات نمایش hidden والد را به ارث میبرند وقتی بستههای ODS به سبکهای فرزند ازcontent.xmlارجاع میدهند
نسخه 2.88.227
افزوده شد
OpenODSاکنون سبکهای table-cell ODS به ارث رسیده را resolve میکند. سبکهای table-cell که ازstyle:parent-style-nameاستفاده میکنند اکنون نگاشتهای data-style والد را در درونریزی ODS به ارث میبرند، بنابراین سبکهای فرزند مقادیرNumberFormatدرونریزیشده XLSX را حتی وقتی data style روی سبک والد اعلام شده حفظ میکنند
نسخه 2.88.226
افزوده شد
OpenODSاکنون سبکهای سطر و ستون ODS ذخیرهشده درstyles.xmlرا از پیش بارگذاری میکند. خصوصیات سبک table-row و table-column ازstyles.xmlاکنون در درونریزی سطر/ستون مخفی و ارتفاع سطر/عرض ستون شرکت میکنند وقتیcontent.xmlبه آن نامهای سبک ارجاع میدهد
نسخه 2.88.225
افزوده شد
OpenODSاکنون از data styleهای ODS ذخیرهشده درstyles.xmlاستفاده میکند. سبکهای table-cell نامگذاریشده و data styleهای عدد/تاریخ/زمان ازstyles.xmlاکنون در resolutionNumberFormatدرونریزیشده XLSX شرکت میکنند، در حالی که سبکهای خودکارcontent.xmlهمچنان میتوانند آنها را override کنند
نسخه 2.88.224
افزوده شد
OpenODSاکنون قالبهای عددی کسری ODS را درونریزی میکند. اجزایnumber:fractionدر ODS اکنون به قالبهای کسری XLSX مانند0 ?/??نگاشت میشوند و تنظیمات نمایش کسر را در طول درونریزی حفظ میکنند
نسخه 2.88.223
افزوده شد
OpenODSاکنون قالبهای عددی علمی ODS را درونریزی میکند. اجزایnumber:scientific-numberدر ODS اکنون به قالبهای عددی XLSX مانند0.000E+00نگاشت میشوند و تنظیمات نمایش نماد علمی را در طول درونریزی حفظ میکنند
نسخه 2.88.222
افزوده شد
OpenODSاکنون literal هایnumber:textرا در data styleهای عددی ODS حفظ میکند. سبکهای عدد، درصد، و ارز کهnumber:textرا قبل یا بعد ازnumber:numberقرار میدهند اکنون آن literal ها را در قالب عددی XLSX درونریزی میکنند و برچسبها و پسوندهای واحد مانندkgرا نگه میدارند
نسخه 2.88.221
رفع اشکال
OpenODSاکنون مدتهای زمانی منفی ODS را درونریزی میکند. مقادیرoffice:time-valueمانند-PT02H03M04Sاکنون بهعنوان مقادیر سریال زمانی منفی درونریزی میشوند نه اینکه رد شوند
نسخه 2.88.220
رفع اشکال
OpenODSاکنون سبکهای پیشفرض سلول را بهازای هر ستون تکراری resolve میکند. یک سلول ODS تکراری که از مرزهای سبک پیشفرض ستون عبور میکند اکنون قالب عددی پیشفرض ستون یا جدول هر ستون هدف را اعمال میکند بهجای اینکه قالب اولین ستون تکراری را دوباره استفاده کند
نسخه 2.88.219
افزوده شد
OpenODSاکنون ثانیههای کسری را در مقادیر تاریخ ODS حفظ میکند. تایماستمپهایoffice:date-valueمانند2026-06-04T12:30:00.250اکنون مؤلفه میلیثانیه خود را نگه میدارند بهجای اینکه به ثانیههای کامل کوتاه شوند
نسخه 2.88.218
افزوده شد
OpenODSاکنون نمایش برگه ODS را درونریزی میکند. جداول ODS با مقادیرtable:visibilityمخفی مانندcollapseاکنون بهعنوان کاربرگ XLSX مخفی درونریزی میشوند بهجای اینکه همیشه به تبهای قابل مشاهده تبدیل شوند
نسخه 2.88.217
افزوده شد
OpenODSاکنون سبکهای پیشفرض سلول ODS را اعمال میکند.table:default-cell-style-nameروی جداول، ستونها، و سطرها اکنون در resolution قالب عددی برای سلولهایی کهtable:style-nameمستقیم ندارند شرکت میکند و از اولویت سلول، سطر، ستون، سپس جدول استفاده میکند
نسخه 2.88.216
افزوده شد
OpenODSاکنون اجزای سبک تاریخ و زمان ODS را درونریزی میکند. data styleهای تاریخ و زمان اکنون گرههای رایجnumber:year،number:month،number:day،number:hours،number:minutes،number:seconds،number:am-pmوnumber:textرا میخوانند تا سلولهای درونریزیشده ترتیب مؤلفهها و جداکنندههایی مانندdd/mm/yyyyیاhh:mmرا نگه دارند
نسخه 2.88.215
افزوده شد
OpenODSاکنون قالبهای عددی با حداقل رقم ODS را درونریزی میکند. data styleهای عدد، درصد، و ارز باnumber:min-integer-digitsوnumber:min-decimal-placesاکنون به رشتههایNumberFormatXLSX با صفرهای پیشرو و جایگذارهای اعشار انتهایی اختیاری نگاشت میشوند
نسخه 2.88.214
افزوده شد
OpenODSاکنون قالبهای عددی گروهبندیشده ODS را درونریزی میکند. data styleهای عدد، درصد، و ارز باnumber:grouping="true"اکنون به رشتههایNumberFormatXLSX با جداکنندههای گروهبندی سبک#,##0نگاشت میشوند
نسخه 2.88.213
افزوده شد
OpenODSاکنون نمادهای ارزی ODS را در قالبهای عددی درونریزیشده حفظ میکند. data styleهای ارز باnumber:currency-symbolاکنون از آن نماد بهعنوان پیشوندNumberFormatXLSX استفاده میکنند، بنابراین قالبهایی مانندEUR#,##0.00دیگر به$#,##0.00فشرده نمیشوند
نسخه 2.88.212
افزوده شد
OpenODSاکنون تنظیمات مکان اعشار ODS را در قالبهای عددی پایه رعایت میکند. data styleهای عدد، درصد، و ارز باnumber:decimal-placesاکنون به رشتههایNumberFormatXLSX متناظر مانند0،0.0%یا$#,##0نگاشت میشوند
نسخه 2.88.211
افزوده شد
OpenODSاکنون مقادیر scalar کششده بدون نوع ODS را درونریزی میکند. سلولهایی کهoffice:value-typeندارند اکنون از ویژگیهای موجودoffice:value،office:boolean-value،office:date-value،office:time-valueوoffice:string-valueاستفاده میکنند قبل از اینکه به محتوای متن برگردند
نسخه 2.88.210
افزوده شد
OpenODSاکنون مرزهای پاراگراف متن ODS را حفظ میکند. چندین پاراگرافtext:pبا شکستهای خط درونریزی میشوند، در حالی که کنترلهای فاصلهtext:s،text:tabوtext:line-breakدر متن سلول باقی میمانند بهجای اینکه با هم فشرده شوند
نسخه 2.88.209
افزوده شد
OpenODSاکنون ابعاد سطر و ستون ODS را درونریزی میکند. سبکهای table-column و table-row در ODS باstyle:column-width/style:row-heightبهColWidth/RowHeightنگاشت میشوند، از جمله سطرها و ستونهای تکراری
نسخه 2.88.208
افزوده شد
- کنترلهای chrome و geometry پنجره workbook XLSX.
TXLSXWorkbookاکنونMinimized،WindowHidden،ShowHorizontalScroll،ShowVerticalScroll،XWindow،YWindow،WindowWidthوWindowHeightرا برای facade XLSX در معرض دید میگذارد.SaveAsویژگیهای<workbookView>متناظر را مینویسد،Openآنها را رفتوبرگشت میدهد، و مقادیر geometry به بازه 0..65535 سازگار با OOXML محدود میشوند
نسخه 2.88.207
افزوده شد
- کنترلهای نمای workbook XLSX.
TXLSXWorkbookاکنونShowSheetTabs،TabRatio،FirstSheetوAutoFilterDateGroupingرا در معرض دید میگذارد تا فراخوانندهها بتوانند نوار تب workbook و گروهبندی تاریخ AutoFilter را از طریق facade XLSX کنترل کنند.SaveAsویژگیهای<workbookView>متناظر را مینویسد،Openآنها را رفتوبرگشت میدهد،TabRatioبه 0..1000 محدود میشود، وFirstSheetبه یک ایندکس برگه مبتنی بر 0 موجود محدود میشود
نسخه 2.88.206
افزوده شد
- کمککنندههای AutoFit محدودشده XLSX.
TXLSXWorksheet.AutoFitColumn،AutoFitColumns،AutoFitRow،AutoFitRowsو wrapper هایAutoFitColumns/AutoFitRowsدرTXLSXRangeاکنون محدودیتهای حداقل و حداکثر اختیاری برای عرض/ارتفاع میپذیرند، بنابراین فراخوانندهها میتوانند محتوا را fit کنند در حالی که layout های گزارش در محدودههای طراحی باقی میمانند
رفع اشکال
- نام فونتهای rich text در HTML خروجی XLSX. خروجی HTML اکنون CSS
font-familyبرای rich text را با نامهای double-quoted قبل از HTML escaping صادر میکند و با خروجی مستندشده"..."برای run های سبکدار مطابقت دارد
نسخه 2.88.205
افزوده شد
- اشکال مستطیل، بیضی، و خط (XLS). API ترسیم .xls اکنون
Shapes.AddRectangle،Shapes.AddOvalوShapes.AddLine(بهعلاوه یکAddAutoShapeعمومی) را دارد، بنابراین autoshapeهای نوعدار میتوانند بدون ساخت دستی رکوردهای OfficeArt ایجاد و به یک محدوده سلولی لنگر شوند. هر کدام یک shape برمیگرداند که قالببندیFillوLineآن قابل تنظیم است؛ پیش از این فقط تصاویر، text box ها، و نظرات قابل افزودن بودند
نسخه 2.88.204
افزوده شد
- نمودارهای scatter، bubble، و radar (XLSX).
AddChartاکنونxlsxChartScatter(پراکندگی XY)،xlsxChartBubble(با یک محدوده bubble-size بهازای هر series) وxlsxChartRadarرا علاوه بر انواع موجود column / bar / line / pie / area / doughnut میپذیرد. Series های scatter و bubble محدوده category را بهعنوان X و محدوده value را بهعنوان Y رسم میکنند؛ bubble یکBubbleSizeRangeاضافه میکند
نسخه 2.88.203
افزوده شد
- قواعد data-validation نوعدار با prompt و alert (XLS). موتور کلاسیک .xls اکنون
AddWholeNumberValidation،AddDecimalValidation،AddDateValidation،AddTimeValidation،AddTextLengthValidationوAddCustomValidationرا دارد (پیش از این فقط list validation در دسترس بود). هر کدام قانون را برمیگرداند که میتواند یک input prompt، یک error alert با آیکون stop / warning / information، و یک toggle allow-blank از طریقSetPrompt/SetError/AllowBlankداشته باشد
نسخه 2.88.202
افزوده شد
- Input prompt و error alert برای data validation (XLSX). یک قانون data-validation اکنون میتواند یک کادر input-prompt (عنوان و پیام نشاندادهشده وقتی سلول انتخاب میشود) و یک کادر error-alert (عنوان، پیام، و آیکون stop / warning / information نشاندادهشده در ورودی نامعتبر) داشته باشد، بهعلاوه کنترل فلش dropdown فهرست. آنها را از طریق
SetPrompt،SetErrorو ویژگیهای جدیدPromptTitle/Prompt/ErrorTitle/ErrorMessage/ErrorStyle/ShowDropDownتنظیم کنید؛ پیش از این فقط toggle های show-message در دسترس بودند. آنها در بارگذاری رفتوبرگشت میکنند
نسخه 2.88.201
افزوده شد
- انواع بیشتر قانون قالببندی شرطی (XLSX). موتور XLSX قواعد متنی (شامل، شامل نباشد، شروع شود با، پایان یابد با)، top/bottom-N (با درصد اختیاری)، بالای و پایین میانگین، مقادیر تکراری و یکتا، و خالی / غیرخالی / خطا / غیرخطا را دریافت میکند ― هر کدام از طریق یک متد
AddCondFormat*اختصاصی و هر کدام قادر به حمل highlight از طریقStyleخود هستند. این قواعد نیز در بارگذاری رفتوبرگشت میکنند
نسخه 2.88.200
افزوده شد
- قالببندی شرطی مبتنی بر فرمول (XLSX). یک قانون قالببندی شرطی جدید سلولها را از طریق یک فرمول دلخواه با
AddCondFormatExpressionبرجسته میکند: فرمول بهازای هر سلول ارزیابی میشود و سلولهایی که نتیجه آن true است highlight قانون را میگیرند
تغییر کرد
- قالببندیهای شرطی اکنون سلولها را در .xlsx برجسته میکنند. قواعد قالببندی شرطی مبتنی بر مقدار سلول و فرمول اکنون یک سبک تفاضلی ― رنگ fill، رنگ فونت، و bold / italic / underline ― را حمل میکنند که در جدول سبک workbook نوشته میشود، بنابراین Excel سلولهای منطبق را رنگآمیزی میکند. پیش از این قالببندیهای شرطی XLSX بدون هیچ highlight ذخیره میشدند
نسخه 2.88.199
افزوده شد
- توابع فرمولی TEXTJOIN و CONCAT. محاسبهگر فرمول داخلی اکنون
TEXTJOIN(پیوستن مقادیر متنی با یک جداکننده، با گزینه رد کردن سلولهای خالی) وCONCAT(پیوستن مقادیر متنی بدون جداکننده) را ارزیابی میکند، که هر دو آرگومانهای محدوده را سلولبهسلول گسترش میدهند ― برخلافCONCATENATEقدیمی. فایلهای.xlsxذخیرهشده این توابع Excel 2016 را با پیشوند_xlfn.مینویسند تا Excel آنها را بهعنوان توابع واقعی باز کند، و باز کردن دوباره نام ساده را نشان میدهد
نسخه 2.88.198
افزوده شد
- توابع فرمولی SUMIFS، COUNTIFS، AVERAGEIFS، MAXIFS و MINIFS. محاسبهگر فرمول داخلی اکنون این تجمیعهای چندشرطی را ارزیابی میکند که مجموع، شمارش، میانگین، یا بزرگترین یا کوچکترین سلولهایی که هر معیار را در یک یا چند محدوده موازی برآورده میکنند را محاسبه میکنند؛ معیارها عملگرهای مقایسه مانند
">=30"و wildcard متنی میپذیرند. AVERAGEIFS بدون سلول منطبق #DIV/0! برمیگرداند و MAXIFS/MINIFS صفر برمیگردانند، مانند Excel، و MAXIFS و MINIFS جدیدتر با پیشوند_xlfn.Excel در.xlsxنوشته میشوند
نسخه 2.88.197
افزوده شد
- توابع فرمولی IFS، SWITCH و IFNA. محاسبهگر فرمول داخلی اکنون توابع منطقی مدرن
IFS(مقدار اولین شرطی که true است)،SWITCH(تطابق یک عبارت با فهرستی از حالتها، با یک پیشفرض اختیاری)، وIFNA(جایگزینی یک مقدار فقط وقتی نتیجه خطای #N/A است) را ارزیابی میکند. چون این توابع پس از مجموعه اصلی توابع .xls معرفی شدند، ذخیره در.xlsxاکنون آنها را با پیشوند_xlfn.Excel مینویسد تا Excel آنها را بهعنوان توابع واقعی باز کند، و باز کردن دوباره چنین فایلی نام ساده را نشان میدهد
نسخه 2.88.196
افزوده شد
- توابع فرمولی INDEX و OFFSET. محاسبهگر فرمول داخلی اکنون
INDEX(خواندن یک مقدار بر اساس موقعیت سطر و ستون آن داخل یک محدوده) وOFFSET(خواندن یک مقدار تعداد معینی سطر و ستون از یک سلول لنگر) را از طریقCalculateارزیابی میکند. جستجوهای دوطرفهINDEX/MATCHو ارجاعات لنگرشده باOFFSETاکنون درست محاسبه میشوند، و موقعیت خارج از محدوده خطای #REF! را برمیگرداند تا با Excel مطابقت داشته باشد
نسخه 2.88.195
رفع اشکال
- HTML صادرشده border و سایهزنی سطر header را نگه میدارد. وقتی یک سلول از یک فونت نامگذاریشده استفاده میکرد، خروجی XLSX-به-HTML نام فونت را داخل double-quote در یک ویژگی style double-quoted مینوشت که style را کوتاه میکرد و سلول border، fill و اندازه خود را از دست میداد. نامهای فونت اکنون single-quoted هستند، بنابراین یک سطر header سبکدار با grid lines خود صادر میشود ― از جمله خطی که بالای جدول را میبندد ― همراه با رنگ پسزمینهاش
- خروجی RTF اکنون با layout HTML و Excel مطابقت دارد. خروجی XLSX-به-RTF border سلول، spanning سلول ادغامشده، و سایهزنی fill یکدست را گرفت، و اکنون عرض ستونها را برای fit شدن در صفحه چاپی کوچک میکند تا یک ستون auto-fit پهن جدول را از صفحه بیرون نزند. پیش از این جدول RTF border نداشت، عناوین ادغامشده را رها میکرد، و میتوانست بسیار پهنتر از صفحه باشد
نسخه 2.88.194
رفع اشکال
- ذخیره مجدد یک workbook .xls که شامل text box است دیگر آن را خراب نمیکند. باز کردن یک فایل XLS که text box دارد و ذخیره دوباره آن پیش از این یک رکورد ترسیم داخلی را تکرار میکرد و یک workbook تولید میکرد که وقتی فایل دوباره باز میشد Excel را crash میکرد. داده ترسیم text box اکنون بهدرستی رفتوبرگشت میکند، بنابراین workbook دوباره ذخیرهشده بهصورت عادی باز میشود
نسخه 2.88.193
رفع اشکال
- فایلهای .xlsx محافظتشده با گذرواژه اکنون در Excel باز میشوند. ذخیره یک workbook با گذرواژه از طریق
SaveAsEncryptedپیش از این یک بسته ECMA-376 Standard Encryption تولید میکرد که ciphertext AES آن بهاشتباه تولید شده بود، بنابراین Excel فایل را حتی با گذرواژه درست رد میکرد. رمزگذاری AES-128 اکنون خروجی استانداردمحور تولید میکند، و workbook رمزگذاریشده در Excel 2007 و بعد با گذرواژهای که برای ذخیره استفاده شد باز میشود
تغییر کرد
- AES شتابگرفته با سختافزار برای رمزگذاری XLSX. رمز AES-128 پشت XLSX Standard Encryption اکنون از دستورالعملهای CPU AES-NI روی هر دو ویندوز 32 بیتی و 64 بیتی استفاده میکند وقتی پردازنده آنها را پشتیبانی کند و ذخیرههای محافظتشده با گذرواژه را سریعتر میکند. پردازندههایی که AES-NI ندارند بهصورت خودکار به پیادهسازی نرمافزاری قابل حمل برمیگردند، بنابراین خروجی روی هر ماشینی یکسان است
نسخه 2.88.192
افزوده شد
- فرمولهای آرایهای در ذخیره و باز کردن دوباره XLSX باقی میمانند. یک فرمول آرایه چندسلولی (CSE) تنظیمشده با
SetArrayFormulaاکنون بهعنوان یک فرمول آرایه واقعی در فایلهای.xlsxذخیره و بارگذاری میشود، بنابراین ذخیره و باز کردن دوباره workbook محدوده spill لنگرشده را دستنخورده نگه میدارد و هر سلول همچنان به عنصر خودش از نتیجه ماتریس ارزیابی میشود. پیش از این یک فرمول آرایه ذخیرهشده هنگام باز شدن دوباره محدوده spill خود را از دست میداد
نسخه 2.88.191
افزوده شد
- فرمولهای آرایهای در یک محدوده سلولی spill میشوند (XLSX). موتور XLSX محدوده را با همان
SetArrayFormulaموتور XLS تجهیز میکند: یک فرمول آرایه چندسلولی (CSE) مانند{=MMULT(A1:B2;D1:E2)}تنظیمشده روی یک بلوک از سلولها نتیجه ماتریس خود را spill میکند تا هر سلول به عنصر خودش ارزیابی شود. این پشتیبانی از فرمول آرایه چندسلولی را در هر دو موتور XLS و XLSX کامل میکند
نسخه 2.88.190
افزوده شد
- فرمولهای آرایهای در یک محدوده سلولی spill میشوند (XLS). یک متد جدید
SetArrayFormulaروی یک محدوده یک فرمول آرایه چندسلولی (CSE) مانند{=MMULT(A1:B2;D1:E2)}را روی یک بلوک از سلولها تنظیم میکند، و محاسبهگر فرمول اکنون نتیجه ماتریس را در آن بلوک spill میکند تا هر سلول عنصر خودش را بخواند. پیش از این یک سلول حامل فرمول آرایه بهعنوان unsupported ارزیابی میشد. ماتریس یک بار در هر بازمحاسبه محاسبه میشود و در کل محدوده به اشتراک گذاشته میشود
نسخه 2.88.189
افزوده شد
- توابع فرمولی MINVERSE و MMULT. محاسبهگر فرمول داخلی اکنون
MINVERSE(معکوس ماتریس) وMMULT(حاصلضرب ماتریس) را ارزیابی میکند. هر کدام که از طریقCalculateفراخوانی شوند، ماتریس نتیجه را بهصورت یک آرایه دو بعدی برمیگردانند که میتوان عنصربهعنصر آن را خواند.MINVERSEبه یک محدوده مربعی نیاز دارد و برای یک ماتریس تکین #NUM! برمیگرداند؛MMULTنیاز دارد ابعاد داخلی موافق باشند (ستونهای محدوده اول برابر سطرهای محدوده دوم باشند) و در غیر این صورت #VALUE! برمیگرداند
نسخه 2.88.188
افزوده شد
- تابع فرمولی MDETERM. محاسبهگر فرمول داخلی اکنون
MDETERMرا ارزیابی میکند و دترمینان ماتریس یک محدوده مربعی را از طریقCalculateبرمیگرداند. یک محدوده غیرمربعی، یا محدودهای که شامل یک سلول خالی یا غیرعددی باشد، #VALUE! برمیگرداند تا با Excel مطابقت داشته باشد
نسخه 2.88.187
افزوده شد
- توابع فرمولی آماری. محاسبهگر فرمول داخلی اکنون
MEDIAN،LARGE،SMALLوRANKرا ارزیابی میکند، بنابراین فرمولهایی که یک محدوده از اعداد را خلاصه میکنند بهدرستی از طریقCalculateبازمحاسبه میشوند.MEDIANترکیبی از اعداد درونخطی و محدودهها میپذیرد؛LARGEوSMALLبزرگترین و کوچکترین مقدار k-ام را برمیگردانند؛RANKموقعیت یک عدد را گزارش میدهد و بهصورت پیشفرض به ترتیب نزولی رتبهبندی میکند یا به ترتیب صعودی وقتی آرگومان order غیرصفر داده شود
نسخه 2.88.186
افزوده شد
- توابع فرمولی جستجو. محاسبهگر فرمول داخلی اکنون
CHOOSEوMATCHرا ارزیابی میکند، بنابراین فرمولهایی که یک آرگومان را با ایندکس انتخاب میکنند یا موقعیت یک مقدار را در یک سطر یا ستون پیدا میکنند بهدرستی از طریقCalculateبازمحاسبه میشوند.MATCHاز هر سه نوع تطابق پشتیبانی میکند ― دقیق (0)، بزرگترین مقداری که از lookup در یک محدوده صعودی بیشتر نباشد (1، پیشفرض)، و کوچکترین مقداری که از lookup در یک محدوده نزولی کمتر نباشد (-1) ― و متن را بهصورت case-insensitive مقایسه میکند
نسخه 2.88.185
افزوده شد
- توابع فرمولی مالی. محاسبهگر فرمول داخلی اکنون
PV،FV،PMT،NPERوRATEرا ارزیابی میکند، بنابراین فرمولهای ارزش فعلی، ارزش آتی، پرداخت، دوره، و نرخ بهره بهدرستی از طریقCalculateبازمحاسبه میشوند. آرگومانهای اختیاری future-value/present-value و زمانبندی پرداخت (type) رعایت میشوند، وRATEبهصورت تکراری حل میشود
رفع اشکال
- اعشار در رشتههای فرمول. مشکلی رفع شد که در آن یک رشته فرمول پاسدادهشده به
Calculateکه شامل اعشار بود (برای مثال=PV(0.05;10;100)) ممکن بود parse نشود؛ literal های عددی با بخش کسری اکنون درست ارزیابی میشوند
نسخه 2.88.184
افزوده شد
- توابع فرمولی اطلاعاتی. محاسبهگر فرمول داخلی اکنون
ISERROR،ISERR،ISNA،ISNUMBER،ISLOGICAL،ISNONTEXTوISREFرا ارزیابی میکند، بنابراین فرمولهای آزمایش خطا و آزمایش نوع بهدرستی از طریقCalculateبازمحاسبه میشوند.ISERR#N/A را حذف میکند در حالی کهISNAفقط #N/A را منطبق میکند
نسخه 2.88.183
افزوده شد
- توابع فرمولی متنی. محاسبهگر فرمول داخلی اکنون
FIND،SEARCH،SUBSTITUTE،REPLACE،TRIM،PROPER،CLEAN،CHAR،CODE،T،EXACTوREPTرا ارزیابی میکند، بنابراین کاربرگهایی که از این توابع متنی استفاده میکنند بهدرستی از طریقCalculateبازمحاسبه میشوند بهجای اینکه نتیجه تابع پشتیبانینشده برگرداند.FINDبه بزرگی/کوچکی حروف حساس است در حالی کهSEARCHنیست
رفع اشکال
- تابع CHAR شناسایی شد. مشکل name-lookup رفع شد که در آن تابع
CHARبا حروف اشتباه ثبت شده بود و نمیتوانست در فرمولها resolve شود
نسخه 2.88.182
تغییر کرد
- تابع فرمولی IFERROR. موتور فرمول اکنون
IFERROR(value, value_if_error)را شناسایی و ارزیابی میکند و fallback را وقتی آرگومان اول به هر خطای Excel (#NULL!، #DIV/0!، #VALUE!، #REF!، #NAME?، #NUM!، #N/A) ارزیابی شود برمیگرداند و در غیر این صورت خودِ مقدار را. روی هر دو موتور رفتوبرگشت میکند ― بهعنوان یک function token در .xls (BIFF8) و بهعنوان رشته فرمول<f>در .xlsx (OOXML) ― بنابراین workbookها در Excel بهدرستی باز و بازمحاسبه میشوند
رفع اشکال
- NA() اکنون #N/A برمیگرداند. تابع
NA()به جای اینکه بهعنوان پشتیبانینشده گزارش شود به مقدار خطای #N/A ارزیابی میشود، بنابراین فرمولهای مدیریت خطا که حول آن ساخته شدهاند (برای مثالIFERROR(NA(), 0)) طبق انتظار عمل میکنند
نسخه 2.88.181
افزوده شد
- Text box ها (XLSX).
TXLSXWorksheet.AddTextBoxجدید یک text box مستقل لنگرشده به یک مستطیل سلولی اضافه میکند که در ترسیم کاربرگ بهعنوان یک shape با یک text body صادر میشود. این موتور XLSX را با پشتیبانی text box موجود موتور XLS همراستا میکند
نسخه 2.88.180
افزوده شد
- ثابتهای نام اندازه کاغذ (XLSX). موتور XLSX اکنون
xlsxPaperLetter،xlsxPaperA4،xlsxPaperA3و سایر ثابتهایxlsxPaper*را برای ویژگیTXLSXWorksheet.PaperSizeاضافه میکند که ثابتهایxlPaper*موتور XLS را mirror میکنند تا اندازه کاغذ با نام بهجای یک کد کاغذ خام Excel تنظیم شود
نسخه 2.88.179
افزوده شد
- ویژگیهای سند XLS. موتور XLS ویژگیهای
IXLSWorkBookیعنیTitle،Subject،Author،Keywords،Comments،CompanyوManagerرا دریافت میکند که در ذخیره به streamهای OLE SummaryInformation / DocumentSummaryInformation (بهصورت Unicode) نوشته میشوند، بنابراین پنل File > Info اکسل آنها را نشان میدهد. این موتور XLS را با مجموعه ویژگیهای سند موجود موتور XLSX همراستا میکند
نسخه 2.88.178
افزوده شد
- نمودارهای area و doughnut (XLSX).
TXLSXChartTypeاکنونxlsxChartAreaوxlsxChartDoughnutرا در کنار انواع موجود column، bar، line و pie اضافه میکند، بنابراینTXLSXWorksheet.AddChartمیتواند نمودارهای area و doughnut صادر کند. موتور نمودار XLS (BIFF8) مجموعه column / bar / line / pie خود را نگه میدارد
نسخه 2.88.177
افزوده شد
- برابری API عملیات محدوده در بین موتورها. موتور XLSX متدهای محدوده سبک Excel
TXLSXRange.CopyTo،MoveTo،InsertRows،DeleteRows،InsertColsوDeleteColsرا دریافت میکند؛ موتور XLS متدهای کاربرگ مختصاتیIXLSWorksheet.CopyRange،MoveRange،InsertRows،DeleteRows،InsertColsوDeleteColsرا دریافت میکند. هر دو موتور اکنون copy/move محدوده و insert/delete سطر/ستون کامل را با نامهای منطبق در معرض دید میگذارند
نسخه 2.88.176
افزوده شد
- سبکهای سلول داخلی.
TXLSXRange.ApplyBuiltinStyle(XLSX) وIXLSRange.ApplyBuiltinStyle(XLS) جدید ظاهر سبکهای سلول نامگذاریشده استاندارد Excel را ― Good، Bad، Neutral، Calculation، Check Cell، Explanatory Text، Input، Linked Cell، Note، Output، Warning Text، Heading 1-4، Title، Total، و Accent 1-6 ― در یک فراخوانی با اعمال fill و فونت منطبق بازتولید میکنند
نسخه 2.88.175
افزوده شد
- مرتبسازی محدوده.
TXLSXRange.Sort/TXLSXWorksheet.SortRange(XLSX) وIXLSWorksheet.SortRange(XLS) جدید سطرهای یک مستطیل را بر اساس یک یا چند ستون کلید، بهصورت صعودی یا نزولی مرتب میکنند. سطرهای کامل با مقادیر و قالببندی سلول حرکت میکنند؛ کلیدهای مساوی ترتیب اصلی خود را حفظ میکنند (مرتبسازی پایدار)، و سلولهای خالی همیشه در آخر مرتب میشوند
نسخه 2.88.174
افزوده شد
OpenCSVفایلهای CSV و TSV را در یک کاربرگ درونریزی میکند. overloadهای جدیدTXLSWorkbook.OpenCSVوTXLSXWorkbook.OpenCSVمتن با جداکننده را با تشخیص خودکار جداکننده (ویرگول، نقطهویرگول، tab، یا pipe)، تشخیص encoding مبتنی بر BOM (UTF-8 و UTF-16)، و مدیریت quote مطابق RFC 4180 میخوانند.Openاکنون فایلهای.csvو.tsvرا بهصورت خودکار به importer هدایت میکند
تغییر کرد
- تشخیص نوع مقدار اختیاری. فیلدهای عددی، تاریخ ISO-8601، و بولین بهصورت پیشفرض به مقادیر سلولی نوعدار ارتقا داده میشوند؛ تشخیص میتواند خاموش شود تا هر فیلد بهعنوان متن نگه داشته شود و صفرهای پیشرو، رشتههای طولانی ارقام، و متنهای پیشوند
=حفظ شوند
نسخه 2.88.173
تغییر کرد
OpenODSاکنون نمایش سطر و ستون مخفی را درونریزی میکند. سبکهایtable-rowوtable-columnدر ODS با مقادیرtable:visibilityمانندcollapseیاfilterاکنون بهRowHidden/ColHiddenنگاشت میشوند، از جمله سطرها و ستونهای تکراری
نسخه 2.88.172
تغییر کرد
- خروجی HTML در XLSX اکنون تراز عمودی را حفظ میکند.
TXLSXWorkbook.SaveAsHTMLوTXLSXRange.SaveAsHTMLهنگام فعال بودنIncludeStyles، قواعد CSS مربوط بهvertical-alignرا برای تراز بالا، وسط، توجیهشده و توزیعشده سلول صادر میکنند
نسخه 2.88.171
تغییر کرد
- خروجی HTML در XLSX اکنون سطرها و ستونهای پنهان را رد میکند.
TXLSXWorkbook.SaveAsHTMLوTXLSXRange.SaveAsHTMLسطرهایی را که باRowHiddenو ستونهایی که باColHiddenعلامتگذاری شدهاند و ستونهای صریح با پهنای صفر را از جدول تولیدشده و<colgroup>حذف میکنند
نسخه 2.88.170
تغییر کرد
- خروجی HTML در XLSX اکنون حاشیههای سلول را حفظ میکند. هنگامی که style ها درج میشوند،
TXLSXWorkbook.SaveAsHTMLوTXLSXRange.SaveAsHTMLلبههای حاشیه سلول را بهصورت style های CSSborder-left،border-right،border-topوborder-bottomصادر میکنند
نسخه 2.88.169
تغییر کرد
- خروجی HTML در XLSX اکنون run های متن غنی را حفظ میکند. هنگامی که style ها درج میشوند،
TXLSXWorkbook.SaveAsHTMLوTXLSXRange.SaveAsHTMLrun هایTXLSXRichTextرا بهصورت عناصر<span>escapeشده با style های font، color، تأکید و underline inline صادر میکنند
نسخه 2.88.168
تغییر کرد
- خروجی HTML در XLSX اکنون اندازههای صریح سطر و ستون را حفظ میکند. هنگامی که style ها درج میشوند،
TXLSXWorkbook.SaveAsHTMLوTXLSXRange.SaveAsHTMLمقادیر صریحColWidthرا از طریق<colgroup>و مقادیر صریحRowHeightرا بهصورت style های ارتفاع<tr>مینویسند
نسخه 2.88.167
تغییر کرد
- خروجی HTML در XLSX اکنون نظرات سلول را بهعنوان tooltip حمل میکند.
TXLSXWorkbook.SaveAsHTMLوTXLSXRange.SaveAsHTMLنظرات XLSX را به ویژگیهایtitleدر<td>escapeشده مینویسند، و خروجی در سطح workbook محدوده جدول را برای درج لنگرهای فقط-نظر گسترش میدهد
نسخه 2.88.166
تغییر کرد
- خروجی HTML در XLSX اکنون هایپرلینکها و تصاویر لنگرشده را حفظ میکند.
TXLSXWorkbook.SaveAsHTMLوTXLSXRange.SaveAsHTMLسلولهای لینکدار را در لنگرهای<a>escapeشده میپیچند و تصاویر لنگرشده را بهصورت URIهای تصویرdata:inline صادر میکنند. خروجی در سطح workbook همچنین محدوده جدول را برای درج لنگرهای هایپرلینک و تصویر خارج از سلولهای دارای داده گسترش میدهد
نسخه 2.88.165
افزوده شد
TXLSXTableاکنون نمایش سطر جمع را حفظ میکند. ویژگی جدیدTotalsRowShownپرچم OOXMLtotalsRowShownرا مینویسد و میخواند تا جداول XLSX بتوانند سطر جمع فعال خود را در چرخههای SaveAs/Open نگه دارند
نسخه 2.88.164
افزوده شد
TXLSXWorksheetاکنون کمککنندههای اعتبارسنجی داده نوعدار دارد.AddWholeNumberValidation،AddDecimalValidation،AddDateValidation،AddTimeValidation،AddTextLengthValidationوAddCustomValidationقواعد رایج XLSX را بدون نیاز به ارسال دستی مقادیرTXLSXDataValidationTypeاضافه میکنند
نسخه 2.88.163
تغییر کرد
OpenODSاکنون هایپرلینکهای متنی ODS را وارد میکند. لینکهایtext:aدر ODS باxlink:hrefاکنون ورودیهایTXLSXHyperlinksایجاد میکنند، متن لنگر را در مقدار سلول واردشده نگه میدارند، و fragment هدفهایی مانند#Sheet.A1را به لینکهای داخلی workbook نگاشت میکنند
نسخه 2.88.162
تغییر کرد
OpenODSاکنون کامنتهای پایهای سلول را وارد میکند. سلولهای ODS دارایoffice:annotationاکنون ورودیهایTXLSXCommentsبا متن کامنت وdc:creatorبهعنوان نویسنده ایجاد میکنند، در حالی که متن annotation را از مقدار سلول خارج نگه میدارند
نسخه 2.88.161
تغییر کرد
- نمونههای
ApiTourاکنون helper های جریان کاری XLSX را پوشش میدهند. نمونههایApiTourدر Delphi و C++Builder اکنونWriteRows،ForEachRow،PreviewAutoFilterRows،AutoFilterRowVisible،TXLSXHtmlExportOptionsوOnUserFunctionExرا در کنار جریانهای ایجاد workbook، صادر کردن، و بازرسی پس از reopen نشان میدهند
نسخه 2.88.160
افزوده شد
OnUserFunctionExcallback های فرمول سفارشی با آگاهی از context اضافه میکند.TXLSWorkbook،IXLSWorkbookوTXLSXWorkbookاکنون میتوانند یکTXLSUserFunctionContextبا ایندکس sheet، سطر و ستون دریافت کنند وقتیCalculateیک تابع کاربرگ سفارشی یا پشتیبانینشده را به کد application واگذار میکند
نسخه 2.88.159
افزوده شد
TXLSXHtmlExportOptionsصادرسازی HTML قابل تنظیم XLSX اضافه میکند. overload هایSaveAsHTMLبرای workbook و محدوده میتوانند عنوان سند را override کنند، یک CSS class برای جدول اعمال کنند، style های inline/پیشفرض را حذف کنند، BOM UTF-8 را سرکوب کنند، یا یک fragment جدولی بدون سند HTML احاطهکننده صادر کنند
نسخه 2.88.158
افزوده شد
TXLSXWorksheet.AutoFilterRowVisibleوPreviewAutoFilterRowsارزیابی پیشنمایش AutoFilter اضافه میکنند. برنامهها میتوانند آزمایش کنند آیا یک سطر با معیارهای AutoFilter ذخیرهشده XLSX کاربرگ تطابق دارد یا سطرهای داده فیلترشده را با یک callback نمایش قدمبهقدم طی کنند، بدون تغییر flag های پنهان سطر
نسخه 2.88.157
افزوده شد
TXLSXWorksheet.WriteRowsخروجی XLSX دستهای سطر اضافه میکند. فراخوانندهها میتوانند یک محدوده عددی یا به سبک A1 را با بازگرداندن یک آرایهVariantسطر به سطر پر کنند، با قابلیت رد کل سطر، لغو عملیات، و شمارش سطرهای نوشتهشده
نسخه 2.88.156
افزوده شد
TXLSXWorksheet.ForEachRowاسکن سطح سطر XLSX اضافه میکند. callback یک بار به ازای هر سطر بارگذاریشده اجرا میشود، سطر به همراه اولین و آخرین ستون بارگذاریشده را گزارش میدهد، تعداد سطرهای بازدیدشده را برمیگرداند، و از لغو عملیات پشتیبانی میکند
نسخه 2.88.155
تغییر کرد
OpenODSاکنون نتایج scalar cached از سلولهای فرمول ODS را وارد میکند. وقتی یک سلول فرمول مقادیر cached عددی، بولین، تاریخ یا زمان را بدونoffice:value-typeذخیره میکند، importer مقدار سلول cached را نگه میدارد در حالی که syntax فرمول ODS را تبدیلنشده رها میکند
نسخه 2.88.154
تغییر کرد
OpenODSاکنون فرمتهای پایه عدد و تاریخ ODS را حفظ میکند. سبکهای table-cell در ODS مرتبط با data style های تاریخ، زمان، عدد، درصد یا ارز اکنون به رشتههایNumberFormatدر XLSX مانندyyyy-mm-ddو0.00نگاشت میشوند، بنابراین مقادیر واردشده قالببندی نمایشی پایه را حفظ میکنند
نسخه 2.88.153
تغییر کرد
- سلولهای ادغامشده ODS اکنون بهعنوان محدودههای ادغامشده XLSX وارد میشوند.
OpenODSمقادیرtable:number-columns-spannedوtable:number-rows-spannedروی سلولهای ODS را بهTXLSXMergedCellsنگاشت میکند، مقدار را روی سلول بالا-چپ نگه میدارد و سلولهای پوشیدهشده را خالی رها میکند
نسخه 2.88.152
تغییر کرد
- نام sheet های ODS اکنون بدون بارگذاری کاربرگها قابل خواندن هستند.
TXLSXWorkbook.GetODSSheetNames(FileName, AList)وGetODSSheetNames(Stream, AList)نامهای جدولcontent.xmlرا از بستههای.odsاسکن میکنند، escape های XML را decode میکنند، نامهای پیشفرض را برای جداول بینام تولید میکنند، و نمونه workbook را دستنخورده رها میکنند
نسخه 2.88.151
تغییر کرد
- رکوردهای DIMENSION در XLS کلاسیک اکنون محدودههای used خالی را اطلاع میدهند. وقتی یک کاربرگ .xls نوشتهشده توسط Excel یک محدوده used را در
DIMENSIONاعلام میکند اما رکورد سلولی ندارد، HotXLS اکنون آن محدوده را از طریقUsedRangeنشان میدهد و آن را در حین open/save حفظ میکند به جای fall back بهA1
نسخه 2.88.150
رفع اشکال
- ارجاعات فرمول خارجی دوره BIFF5 اکنون درست بارگذاری میشوند. parser XLS کلاسیک اکنون ایندکسهای sheet خارجی Excel5 مثبت را در token های
tRef3d/tArea3dوtNameXresolve میکند، بنابراین فرمولهای .xls قدیمی محدودههای 3D با صلاحیت sheet و ارجاعات اسم خارجی را در حین open/save حفظ میکنند
نسخه 2.88.149
حذف شد
- رکوردهای محاسبه و پسوند style BIFF8 اکنون round-trip میکنند. HotXLS رکوردهای
MTRSettings،ForceFullCalculation،CrErr،Uncalcedکاربرگ،XFCRC،DXFمستقل،StyleExtو خانواده رکوردهایTableStylesنوشتهشده توسط Excel را در حین چرخههای open/save XLS کلاسیک حفظ میکند، بنابراین metadata بازمحاسبه و پسوند style دیگر حذف نمیشود
نسخه 2.88.148
افزوده شد
- نمونههای C++Builder اکنون با پوشش نمونه Delphi مطابقت دارند. پروژههای C++Builder برای
XlsTables،XlsCondFormat12وXlsCreateChartبا صفحات README و پوشش build Win32/Win64 اضافه شدند
نسخه 2.88.147
حذف شد
- Custom Views در BIFF8 از round-trip های XLS کلاسیک جان به در میبرند. HotXLS بلوکهای
USERSVIEWBEGIN/USERSVIEWENDنوشتهشده توسط Excel را در global های workbook و substream های کاربرگ، از جمله رکوردهای unmodeled درون بلوک، حفظ میکند، بنابراین custom view های ذخیرهشده در حین open/save حذف نمیشوند
نسخه 2.88.146
حذف شد
- Global های view و پسوند workbook BIFF8 اکنون round-trip میکنند. HotXLS رکوردهای
HIDEOBJ،TEMPLATEصفر-طول،TABIDوBOOKEXTنوشتهشده توسط Excel را در حین open/save حفظ میکند تا policy نمایش شیء مخفی، نشانگرهای template، شناسههای tab sheet و metadata پسوند workbook حذف نشوند
نسخه 2.88.145
تغییر کرد
- `TXLSXWorkbook` اکنون میتواند فایلهای پایه OpenDocument Spreadsheet را وارد کند.
OpenODS(FileName)وOpenODS(Stream)جداولcontent.xmlرا از بستههای.odsدر کاربرگها میخوانند و نام sheet، مقادیر scalar، سطرهای تکراری و ستونهای تکراری را حفظ میکنند. Style ها، فرمولها، drawing ها، نمودارها و ویژگیهای پیشرفته ODS تبدیل نمیشوند
نسخه 2.88.144
تغییر کرد
- ویرایشهای سطر و ستون XLSX اکنون معیار ستون AutoFilter را بهروز میکنند.
TXLSXWorksheet.InsertRows،DeleteRows،InsertColsوDeleteColsاکنون offset هایColIdدرAutoFilterColumnsرا وقتی محدوده فیلتر حرکت میکند remap میکنند و معیارهایی که در ستونهای حذفشده قرار میگیرند را حذف میکنند
نسخه 2.88.143
تغییر کرد
- ویرایشهای سطر و ستون XLSX اکنون page break های دستی را بهروز میکنند.
TXLSXWorksheet.InsertRows،DeleteRows،InsertColsوDeleteColsاکنون page break های سطر و ستون را با grid ویرایششده حرکت میدهند و break هایی که در سطرها یا ستونهای حذفشده قرار میگیرند را حذف میکنند
نسخه 2.88.142
تغییر کرد
- ویرایشهای سطر و ستون XLSX اکنون ارجاعات print setup را بهروز میکنند.
TXLSXWorksheet.InsertRows،DeleteRows،InsertColsوDeleteColsاکنونPrintArea،PrintTitleRowsوPrintTitleColsرا تنظیم میکنند تا محدودههای چاپشده و عنوانهای تکراری از grid ویرایششده پیروی کنند
نسخه 2.88.141
تغییر کرد
- ویرایشهای سطر و ستون XLSX اکنون هدفهای هایپرلینک داخلی را بهروز میکنند.
TXLSXWorksheet.InsertRows،DeleteRows،InsertColsوDeleteColsاکنون لنگرهایTXLSXHyperlink.Locationداخلی روی sheet ویرایششده و هدفهای داخلی با صلاحیت sheet در جای دیگری در workbook را تنظیم میکنند
نسخه 2.88.140
تغییر کرد
- ویرایشهای سطر و ستون XLSX اکنون فرمولهای قانون را بهروز میکنند.
TXLSXWorksheet.InsertRows،DeleteRows،InsertColsوDeleteColsاکنون ارجاعات A1 درونTXLSXConditionalFormat.Formula1/Formula2وTXLSXDataValidation.Formula1/Formula2را تنظیم میکنند، در حالی که آستانههای عددی و لیستهای literal دستنخورده باقی میمانند
نسخه 2.88.139
تغییر کرد
- ویرایشهای سطر و ستون XLSX اکنون محدودههای سری نمودار را بهروز میکنند.
TXLSXWorksheet.InsertRows،DeleteRows،InsertColsوDeleteColsاکنونTXLSXChartSeries.CategoriesRangeوValuesRangeرا برای نمودارهای روی sheet ویرایششده و نمودارهایی در جای دیگر که از ارجاعات با صلاحیت sheet استفاده میکنند تنظیم میکنند و binding های داده نمودار را پس از چرخههای save/reopen همراستا نگه میدارند
نسخه 2.88.138
تغییر کرد
- ویرایشهای سطر و ستون XLSX اکنون فرمولهای سلول را بهروز میکنند.
TXLSXWorksheet.InsertRows،DeleteRows،InsertColsوDeleteColsاکنون ارجاعات A1 را در فرمولهای سلول باقیمانده روی sheet ویرایششده و فرمولهای با صلاحیت sheet در جای دیگری در workbook تنظیم میکنند، در حالی که رشتهها و sheet های مرتبطنشده دستنخورده باقی میمانند
نسخه 2.88.137
تغییر کرد
- ویرایشهای سطر و ستون XLSX اکنون لنگرهای drawing را جابهجا میکنند.
TXLSXWorksheet.InsertRows،DeleteRows،InsertColsوDeleteColsاکنون لنگرهای تصویر یک سلولی را جابهجا میکنند و لنگرهای نمودار دو سلولی را با grid ویرایششده تغییر اندازه میدهند یا جابهجا میکنند، از جمله در چرخههای save/reopen
نسخه 2.88.136
تغییر کرد
- ویرایشهای سطر و ستون XLSX اکنون اسمهای تعریفشده را بهروز میکنند.
TXLSXWorksheet.InsertRows،DeleteRows،InsertColsوDeleteColsاکنون فرمولهایTXLSXDefinedNameبا scope در workbook و sheet که به sheet ویرایششده اشاره میکنند را تنظیم میکنند و نشانگرهای A1 مطلق را در چرخههای save/reopen حفظ میکنند
نسخه 2.88.135
افزوده شد
- Text box های XLS کلاسیک اکنون از offset های لنگر زیر سلول پشتیبانی میکنند.
TXLSTextBoxویژگیهایRow1Offs،Col1Offs،Row2OffsوCol2Offsرا نشان میدهد، و overload آگاه به offset یعنیSetAreaoffset های BIFF client-anchor را در چرخههای save/reopen حفظ میکند
نسخه 2.88.134
تغییر کرد
- بررسی payload ماکرو XLSX اکنون یک alias ویژگی read-only دارد.
TXLSXWorkbook.VbaProjectDefinedآینهHasVbaProjectاست و به فراخوانندههای property-oriented یک راه مستقیم برای آزمایش وجود payload درvbaProject.binمیدهد
نسخه 2.88.133
تغییر کرد
- کاربرگهای XLSX اکنون پاک کردن مقدار محدوده را مستقیم نشان میدهند.
TXLSXWorksheet.ClearRangeValuesارجاعات A1 یا محدودههای سطر/ستون را میپذیرد و مقادیر/فرمولها را پاک میکند در حالی که style ها را حفظ میکند، بنابراین فراخوانندهها نیازی به ایجاد یک wrapperTXLSXRangeندارند
نسخه 2.88.132
حذف شد
- محدودههای XLSX اکنون میتوانند محتوای سلول را با یک helper متمرکز بر مقدار پاک کنند.
TXLSXRange.ClearValuesمقادیر و فرمولها را در سراسر محدوده حذف میکند در حالی که ایندکسهای style را حفظ میکند، مشابهClearاما کشف پاکسازی فقط محتوا را آسانتر میکند
نسخه 2.88.131
تغییر کرد
- literal های اعتبارسنجی داده لیستی XLSX اکنون نقلقولهای دوتایی تعبیهشده را escape میکنند.
TXLSXDataValidations.AddListوTXLSXWorksheet.AddListValidationکاراکترهای نقلقول دوتایی درون متن آیتم جداشده با ویرگول را قبل از wrap کردن آن بهعنوان یک رشته فرمول Excel double-quote میکنند، بنابراین مقادیر dropdown حاوی علامت نقلقول بهدرستی round-trip میکنند
نسخه 2.88.130
حذف شد
- معیار AutoFilter XLSX اکنون میتواند مستقیم از مجموعه معیار پاک شود.
TXLSXAutoFilterColumns.ClearCriteriaتمام معیارهای فیلتر ذخیرهشده per-column را حذف میکند در حالی کهAutoFilterRangeکاربرگ را بر جای میگذارد
نسخه 2.88.129
افزوده شد
- محدودههای ادغامشده XLSX اکنون مختصات معکوس را هنگام افزوده شدن نرمالسازی میکنند.
TXLSXMergedCells.Addمحدودهها را به ترتیب بالا-چپ / پایین-راست ذخیره میکند حتی وقتی فراخوانندهها سلول پایانی را اول پاس میدهند، و ref های پایداری مانندA2:E6تولید میکند
نسخه 2.88.128
افزوده شد
- مجموعه کاربرگهای XLSX اکنون از حذف مستقیم با نام پشتیبانی میکنند.
TXLSXSheetsمتدDeleteByNameرا اضافه میکند که به برنامهها اجازه میدهد یک کاربرگ را با نام case-insensitive حذف کنند در حالی که انتخاب sheet فعال را یکنواخت نگه میدارند
نسخه 2.88.127
افزوده شد
- مجموعه نمودار XLSX اکنون از جستجو و حذف مستقیم با عنوان پشتیبانی میکنند.
TXLSXChartsمتدهایIndexOfName،FindByName،DeleteByNameوDeleteرا اضافه میکند تا برنامهها بتوانند نمودارها را با عنوان بدون اسکن دستی مجموعه پیدا یا حذف کنند
نسخه 2.88.126
افزوده شد
- مجموعه external-link XLSX اکنون از جستجو و حذف مستقیم با هدف پشتیبانی میکنند.
TXLSXExternalLinksمتدهایIndexOfTarget،FindByTarget،DeleteByTargetوDeleteرا اضافه میکند تا برنامهها بتوانند metadata workbook لینکشده را بدون اسکن دستی مجموعه بازرسی یا حذف کنند
نسخه 2.88.125
افزوده شد
- مجموعه سلول ادغامشده XLSX اکنون از جستجو و حذف مستقیم محدوده پشتیبانی میکنند.
TXLSXMergedCellsمتدهایIndexOfCell،FindAt،DeleteAtوDeleteInRangeرا اضافه میکند تا برنامهها بتوانند محدودههای ادغامشده را بدون اسکن دستی مجموعه بازرسی یا حذف کنند
نسخه 2.88.124
افزوده شد
- مجموعههای conditional-format و data-validation XLSX اکنون از جستجو و حذف آگاه به محدوده پشتیبانی میکنند.
TXLSXConditionalFormatsوTXLSXDataValidationsمتدهایIndexOfCell،FindAt،DeleteAtوDeleteInRangeرا اضافه میکنند تا برنامهها بتوانند قوانینی که یک سلول را پوشش میدهند یا با یک محدوده تقاطع دارند بدون اسکن دستیsqrefپیدا یا حذف کنند
نسخه 2.88.123
افزوده شد
- مجموعه تصویر XLSX اکنون از جستجو و حذف مستقیم لنگر پشتیبانی میکنند.
TXLSXImagesمتدهایIndexOfCell،FindAt،DeleteAt،DeleteInRangeوDeleteرا اضافه میکند تا برنامهها بتوانند تصاویر embedded را بدون اسکن دستی مجموعه بازرسی یا حذف کنند
نسخه 2.88.122
افزوده شد
- مجموعه ستون AutoFilter XLSX اکنون از جستجو و حذف مستقیم پشتیبانی میکنند.
TXLSXAutoFilterColumnsمتدهایFindByColIdوDeleteByColIdرا اضافه میکند تا برنامهها بتوانند معیار per-column را بدون اسکن دستی مجموعه بازرسی یا حذف کنند
نسخه 2.88.121
افزوده شد
- مجموعه جدول XLSX اکنون از جستجو و حذف مستقیم جدول پشتیبانی میکنند.
TXLSXTablesمتدهایIndexOfName،FindByNameوDeleteByNameرا اضافه میکند تا برنامهها بتوانند جداول کاربرگ نامگذاریشده را بدون اسکن دستی مجموعه پیدا یا حذف کنند
نسخه 2.88.120
افزوده شد
- مجموعههای اسم تعریفشده XLSX اکنون از جستجو و حذف مستقیم شیء پشتیبانی میکنند.
TXLSXDefinedNamesoverload هایIndexOfName(Name, SheetIndex)،FindByNameوDeleteByNameرا اضافه میکند تا برنامهها بتوانند بدون اسکن دستی مجموعه با اسمهای با scope در workbook و sheet کار کنند
نسخه 2.88.119
افزوده شد
- مجموعههای کامنت و هایپرلینک XLSX اکنون از جستجو و حذف مبتنی بر سلول پشتیبانی میکنند.
TXLSXCommentsوTXLSXHyperlinksمتدهایIndexOfCell،FindAt،DeleteAtوDeleteInRangeرا نشان میدهند تا کد برنامه بتواند کامنتها و لینکهای کاربرگ را بدون اسکن دستی مجموعه پیدا یا حذف کند
نسخه 2.88.118
تغییر کرد
- نمونههای ApiTour اکنون اشیاء workbook XLSX بازبازشده را بازرسی میکنند. نمونههای ApiTour در Delphi و C++Builder workbook XLSX تولیدشده را دوباره باز میکنند و سطرهای
reopen-inspectبرای اسمهای تعریفشده، کامنتها، هایپرلینکها، محدودههای AutoFilter و معیار AutoFilter را درApiTour-XLSX-Modified.xlsxمینویسند
نسخه 2.88.117
حذف شد
- رکوردهای workbook اشتراکگذاری فایل و حفاظت revision BIFF8 اکنون round-trip میکنند. HotXLS body رکوردهای
FILESHARING،FILESHARING2،PROT4REVوPROT4REVPASSنوشتهشده توسط Excel را در حین open/save حفظ میکند تا metadata توصیه read-only، اشتراکگذاری و حفاظت revision حذف نشوند
نسخه 2.88.116
تغییر کرد
- نمونههای ApiTour اکنون helper های شیء workbook XLSX را پوشش میدهند. نمونههای ApiTour در Delphi و C++Builder یک اسم تعریفشده، کامنت کاربرگ، هایپرلینک، محدوده autofilter و معیار autofilter ایجاد میکنند در حالی که جریانهای کاری callback، جایگزینی متن و صادرسازی موجود را نگه میدارند
نسخه 2.88.115
تغییر کرد
- نمونههای InteractiveFeatures اکنون میتوانند workbook های pivot XLS کلاسیک را دوباره باز کنند. تب Pivot در Delphi و C++Builder میتواند یک workbook pivot XLS کلاسیک موجود را باز کند، جدولهای pivot ذخیرهشده روی هر کاربرگ را برشمرد، و field count، data field count و محدوده منبع cache هر جدول را log کند
نسخه 2.88.114
تغییر کرد
- نمونههای InteractiveFeatures اکنون میتوانند workbook های XLS کلاسیک را برای جریانهای کاری TextBox دوباره باز کنند. فرمهای Delphi و C++Builder میتوانند یک workbook XLS کلاسیک موجود را باز کنند، text box های drawing مستقل ذخیرهشده را پیدا کنند، آنها را فهرست کنند، و عملیات ویرایش، حذف، حذف محدوده و ذخیره را در برابر فایل بازشده ادامه دهند
نسخه 2.88.113
تغییر کرد
- نمونههای C++Builder اکنون شامل یک نمونه InteractiveFeatures برای جریانهای کاری پیشرفته workbook هستند. فرم VCL همان مسیر تعاملی Pivot / TextBox / Macro را فراهم میکند، با ایجاد typed جدول pivot XLS کلاسیک، ویرایش text box drawing مستقل، و بارگذاری/صادرسازی/پاک کردن payload
vbaProject.binXLSM به همراه بازرسی module parsed
نسخه 2.88.112
تغییر کرد
- نمونههای Delphi اکنون شامل یک نمونه InteractiveFeatures برای جریانهای کاری پیشرفته workbook هستند. فرم VCL جدولهای pivot XLS کلاسیک typed ایجاد میکند، text box های drawing مستقل را ویرایش میکند، و بارگذاری/صادرسازی/پاک کردن payload
vbaProject.binXLSM به همراه بازرسی module parsed را انجام میدهد
نسخه 2.88.111
افزوده شد
- کاربرگهای XLS کلاسیک اکنون از text box های drawing مستقل پشتیبانی میکنند. از
TXLSShapes.AddTextBoxاستفاده کنید تا یکTXLSTextBoxبا لنگر سطر/ستون خودش، متن، text run ها، قالببندی خط/fill و حذف shape معمولی بدون ایجاد یک کامنت سلول ایجاد کنید
نسخه 2.88.110
تغییر کرد
- نمونههای ApiTour اکنون الگوهای بیشتری از automation workbook را پوشش میدهند. نمونههای ApiTour در Delphi و C++Builder نوشتن محدوده مبتنی بر callback با
WriteCells، اسکن سلول بارگذاریشده باForEachCell، بهروزرسانی template باFindTextوReplaceText، صادرسازی HTML محدوده انتخابشده بهApiTour-Range.html، و callback فرمول سفارشی Delphi از طریقOnUserFunctionرا نشان میدهند
نسخه 2.88.109
تغییر کرد
- نمونههای QuickStart اکنون یک workbook اول کاملتر نشان میدهند. نمونههای QuickStart در Delphi و C++Builder یک جدول ضرب با قالببندی با فرمولهای جمع سطر و ستون، pane های فریزشده و اقدامات XLS/XLSX مطابق ایجاد میکنند؛ درخت demo اکنون همچنین صفحات readme HTML شیک برای هر مثال دارد
نسخه 2.88.108
تغییر کرد
- محدودههای XLSX اکنون helper های صادرسازی HTML مستقیم دارند.
TXLSXRange.SaveAsHTML(FileName)وTXLSXRange.SaveAsHTML(Stream)فقط محدوده XLSX انتخابشده را بهعنوان یک جدول HTML با رمزگذاری UTF-8 صادر میکنند و از escaping، خروجی style پایه و مدیریت span سلول ادغامشده رندرر HTML workbook استفاده میکنند
نسخه 2.88.107
افزوده شد
- کاربرگهای XLSX اکنون شامل helper های جستجو و جایگزینی متن هستند.
TXLSXWorksheet.FindTextوTXLSXWorksheet.ReplaceTextسلولهای متنی بارگذاریشده را به ترتیب سطر-اصلی اسکن میکنند، فرمولها و مقادیر غیرمتنی را رد میکنند، و از تطابق case-sensitive اختیاری برای جریانهای کاری template پشتیبانی میکنند
نسخه 2.88.106
تغییر کرد
- پرچمهای view Window2 در BIFF8 اکنون وضعیت رنگ gridline و pane فریزشده سفارشی را حفظ میکنند. HotXLS اکنون
fDefaultHdrرا وقتیWindow2.icvHdrیک رنگ gridline سفارشی ذخیره میکند پاک میکند،fFrozenNoSplitنوشتهشده توسط Excel را در حین open/save حفظ میکند، وfFrozenNoSplitرا برای خروجیFreezePanesمینویسد
نسخه 2.88.105
تغییر کرد
- آستانههای فرمول CF12 اکنون از طریق قوانین Data Bar، Color Scale و Icon Set BIFF8 round-trip میکنند. مقادیر آستانه مبتنی بر فرمول هنگام ذخیره به byte های token فرمول CF12 کامپایل میشوند و هنگام باز کردن دوباره workbook به
TXLSCfValue.Valueبازگردانده میشوند
نسخه 2.88.104
تغییر کرد
- فرمولهای XLS کلاسیک و آستانههای icon-set اکنون رکوردهای BIFF8 فشردهتری صادر میکنند. ثابتهای صحیح در فرمولها از token فشرده
tIntوقتی در محدوده unsigned-integer BIFF قرار میگیرند استفاده میکنند، وTXLSIconSetSpec.ThresholdEqualsInclude[Index]اکنون byte equals آستانه icon-set CF12 را کنترل میکند تا فراخوانندهها بتوانند سمانتیک مقایسه include یا exclude را انتخاب کنند
نسخه 2.88.103
تغییر کرد
- کاربرگهای XLS کلاسیک اکنون شامل یک helper جستجوی متن هستند.
IXLSWorksheet.FindText(SearchText, Row, Col[, MatchCase])اولین سلول متنی بارگذاریشده منطبق را پیدا میکند، فرمولها و سلولهای غیرمتنی را رد میکند، و مختصات برگرداندهشده را وقتی هیچ تطابقی پیدا نشود پاک میکند
نسخه 2.88.102
تغییر کرد
- کاربرگهای XLS کلاسیک اکنون شامل یک helper جایگزینی متن هستند.
IXLSWorksheet.ReplaceText(SearchText, ReplacementText[, MatchCase])تطابقها را در سلولهای متنی بارگذاریشده جایگزین میکند، فرمولها و سلولهای غیرمتنی را رد میکند، و تعداد سلول تغییریافته را برای جریانهای کاری پر کردن template گزارش میدهد
نسخه 2.88.101
تغییر کرد
- محدودهها اکنون helper های صادرسازی HTML مستقیم دارند.
IXLSRange.SaveAsHTML(FileName)وIXLSRange.SaveAsHTML(Stream)محدوده انتخابشده را از طریق رندرر HTML موجود صادر میکنند، بنابراین فراخوانندهها دیگر نیازی به ایجاد یک نمونهTXLSHTMLExportیا پاس دادن صریحxlHTMLبرای fragment های محدوده رایج ندارند
نسخه 2.88.100
تغییر کرد
TXLSWorkbook.GetSheetNames(Stream, AList)اکنون stream های بسته XLSX را علاوه بر stream های XLS کلاسیک میخواند. برنامهها میتوانند memory stream ها، stream های BLOB پایگاه داده یا stream های XLSX دانلودشده را به facade کلاسیک پاس دهند و نامهای کاربرگ مرتبشده را بدون ذخیره ابتدا در یک فایل دریافت کنند
نسخه 2.88.99
افزوده شد
- API های جستجوی کاربرگ، ایجاد هایپرلینک و انتخاب چند ناحیه اکنون راحتتر هستند. مجموعههای sheet XLS کلاسیک و XLSX متد
TryGetSheetByNameرا اضافه میکنند، کاربرگهای XLS کلاسیک overload های راحتAddHyperlinkرا اضافه میکنند، وIXLSWorksheet.SelectAreasمیتواند انتخابهای چند ناحیه فعال را بنویسد
نسخه 2.88.98
تغییر کرد
- workbook های XLS کلاسیک اکنون یک alias
UserNameبرای فیلد saved-by نشان میدهند.IXLSWorkbook.UserNameبه همان مقدار WRITEACCESS مانندLastSavedByنگاشت میشود، بنابراین کدی که از قرارداد نامگذاریUserNameاستفاده میکند میتواند نام audit workbook را مستقیم بخواند و بهروز کند
نسخه 2.88.97
تغییر کرد
- کاربرگهای XLSX اکنون callback اسکن سلول و helper های نوشتن محدوده را به اشتراک میگذارند.
TXLSXWorksheet.ForEachCellسلولهای بارگذاریشده را به ترتیب سطر با متن مقدار و فرمول برمیشمارد، در حالی کهTXLSXWorksheet.WriteCellsمحدودههای عددی یا به سبک A1 را از یک callback با skip و لغو per-cell پر میکند
نسخه 2.88.96
افزوده شد
- کاربرگهای XLS کلاسیک اکنون از نوشتن محدوده مبتنی بر callback پشتیبانی میکنند.
IXLSWorksheet.WriteCellsیک محدوده عددی 1-based یا به سبک A1 را به ترتیب سطر پر میکند، به callback اجازه میدهد هر مقدار سلول را فراهم کند، از skip per-cell پشتیبانی میکند، و میتواند حلقههای نوشتن طولانی را زود لغو کند
نسخه 2.88.95
تغییر کرد
- کاربرگهای XLS کلاسیک اکنون میتوانند سلولهای بارگذاریشده را از طریق یک callback برشمارند.
IXLSWorksheet.ForEachCellسلولهای موجود کاربرگ را به ترتیب سطر طی میکند، مختصات 1-based sheet، سطر و ستون را با متن مقدار و فرمول پاس میدهد، و به callback اجازه میدهد اسکنهای طولانی را زود لغو کند
نسخه 2.88.94
تغییر کرد
- محاسبه فرمول اکنون میتواند توابع تعریفشده توسط برنامه را فراخوانی کند.
TXLSWorkbook.OnUserFunctionوTXLSXWorkbook.OnUserFunctionبهCalculateاجازه میدهند توابع کاربرگ سفارشی یا پشتیبانینشده را به کد برنامه واگذار کند، آرگومانهای ارزیابیشده را پاس دهد و از نتیجهVariantبرگرداندهشده وقتی handle شد استفاده کند
نسخه 2.88.93
افزوده شد
- حفاظت کاربرگ XLS کلاسیک اکنون پرچمهای مجوز per-action نشان میدهد.
IXLSWorksheetویژگیهایAllowDeleteRows،AllowInsertRows،AllowFormatCells،AllowSort،AllowAutoFilterو سایر ویژگیهای مجوز SheetProtect را اضافه میکند، با گزینههای BIFF8 نوشتهشده و بازخواندهشده از طریق رکوردهای حفاظت موجود
نسخه 2.88.92
تغییر کرد
- payload های VBA XLS کلاسیک اکنون helper های صریح load/save/clear دارند.
IXLSWorkbook.LoadVBAProjectFromFile،SaveVBAProjectToFile،HasVBAProjectوClearVBAProjectpayload ذخیرهشده OLE VBA را نشان میدهند در حالی کهVBAProjectview module parsed read-only باقی میماند
نسخه 2.88.91
تغییر کرد
- معیار AutoFilter XLS کلاسیک اکنون میتواند از طریق یک مجموعه فیلد بازرسی شود.
IXLSWorksheet.AutoFilterColumnsتعداد فیلد AutoFilter BIFF8 فعلی و آیتمهای فیلد 1-based را نشان میدهد، از جمله وضعیت فعال، عملگر و مقادیرCriteria1/Criteria2DOPER ذخیرهشده
نسخه 2.88.90
تغییر کرد
- کاربرگهای XLS کلاسیک اکنون یک راهاندازی معیار AutoFilter یکمرحلهای دارند.
IXLSWorksheet.ApplyAutoFilterمحدوده AutoFilter کاربرگ را تنظیم میکند و یک معیار فیلد را در همان فراخوانی مینویسد، با overload های محدوده به سبک A1 و عددی 1-based به علاوه عملگرهای دو معیاری اختیاری
نسخه 2.88.89
حذف شد
- shape های XLS کلاسیک اکنون میتوانند با محدوده سلول حذف شوند.
TXLSShapes.DeleteInRangeتصاویر یا shape های لنگرشدهای که client anchor های OfficeArt آنها با یک محدوده کاربرگ 1-based تقاطع دارند را حذف میکند و تعداد shape های حذفشده را برمیگرداند
نسخه 2.88.88
تغییر کرد
- ویژگیهای layout جدول صادرسازی HTML کلاسیک اکنون قابل تنظیم هستند.
TXLSHTMLExport.TableBorderWidth،CellPaddingوCellSpacingویژگیهای<table>تولیدشده را هم برای خروجی HTML با style و هم ساده کنترل میکنند در حالی که به مقادیر صفر قبلی پیشفرض میشوند
نسخه 2.88.87
افزوده شد
- صادرسازی HTML کلاسیک اکنون از خروجی جدول حداقلی پشتیبانی میکند.
TXLSHTMLExport.SimpleExportیک جدول HTML ساده بدون class های CSS تولیدشده، لنگرهای هایپرلینک یا ویژگیهای title کامنت مینویسد در حالی که متن نمایشی escaped و span های سلول ادغامشده را حفظ میکند
نسخه 2.88.86
تغییر کرد
- صادرسازی HTML کلاسیک اکنون میتواند یک عنوان سند بنویسد.
TXLSHTMLExport.Titleیک عنصر HTML<title>escaped قبل از بلوک style تولیدشده مینویسد، در حالی که مقدار خالی پیشفرض خروجی موجود را دستنخورده نگه میدارد
نسخه 2.88.85
تغییر کرد
- صادرسازی HTML کلاسیک اکنون کامنتهای سلول را بهعنوان tooltip حمل میکند.
TXLSHTMLExport.Optionsاکنون بهطور پیشفرض شاملxhCommentsمیشود و متن کامنت سلول را بهعنوان ویژگیهایtitleescaped مینویسد در حالی که هنوز به فراخوانندهها اجازه میدهد این گزینه را برای خروجی سلول ساده حذف کنند
نسخه 2.88.84
تغییر کرد
- خروجی هایپرلینک صادرسازی HTML کلاسیک اکنون قابل تنظیم است.
TXLSHTMLExport.Optionsبهطور پیشفرض[xhHyperlinks]را برای رفتار موجود انتخاب میکند، و فراخوانندهها میتوانندxhHyperlinksرا حذف کنند تا سلولهای linked را بهعنوان متن escaped ساده صادر کنند
نسخه 2.88.83
تغییر کرد
- صادرسازی HTML کلاسیک اکنون هایپرلینکهای سلول را حفظ میکند.
SaveAsHTMLسلولهای linked را در تگهای anchor HTML wrap میکند، آدرسهای هایپرلینک را بهعنوان مقادیرhrefescaped صادر میکند، متن ScreenTip را بهعنوان ویژگیهایtitleescaped حمل میکند، و متن نمایشی سلول escaped را داخل لینک نگه میدارد
نسخه 2.88.82
تغییر کرد
- workbook های XLS کلاسیک اکنون میتوانند نام کاربری saved-by را کنترل کنند.
IXLSWorkbook.LastSavedByفیلد saved-by WRITEACCESS را نشان میدهد تا workbook های تولیدشده یا ویرایششده بتوانند یک نام audit صریح ذخیره کنند در حالی که workbook های منبع ویرایشنشده metadata اصلی خود را همچنان حفظ میکنند
نسخه 2.88.81
تغییر کرد
- کاربرگهای XLS کلاسیک اکنون میتوانند ایندکس رنگ gridline نمایشی را کنترل کنند.
IXLSWorksheet.GridlineColorIndexفیلدicvHdrWindow2 را نشان میدهد تا کاربرگهای ذخیرهشده بتوانند با یک رنگ gridline انتخابی دوباره باز شوند در حالی که تنظیمات نمایش و چاپ gridline دستنخورده باقی میمانند
نسخه 2.88.80
تغییر کرد
- workbook های XLS کلاسیک اکنون میتوانند sheet فعال را با ایندکس تنظیم کنند.
IXLSWorkbook.ActiveSheetIndexیک ویژگی تب فعال 1-based که با فیلد sheet فعال WINDOW1 پشتیبانی میشود نشان میدهد و به workbook های ذخیرهشده اجازه میدهد روی یک کاربرگ انتخابی دوباره باز شوند بدون تغییر اولین تب نمایشیافته
نسخه 2.88.79
تغییر کرد
- outline های کاربرگ XLS کلاسیک اکنون میتوانند style های outline خودکار را کنترل کنند.
TXLSOutline.ApplyStylesپرچم outline style WSBool را نشان میدهد و به کاربرگهای ذخیرهشده اجازه میدهد اعمال style outline Excel را بدون تغییر سطوح outline یا قرارگیری خلاصه حفظ یا صریح فعال کنند
نسخه 2.88.78
تغییر کرد
- راهاندازی صفحه XLS کلاسیک اکنون میتواند شکستهای صفحه خودکار را کنترل کند.
IXLSPageSetup.AutoPageBreaksپرچم WSBool شکست صفحه خودکار کاربرگ را نشان میدهد و به کاربرگهای ذخیرهشده اجازه میدهد شکستهای صفحه خودکار را فعال نگه دارند یا صریح غیرفعال کنند در حالی که شکستهای صفحه دستی حفظ میشوند
نسخه 2.88.77
تغییر کرد
- workbook های XLS کلاسیک اکنون میتوانند گروهبندی تاریخ AutoFilter را کنترل کنند.
IXLSWorkbook.AutoFilterDateGroupingپرچم گروهبندی تاریخ Window1 را با یک API بولین مثبت نشان میدهد و به workbook های ذخیرهشده اجازه میدهد گروهبندی فیلتر تاریخ Excel را فعال نگه دارند یا صریح غیرفعال کنند
نسخه 2.88.76
تغییر کرد
- workbook های XLS کلاسیک اکنون میتوانند موقعیت و اندازه پنجره workbook را مستقیم تنظیم کنند.
IXLSWorkbook.XWindow،YWindow،WindowWidthوWindowHeightفیلدهای هندسه Window1 را نمایش میدهند تا workbook های ذخیرهشده بتوانند با یک مستطیل پنجره انتخابی باز شوند
نسخه 2.88.75
تغییر کرد
- workbook های XLS کلاسیک اکنون میتوانند وضعیت پنهان پنجره workbook را مستقیم ذخیره کنند.
IXLSWorkbook.WindowHiddenبه پرچم hidden در Window1 نگاشت میشود و به workbook های ذخیرهشده اجازه میدهد با پنجره workbook پنهان باز شوند بدون تغییر نمایش کاربرگ
نسخه 2.88.74
تغییر کرد
- workbook های XLS کلاسیک اکنون میتوانند وضعیت کوچکشده پنجره workbook را مستقیم ذخیره کنند.
IXLSWorkbook.Minimizedبه پرچم minimized در Window1 نگاشت میشود و به workbook های ذخیرهشده اجازه میدهد با پنجره workbook کوچکشده باز شوند
نسخه 2.88.73
تغییر کرد
- workbook های XLS کلاسیک اکنون میتوانند نوار اسکرول عمودی را مستقیم پنهان یا نمایش دهند.
IXLSWorkbook.ShowVerticalScrollبه پرچمfDspVScrollدر Window1 نگاشت میشود و به workbook های ذخیرهشده اجازه میدهد با نوار اسکرول عمودی پنهان یا نمایان باز شوند
نسخه 2.88.72
تغییر کرد
- workbook های XLS کلاسیک اکنون میتوانند نوار اسکرول افقی را مستقیم پنهان یا نمایش دهند.
IXLSWorkbook.ShowHorizontalScrollبه پرچمfDspHScrollدر Window1 نگاشت میشود و به workbook های ذخیرهشده اجازه میدهد با نوار اسکرول افقی پنهان یا نمایان باز شوند
نسخه 2.88.71
تغییر کرد
- workbook های XLS کلاسیک اکنون میتوانند نوار تب برگه را مستقیم پنهان یا نمایش دهند.
IXLSWorkbook.ShowSheetTabsبه پرچمfDspTabsدر Window1 نگاشت میشود و به workbook های ذخیرهشده اجازه میدهد با تبهای برگه پنهان یا نمایان باز شوند بدون تغییر نمایش کاربرگ
نسخه 2.88.70
تغییر کرد
- workbook های XLS کلاسیک اکنون میتوانند نسبت نوار تب workbook را مستقیم تنظیم کنند.
IXLSWorkbook.TabRatioمقدارwTabRatioدر Window1 را نمایش میدهد تا فراخوانندهها بتوانند فضای اختصاصیافته به تبهای برگه در برابر نوار اسکرول افقی را تنظیم کنند
نسخه 2.88.69
تغییر کرد
- workbook های XLS کلاسیک اکنون میتوانند اولین تب برگه نمایان را مستقیم تنظیم کنند.
IXLSWorkbook.FirstSheetمقدارitabFirstدر Window1 را بهعنوان یک ویژگی مبتنی بر 1 نمایش میدهد تا فراخوانندهها بتوانند انتخاب کنند کدام تب برگه هنگام باز شدن workbook در Excel در لبه چپ ظاهر شود
نسخه 2.88.68
تغییر کرد
- کاربرگهای XLS کلاسیک اکنون میتوانند نمایش نمادهای outline را حفظ و تنظیم کنند.
IXLSWorksheet.DisplayOutlineSymbolsبه پرچمfDspGutsدر BIFF WINDOW2 نگاشت میشود و به برگههای ذخیرهشده اجازه میدهد نمادهای outline و گروهبندی را در نمای پنجره پنهان کنند
نسخه 2.88.67
تغییر کرد
- کاربرگهای XLS کلاسیک اکنون میتوانند نمایش سرستونهای سطر و ستون را حفظ و تنظیم کنند.
IXLSWorksheet.DisplayHeadingsبه پرچمfDspRwColدر BIFF WINDOW2 نگاشت میشود و به برگههای ذخیرهشده اجازه میدهد شمارههای سطر و حروف ستون را در نمای پنجره پنهان کنند
نسخه 2.88.66
تغییر کرد
- کاربرگهای XLS کلاسیک اکنون میتوانند نمای نمایش فرمول را حفظ و تنظیم کنند.
IXLSWorksheet.DisplayFormulasبه پرچمfDspFmlaدر BIFF WINDOW2 نگاشت میشود تا Excel بتواند یک برگه را با نمایش متن فرمول بهجای نتایج محاسبهشده باز کند
نسخه 2.88.65
تغییر کرد
- کاربرگهای XLS کلاسیک اکنون میتوانند زوم نمای Normal را بهطور مستقل تنظیم کنند.
IXLSWorksheet.NormalViewZoomزوم Normal ذخیرهشده در WINDOW2 را نمایش میدهد تا فراخوانندهها بتوانند سطوح زوم مجزا را در حالی که یک برگه در Page Break Preview است ذخیره کنند
نسخه 2.88.64
تغییر کرد
- کاربرگهای XLS کلاسیک اکنون میتوانند زوم Page Break Preview را مستقیم تنظیم کنند.
IXLSWorksheet.PageBreakPreviewZoomزوم پیشنمایش ذخیرهشده در WINDOW2 را نمایش میدهد تا فراخوانندهها بتوانند سطوح زوم متفاوتی برای Normal و Page Break Preview ذخیره کنند
نسخه 2.88.63
تغییر کرد
- کاربرگهای XLS کلاسیک اکنون کمککنندههای پنجره تقسیمشده را نمایش میدهند.
IXLSWorksheet.SplitPanes(Width, Height)یک تقسیم پنجره متحرک را با استفاده از نویسنده pane موجود BIFF ایجاد میکند وUnsplitPanesرکورد pane را پیش از ذخیره پاک میکند
نسخه 2.88.62
حذف شد
- کاربرگهای XLS کلاسیک اکنون کمککنندههای سادهتری برای پنجرههای ثابت دارند.
IXLSWorksheet.FreezePanes(Cols, Rows)ستونهای سمت چپ و سطرهای بالایی درخواستشده را ثابت میکند، در حالی کهUnfreezePanesرکورد pane را پیش از ذخیره حذف میکند
نسخه 2.88.61
تغییر کرد
- کشف نام برگههای XLS کلاسیک اکنون stream ها را میپذیرد.
TXLSWorkbook.GetSheetNames(Stream, List)نامهای برگه BIFF را از یک XLS stream ارائهشده توسط فراخواننده بدون بارگذاری محتویات کاربرگ میخواند و با کمککننده نامفایل برای دادههای workbook درونحافظهای مطابقت دارد
نسخه 2.88.60
رفع اشکال
- collection های کاربرگ اکنون کمککنندههای مستقیم جستجوی براساسنام را نمایش میدهند.
IXLSWorkSheets.SheetByName(Name)وTXLSXSheets.SheetByName(Name)شی کاربرگ منطبق یاnilرا برمیگردانند تا فراخوانندهها دیگر نیازی به resolve کردن یک ایندکس پیش از دسترسی به یک برگه نداشته باشند
نسخه 2.88.59
تغییر کرد
- نمای XLSX اکنون نام برگهها را مستقیم از stream ها میخواند.
TXLSXWorkbook.GetSheetNames(Stream, List)نامهای مرتب را ازxl/workbook.xmlبدون بارگذاری XML کاربرگ میخواند و با overload نامفایل برای workbook های درونحافظهای و مبتنی بر BLOB مطابقت دارد
نسخه 2.88.58
تغییر کرد
- نمای XLSX اکنون کشف سریع نام برگهها را نمایش میدهد.
TXLSXWorkbook.GetSheetNames(FileName, List)نامهای مرتب را ازxl/workbook.xmlبدون بارگذاری XML کاربرگ میخواند
نسخه 2.88.57
افزوده شد
TXLSWorkbook.GetSheetNamesاکنون از بستههای XLSX پشتیبانی میکند. این متدxl/workbook.xmlرا از فایلهای.xlsx،.xlsm،.xltxو.xltmمیخواند و نامهای برگه مرتب را بدون بارگذاری XML کاربرگ برمیگرداند
نسخه 2.88.56
تغییر کرد
- workbook های XLS کلاسیک اکنون میتوانند نام برگهها را بدون بارگذاری کاربرگها بخوانند.
TXLSWorkbook.GetSheetNames(FileName, List)جریان globals workbook را اسکن میکند و نامهای برگه مرتب را از فایلهای Excel 97-2003 با پسوند.xlsبرمیگرداند
نسخه 2.88.55
تغییر کرد
- معیارهای AutoFilter محدوده XLS کلاسیک اکنون رکوردهای فیلتر BIFF8 مینویسند.
TXLSRange.Autofilter(Field, Criteria)در صورت نیاز محدوده فیلتر را ایجاد میکند و شرایطAUTOFILTERرا برای معیارهای رشتهای ساده، عددی، بولین، blank، nonblank و دارای پیشوند مقایسهای صادر میکند
نسخه 2.88.54
تغییر کرد
- کاربرگهای XLS کلاسیک اکنون کمککنندههای AutoFilter در سطح کاربرگ دارند.
IXLSWorksheet.SetAutoFilter،ClearAutoFilterوAutoFilterRangeمحدودههای dropdown فیلتر BIFF8 را مستقیم مدیریت میکنند در حالی که از نویسنده موجودAUTOFILTERINFOو نام پایگاهداده فیلتر استفاده مجدد میکنند
نسخه 2.88.53
افزوده شد
- کاربرگهای XLS کلاسیک اکنون ایجاد اعتبارسنجی داده لیستی را نمایش میدهند.
IXLSWorksheet.AddListValidation(Range, Items)رکوردهایDVALوDVدر BIFF8 را مینویسد، dropdown را بهطور پیشفرض نمایان نگه میدارد، از لیستهای inline با جداکننده ویرگول پشتیبانی میکند، و قواعد را در چرخههایOpen/SaveAsحفظ میکند
نسخه 2.88.52
افزوده شد
- محاسبه فرمول اکنون بهطور یکسان در نقاط ورود XLS و XLSX کار میکند.
TXLSWorkbook.Calculateاکنون فرمولهایی با علامتمساوی پیشرو به سبک Excel مانند=SUM(A1:B1)+C1را میپذیرد، و نمای XLSXTXLSXWorkbook.CalculateوTXLSXWorksheet.Calculateرا اضافه میکند. مسیر XLSX تجزیهکننده توکن فرمول و ارزیاب HotXLS را برای ارجاعات سلولی و محدوده، سلولهای فرمول ارجاعشده، ارجاعات چندبرگهای و محدودههای نام تعریفشده در سطح workbook یا برگه به اشتراک میگذارد
نسخه 2.88.51
افزوده شد
- محدودههای XLSX اکنون از ادغام عرضی به سبک Excel پشتیبانی میکنند.
TXLSXRange.Merge(True)یک ورودی<mergeCell>به ازای هر سطر مینویسد که با رفتارRange.Merge(True)در XLS کلاسیک مطابقت دارد، در حالی کهMergeبدون آرگومان وMerge(False)همچنان یک مستطیل ادغامشده کامل در کل محدوده ایجاد میکنند
نسخه 2.88.50
تغییر کرد
- قرارگیری HeaderFooter و HFPicture در BIFF8 اکنون با قوانین جاری MS-XLS مطابقت دارد. HotXLS رکوردهای
HeaderFooter($089C) نوشتهشده توسط Excel را برای متن header و footer صفحات زوج/اول حفظ میکند، و رکوردهایHFPicture($0866) را بعد از ابعاد کاربرگ و اشیاء drawing مطابق ABNF کاربرگ مجدداً پخش میکند تا جزئیات چیدمان صفحه در چرخههای باز/ذخیره .xls باقی بمانند
نسخه 2.88.49
تغییر کرد
- run های متن غنی نظرات اکنون یک API نوعدار دارند.
TXLSComment.TextRunsورودیهایFormatRunدرTXOBIFF8 را نمایش میدهد تا فراخوانندهها بتوانند مرزهای font به ازای هر کاراکتر را در نظرات .xls بازبینی یا تنظیم کنند در حالی که HotXLS همچنان بایتهای run پایه را برای چرخههای ایمن حفظ میکند
نسخه 2.88.48
تغییر کرد
- رکوردهای SX تکمیلی جدول محوری اکنون از طریق API نوعدار نمایش داده میشوند. HotXLS اکنون رکوردهای BIFF8 محوری بارگذاریشده مانند
SXIVD،SXLI،SXFormat،SXEx،SXVDEx،SXRule،SXFiltوSXAddlرا بهTXLSPivotTable.SupplementalRecordsبرای بازبینی متصل میکند در حالی که همچنان بایتهای خام اصلی را برای چرخههای ذخیره حفظ میکند
نسخه 2.88.47
حذف شد
- مقادیر کَش workbook های خارجی اکنون در چرخههای باز/ذخیره .xls باقی میمانند. HotXLS اکنون رکوردهای
XCTوCRNدر BIFF8 متصل به ورودیهایSUPBOOKبارگذاریشده را حفظ میکند تا مقادیر سلولی کَششده برای لینکهای workbook خارجی دیگر هنگام ذخیره نیفتند
نسخه 2.88.46
تغییر کرد
- سطوح outline style داخلی اکنون در چرخههای باز/ذخیره .xls باقی میمانند. HotXLS اکنون بایت
iLevelدر رکوردSTYLEBIFF8 را برای style های داخلی میخواند و حفظ میکند تا متادیتای style های RowLevel_1..7 و ColLevel_1..7 در Excel دیگر هنگام ذخیره به پیشفرض بازنشینی نشود
نسخه 2.88.45
تغییر کرد
- متادیتای نام تعریفشده اکنون در چرخههای باز/ذخیره .xls باقی میماند. HotXLS اکنون بیتهای گزینه و بایتهای میانبر رکورد
NAMEBIFF8 بارگذاریشده را مگر در صورت ویرایش نام تعریفشده حفظ میکند تا متادیتای نامهای تابع، شی، رویه، عبارت محاسبهشده و نام باینری نوشتهشده توسط Excel دیگر هنگام ذخیره پاک نشود
نسخه 2.88.44
حذف شد
- نشانگرهای workbook ObProj اکنون در چرخههای باز/ذخیره .xls باقی میمانند. HotXLS اکنون رکوردهای
ObProjBIFF8 بارگذاریشده را حتی در صورت عدم نمایش هیچ VBA storage از طریق مدل شی حفظ میکند تا نشانگرهای پروژه VBA در سطح workbook و متادیتای شخص ثالث دیگر هنگام ذخیره نیفتند
نسخه 2.88.43
تغییر کرد
- پرچمهای گزینه کاربرگ اکنون در چرخههای باز/ذخیره .xls باقی میمانند. HotXLS اکنون بیتهای
WSBOOLBIFF8 مدلنشده مانند پرچمهای نمایش dialog-sheet، شکست صفحه خودکار، اعمال style و outline-gutter را حفظ میکند در حالی که همچنان تنظیمات fit-to-page و outline summary موجود را از طریق API عمومی بهروز میکند
نسخه 2.88.42
تغییر کرد
- رکوردهای متادیتای workbook اضافی اکنون در چرخههای باز/ذخیره .xls باقی میمانند. HotXLS اکنون بدنه رکوردهای
COUNTRY،BOOKBOOL،BACKUP،FNGROUPCOUNT،USESELFSوRECALCIDBIFF8 بارگذاریشده را حفظ میکند بهجای بازنویسی با مقادیر پیشفرض تا متادیتای سازگاری و محاسبه در سطح workbook پایدار بماند
نسخه 2.88.41
تغییر کرد
- انتخابهای چند-ناحیهای و فوکوس pane فعال اکنون در چرخههای باز/ذخیره .xls باقی میمانند. HotXLS اکنون رکوردهای
SELECTIONBIFF8 بارگذاریشده و مقدار pane فعالPANESرا مگر در صورت تغییر انتخاب برگه یا pane ها از طریق API حفظ میکند تا فوکوس pane تقسیم/ثابتشده Excel و انتخابهای چند-محدوده دیگر هنگام ذخیره فشرده نشوند
نسخه 2.88.40
حذف شد
- نامهای workbook خارجی اکنون در چرخههای باز/ذخیره .xls باقی میمانند. HotXLS اکنون رکوردهای
EXTERNALNAMEBIFF8 بارگذاریشده متصل به ورودیهایSUPBOOKخارجی را از جمله متادیتای DDE/OLE/link و دنبالههای فرمول حفظ میکند تا نامهای خارجی و تعریفهای لینک دیگر هنگام ذخیره نیفتند
نسخه 2.88.39
تغییر کرد
- فایلهای .xls BIFF8 محافظتشده با گذرواژه اکنون از رکوردهای FILEPASS RC4 CryptoAPI استفاده میکنند و آنها را میخوانند. HotXLS اکنون متادیتای
FILEPASSبا vMajor=2 به سبک Excel 2007/2010 را برای workbook های .xls رمزنگاریشده مینویسد و هر دو فایل RC4 قدیمی با vMajor=1 و RC4 CryptoAPI با vMajor=2/3/4 را میخواند تا workbook های محافظتشده با گذرواژه دیگر با شکست روبرو نشوند یا به هدر رمزنگاری قدیمیتر تنزل نیابند
نسخه 2.88.38
تغییر کرد
- متادیتای هایپرلینکهای .xls نوشتهشده توسط Excel اکنون در چرخههای باز/ذخیره باقی میماند. HotXLS اکنون بدنه رکورد
HLinkBIFF8 را برای هایپرلینکهای بارگذاریشده مگر در صورت ویرایش آنها حفظ میکند وstreamVersionمبدأ، بیتهای گزینهhlstmfمانندfIcon، داده moniker و متادیتای هدف مرتبط را در طول ذخیرهها پایدار نگه میدارد
نسخه 2.88.37
تغییر کرد
- وضعیت پنجره workbook اکنون در چرخههای باز/ذخیره .xls باقی میماند. HotXLS اکنون موقعیت پنجره، اندازه، پرچمهای نمایان/کوچکشده، تب برگه اول نمایشیافته، تعداد تبهای انتخابشده و نسبت نوار اسکرول تب رکورد
WINDOW1BIFF8 را میخواند و حفظ میکند بهجای بازنویسی با مقادیر پیشفرض در هر ذخیره
نسخه 2.88.36
تغییر کرد
- کاربران ذخیرهشده در WriteAccess BIFF8 اکنون در چرخههای باز/ذخیره .xls باقی میمانند. HotXLS اکنون بدنه رکورد
$005C WRITEACCESSرا میخواند و حفظ میکند بهجای جایگزینی کاربر ذخیرهکننده Excel باHotXLSتا متادیتای audit workbook پس از ذخیره پایدار بماند
نسخه 2.88.35
رفع اشکال
- نویسندگان نظرات Excel اکنون در چرخههای باز/ذخیره .xls باقی میمانند. فیلد
stAuthorرکوردNoteBIFF8 اکنون تجزیه شده و بهجای جایگزینی با رشته خالی به مدل note drawing منتقل میشود تا نویسنده «Created by» نظر نوشتهشده توسط Excel هنگام ذخیره مجدد workbook توسط HotXLS حفظ شود
نسخه 2.88.34
تغییر کرد
- گزینههای FOPT OfficeArt اشکال اکنون از طریق یک option bag سطحپایین نمایش داده میشوند.
TXLSShape.OfficeArtOptionsبه فراخوانندههای پیشرفته اجازه میدهد هر FOPT PID ذخیرهشده را بهصورتLongWordیاWideStringبازبینی، تنظیم و حذف کنند، در حالی که API های سطحبالای موجودLine،Fill، رنگ و نمایانپذیری بدون تغییر میمانند
نسخه 2.88.33
تغییر کرد
- رکوردهای rule کانتینر solver اضافی OfficeArt اکنون رفتوبرگشت میکنند. علاوه بر
msofbtConnectorRule($F012) نوعدار، HotXLS اکنون فرزندان solver غیر-folder مانندOfficeArtFArcRule($F014) وOfficeArtFCalloutRule($F017) را بهصورت رکوردهای خام OfficeArt داخلmsofbtSolverContainer($F005) حفظ میکند تا نقشهکشهای پیشرفته Excel دیگر روابط solver غیر-connector را هنگام ذخیره از دست ندهند
نسخه 2.88.32
تغییر کرد
- نشانگرهای ClientData OfficeArt دیگر پس از حفظ رکورد ناشناخته تکرار نمیشوند. MS-XLS،
OfficeArtClientData($F011) را بهعنوان یک نشانگر با طول صفر تعریف میکند که رکوردObjبعدی آن یک رکورد BIFF جداگانه باقی میماند. نسخه 2.88.32 آن نشانگر را تشخیص میدهد بهجای آنکه آن را بهعنوان یک برگ SpContainer ناشناخته ضبط کند تا اشکال تجزیهشده دقیقاً یک نشانگر $F011 هنگام ذخیره صادر کنند
نسخه 2.88.31
تغییر کرد
- قواعد connector OfficeArt اکنون رفتوبرگشت میکنند. نقشهکشهای .xls نوشتهشده توسط Excel اتصالات خط connector را در
msofbtSolverContainer($F005) با رکوردهای فرزندmsofbtConnectorRule($F012) ذخیره میکنند. نسخه 2.88.31 آن جفت $F005/$F012 را از طریقTMsoConnectorRulesتجزیه و صادر میکند و شکل شروع، شکل پایان، شکل connector و سایتهای اتصال را در طول ذخیره/بارگذاری مجدد حفظ میکندOfficeArtFConnectorRule
نسخه 2.88.30
تغییر کرد
- رکوردهای برگ SpContainer ناشناخته OfficeArt اکنون رفتوبرگشت میکنند. فایلهای .xls نوشتهشده توسط Excel معمولاً برگهای Fbt مانند
msofbtClientTextbox($F00D)،OfficeArtFPSPL($F11D) وOfficeArtUDefProp($F122) را داخل هر SpContainer شکل جاسازی میکنند. نسخه 2.88.30 برگهای ناشناخته در سطح شکل را بهصورتTMsoFbtUnknownضبط میکند و آنها را به ترتیب تجزیه بینClientAnchorشکل و نشانگر دنبالهmsofbtClientDataبا بدنه صفر مجدداً صادر میکند - دامنه و پیگیری. سایر برگهای ناشناخته در سطح drawing به تعویق افتادهاند؛ مورد کانتینر solver connector-rule توسط نسخه 2.88.31 مدیریت میشود. ناشناختههای به شکل کانتینر، مانند
msofbtClientData($F011) که بهجای یک نشانگر برادر بهصورت کانتینر استفاده میشود، در مرحله audit بعدی باقی میمانند
نسخه 2.88.29
افزوده شد
- رفتار بلعیدن FtLbsData دامنه را محدود میکند. مورد موجود
$0013باRecLen := Len - offsoverride میکند تا تمام بایتهای پس از هدر FtLbsData را در blobFObjRec_LBSDataجذب کند؛ بنابراین subrecordهایی که پس از FtLbsData ظاهر میشوند (معمولاً فقط FtEnd) همچنان از طریق آن مکانیسم بدون تغییر رفتوبرگشت میکنند. یکپارچهسازی جدیدFObjTailRawبهطور خاص فاصله قبل از FtLbsData را که FtMacro و ObjLinkFmla معمولاً در آن قرار دارند هدف قرار میدهد
حذف شد
- subrecordهای ناشناخته OBJ در ComboBox و ListBox اکنون رفتوبرگشت میکنند. TMSOShapeComboBox.ParseObj و TMSOShapeListBox.ParseObj قبلاً FtSbs ($000C)، FtSbsFmla ($000E) و FtLbsData ($0013) را بهصورت نوعدار تجزیه میکردند، اما هر subrecord دیگری (FtMacro $0004، ObjLinkFmla، FtNts $000D و غیره) بین CMO و FtLbsData بهطور خاموش حذف میشد. نسخه 2.88.29 همان شاخه else نسخه 2.88.28 Picture را اضافه میکند که هدر 4 بایتی + بدنه subrecord ناشناخته را در
FObjTailRawضبط میکند
نسخه 2.88.28
افزوده شد
- الگوی همزیستی نوعدار + خام. برخلاف PictureFrame (نسخه 2.88.27) که از تبادل if/else بین صدور نوعدار و خام استفاده میکرد، Picture هر دو را ترکیب میکند: فیلدهای نوعدار سطح API را حفظ میکنند، در حالی که دنباله خام فقط بایتهای ناشناخته را حفظ میکند. تصاویر تازهنوشتهشده از طریق Drawing API دارای
FObjTailRawخالی هستند و خروجی از نظر بایت با نسخه 2.88.27 یکسان استftCfValue
حذف شد
- subrecordهای ناشناخته OBJ در اشکال Picture اکنون رفتوبرگشت میکنند. TMSOShapePicture.ParseObj قبلاً FtCf ($0007)، FtPioGrbit ($0008) و FtPictFmla ($0009) را بهصورت نوعدار تجزیه میکرد، اما هر subrecord دیگری (FtMacro $0004، FtNts $000D و غیره) بهطور خاموش حذف میشد. نسخه 2.88.28 یک شاخه else اضافه میکند که هدر کامل 4 بایتی + بدنه subrecordهای ناشناخته را در
FObjTailRawاضافه میکند؛ سپس TMSOShapePicture.AddObj آن بایتها را بهصورت عینی پس از خروجی subrecord نوعدار و پیش از نشانگر FtEnd صادر میکند
نسخه 2.88.27
افزوده شد
- رفتوبرگشت subrecord دنباله OBJ به اشکال PictureFrame گسترش یافت. TMSOShapePictureFrame.AddObj قبلاً فقط FtCf هاردکدشده قدیمی ($0007، بدنه $FFFF) و FtPioGrbit ($0008، بدنه $0000) را بین CMO و FtEnd صادر میکرد. برای قابهای تصویر تازهنوشتهشده کد جدید همچنان آن مقادیر پیشفرض را صادر میکند؛ برای قابهای تصویر تجزیهشده از یک .xls منبع بایتهای
FObjTailRawضبطشده بهجای آن بهصورت عینی صادر میشوند
رفع اشکال
- یادداشت تحقیق — Flush بهطور خودکار sz را اصلاح میکند.
TMsoShapeContainer.Flushهدر اندازه رکورد Obj را در زمان commit از طریقData.SetWord(Data.DataLength - 4, 2)بازنویسی میکند، به این معنا که مقادیر هاردکدشدهsz := $1Aکه سالهاست در پیادهسازیهای AddObj HotXLS بودهاند باگ مشخصاتی نبودهاند — Flush آنها را بهطور خودکار اصلاح میکند
نسخه 2.88.26
افزوده شد
- رفتوبرگشت subrecord دنباله OBJ به اشکال Chart و CheckBox گسترش یافت. نسخه 2.88.25 حفظ بایت خام را برای بایتهای بین CMO ($0015) و نشانگر FtEnd ($0000) رکورد Obj معرفی کرد، اما فقط TMSOShapeTextBox.AddObj دنباله ضبطشده را صادر میکرد. این نسخه همان الگو را برای TMSOShapeChart.AddObj و TMSOShapeCheckBox.AddObj اعمال میکند
sz := $1A + Word(Length(FObjTailRaw))
تغییر کرد
- subrecordهای دنباله Chart (مثلاً FtMacro برای ماکروهای شی chart جاسازیشده) و subrecordهای وضعیت checkbox (FtCbls + FtCblsData + ObjLinkFmla، MS-XLS §2.5.140-141 / §2.5.149) اکنون از ذخیره/بارگذاری HotXLS جان سالم به در میبرند. chart ها و checkboxهای تازهنوشتهشده از طریق Drawing API همچنان یک CMO+FtEnd پیشفرض 26 بایتی صادر میکنند تا فراخوانندههای موجود تغییری در رفتار نبینند
نسخه 2.88.25
افزوده شد
- ضبط پایه عمومی، صدور فقط-TextBox (اولین برش R5-3). TMsoShapeContainer.ParseObj اکنون محدوده بایت بین پایان بدنه CMO و نشانگر FtEnd را در یک فیلد داخلی جدید
FObjTailRaw: TBytesضبط میکند؛ TMSOShapeTextBox.AddObj آن بایتها را بین صدور CMO و نشانگر FtEnd درج میکند. نظرات تازهنوشتهشده (بدون بایت منبع) خروجی یکسان با نسخه 2.88.24 را حفظ میکنند
تغییر کرد
- subrecordهای دنباله رکورد OBJ اکنون در چرخه ذخیره برای نظرات حفظ میشوند. رکورد BIFF8 Obj ($005D) یک دنباله از subrecordهای نوعدار را بعد از CMO اجباری ($0015) که با یک نشانگر FtEnd ($0000) خاتمه مییابد زنجیر میکند. برای اشکال Note (نظر) بلوک دنباله معمولاً یک FtNts 26 بایتی (§2.5.149) حاوی یک GUID و پرچم fSharedNote است. HotXLS قبلاً هر بایتی را پس از CMO هنگام خواندن حذف میکرد و هنگام نوشتن فقط یک FtEnd خالی صادر میکرد
نسخه 2.88.24
افزوده شد
- حفظ بایت خام در TMSOShapeTextBox. ParseTXO بایتهای Continue پس از متن را بهصورت عینی در یک فیلد داخلی جدید
FFormatRunsRaw: TBytesضبط میکند؛ Store آنها را بهعنوان Continue رانهای قالببندی برمیگرداند وcbRunsرکورد پایه را تنظیم میکند. نظرات تازهنوشتهشده (از طریقAddComment) خروجی تک-ران پیشفرض قدیمی را بدون تغییر حفظ میکنند
تغییر کرد
- نظرات سلولی چند-فونتی و چند-رنگی اکنون رفتوبرگشت میکنند. بلوک رانهای قالببندی رکورد TXO BIFF8 (
rgTxoRuns+TxOLastRunطبق MS-XLS §2.5.272) override های فونت و رنگ به ازای هر ران را حمل میکند که به یک نظر سبکبندی متن غنی میدهد. HotXLS قبلاً کل بلوک را هنگام خواندن حذف میکرد و هنگام نوشتن یک ران پیشفرض خالی + LastRun صادر میکرد
نسخه 2.88.23
افزوده شد
- سه ویژگی جدید TXLSPageSetup.
PrintResolution: LongWord،PrintVResolution: LongWordوCopies: LongWord— همه به مقادیری که نویسنده قبلاً هاردکد میکرد پیشفرض میشوند (600 / 600 / 1) تا workbook هایی که آنها را لمس نمیکنند خروجی یکسان با نسخه 2.88.22 تولید کنندHigh(Word)
حذف شد
- وضوح چاپ و تعداد کپی اکنون رفتوبرگشت میکنند — رکورد Setup اکنون کاملاً پوشش یافته است. سه فیلد Word رکورد Setup (
iResدر افست 12،iVResدر افست 14،iCopiesدر افست 32، طبق MS-XLS §2.4.257) انتخابهای "Page Setup → Page → Print quality" و "Number of copies" Excel را حمل میکنند. HotXLS قبلاً هر سه را هنگام خواندن حذف میکرد و مقادیر هاردکدشده صادر میکرد (600 DPI / 600 DPI / 1 کپی)
رفع اشکال
- کار رفتوبرگشت رکورد Setup کامل شد. با این اصلاح هر فیلد قابلمشاهده توسط کاربر از رکورد BIFF8 Setup ($00A1) از سر تا انتها رفتوبرگشت میکند — اندازه کاغذ / مقیاس / شماره صفحه اول / عرض و ارتفاع fit-to-page / جهتگیری / ترتیب چاپ / سیاهوسفید / پیشنویس / چاپ نظرات / خطاهای سلولی / وضوح / کپی
fNoPlsfNoOrient
نسخه 2.88.22
افزوده شد
- دو ویژگی جدید TXLSPageSetup.
UseFirstPageNumber: Booleanبیت را منعکس میکند (False = "Auto"، پیشفرض)؛FirstPageNumber: Integerمقدار iPageStart را حمل میکند (پیشفرض 1، محدود به محدوده signed-Word مشخصهها از -32768 تا 32767 توسط setter). HotXLS مقدارiPageStartرا حتی وقتیUseFirstPageNumberFalse است دقیقاً رفتوبرگشت میدهد
حذف شد
- "First page number" در Page Setup سفارشی اکنون رفتوبرگشت میکند. رکورد BIFF8 Setup انتخاب Page Setup → Page → "First page number" workbook را بهصورت دو فیلد مرتبط حمل میکند: بیت 7 grbit (
fUsePage) بین "Auto" پیشفرض Excel و یک شماره صفحه شروع صریح انتخاب میکند، و Word علامتدار در افست 4 (iPageStart) آن مقدار سفارشی را نگه میدارد. HotXLS قبلاً هر دو را هنگام خواندن حذف میکردiPageStart = 1
نسخه 2.88.21
افزوده شد
- ویژگی Boolean جدید TXLSPageSetup.PrintNotesAtEnd. پیشفرض
Falseمطابق پیشفرض رابط کاربری Excel. خواننده و نویسنده بیت را دقیقاً رفتوبرگشت میدهند (حتی وقتیPrintNotes = Falseاست) تا workbook با نظرات موقتاً غیرفعالشده ترجیح "at end of sheet" را برای زمانی که کاربر آنها را مجدداً فعال میکند حفظ کند
حذف شد
- انتخاب "Print comments at end of sheet" اکنون از چرخه ذخیره جان سالم به در میبرد. بیت 9 grbit رکورد BIFF8 Setup (
fEndNotesطبق MS-XLS §2.4.257) تمایز بین "As displayed on sheet" (پیشفرض) و "At end of sheet" را در منوی کشویی Page Setup → Sheet → Comments حمل میکند. HotXLS قبلاً PrintNotes (بیت 5) را برای کنترل اینکه آیا نظرات چاپ میشوند رفتوبرگشت میداد، اما بیت 9 هنگام خواندن حذف و هنگام نوشتن بهصورت صفر صادر میشد
نسخه 2.88.20
تغییر کرد
- انتخاب "Set precision as displayed" workbook اکنون رفتوبرگشت میکند. رکورد BIFF8 CalcPrecision ($000E) گزینه File → Options → Advanced → "Set precision as displayed" در سطح workbook را طبق MS-XLS §2.4.35 حمل میکند. HotXLS قبلاً هیچ مورد dispatcher برای $000E نداشت و TXLSWorkbook.StorePrecision یک
1هاردکدشده (= دقت کامل حفظشده) صادر میکرد
رفع اشکال
- ویژگی Boolean جدید TXLSWorkbook.UseFullPrecision. پیشفرض
True(مطابق پیشفرض BIFF8 و پیشفرض رابط کاربری Excel که تیک نخورده است). با این اصلاح هر رکورد محاسبه BIFF8 (CalcCount / CalcMode / CalcPrecision / CalcDelta / CalcIter / CalcSaveRecalc) از سر تا انتها رفتوبرگشت میکندFalse
نسخه 2.88.19
افزوده شد
- ویژگی Boolean جدید TXLSWorkbook.RecalcOnSave. پیشفرض
True(مطابق هم پیشفرض رابط کاربری Excel و هم مقدار هاردکدشده قدیمی) تا workbook هایی که این ویژگی را لمس نمیکنند خروجی یکسان با نسخه 2.88.18 داشته باشندTrue
تغییر کرد
- checkbox "Recalculate workbook before saving" اکنون رفتوبرگشت میکند. رکورد BIFF8 CalcSaveRecalc ($005F) بولین File → Options → Save → "Recalculate workbook before saving" workbook را طبق MS-XLS §2.4.37 حمل میکند. HotXLS قبلاً هیچ مورد dispatcher برای $005F نداشت و StoreCalculationSettings یک
1هاردکدشده صادر میکرد — بنابراین "recalc on save" غیرفعالشده توسط کاربر در هر بار ذخیره HotXLS بیصدا مجدداً فعال میشد
نسخه 2.88.18
افزوده شد
- سه ویژگی جدید TXLSWorkbook.
EnableIteration: Booleancheckbox را منعکس میکند؛MaxIterations: LongWordسقف تکرار است (محدود به محدوده قانونی مشخصه 1..32767 توسط setter)؛MaxIterationChange: Doubleدلتای همگرایی است. مقادیر پیشفرض با مقادیری که نویسنده قبلاً هاردکد میکرد مطابقت دارند
تغییر کرد
- تنظیمات محاسبه تکراری (فعالسازی + حداکثر تکرار + حداکثر تغییر) اکنون رفتوبرگشت میکنند. رکوردهای BIFF8 CalcIter ($0011)، CalcCount ($000C) و CalcDelta ($0010) سه گزینه "Enable iterative calculation" Excel را با هم حمل میکنند (File → Options → Formulas)، طبق MS-XLS §2.4.33 / §2.4.31 / §2.4.32. هیچکدام قبلاً مورد dispatcher نداشتند و StoreCalculationSettings آنها را با مقادیر هاردکدشده صادر میکرد
نسخه 2.88.17
افزوده شد
- حالت محاسبه workbook (Manual / Automatic / Auto except tables) اکنون رفتوبرگشت میکند. رکورد BIFF8 CalcMode ($000D) انتخاب "Formulas → Calculation Options" در سطح workbook را طبق MS-XLS §2.4.36 حمل میکند. HotXLS قبلاً هیچ مورد dispatcher برای $000D نداشت، بنابراین مقدار فایل منبع هنگام بارگذاری حذف میشد و نویسنده همیشه یک
$0001هاردکدشده (Automatic) صادر میکرد. حالت Manual انتخابشده توسط کاربر در هر بار ذخیره HotXLS بیصدا به Automatic برمیگشت - ویژگی جدید TXLSWorkbook.CalculationMode. ویژگی
LongWordخواندنینوشتنی کهxlCalcManual(0)،xlCalcAutomatic(1، پیشفرض) یاxlCalcAutomaticExceptTables(0xFFFF) را میپذیرد — سه ثابت جدید صادرشده ازlxTNC.inc. کد موجودی که این ویژگی را لمس نمیکند پیشفرض قدیمی "Automatic" را نگه میدارد
نسخه 2.88.16
افزوده شد
- ویژگی جدید `TXLSPageSetup.PrintCellErrors`. ویژگی
LongWordخواندنینوشتنی کهxlPrintErrorsDisplayed(0، پیشفرض)،xlPrintErrorsBlank(1)،xlPrintErrorsDash(2) یاxlPrintErrorsNA(3) را میپذیرد — چهار ثابت جدید صادرشده ازlxTNC.inc. فراخوانندههای موجود PageSetup که این ویژگی را لمس نمیکنند پیشفرض ("displayed") را نگه میدارند
حذف شد
- انتخاب "Cell errors as" در Page Setup اکنون از چرخه ذخیره جان سالم به در میبرد. رکورد BIFF8 Setup ($00A1) منوی کشویی Page Setup → Sheet "Cell errors as: displayed / <blank> / <dash> / <N/A>" را در بیتهای 10-11 کلمه grbit بهصورت
iErrorsبستهبندی میکند، طبق MS-XLS §2.4.257. HotXLS قبلاً این بیتها را هنگام خواندن حذف و هنگام نوشتن بهصورت صفر صادر میکردiErrors#DIV/0!#N/ATXLSPageSetup.PrintCellErrors
نسخه 2.88.15
افزوده شد
- شش ویژگی جدید TMSOShapeTextBox برای سبکدهی صریح نظرات.
HAlignment،VAlignment،Rotation،LockText،JustLastLineوSecretEditبهصورت ویژگیهای خواندنینوشتنی روی هر شکل نظر نمایش داده میشوند؛AddCommentبه چپ+بالا+افقی+بدونقفل پیشفرض میشود تا فراخوانندههایی که آنها را لمس نمیکنند ظاهر قبلی را حفظ کنند
حذف شد
- تراز و جهتگیری نظر سلول اکنون رفتوبرگشت میکند. رکورد پایه BIFF8 TXO ($01B6) پنج پرچم نوعدار را در کلمه
grbit(hAlignment، vAlignment، fLockText، fJustLast، fSecretEdit) به علاوه یک کلمهrotجداگانه برای جهتگیری متن حمل میکند، طبق MS-XLS §2.4.329. خواننده قبلاً همه اینها را حذف میکرد و نویسندهgrbitرا به یک0x0012هاردکدشده (چپ + بالا) با rotation همیشه 0 ثابت میکردgrbit
رفع اشکال
- نویسنده TXO اکنون reserved4 / reserved5 را در امتداد مرزهای فیلد مشخصه قرار میدهد. کد قبلی افستهای 2-9 رکورد پایه را بهصورت دو نوشتن long صادر میکرد؛ نویسنده اکنون آنها را به
Wordrot،Wordreserved4،Longreserved5 تقسیم میکند — محتوای بایت بدون تغییر است اما ساختار منبع اکنون با افستهای فیلد MS-XLS §2.4.329 مطابقت دارد
نسخه 2.88.14
رفع اشکال
- افست cchText در TXO اصلاح شد — اصلاح طول نظر نسخه 2.88.13 اکنون واقعاً اجرا میشود. نسخه قبلی یک بررسی سلامت برای رکورد پایه TXO با خواندن
cchTextدر افست 8 معرفی کرد، اما MS-XLS §2.4.329cchTextرا در افست 10 قرار میدهد (بعد از grbit، rot و 6 بایت reserved / controlInfo). افست 8 داخل long reserved5 میافتد که روی اشیاء Note همیشه صفر است، بنابراین هر نظر آرام به fallback دفاعی میلغزید که رفتار پیش از نسخه 2.88.13 را بازیابی میکرد. اصلاح، افست را به 10 تصحیح میکند
نسخه 2.88.13
تغییر کرد
- نظرات سلولی طولانی اکنون با طول کامل خوانده میشوند. رکورد BIFF8 TXO ($01B6) بدنه متن خود را در رکورد پایه و یک یا چند رکورد Continue تقسیم میکند، با تعداد کاراکتر منتشرشده در رکورد پایه در افست 8 بهعنوان
cchText. خواننده نظر قبلی رکورد پایه را بهطور کامل رد میکرد، DataList[1] را بهعنوان کل متن در نظر میگرفت — بنابراین نظری طولانیتر از حدود 4100 کاراکتر پهن بهطور خاموش کوتاه میشد. خواننده اکنونcchTextرا بهعنوان تعداد کاراکتر معتبر مصرف میکند
نسخه 2.88.12
تغییر کرد
- رشتههای کششده بلندتر از حدود ۴۱۰۰ کاراکتر از فرمولهای بازگشتی رشتهای اکنون از طریق رکوردهای Continue دوره میزنند. نسخه v2.88.11 طرف خواندن رکورد BIFF8 String ($0207) را وصل کرد اما فقط بدنه اولین رکورد را مصرف میکرد، پس یک رشته کششده که بایتهای UCS-2 آن از محدودیت ۸۲۲۴ بایتی BIFF سرریز کرده و وارد یک یا چند رکورد Continue ($003C) میشد بهصورت خاموش کوتاه میشد. پردازنده اکنون کل DataList سطح dispatch را طی میکند: cch و fHighByte را از رکورد پایه میخواند، بدنهای که در آنجا جا میشود را کپی میکند، سپس هر قطعه Continue بعدی را بهصورت بایتهای خام بر اساس تضمین مرز کاراکتری MS-XLS §2.5.293 الحاق میکند — XLUnicodeString در میانه رشته fHighByte را مجدداً ساطع نمیکند. هر قطعه با بودجه کاراکتر باقیمانده محدود میشود تا Continue اضافهاندازه نتیجه را بلندتر از cch نکند. رشتههای تکرکوردی (حالت رایج) همان مسیر سریع قبلی را میگیرند
نسخه 2.88.11
رفع اشکال
- فرمولهای بازگشتی رشتهای اکنون متن کششده محاسبهشده توسط Excel را دوره میزنند. نسخه قبلی حالتهای عدد، بولی، خطا و خالی کش FormulaValue در BIFF8 (MS-XLS §2.5.133) را پوشش داد اما حالت رشته را روی لیست انتظار گذاشت، زیرا مقدار کششده آن در یک رکورد String جداگانه ($0207) بلافاصله پس از رکورد Formula قرار دارد. ParseFormula اکنون مختصات سلول را وقتی یک Formula از نوع رشته میبیند به خاطر میسپارد و پردازنده جدید ParseString رکورد $0207 تریلینگ را بر اساس MS-XLS §2.4.268 رمزگشایی کرده و WideString را به
FCachedFormulaValueهدایت میکند.GetCellValueاکنون میتواند هر زمان که ارزیاب HotXLS نتواند آن را بازتولید کند به متن محاسبهشده توسط Excel برگردد
نسخه 2.88.10
افزوده شد
- رکوردهای Formula در BIFF8 اکنون مقدار کششده محاسبهشده توسط Excel را دوره میزنند. ParseFormula قبلاً بار FormulaValue هشتبایتی در افست ۶ را کاملاً رد میکرد، بنابراین نتیجه کششده هر فرمول در یک .xls بارگذاریشده (اعداد، مقادیر بولی، خطاها، خالی) دور انداخته میشد و HotXLS باید هر سلول را از طریق موتور فرمول خود دوباره ارزیابی میکرد. وقتی آن موتور نمیتوانست با Excel مطابقت داشته باشد (توابع XLM پشتیبانینشده، لینکهای خارجی شکسته، فرمولهایی که موتور هنوز پیادهسازی نکرده) سلول بهصورت خاموش خالی یا صفر میشد. خواننده اکنون چهار نوع عددی / بولی / خطا / خالی را بر اساس MS-XLS §2.5.133 رمزگشایی کرده و آنها را روی یک فیلد جدید
TXLSCellRef.FCachedFormulaValueذخیره میکند؛GetCellValueفقط وقتی ارزیاب شکست میخورد به آن کش برمیگردد
نسخه 2.88.9
رفع اشکال
- رکوردهای Formula در BIFF8 با مقادیر غیرقابلحل اکنون بیت fAlwaysCalc را تنظیم میکنند نه بیت reserved1 را. وقتی ارزیاب HotXLS نمیتوانست فرمولی را در زمان ذخیره محاسبه کند، نویسنده
grbit = 0x0002را تنظیم میکرد — بیت ۱، که MS-XLS §2.4.127 آن را رزرو کرده و به خوانندگان میگوید نادیده بگیرند. Excel آن را نادیده میگرفت، مقدار کش placeholder صفر را معتبر تلقی میکرد و بهجای محاسبه مجدد صفر نمایش میداد. نویسنده اکنونgrbit = 0x0001(fAlwaysCalc، بیت ۰) را تنظیم میکند تا Excel در recalc بعدی فرمول را مجدداً اجرا کرده و نتیجه درست نمایش دهد
نسخه 2.88.8
رفع اشکال
- PageSetup.PrintTitleColumns / PrintTitleRows اکنون در ورودی نامعتبر استثنا میاندازند. تنظیم هر یک از این خاصیتها با یک رشته range بدشکل (هر چیزی که
ColDiapasonToValues/RowDiapasonToValuesنتواند تجزیه کند) قبلاً تخصیص را بیصدا رها میکرد — workbook هر محدوده Print_Titles که قبلاً تنظیم شده بود را نگه میداشت و فراخواننده راهی برای فهمیدن مشکل نداشت. setterها اکنونException.Createبا پیامی توصیفی که مقدار نادرست را نام میبرد میاندازندTXLSRange
نسخه 2.88.7
افزوده شد
- یادداشت errata دور ۲ بررسی مشخصات BIFF8 اضافه شد. بررسی مجدد مرزهای فیلدهای [MS-XLS] دو یافته که در گزارش اصلی بهعنوان P2 علامتگذاری شده بودند را روشن کرد: بیت ۱۵ تنظیمشده در پرچم تاریخچه BOF از نوع $000080C9 به فیلد verXLHigh (بیتهای ۱۴-۱۷، مقدار ۲ = «Excel 2002») تعلق دارد، نه به دم reserved1 (بیتهای ۱۹-۳۱)؛ و استفاده ParseFormula از توکن PtgExp پیشرو برای تشخیص فرمولهای مشترک / آرایهای با spec مطابقت دارد. هر دو مورد اکنون بهعنوان پسگرفتهشده حاشیهنویسی شدهاند
dev-notes/XLS-BIFF8-Spec-Audit-Round2.md
حذف شد
- فیلد miyRw در رکورد Row اکنون در محدوده مشخصات MS-XLS باقی میماند. نسخههای پیش از BIFF8 از Excel «از ارتفاع پیشفرض ردیف workbook استفاده کن» را با OR کردن بیت ۱۵ در miyRw کدگذاری میکردند و HotXLS این روش را در نویسنده BIFF8 ادامه داد حتی با اینکه MS-XLS §2.4.221 میزان miyRw را به ۸۱۹۲ twip محدود میکند. Excel مدرن در همین حالت ۲۵۵ (پیشفرض ۱۲.۷۵ پوینت) مینویسد و از بیت grbit به نام fUnsynced برای سیگنال بازنویسی دستی استفاده میکند. نویسنده اکنون OR را حذف میکند و ۲۵۵ را مستقیماً مینویسد؛ خواننده هنوز برای سازگاری با فایلهای HotXLS v2.88.6 و قدیمیتر بیت ۱۵ را در ورودی برمیدارد
نسخه 2.88.6
رفع اشکال
- برگههای ماکرو و ماژولهای VBA اکنون اسلات ترتیب BoundSheet8 خود را نگه میدارند. خواننده قبلاً رکوردهای BoundSheet8 که فیلد
dtآنها ۱ (برگه ماکرو) یا ۶ (ماژول VBA) بود را رها میکرد، پس مجموعه Sheets در HotXLS به همان تعداد کوتاه میشد. هر ارجاع XTI در ExternSheet که به موقعیت برگهای پس از یک برگه ماکرو (بر اساس ترتیب فایل) اشاره داشت، پس از SaveAs به worksheet اشتباه در HotXLS resolve میشد. خواننده اکنون برای هر رکورد BoundSheet8 یک برگه placeholder اضافه میکند و بایت خامdtرا روی خاصیت جدیدSheet.SheetTypeRawذخیره میکند؛ نویسنده بایت اصلی را برمیگرداند
نسخه 2.88.5
حذف شد
- رکورد Row در BIFF8 اکنون fCollapsed، fExAsc، fExDes و fPhonetic را دوره میزند. قبلاً خواننده fCollapsed (بیت ۴ grbit) را رها میکرد — نویسنده آن را از انتقالهای سطح outline در ردیفهای مجاور استنتاج میکرد که ردیفهایی را که فایل منبع بهصراحت collapsed یا بهعنوان مرز علامتگذاری کرده بود نادرست طبقهبندی میکرد. سه بیت بالا (fExAsc در ۲۸، fExDes در ۲۹، fPhonetic در ۳۰) هرگز خوانده نمیشدند و همیشه صفر صادر میشدند. خواننده اکنون هر چهار بیت را بر اساس MS-XLS §2.4.221 مصرف میکند و fCollapsed را بهعنوان صریح pin میکند. نویسنده ExAsc / ExDes / Phonetic را در بیتهای ۱۲-۱۴ کلمه ixfe میپیچد؛ دور زدن از طریق HotXLS SaveAs حالا حاشیههای thick-top / medium-bottom و وضعیت فونتیک برگههای ژاپنی را سالم نگه میدارد
نسخه 2.88.4
رفع اشکال
- بیت fPaged در Window2 در BIFF8 اکنون فقط برگه فعال را علامتگذاری میکند. نسخههای قبلی
fPaged(MS-XLS §2.4.346 بیت ۱۰) را روی هر برگه قابل مشاهده تنظیم میکردند که خروجی HotXLS را از آنچه Excel خود مینویسد منحرف میکرد (بر اساس spec این بیت به معنای «این برگه در حال حاضر در پنجره workbook نمایش داده میشود» است، پس فقط substream برگه فعال باید آن را حمل کند). Excel خوانندگان بهWindow1.itabCurبرای شناسایی برگه فعال واقعی برمیگشتند پس سوءاستفاده تحمل میشد، اما Apache POI در حالت strict و سایر ابزارهایی کهfPagedرا بهعنوان سیگنال اولیه میدانند اکنون برگه درست را علامتگذاریشده میبینند
نسخه 2.88.3
حذف شد
- زوم و رنگ خط شبکه WINDOW2 در BIFF8 اکنون دوره میزنند. نسخههای قبلی فیلدهای رکورد WINDOW2 پس از افست ۶ را در خواندن رها میکردند و در نوشتن صفرهای سختکدشده صادر میکردند، پس هر زوم برگه ذخیرهشده توسط Excel (۷۵ درصد، ۱۲۵ درصد و غیره) و سفارشیسازی رنگ خط شبکه پس از HotXLS SaveAs به مقادیر پیشفرض برمیگشت. خواننده اکنون
icvHdr،wScaleSLVوwScaleNormalرا بر اساس MS-XLS §2.4.346 مصرف میکند؛ نویسنده مقدار فعالSheet.Zoomرا در اسلات view مطابق صادر میکند و مقدار کششده را در view دیگر، بهعلاوه ایندکس رنگ خط شبکه حفظشدهSheet.Zoom
نسخه 2.88.2
رفع اشکال
- رفع opcode رکورد HFPicture در BIFF8. فایلهای .xls ذخیرهشده اکنون رکوردهای تصویر پسزمینه هدر / فوتر را با
rt = 0x0866درست بر اساس MS-XLS §2.4.138 صادر میکنند. نسخههای قبلی از0x086C— opcode برای CellWatch — استفاده میکردند، پس Excel سعی میکرد BLIP OfficeArt جاسازیشده را بهعنوان یک ارجاع سلول تحت نظارت تجزیه کند و تصویر را بیصدا رها میکرد. Workbook هایی که تصویر هدر / فوتر را از طریق HotXLS دوره میزنند اکنون تصویر را سالم نگه میدارند
نسخه 2.88.1
رفع اشکال
- رفع opcode رکورد Theme در BIFF8. فایلهای .xls ذخیرهشده اکنون رکورد Theme را با
frtHeader.rt = 0x0896درست بر اساس MS-XLS §2.4.326 صادر میکنند. نسخههای قبلی از0x0892— opcode برای StyleExt — استفاده میکردند، پس Excel بار OOXML theme جاسازیشده را بهعنوان extension style سلولی تفسیر میکرد و بهصورت خاموش به theme داخلی Office برمیگشت و رنگهای theme سفارشی را هنگام دورهزنی workbook از طریق HotXLS از دست میداد
نسخه 2.88.0
افزوده شد
- بستههای .xlsx ذخیرهشده اکنون یک قسمت
xl/theme/theme1.xmlدارند. styles.xml همیشه ارجاعات<color theme="N"/>را برای هر رنگ فونت / پر / حاشیه / تب تنظیمشده از طریق مسیر theme-index صادر کرده است، اما هیچ قسمت theme نوشته نمیشد پس ارجاعات بیربط بودند. Excel با برگشت بیصدا به theme داخلی «Office» این حذف را تحمل میکرد، اما Office File Validation هر ارجاع را بهعنوان «قسمت theme مفقود» علامتگذاری میکرد و Apache POI در حالت strict workbook را در اولین lookup رد میکرد.SaveAsاکنون theme رسمی Office (2007+) را صادر میکند: طرح رنگ ۱۲ اسلوتی (windowText/windowسیستمی، چهار رنگ پیشفرض Excel، شش accent، دو رنگ hyperlink)، طرح فونت Calibri Light / Calibri، طرح قالب حداقلمعتبرCT_StyleMatrix[Content_Types].xmlOverridexl/_rels/workbook.xml.relstheme/theme1.xmlXlsxFirstExternalLinkRid - تخصیص مستقیم
Sheet.Name := '...'اکنون پاکسازی و حذف تکراری نیز انجام میدهد. دور ۳ (v2.54.1) اعمال قوانین نامگذاری Excel را درTXLSXSheets.Add(AName)اضافه کرد، اما setter خاصیتTXLSXWorksheet.Nameیکwrite FNameخام بود. setter خاصیت اکنون از طریق یک متد جدیدSetNameمسیرگذاری میکند که همان منطقXlsxSanitizeSheetName+ حذف تکراری با پسوند' (N)'را اعمال میکندlxXlsxExport.pas:122 Target.Name := Source.Name: \ / ? * [ ]HistoryFWorkbookTXLSXSheets.AddFSheets.Add(names[i])
رفع اشکال
- بررسی متقاطع [MS-XLSX] دور ۴ — قسمت theme + setter نام برگه. دو رفع اشکال پیگیری که مشکلات باقیمانده پس از دورهای ۱-۳ (v2.51.0 / v2.52.0 / v2.54.1) را هدف میگیرند
نسخه 2.87.4
تغییر کرد
- فرمولهای مشترک XLS اکنون یک بدنه
ShrFmlaمعتبر مینویسند. خروجی فرمول مشترک BIFF8 اکنون بایتcUseلازم را پیش از فرمول تجزیهشده مشترک درج میکند تا workbook هایی که باUseSharedFormulasذخیره میشوند جریان توکن فرمول را دیگر یک بایت جابهجا نکنند - متادیتای style جدول XLS و فیلتر اکنون با آخرین layout MS-XLS مطابقت دارد.
AddTableاکنونLIST12را بهصورتList12TableStyleClientInfoمینویسد، پرچمهای AutoFilter جدول و فیلد را درFeature11تنظیم میکند، و بلوکهای خالیFeat11FdaAutoFilterبه ازای هر ستون که Excel انتظار دارد را صادر میکند - قواعد Data Bar / Color Scale / Icon Set در BIFF8 CF12 اکنون بارهای DXF ممنوع را حذف میکنند. HotXLS قانون MS-XLS را دنبال میکند که این نوعهای CF12 باید یک بلوک DXF خالی حمل کنند، در حالی که تنظیمات واقعی قاعده را در دنباله خاص نوع CF12 حفظ میکند
نسخه 2.87.3
حذف شد
- متادیتای جدول کاربرگ XLS اکنون از layout جدول
Feature11در MS-XLS پیروی میکند. خروجیAddTableبرای فایلهای .xls اکنون یک هدر جدولFeatHdr11به علاوه بارهایFeature11TableFeatureType/Feat11FieldDataItemمینویسد، نشانگر جدول قدیمی$0867 FeatHdrرا حذف میکند، و نامهای جدول و ستون را بهصورت مقادیرXLUnicodeStringذخیره میکند
رفع اشکال
- خواندن مجدد جدول XLS اکنون layout فیلد صحیح مشخصه را میفهمد. HotXLS نامهای جدول
TableFeatureType، محدودهها، وضعیت سطر جمع، و عناوین فیلد را تجزیه میکند، در حالی که یک fallback برای رکوردهای جدول تولیدشده توسط HotXLS قدیمیتر نگه میدارد
نسخه 2.87.2
رفع اشکال
- رکوردهای ادامه XLS BIFF8 اکنون طولهای پایه درست را حمل میکنند. رکوردهای XLS بزرگ که توسط نویسنده تقسیم میشوند اکنون طول اولین رکورد را به 8224 بایت بهروز میکنند بهجای باقی گذاشتن طول بیشازحد بزرگ اصلی در هدر BIFF
- جداول بزرگ کاربرگ XLS اکنون از chunk های
ContinueFrt11صحیح مشخصه استفاده میکنند. خروجیهای پهنAddTableبا بارهایFeature11بزرگ اکنون با رکوردهای ادامه$0875 ContinueFrt11ذخیره میشوند و با متادیتای جدول حفظشده مجدداً باز میشوند، مطابق layoutFeature11/ContinueFrt11در [MS-XLS]
نسخه 2.87.1
تغییر کرد
- محدودیت شبکه کاربرگ XLSX اکنون آخرین سطر و ستون Excel را شامل میشود.
TXLSXRange،RCRange،EntireRowوEntireColumnاکنون سطر 1048576 و ستون 16384 (XFD) را مجاز میدانند، مطابق محدودههای شماره سطر و شماره ستون [MS-XLSX]. قبلاً clamp داخلی از حداکثرهای مبتنی بر صفر استفاده میکردXFD1048576
رفع اشکال
- مستندات و آزمونهای رمزنگاری XLSX اکنون با مسیر نوشتن پیادهسازیشده مطابقت دارند. صفحات راهنما و مجموعه regression اکنون بیان میکنند که
SaveAsEncryptedخروجی ECMA-376 Standard Encryption را برای گذرواژههای غیر-خالی مینویسد، در حالی کهOpenEncryptedهمچنان برای بستههای رمزگذاریشده exception میاندازد
نسخه 2.87.0
رفع اشکال
- ذخیره XLSX محافظتشده با گذرواژه اکنون کار میکند (موج J مرحله 2، backlog #29).
TXLSXWorkbook.SaveAsEncrypted(FileName, Password)اکنون یک فایل .xlsx محافظتشده واقعی با ECMA-376 Standard Encryption (فرمت Office 2007+) مینویسد. خط لوله کامل [MS-OFFCRYPTO] §2.3.4 در جای خود است: اشتقاق گذرواژه با 50000 تکرار SHA-1 + بلوکهای verifier AES-128 + رمزنگاری بدنه بسته AES-CBC + سریالایزر باینریEncryptionInfoاکنون با چهار جریان متادیتای\005DataSpaces(Version / DataSpaceMap / DataSpaceInfo / TransformInfo) و نویسنده OLE Compound File Binary که همه چیز را در یک کانتینر CFB قرار میدهد که Excel با گذرواژه کاربر باز میکند ترکیب میشودSaveAsEncryptedStgCreateDocfileOpenEncryptedEXlsxEncryptionNotImplemented
نسخه 2.86.1
افزوده شد
- XLSX Standard Encryption — پایه رمزنگاری (موج J مرحله 1، backlog #29). دو واحد داخلی جدید نیمه رمزنگاری و اشتقاق کلید مسیر نوشتن ECMA-376 Standard Encryption را پیاده میکنند.
lxAES.pasAES برایان گلدمن را بستهبندی میکند و نقاط ورود رمزنگاری AES-128 ECB تکبلوکی و AES-128 CBC را نمایش میدهد.lxXlsxStdEncrypt.pasSHA-1 خالص-Pascal (FIPS-180-4) و اشتقاق گذرواژه 50000 تکراری [MS-OFFCRYPTO] §2.3.4.10 را پیاده میکند.TXLSXWorkbook.SaveAsEncryptedهمچنانEXlsxEncryptionNotImplementedمیاندازد تا موج J مرحله 2 نویسنده OLE CFB را اضافه کندthirdparty/Win32/aes*.objthirdparty/Win64/aes*.objEncryptedVerifierEncryptedVerifierHashEncryptionInfo\005DataSpacesSaveAsEncrypted
نسخه 2.86.0
حذف شد
- رفتوبرگشت QueryTable و External Data Connection (موج I، backlog #28). QueryTableها و اتصالات داده خارجی ایجادشده توسط Excel (Data → Get External Data از Web / SQL / OLEDB) اکنون از یک چرخه ذخیره/باز HotXLS جان سالم به در میبرند. قبلاً خواننده BIFF8 بهطور خاموش
QsiSXTag($0802)،QsiSXTagExt($0810) وDConn($0876) را رد میکرد، بنابراین متادیتایی که query upstream را توصیف میکند هنگام ذخیره حذف میشد. خواننده اکنون این رکوردها را بهصورت بایتهای opaque ضبط میکند و نویسنده آنها را به substream کاربرگ و globals workbook بازمیگرداند
نسخه 2.85.1
تغییر کرد
- بازیابی build کتابخانه Win32 / Win64. دو متغیر کمکی خط-آیتم pivot در SXLI emitter چند-فیلد-داده موج H5.3 بهصورت انواع ناشناس جداگانه
array of array of Wordاعلان شده بودند که کامپایلر Delphi آنها را بهعنوان انواع ناشناس متمایز تلقی میکند و تخصیص مستقیم را باE2008 Incompatible typesرد میکند. کتابخانه HotXLS از نسخه 2.84.1 بر روی RAD Studio 12.0 تا 37.0 build نمیشد. دو متغیر اکنون با هم اعلان میشوند تا یک نوع ناشناس مشترک داشته باشند
نسخه 2.85.0
تغییر کرد
- API جمعبندی محوری نوعدار (موج H5.4).
TXLSPivotFieldنوعدار اکنون یک ویژگی set به نامSubtotals: TXLSPivotSubtotalsرا در کنارSubtotalMask: Wordخام موجود نمایش میدهد. فراخوانندهها میتوانند برای مثالField.Subtotals := [xlpsSum, xlpsAverage];را تخصیص دهند بهجای بستهبندی دستی فیلدgrbitSubدر SXVD. دوازده نوع subtotal نمایش داده میشوند (xlpsDefault، xlpsSum، xlpsCount/CountA، xlpsAverage، xlpsMax، xlpsMin، xlpsProduct، xlpsCountNums، xlpsStdDev، xlpsStdDevP، xlpsVar، xlpsVarP)SubtotalMask
نسخه 2.84.1
افزوده شد
- گسترش SXLI چند-فیلد-داده (موج H5.3). وقتی یک جدول محوری بیش از یک فیلد داده داشته باشد و محور فیلد داده با یک محور SXLI مشخص مطابقت داشته باشد، نویسنده اکنون هر ترکیب ضرب دکارتی را
DataFieldCountبار باiData = 0 .. DataFieldCount - 1به علاوهDataFieldCountخط جمع کل تکرار میکند تا هر فیلد داده جمع کل خودش را داشته باشد. pivot های تک-فیلد-داده خروجی یکسان با نسخه 2.84.0 صادر میکنندDataFieldAxisIsRow = TrueDataFieldAxisIsRow = FalseiData = 0
نسخه 2.84.0
تغییر کرد
- API پیشانتخاب محور صفحه pivot (موج H5.2).
TXLSPivotFieldنوعدار اکنون یک ویژگیPageItemIndexدارد که pivot های ساختهشده بهصورت برنامهای میتوانند برای پیشانتخاب یک آیتم cache خاص روی فیلتر محور صفحه تنظیم کنند. پیشفرضxlPageItemAll(= $7FFD) فیلتر را در "(All)" نگه میدارد تا فراخوانندههایی کهPageItemIndexرا تخصیص نمیدهند از نظر بایت با نسخه 2.83.2 یکسان باشندPageItemIndexField.PageItemIndex
نسخه 2.83.2
تغییر کرد
- رکوردهای SXLI محوری کوچکتر از طریق فشردهسازی دلتا (موج H5.1). نویسنده محوری اکنون آیتمهای خط SXLI را با استفاده از فیلد cSic مشخصه دلتا-فشرده میکند — ایندکسهای آیتم cache پیشرو هر خط که با خط قبلی در همان رکورد SXLI مطابقت دارند به یک شمارش پیشوند مشترک تا میشوند. رکوردهای SXLI معمولی (چند فیلد سطر × دهها آیتم) 30 تا 60 درصد بدون تغییر در معنا کوچک میشوند
نسخه 2.83.1
رفع اشکال
- رنگهای fill، فونت و حاشیه سلول تنظیمشده از طریق RGB اکنون در چرخه باز/ذخیره .xls رفتوبرگشت میکنند. نویسنده BIFF8 XFExt ($087D) هر فیلد ixfe رکورد را با استفاده از موقعیت آرایه XF درونحافظهای صادر میکرد، اما رکوردهای سلولی منطبق روی دیسک با استفاده از ترتیب SaveIndex پس از هرس ixfe مینویسند. نویسنده اکنون SaveIndex را برای هر XF slot غنی resolve میکند و ixfe رویدیسک متناظر را صادر میکند، بنابراین رنگهای سلولی RGB ذخیرهشده توسط HotXLS — fill داخلی، رنگ فونت، رنگهای حاشیه — از یک چرخه ذخیره / بارگذاری مجدد سالم جان سالم به در میبرند
نسخه 2.83.0
تغییر کرد
- آیتمهای خطی Pivot و وضعیت آیتم صفحه (موج H4.3). جدولهای pivot ساختهشده بهصورت برنامهریزیشده اکنون رکوردهای SXLI ([MS-XLS] §2.4.275، $00B5) را هم برای محور سطر و هم محور ستون صادر میکنند، بهعلاوه SXPI ($00B6) برای محور صفحه. این به layout view pivot وفاداری میدهد: خوانندگان غیر Excel ترتیب نمایش دقیقی را که نویسنده قصد داشته میبینند، pivot های بزرگ سریعتر باز میشوند (Excel نیازی به محاسبه مجدد layout سطر از ابتدا ندارد) و فیلترهای صفحه با انتخاب پیشفرض «(همه)» بهازای هر فیلد صفحه باقی میمانند
- شمارش SXLI برای ردیف + ستون. نویسنده حاصلضرب دکارتی آیتمهای cache فیلدهای محور را برشمار میکند (داخلیترین فیلد سریعترین تغییر دارد، مطابق layout تو در تو ردیفی Excel) و یک خط بهازای هر ترکیب بهعلاوه یک خط جمع کل انتهایی صادر میکند. خروجی هنگامی که تعداد خطوط از محدودیت ۸۲۲۴ بایتی BIFF سرریز کند در چندین رکورد SXLI قرار میگیرد
- وضعیت محور صفحه SXPI. فقط زمانی صادر میشود که حداقل یک فیلد Axis = xlpfaPageField داشته باشد. هر ورودی ۱۰ بایت (isxvd + iCache + ipos + objId) با iCache = $7FFD که «(همه)» را نشان میدهد است. Pivot هایی بدون فیلدهای صفحه هیچ SXPI صادر نمیکنند (ABNF کاربرگ آن را اختیاری فهرست کرده است)
- محدودیت شناختهشده موج H3 «SXLI / SXPI صادر نشده» بسته شد. در ترکیب با H4.1 (قالببندی اعداد DataField) و H4.2 (جریان per-record SXDBB)، موج H4 هر سه محدودیت شناختهشده در نویسنده جدول pivot H3 را میبندد. جداول pivot ساختهشده از طریق
IXLSWorksheet.AddPivotTableاکنون با cache های خودمختار با متادیتای کامل layout عرضه میشوند