บันทึกประจำรุ่น HotXLS
ประวัติเวอร์ชันของคุณลักษณะที่ผู้ใช้มองเห็นของ HotXLS รวมถึงการแก้ไข การปรับปรุง XLS/XLSX การอัปเดตการส่งออก การเปลี่ยนแปลงด้านความเข้ากันได้ และการเปลี่ยนแปลงเอกสาร
รุ่นล่าสุด
- เวอร์ชันล่าสุด: 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แบบมีชนิด ควบคู่กับกล่องกาเครื่องหมาย กล่องคอมโบ และกล่องรายการ - ตัวควบคุมฟอร์มตอนนี้เปิดเผยชื่อแมโคร เซลล์ที่เชื่อมโยง ช่วงอินพุต สถานะการกาเครื่องหมาย ลักษณะแบนหรือ 3มิติ และลิงก์กลุ่มเรดิโอผ่านคุณสมบัติแบบมีชนิด
- ชื่อที่กำหนดเปิดเผย
IsMacroเพื่อให้การผูกแมโครยังคงเมทาดาต้าชื่อสมุดงานที่จำเป็นไว้
แก้ไข
- การแก้ไขและบันทึกตัวควบคุมฟอร์มแบบคลาสสิกซ้ำไม่丢弃สถานะการกาเครื่องหมาย การผูกแมโคร สูตรเซลล์ที่เชื่อมโยง ช่วงต้นทาง หรือเมทาดาต้ากลุ่มเรดิโอที่รองรับอีกต่อไป
- การล้างช่วงต้นทางของกล่องคอมโบหรือกล่องรายการตอนนี้จะลบสูตรอินพุตที่ทำให้เป็นอนุกรมแทนการคืนช่วงก่อนหน้าในการเปิดครั้งถัดไป
เวอร์ชัน 2.227.0
เพิ่มเติม
LINESTและLOGESTตอนนี้ส่งกลับอาร์เรย์สัมประสิทธิ์หลายตัวแปรที่สมบูรณ์และเมทริกซ์สถิติห้าแถวเป็นตัวเลือกTRENDและGROWTHตอนนี้ส่งกลับอาร์เรย์การพยากรณ์ที่มีรูปร่างสำหรับอินพุตตัวแปรเดี่ยวและหลายตัวแปร
เปลี่ยนแปลง
- เลขคณิตอาร์เรย์ การเปรียบเทียบ การต่อสตริง การนิเสธเอกภาค และการดำเนินการเปอร์เซ็นต์ตอนนี้กระจายสเกลาร์และแถวหรือคอลัมน์เดี่ยวในขณะที่ยังคงผลลัพธ์รายเซลล์
- การพึ่งพาการคำนวณตอนนี้ขยายชื่อสมุดงานและเวิร์กชีตที่ซ้อนกัน ชื่อที่กำหนดโดยสูตร และการอ้างอิงหลายพื้นที่พร้อมการป้องันวงจรที่รับรู้ขอบเขต
แก้ไข
- ข้อผิดพลาดในองค์ประกอบอาร์เรย์หนึ่งไม่ทำให้ผลลัพธ์ทั้งหมดยุบหรือกลับไปใช้การประเมินสเกลาร์อย่างไม่ถูกต้องอีกต่อไป
- ชื่อที่กำหนดโดยสูตรซึ่งการพึ่งพาสามารถแก้ไขได้แบบสถิตไม่บังคับให้คำนวณใหม่ทั้งหมดแบบระเหยโดยไม่จำเป็นอีกต่อไป
เวอร์ชัน 2.226.0
เพิ่มเติม
- แคช pivot ของ XLSX และมุมมองตาราง pivot ที่มีอยู่ตอนนี้โหลดเข้าสู่โมเดลแบบมีชนิดผ่านความสัมพันธ์ของแพ็กเกจ รวมถึงระเบียนแคช ฟิลด์ รายการที่ใช้ร่วมกัน การจัดกลุ่ม ตัวกรอง รูปแบบ นิยามที่คำนวณ และส่วนขยาย
TXLSPivotTable.Makeตอนนี้ประเมินฟิลด์แคชที่คำนวณ รายการที่คำนวณ และสมาชิกข้อมูลที่คำนวณด้วยการผูกชื่อที่รับรู้การพึ่งพา- โหมด
ShowDataAsที่ขยายเพิ่มเปอร์เซ็นต์หลัก เปอร์เซ็นต์สะสม และอันดับจากน้อยไปมากหรือจากมากไปน้อยด้วยมาร์กอัปส่วนขยาย XLSX ที่ถูกต้อง
เปลี่ยนแปลง
- การสร้างผลลัพธ์ pivot ตอนนี้ใช้การมองเห็นรายการ การเลือกหน้า ตัวกรองคำบรรยาย วันที่ การรวม และค่าก่อนสร้างโดเมนที่จัดกลุ่ม
- กลุ่มตัวเลข วันที่ และแยกส่วน การเรียงลำดับป้ายชื่อหรือค่าข้อมูล ผลรวมย่อยที่กำหนดค่าไว้ และแถวหรือคอลัมน์ผลรวมใหญ่ที่แสดงผลเป็นตัวเลือกตอนนี้เข้าร่วมในการสร้างผลลัพธ์
แก้ไข
- ตัวกรอง pivot ตอนนี้ใช้มาร์กอัปตัวกรองระดับรากที่ถูกต้องตามสคีมาและชนิดตัวกรองเชิงสัญลักษณ์แทนค่าตัวเลขที่คลุมเครือ
- การโหลดที่ขับเคลื่อนด้วยความสัมพันธ์ไม่สันนิษฐานชื่อส่วนแคช pivot ระเบียนแคช หรือตาราง pivot ตามธรรมเนียมหรือตามลำดับอีกต่อไป
เวอร์ชัน 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
เปลี่ยนแปลง
- การยกเลิกตัวอ่านโดยตรงแบบขนานขณะนี้เผยแพร่ผ่านการอ่านสมาชิก ZIP ที่ใช้งานอยู่และทุกขั้นตอนการขยายข้อมูล แทนที่จะรอการดึง XML ครั้งถัดไป
แก้ไข
- การยกเลิกการสแกนเวิร์กชีตแบบขนานไม่รอให้การอ่าน XML ที่ถูกบีบอัดขนาดใหญ่เสร็จสิ้นก่อนปล่อยเวิร์กเกอร์ที่ถูกบล็อก
เวอร์ชัน 2.222.0
เพิ่มเติม
TXLSDirectReader.ParallelBufferMemoryLimitจำกัดเพย์โหลดคิว raw-cell รวมสำหรับการสแกนเวิร์กชีตแบบขนาน ในขณะที่ParallelPeakBufferedBytesเปิดเผยค่าสูงสุดที่วัดได้สำหรับการวินิจฉัยและการทดสอบความจุ
เปลี่ยนแปลง
- การอ่านโดยตรงแบบขนานขณะนี้สตรีมรายการ ZIP ของเวิร์กชีตเข้าสู่ตัวอ่าน XML เฉพาะเวิร์กเกอร์และคิว producer-consumer ที่จำกัด แทนที่จะเก็บ XML เวิร์กชีตที่ขยายแล้วทั้งหมดและบัฟเฟอร์เซลล์ต่อชีตทั้งหมด
- เวิร์กชีตที่ใช้งานอยู่ได้รับงบประมาณคิวอิสระและถูกประมวลผลในหน้าต่างขนาดเวิร์กเกอร์ โดยรักษาลำดับ callback โดยไม่ยอมให้เวิร์กชีตที่ใหม่กว่าอดอาหารเวิร์กชีตที่กำลังส่งออก
แก้ไข
- การยกเลิกเซลล์ ความล้มเหลวของ callback และข้อผิดพลาดของเวิร์กเกอร์ขณะนี้ปลุก producer และ consumer ที่ถูกบล็อก หยุดการดึง XML อย่างร่วมมือ เข้าร่วมเวิร์กเกอร์ทั้งหมด และทำให้ตัวอ่านโดยตรงใช้ซ้ำได้
เวอร์ชัน 2.221.0
เปลี่ยนแปลง
- การเปิด XLSXหลายชีตขณะนี้สตรีมรายการ ZIP ของเวิร์กชีตแต่ละรายการเข้าตรงสู่ตัวขยายและตัวอ่าน XML เฉพาะเวิร์กเกอร์ แทนที่จะเก็บ XML เวิร์กชีตที่ขยายแล้วก่อนการแจงนับ
- ตัวอ่านเวิร์กชีตพร้อมกันทำการซีเรียลไลซ์เฉพาะการอ่านที่วางตำแหน่งสั้นจากแหล่งแพ็กเกจ ดังนั้นการขยายข้อมูลและการแจงนับ XML จึงยังคงขนานในขณะที่หน่วยความจำอินพุตเวิร์กชีตชั่วคราวถูกจำกัดโดยจำนวนเวิร์กเกอร์ที่ใช้งานอยู่
เวอร์ชัน 2.220.0
เพิ่มเติม
- การสร้างผลลัพธ์ PivotTable ขณะนี้เรียกใช้โหมด
ShowDataAsแบบคลาสสิกทั้งเก้าโหมด รวมถึงผลต่าง ร้อยละของรายการฐาน ผลต่างร้อยละ ผลรวมสะสม ร้อยละของแถว ร้อยละของคอลัมน์ ร้อยละของทั้งหมด และการคำนวณดัชนี xlPivotBaseItemPreviousและxlPivotBaseItemNextมอบตัวเลือกแบบมีชนิดสำหรับรายการฐานที่อยู่ติดกันในการคำนวณเปรียบเทียบ
เปลี่ยนแปลง
- เปอร์เซ็นต์และค่าดัชนีของ Pivot ใช้ผลรวมแถว คอลัมน์ และผลรวมใหญ่ที่รวบรวมโดยตรงจากระเบียนต้นทาง โดยรักษาความหมายของค่าเฉลี่ย ผลคูณ การนับ ความแปรปรวน และส่วนเบี่ยงเบนมาตรฐานที่ถูกต้องโดยไม่ต้องสแกนแหล่งข้อมูลซ้ำ
- ผลรวมสะสมเป็นไปตามลำดับรายการ Pivot รีเซ็ตอิสระสำหรับทุกกลุ่มเพียร์ และยังคงรักษาพื้นที่เก็บผลลัพธ์แบบกระจัดกระจายสำหรับ Pivot ที่มีจำนวนสมาชิกสูง
แก้ไข
- เรคคอร์ด
SXDIของ BIFF8 ขณะนี้ใช้เลย์เอาต์คงที่ 14 ไบต์มาตรฐานและรักษาShowDataAsฟิลด์ฐาน รายการฐาน รูปแบบตัวเลข และชื่อที่แสดงผ่านการอ่านแบบมีชนิด ขณะที่เรคคอร์ด HotXLS แบบเดิมยังคงอ่านได้ - ฟิลด์ข้อมูล XLSX ขณะนี้เขียนดัชนีฟิลด์ Pivot แม็ปตัวเลือกก่อนหน้าและถัดไปเป็นค่า OOXML ที่จำเป็น และปล่อยแอตทริบิวต์ฐานเฉพาะสำหรับโหมดที่ใช้งาน
- เซลล์เปรียบเทียบที่ขาดหายไปยังคงว่าง ขณะที่ตัวส่วนศูนย์ที่มีอยู่จะส่งกลับ
#DIV/0!แทนที่จะสับสนกับข้อมูลที่ขาดหายไป
เวอร์ชัน 2.219.0
แก้ไข
VDBขณะนี้ใช้การคิดค่าเสื่อมราคายอดคงเหลือแบบลดลงผันแปรผ่านช่วงเศษส่วน เปลี่ยนไปเป็นการคิดค่าเสื่อมราคาแบบเส้นตรงเมื่อเป็นประโยชน์ และเคารพno_switch- ตัวประกอบศูนย์ ขอบเขตมูลค่าซาก ช่วงเริ่มต้นแบบเศษส่วน และช่วงรอบที่ไม่ถูกต้อง ขณะนี้ให้ผลลัพธ์ที่เข้ากันได้กับ Excel แทนที่จะปัดเศษรอบและส่งกลับค่าประมาณการคิดค่าเสื่อมราคายอดคงเหลือแบบลดลงแบบเรียบง่าย
เวอร์ชัน 2.218.0
เพิ่มเติม
TXLSXWorksheet.Scenariosขณะนี้มอบการเขียน Scenario Manager What-If แบบมีชนิด พร้อมสถานการณ์ที่มีชื่อ ดัชนีที่ใช้งานและแสดง ช่วงเซลล์ที่เปลี่ยน เมทาดาต้าผู้ใช้และความคิดเห็น สถานะล็อกและซ่อน และค่าเซลล์ป้อนเข้าที่เป็นเจ้าของ- นิยามสถานการณ์ขณะนี้ติดตามการคัดลอกเวิร์กชีตและการแก้ไขโครงสร้างแถวหรือคอลัมน์ ขณะที่ขีดจำกัดความเข้ากันได้ของ Excel จะถูกตรวจสอบก่อนที่เมทาดาต้าที่ไม่ถูกต้องจะถูกเขียน
แก้ไข
- การเปิดและบันทึกสถานการณ์ที่สร้างโดย Excel ขณะนี้รักษาแอตทริบิวต์รูทและเซลล์ป้อนเข้าซ้อนทับ แทนที่จะทำให้ลำดับชั้นแบนราบเป็น XML ดิบที่สูญเสียข้อมูล
- อิลิเมนต์เวิร์กชีต Scenario, AutoFilter, การรวมข้อมูล, เซลล์ที่ผสาน และ phonetic ขณะนี้ใช้ลำดับสคีมาเพื่อให้ผู้บริโภคสเปรดชีตแบบเข้มงวดไม่ต้องการรอบการซ่อมแซม
เวอร์ชัน 2.217.0
เพิ่มเติม
TXLSXWorksheet.IgnoredErrorsขณะนี้มอบการเขียนแบบมีชนิดสำหรับทุกหมวดหมู่ข้อผิดพลาดที่ถูกละเว้นมาตรฐาน พร้อมการอ้างอิงแบบหลายพื้นที่ การรองรับการคัดลอกเวิร์กชีต การอัปเดตการแก้ไขโครงสร้าง และรอบการเปิด/บันทึกTXLSXWorkbookขณะนี้เปิดเผยโหมดอ้างอิง คำนวณใหม่ตอนบันทึก ความแม่นยำเต็ม การคำนวณพร้อมกัน และการตั้งค่าการทำงานพร้อมกันแบบแมนนวลควบคู่ไปกับตัวเลือกการคำนวณที่มีอยู่
แก้ไข
- ทุกการตั้งค่าการคำนวณของเวิร์กบุ๊กที่ไม่ใช่ค่าเริ่มต้นขณะนี้สร้างและรอบทริปอิสระอิลิเมนต์
calcPrที่เรียงตามสคีมา รวมถึงขีดจำกัดการทำซ้ำที่กำหนดค่าก่อนเปิดใช้งานการทำซ้ำ - โหมดการคำนวณ โหมดอ้างอิง ขอบเขตการทำซ้ำ ตัวระบุการคำนวณ และจำนวนการทำงานพร้อมกันแบบแมนนวล ขณะนี้จะปฏิเสธหรือทำให้ค่าที่ไม่ถูกต้องเป็นมาตรฐานแทนที่จะเขียนสถานะเวิร์กบุ๊กที่คลุมเครือ
เวอร์ชัน 2.216.0
เปลี่ยนแปลง
XMATCHและXLOOKUPจะทำการค้นหาแบบไบนารีแบบลอการิทึมจากน้อยไปมากหรือจากมากไปน้อยเมื่อถูกระบุ รวมถึงเขตแดนค่าซ้ำและค่าใกล้เคียงที่เข้ากันได้กับ ExcelXIRRจะเคารพค่าคาดเดาด้วยตัวแก้ที่มีการป้องกันซึ่งสามารถหารากที่สูงและไวต่อค่าคาดเดาได้ ขณะที่XNPVใช้การบวกแบบชดเชยพร้อมตรวจสอบความถูกต้องของวันที่และอัตราที่ป้อนเข้า- การค้นหา defined-name ของ XLSX ที่มีจำนวนสมาชิกสูงจะใช้ดัชนีแฮชที่คำนึงถึงขอบเขตแบบ lazy โดยยังคงรักษาลำดับที่ถูกทำให้เป็นอนุกรม ลำดับความสำคัญของชื่อท้องถิ่น และพฤติกรรมการจับคู่แรกไว้
- ส่วนประกอบแพ็กเกจ XLSX ที่เก็บรักษาไว้จะจองขนาดที่คลายบีบอัดตามที่ประกาศไว้เพียงครั้งเดียว โดยยังคงรักษาการตรวจสอบความยาวและ CRC ให้สมบูรณ์
แก้ไข
- โหมดการค้นหาที่ไม่ถูกต้อง การค้นหาแบบไบนารีด้วยไวลด์การ์ด ช่วงการค้นหาสองมิติ และเวกเตอร์ผลลัพธ์ของ
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 ที่จำเป็น รวมถึงอักขระที่อยู่นอก Basic Multilingual Plane
เปลี่ยนแปลง
- การรีเฟรชแคชของตารางสาระสำคัญที่มีจำนวนสมาชิกสูงจะใช้ดัชนีแฮชที่กำหนดขึ้นสำหรับค่าที่ใช้ร่วมกัน และจองเมทริกซ์เรคคอร์ดเพียงครั้งเดียว โดยรักษาลำดับรายการที่พบก่อน ขณะเลี่ยงการค้นหาเชิงเส้นซ้ำ ๆ และการขยายทีละแถว
- การอ่านโดยตรงแบบโพรเจกต์จะทิ้งเซลล์ที่อยู่นอกแถวและคอลัมน์ที่เลือกก่อนที่จะคัดลอกค่าดิบ สูตร และข้อความ rich text เข้าสู่บัฟเฟอร์รายแผ่นงาน
แก้ไข
- XML ที่มีรูปแบบผิดเช่นเครื่องหมายลำดับไบต์ซ้ำ การประกาศการเข้ารหัสที่ไม่รองรับหรือขัดแย้งกัน ลายเซ็น UTF-32 ความยาวไบต์ UTF-16 ที่เป็นเลขคี่ หรือคู่ซัรโรเกตที่ไม่ถูกต้อง จะถูกปฏิเสธ
- เวิร์กเกอร์ของ direct-reader แบบขนานจะเริ่มต้นสถานะงานทั้งหมดก่อนเริ่มทำงาน หยุดรับงานแผ่นงานใหม่หลังจากเกิดข้อผิดพลาด ยกข้อผิดพลาดของงานที่ดัชนีต่ำสุดขึ้นมาอย่างกำหนดได้ และทำความสะอาดเวิร์กเกอร์ทุกตัวที่สร้างขึ้นหากการสร้างพูลล้มเหลว
เวอร์ชัน 2.213.0
เพิ่มเติม
T.TESTจะประเมินตัวอย่างอิสระด้วยความแปรปรวนเท่ากันแบบรวมหรือความแปรปรวนไม่เท่ากันแบบเวลช์ นอกเหนือจากตัวอย่างคู่ รวมถึงความน่าจะเป็นแบบหางเดียวและสองหาง
เปลี่ยนแปลง
- การเปิด XLSX จะติดตามเป้าหมายความสัมพันธ์ของสมุดงาน แผ่นงาน และการวาดสำหรับแผ่นงาน สตริงที่ใช้ร่วมกัน สไตล์ ธีม แมโคร ลิงก์ภายนอก ความคิดเห็น ความคิดเห็นแบบเธรด VML ภาพวาด รูปภาพ แผนภูมิ ตาราง และตารางสาระสำคัญ รวมถึงแพ็กเกจที่ถูกต้องซึ่งใช้เส้นทางส่วนที่เปลี่ยนชื่อหรือไม่ต่อเนื่อง
แก้ไข
- แพ็กเกจที่มีรูปแบบผิดซึ่งมีตัวระบุความสัมพันธ์ซ้ำจะไม่อนุญาตให้ความสัมพันธ์ที่ไม่รองรับที่มาทีหลังมาแทนที่เป้าหมายที่ใช้งานได้แรกในระหว่างการกู้คืนความเข้ากันได้
เวอร์ชัน 2.212.0
เปลี่ยนแปลง
- การติดตามการขึ้นต่อของสูตรจะขยายตัวได้ดีขึ้นบนแผ่นงานขนาดใหญ่โดยการสร้างดัชนีการขึ้นต่อของเซลล์และช่วงก่อนการสร้างใหม่และการทำเครื่องหมายเซลล์สกปรกให้เป็นโมฆะ
- สูตรสถิติและการถดถอยขนาดใหญ่จะประเมินค่าตัวเลขทุกค่าในช่วงที่ให้มาแทนที่จะหยุดที่บัฟเฟอร์ขนาดคงที่เดิม
แก้ไข
- เซลล์ XLSX ที่อยู่นอกตารางแผ่นงานจะถูกปฏิเสธอย่างสม่ำเสมอ จึงทำให้พิกัดที่ไม่ถูกต้องไม่สามารถไปซ้อนเซลล์ที่ถูกต้องได้อีกต่อไป
- การแก้ไขสูตรจะไม่รีเซ็ตโหมดการคำนวณของสมุดงาน ขีดจำกัดการวนซ้ำ แฟล็กการคำนวณเต็มรูปแบบ หรือการตั้งค่าการคำนวณอื่น ๆ อีกต่อไป
- การอ่าน blob-list จะตรวจสอบช่วงที่ร้องขออย่างชัดเจนและอนุญาตช่วงว่างที่ถูกต้องที่ท้ายสตรีม
ความปลอดภัย
- การเข้ารหัส XLS แบบคลาสสิกจะครอบคลุมสตรีมแคชไพวอตพร้อมกับข้อมูลแผ่นงาน
- ส่วนท้ายส่วนขยาย SST ที่มีรูปแบบผิดและเรคคอร์ดไดเรกทอรีกลางของ ZIP จะถูกปฏิเสธก่อนการจองขนาดที่ใหญ่เกินไป การอ่านที่ถูกตัดทอน หรือเรคคอร์ดไดเรกทอรีปลอมที่ฝังอยู่ในความคิดเห็นจะส่งผลกระทบต่อการโหลด
เวอร์ชัน 2.211.0
เพิ่มเติม
TXLSPivotTable.Makeจะสร้างทุกฟิลด์ข้อมูลที่กำหนดค่าไว้พร้อมการรวมค่าของตัวเอง และขยายค่าตามแถวหรือคอลัมน์ตามDataFieldAxisIsRow
เปลี่ยนแปลง
- การสร้างผลลัพธ์ไพวอตจะนำโดเมนคีย์แถวและคอลัมน์ที่สร้างดัชนีแฮชกลับมาใช้ใหม่ทั่วทุกฟิลด์ข้อมูล เลือกที่เก็บตัวสะสมแบบหนาแน่นหรือกระจัดกระจายจากรูปร่างผลลัพธ์ รักษาลำดับรายการแคชเกินเก้าคีย์ และสร้างป้ายผสมที่อ่านได้สำหรับแกนหลายฟิลด์
แก้ไข
Countจะรวมค่าแคชที่เป็นข้อความที่ไม่ว่าง บูลีน ข้อผิดพลาด วันที่ และตัวเลข ขณะที่CountNumsจะรวมเฉพาะค่าตัวเลขและวันที่Productจะส่งกลับศูนย์สำหรับจุดตัดที่ไม่มีค่าตัวเลข เซลล์ว่างจะไม่ถูกนับเป็นรายการอีกต่อไป และไพวอตที่มีเฉพาะค่าสามารถสร้างผลรวมทั้งหมดโดยไม่มีฟิลด์แถวหรือคอลัมน์
เวอร์ชัน 2.210.0
เพิ่มเติม
TXLSWorkbookViewerจะเรนเดอร์เติมเต็มเงื่อนไขของ XLSX สีและเน้นฟอนต์ รูปแบบตัวเลข แถบข้อมูลเชิงทิศทางบวกและลบ การไล่ระดับสี เส้นขอบ แกน ค่าที่ซ่อนอยู่ และตระกูลชุดไอคอนในตัวทั้งหมดTXLSWorkbookViewer.RefreshConditionalFormatsจะสร้างสถานะผลรวมและเกณฑ์ที่เตรียมไว้ใหม่หลังจากผู้เรียกแก้ไขสมุดงาน XLSX ที่แนบอยู่ในตำแหน่ง
เปลี่ยนแปลง
- ตัวดูจะแคชตัวประเมินรูปแบบเงื่อนไขที่เตรียมไว้หนึ่งตัวต่อแผ่นงานที่ใช้งานอยู่ นำกลับมาใช้ใหม่ทั่วการเลื่อน การเลือก และการวาดใหม่ และปล่อยทิ้งเมื่อสมุดงานหรือแผ่นงานเปลี่ยนแปลง
แก้ไข
- แกนของแถบข้อมูลที่ขอบเขตด้านขวาสุดจะถูกตัดให้อยู่ภายในเซลล์เจ้าของแทนที่จะวาดเข้าไปในเซลล์ข้างเคียง
เวอร์ชัน 2.209.0
เพิ่มเติม
- แผ่นงาน XLSX จะเปิดเผยตัวประเมินรูปแบบเงื่อนไขที่เตรียมไว้ซึ่งจะแก้ลำดับความสำคัญของกฎ
StopIfTrueสูตรสัมพัทธ์ สไตล์ที่แตกต่าง การจัดอันดับบน/ล่าง การทดสอบสูงกว่า/ต่ำกว่าค่าเฉลี่ย ค่าซ้ำและค่าเฉพาะ ช่วงวันที่สัมพัทธ์ สเกลสีแบบสองและสามสี แถบข้อมูล และชุดไอคอนสำหรับเซลล์ใด ๆ
เปลี่ยนแปลง
- การส่งออก HTML และ PDF จะเรนเดอร์เติมเต็มเงื่อนไขที่ตรงกัน การเน้นและสีฟอนต์ รูปแบบตัวเลข สเกลสี แถบข้อมูลเชิงทิศทางบวกและลบ แกนที่ชัดเจน รูปอักษรตระกูลไอคอน ค่าที่ซ่อนอยู่ และสีธีมพร้อมการแก้ค่า tint
- โดเมนรูปแบบเงื่อนไขขนาดใหญ่จะนำสูตรสัมพัทธ์ที่คอมไพล์แล้วกลับมาใช้ใหม่โดยไม่ต้องจองต้นไม้ไวยากรณ์ต่อเซลล์ สตรีมสถิติค่าเฉลี่ย ส่วนเบี่ยงเบน ต่ำสุดและสูงสุด เก็บค่าที่จัดเรียงไว้เฉพาะสำหรับกฎการจัดอันดับหรือเปอร์เซ็นต์ไทล์ จัดเรียงคีย์ Unicode ที่ซ้ำกันแบบแบตช์ และใช้ดัชนีแคนดิเดตแบบวงดนตรีแถวเพื่อหลีกเลี่ยงการสแกนกฎที่ไม่เกี่ยวข้อง
แก้ไข
- กฎเงื่อนไขแบบคลาสสิกจะโหลดประเภทนิพจน์อย่างถูกต้องและประเมินการสลับระหว่างขอบเขต เพรดิเคตข้อความที่ไม่ต้องคำนึงถึงตัวพิมพ์เล็ก/ใหญ่ เซลล์ว่าง และเพรดิเคตข้อผิดพลาดอย่างสม่ำเสมอ
เวอร์ชัน 2.208.0
เปลี่ยนแปลง
- เอนจินที่เก็บเซลล์แบบแพ็กจะเขียนเพย์โหลดสตริง บูลีน ข้อผิดพลาด และช่องว่างที่มีแท็กแบบ native ทำซ้ำเซลล์ตามลำดับแถวหลัก และเข้ารหัสแบบ run-length สำหรับเซลล์ที่มีประเภทเท่ากันติดต่อกันเพื่อลดการใช้หน่วยความจำและเร่งผลลัพธ์ตามลำดับ
- สตริงที่ใช้ร่วมกันของสมุดงานแบบคลาสสิกจะเก็บไบต์อักขระไว้ในการจองเดียวและสร้างค่าสตริงที่ถอดรหัสแล้วแบบ lazy เพื่อลดภาระการจองสำหรับตารางสตริงเฉพาะขนาดใหญ่
เพิ่มเติม
- ตารางสาระสำคัญสามารถคำนวณเมทริกซ์ผลลัพธ์ที่สมบูรณ์จากเรคคอร์ดแคชพร้อมการจัดกลุ่มคีย์แถวและคอลัมน์และฟังก์ชันรวมทั้ง 11 แบบที่รองรับ
- แผนภูมิของสมุดงานแบบคลาสสิกจะเปิดเผยข้อมูลซีรีส์ แกน คำอธิบายแผนภูมิ และกลุ่มแผนภูมิแบบมีประเภทสำหรับเวิร์กโฟลว์การแปลงและการตรวจสอบ
เวอร์ชัน 2.207.0
เพิ่มเติม
TXLSPivotCache.RefreshFromSourceจะสร้างแคชไพวอตจากช่วงแผ่นงานต้นทาง: อ่านแถวส่วนหัวเพื่อตั้งชื่อฟิลด์ กลั่นค่าที่แตกต่างของแต่ละแถวข้อมูลเป็นโดเมนรายการที่ใช้ร่วมกันต่อฟิลด์ ล็อกประเภทฟิลด์จากค่าที่ไม่ว่างแรก และบันทึกดัชนีรายการที่ใช้ร่วมกันสำหรับทุก (เรคคอร์ด, ฟิลด์) — จึงสามารถสร้างตารางสาระสำคัญจากช่วงข้อมูลแบบโปรแกรมได้แทนที่จะพึ่งพาrefreshOnLoadของ Excel ตัวอ่านค่าแบบ callback จะทำให้หน่วยไพวอตปราศจากการขึ้นต่อแผ่นงานโดยตรง
เวอร์ชัน 2.206.0
เพิ่มเติม
TlxCellMMU(lxCellMMUunit) ใหม่จะใช้เอนจินที่เก็บเซลล์แบบแพ็กตามลำดับแถวหลักพร้อมการเข้ารหัส run-length ของสายประเภทเท่ากันและสายเซลล์ว่าง และโค้ดประเภทไบต์ที่มีแท็กที่ทำหน้าที่เป็นตัวเลือกความกว้างของข้อมูลด้วย — จึงทำให้คอลัมน์ของจำนวนเต็มเล็กใช้ไบต์ละหนึ่งต่อเซลล์แทนที่แปด เอนจินจะเข้ารหัสตัวเลขในความกว้างที่เล็กที่สุดเท่าที่จะรักษาค่าไว้ (int8 / int16 / int32 / จำนวนเต็มสเกล 2 ทศนิยม / 4 ทศนิยม / IEEE double) เก็บเซลล์ดัชนีสตริง บูลีน ข้อผิดพลาด และช่องว่างอย่างกระชับ และเปิดเผย APIGetValue/SetNumber/SetStringพร้อมตัววนซ้ำไปข้างหน้า นี่คือแบ็กเอนด์เจเนอเรชันถัดไปที่อยู่หลัง feature flag สำหรับ APITXLSXCellsที่มีอยู่ โดยมีเป้าหมายลด working-set 10–25 เท่าบนแผ่นงานที่หนาแน่น
เวอร์ชัน 2.205.0
เพิ่มเติม
TXLSCustomChart.GetChartInfoจะถอดรหัสสรุปเชิงความหมายจากสตรีมเรคคอร์ดแผนภูมิ BIFF ดิบ — ตระกูลประเภทแผนภูมิ (แท่ง, เส้น, วงกลม, พื้นที่, scatter, เรดาร์, โดนัท, surface, bubble) จำนวนซีรีส์ และการมีอยู่ของคำอธิบายแผนภูมิ — จึงสามารถสอบถามประเภทของแผนภูมิ 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— สำหรับสมุดงานที่มี ASCII เป็นส่วนใหญ่
เวอร์ชัน 2.203.0
เพิ่มเติม
TlxCompoundFileใหม่จะอ่านและเขียนรูปแบบคอนเทนเนอร์ Compound File Binary (OLE2) โดยตรงใน Pascal ล้วน โดยไม่ต้องพึ่งพาole32.dll/ COMIStorage— เปิดทางสู่การจัดการ.xlsในหน่วยความจำและข้ามแพลตฟอร์ม ตัวอ่านจะครอบคลุมเลย์เอาต์ v3 ที่ HotXLS พบจริง (ส่วนหัว + DIFAT ในส่วนหัว + การเดินโซ่ FAT + MiniFAT และมินิสตรีมสำหรับสตรีมที่ต่ำกว่า 4096 ไบต์ + ต้นไม้ไดเรกทอรี); ตัวเขียนจะปล่อยคอนเทนเนอร์ v3 ที่น้อยแต่ถูกต้องเพียงพอสำหรับเอาต์พุตของ HotXLS
เวอร์ชัน 2.202.0
เพิ่มเติม
- สถานะการจัดเรียงของ autofilter จะมีโมเดลที่มีประเภทแล้ว (
TXLSXSortStateพร้อมTXLSXSortConditionย่อย) ครอบคลุมการจัดเรียงตามค่า / สีเซลล์ / สีฟอนต์ / ไอคอน วิธีการจัดเรียง (none / stroke / pinYin) การคำนึงถึงตัวพิมพ์เล็ก/ใหญ่ การจัดเรียงคอลัมน์ และรายการกำหนดเองต่อเงื่อนไข — จึงให้แอปพลิเคชันสร้างสถานะการจัดเรียงแบบโปรแกรมแทนการแก้ไข XML ดิบ ขณะที่การส่งผ่านSortStateXmlแบบทึบแบบเดิมยังคงมีผลสำหรับไฟล์ที่ HotXLS ไม่ได้เป็นผู้สร้าง - ตัวกรองแบบไดนามิกจะถูกอ่านและเขียนเป็น
TXLSXDynamicFilterTypeที่มีประเภท (เฉลี่ย/ต่ำกว่าเฉลี่ยและ std-dev, วันนี้/เมื่อวาน/พรุ่งนี้, สัปดาห์/เดือน/ไตรมาสและปีนี้/ที่แล้ว/หน้า, ตั้งแต่ต้นปีถึงปัจจุบัน, Q1–Q4, M1–M12) พร้อมขอบเขตval/maxValที่เป็นทางเลือก — การเปิดสมุดงานที่ใช้ตัวกรองแบบไดนามิกจะไม่ทิ้งมันเมื่อบันทึกอีกต่อไป
เวอร์ชัน 2.201.0
เพิ่มเติม
- แผนภูมิ surface และ 3-D surface (
xlsxChartSurface/xlsxChartSurface3D) จะกลายเป็นประเภทแผนภูมิระดับหนึ่ง — ถูกเขียน อ่าน และ round-trip เหมือนตระกูลแผนภูมิอื่น ๆ - API การเขียน autoshape จะครอบคลุมชุดย่อยที่ใช้งานได้จริงของรายการพรีเซ็ตเรขาคณิต OOXML — สามเหลี่ยม, เพชร, สี่เหลี่ยมด้านขนาน, หกเหลี่ยม, แปดเหลี่ยม, ลูกศร, รูปตัว v, คำอธิบายประกอบ, โหนดโฟลว์ชาร์ต, ดาว, หัวใจ, ดวงอาทิตย์, ดวงจันทร์, วงเล็บและเครื่องหมายปีกกา — แต่ละรายการจะแม็ปไปยังโทเค็น
prstและ shape id ของ[MS-ODRAW]ที่ถูกต้อง จึงทำให้รูปร่างที่เขียนเรนเดอร์อย่างถูกต้องใน Excel (รายการพรีเซ็ตทั้ง 187 รายการถูกเก็บรักษาไว้แล้วเมื่อ round-trip ผ่านการส่งผ่าน raw-anchor)
เวอร์ชัน 2.200.0
แก้ไข
- การเปิดสมุดงานที่ autofilter ใช้ตัวกรองสีหรือตัวกรองไอคอนจะไม่ทิ้งตัวกรองนั้นเมื่อบันทึก —
colorFilterและiconFilterจะถูกอ่านเป็นคอลัมน์ที่มีประเภท (TXLSXAutoFilterColumn.SetColorFilter/SetIconFilter) และส่งออกซ้ำทีละตัว แทนที่จะสูญหายเป็นรายการย่อยของคอลัมน์ตัวกรองที่ไม่รู้จัก
เวอร์ชัน 2.199.0
เพิ่มเติม
TCondFormatRule.Evaluateจะตอบว่ากฎการจัดรูปแบบตามเงื่อนไขจะทำงานสำหรับเซลล์ที่กำหนดหรือไม่ ครอบคลุมการเปรียบเทียบค่าเซลล์ นิพจน์สูตร ข้อความมี/เริ่มต้นด้วย/ลงท้ายด้วย เซลล์ว่าง และกฎข้อผิดพลาด — ซึ่งเป็นพื้นฐานสำหรับการสอบถามว่ากฎกำลังไฮไลต์เซลล์ใดอยู่ในปัจจุบันและสำหรับการเรนเดอร์ผลลัพธ์ CF ภายนอก Excel
เปลี่ยนแปลง
FACTและตัวช่วยแฟกทอเรียลภายในจะใช้ตาราง 0!..170! ที่คำนวณไว้ล่วงหน้าแทนที่จะคำนวณผลคูณ O(n) ใหม่ทุกครั้งที่เรียก จึงเร่งความเร็วของFACTสัมประสิทธิ์พหุนาม และเส้นทางการแจกแจงแบบปัวซอง/ทวินาม/ไค-สแควร์
เวอร์ชัน 2.198.0
เปลี่ยนแปลง
- การบันทึกแผ่นงานจะจัดกลุ่มเซลล์เป็นแถวด้วยการนับแล้วเติมแบบครั้งเดียวแทนที่จะเพิ่มดัชนีของแต่ละแถวด้วยการจองใหม่ต่อเซลล์ จึงขจัดการคัดลอก O(cells × cells-per-row) ที่ซ่อนอยู่บนแผ่นงานขนาดใหญ่
- กราฟการขึ้นต่อของสูตรจะสร้างดัชนีช่วงอ้างอิงตาม (แผ่นงาน, แถว) จึงทำให้การเพาะเซลล์สกปรกค้นหาแบบไบนารีในแถบแคนดิเดตแทนที่จะสแกนสูตรทุกตัวในทุกเซลล์ที่เปลี่ยนแปลง — ยิ่งสมุดงานใหญ่และมีหลายแผ่นงานมากเท่าไหร่ ความเร็วที่เพิ่มขึ้นในการคำนวณใหม่ก็ยิ่งมากขึ้นเท่านั้น
- การสำรวจเซลล์แบบแถวหลักและคอลัมน์ที่จัดเรียงจะถูกเปิดเผยเป็น
TXLSXWorksheet.BuildRowMajorCellOrderจึงทำให้การบันทึก คลิปบอร์ด autofilter และผู้บริโภคที่จัดเรียงตามแถวอื่น ๆ ใช้การสำรวจร่วมกันหนึ่งรายการแทนที่จะได้มาซึ่งใหม่
เวอร์ชัน 2.197.0
แก้ไข
- แผนภูมิเรดาร์ หุ้น และ pie-of-pie/bar-of-pie จะไม่สูญหายอีกต่อไปเมื่อสมุดงาน
.xlsxที่มีแผนภูมิเหล่านี้ถูกเปิดและบันทึกใหม่ — ตัวอ่านแผนภูมิจะจดจำองค์ประกอบคอนเทนเนอร์c:radarChart,c:stockChartและc:ofPieChartที่มันเขียนอยู่แล้ว จึงคืนค่าความครอบคลุมการอ่าน/เขียนแบบสมมาตร SUBTOTALที่มีรหัสฟังก์ชัน 101–111 จะไม่รวมค่าบนแถวที่ซ่อนอยู่ และAGGREGATEจะเคารพรหัสตัวเลือกการข้ามแถวที่ซ่อนอยู่ (2, 3, 6, 7) ให้ตรงกับ Excel แทนที่จะถือว่าตัวแปรรวม-ซ่อนและข้าม-ซ่อนเหมือนกัน- การเรียกใช้ฟังก์ชัน built-in แบบ arity คงที่ด้วยอาร์กิวเมนต์มากกว่าที่ประกาศ (เช่น
=SIN(1,2)) จะยก#VALUE!ขึ้นกลางสายแทนที่จะถูกยอมรับโดยตัวกระจาย
เวอร์ชัน 2.196.0
แก้ไข
- การแทรกหรือลบแถวและคอลัมน์จะแบ่งพาร์ติชันรูปแบบตามเงื่อนไขของค่าเซลล์และนิพจน์รวมถึงการตรวจสอบข้อมูลเมื่อพื้นที่เป้าหมายที่แก้ไขต้องการแอนเคอร์สูตรสัมพัทธ์ที่แตกต่างกัน โดยยังคงรักษาการตั้งค่ากฎ กำหนดลำดับความสำคัญของรูปแบบตามเงื่อนไขที่ไม่ซ้ำกัน และรักษาโดเมนรูปแบบตามเงื่อนไขแบบรวมให้สมบูรณ์
เวอร์ชัน 2.195.2
เปลี่ยนแปลง
- การส่งออก PDF จะทำการ subset ฟอนต์ TrueType ที่ฝังผ่าน Windows
fontsub.dllCreateFontPackageAPI เก็บเฉพาะรูปอักษรที่เอกสารเรนเดอร์จริงแทนที่จะฝังทั้ง.ttf— โดยทั่วไปจะลดขนาด PDF ลง 8–20 เท่าสำหรับแผ่นงานที่มี Unicode หนาแน่น; จะกลับไปใช้การฝังแบบเต็มเมื่อการทำ subset ไม่พร้อมใช้งาน
เวอร์ชัน 2.195.1
แก้ไข
- การแทรกหรือลบแถวและคอลัมน์บนเอนจิน
.xlsแบบคลาสสิกจะเขียนการอ้างอิงสูตรทุกตัวที่ได้รับผลกระทบใหม่ (สูตรเซลล์และชื่อที่กำหนดไว้) ให้ตรงกับเซแมนติกของ Excel — การอ้างอิงที่อยู่ใต้การแทรกจะเลื่อน การอ้างอิงที่อยู่ในการลบทั้งหมดจะกลายเป็น#REF!และพื้นที่ที่ทับซ้อนบางส่วนจะหดตัว — แทนที่จะทิ้งพิกัดเก่าไว้
เวอร์ชัน 2.195.0
เปลี่ยนแปลง
- การลบคอลัมน์ตารางจะแปลงโทเค็นการอ้างอิงแบบโครงสร้างทุกตัวที่ได้รับผลกระทบเป็น
#REF!ในสูตรแผ่นงาน สูตรตาราง ชื่อที่กำหนดไว้ และซีรีส์แผนภูมิ โดยยังคงรักษาการอ้างอิงและสตริงลิเทอรัลที่ไม่เกี่ยวข้อง
แก้ไข
- การลบตารางทั้งหมดจะไม่ทิ้งการอ้างอิงแบบโครงสร้างที่มีคุณสมบัติครบถ้วนให้ชี้ไปที่ตารางที่ไม่มีอยู่อีกต่อไป
- การตรวจสอบข้อมูลที่โคลนจะยังคงรักษาโหมดการป้อน IME ไว้
เวอร์ชัน 2.194.0
เปลี่ยนแปลง
- การแก้ไขแถวและคอลัมน์จะรักษาตัวระบุคอลัมน์ตาราง Excel ชื่อ สูตรที่คำนวณ สูตรผลรวม คอลัมน์ตัวกรอง ช่วงตัวกรอง และเงื่อนไขการจัดเรียงให้สอดคล้องกับตารางที่แก้ไข
แก้ไข
- สูตรรูปแบบเงื่อนไขและการตรวจสอบข้อมูลจะปรับฐานการอ้างอิงสัมพัทธ์และผสมเมื่อการลบนำพื้นที่เป้าหมายแรกออก
- สถานะการจัดเรียงแผ่นงานและตารางจะเขียนแอตทริบิวต์ที่ถูกต้องและทิ้งเงื่อนไขที่ช่วงของมันถูกลบ
เวอร์ชัน 2.193.0
เปลี่ยนแปลง
- การแก้ไขแถวและคอลัมน์จะอัปเดตสูตรชื่อที่กำหนดไว้แบบซับซ้อนและข้ามขอบเขต ช่วงข้อมูลแผนภูมิฟอง และเกณฑ์รูปแบบเงื่อนไขแบบภาพที่ขับเคลื่อนด้วยสูตร
- แผนภูมิฟองและ scatter จะคืนค่าช่วงซีรีส์แกน X, แกน Y และขนาดฟองเมื่อเปิดใหม่
แก้ไข
- เป้าหมายรูปแบบเงื่อนไขและการตรวจสอบข้อมูลแบบหลายพื้นที่จะเลื่อนแต่ละพื้นที่ที่อยู่รอดอย่างอิสระแทนที่จะทิ้งรายการเป้าหมายทั้งหมดไว้ไม่เปลี่ยนแปลง
- แอนเคอร์กล่องข้อความและ WordArt จะเคลื่อนที่หรือปรับขนาดตามการแทรกและลบแถวและคอลัมน์
เวอร์ชัน 2.192.0
เพิ่มเติม
- การอ่านโดยตรงแบบสตรีมมิงและการสำรวจตัวชี้แถวสามารถเลือกใช้สตริง rich แบบโครงสร้างที่มีการจัดรูปแบบ run สมบูรณ์, phonetic runs และคุณสมบัติ phonetic ในขณะที่ยังคงรักษาที่เก็บสตริงที่ใช้ร่วมกันแบบมีขอบเขต
TXLSDirectWriter.WriteRichStringจะเขียนข้อความที่จัดรูปแบบและ phonetic เป็นสตริงอินไลน์หรือสตริงที่ใช้ร่วมกันแบบลดความซ้ำ
เปลี่ยนแปลง
- การลดความซ้ำของสตริงที่ใช้ร่วมกันแบบ rich จะแยกความแตกต่างของการจัดรูปแบบ run และเมทาดาต้า phonetic ขณะที่ยังคงรักษาการ interning สตริงธรรมดาบนเส้นทางเร็วเดิม
แก้ไข
- ข้อความ phonetic ในสตริงอินไลน์จะไม่ถูกรวมเข้าในค่าเซลล์ที่แสดงอีกต่อไป
เวอร์ชัน 2.191.0
เพิ่มเติม
TXLSXRange.SetDynamicArrayFormulaจะสร้างสูตรอาร์เรย์แบบไดนามิกแบบ native พร้อมห่วงโซ่เมทาดาต้า XLDAPR ของ Excel แบบสมบูรณ์
เปลี่ยนแปลง
- รากอาร์เรย์แบบไดนามิกจะใช้เรคคอร์ดเมทาดาต้าสมุดงานที่ลดความซ้ำร่วมกันหนึ่งรายการ และการคัดลอกแผ่นงานหรือช่วงข้ามสมุดงานจะแม็ปเรคคอร์ดนั้นใหม่เข้าสู่สมุดงานปลายทาง
- เมทาดาต้าอาร์เรย์แบบไดนามิกที่รองรับจะยังคงพร้อมใช้งานเมื่อปิดใช้งานการเก็บรักษาส่วนประกอบแพ็กเกจที่ไม่รองรับ ขณะที่เมทาดาต้าค่าที่ไม่เกี่ยวข้องยังคงถูกนำออก
แก้ไข
- เซลล์ spill ของอาร์เรย์แบบไดนามิกจะไม่ถูกสร้างแบบจำลองเป็นผู้ตาม CSE แบบเดิมอีกต่อไป และการแทนที่หรือล้างรากจะไม่ทิ้งดัชนีเมทาดาต้าเก่าไว้
- การนำรากอาร์เรย์แบบไดนามิกตัวสุดท้ายออกจะนำส่วนเมทาดาต้าที่ไม่ได้ใช้ ความสัมพันธ์ของสมุดงาน และรายการ content-type ออกด้วย
เวอร์ชัน 2.190.0
เปลี่ยนแปลง
- การอ่านโดยตรงแบบสตรีมมิงและการสำรวจตัวชี้แถวจะขยายผู้ตามของสูตรที่ใช้ร่วมกันเป็นสูตรสัมพัทธ์ต่อเซลล์แบบสมบูรณ์ในขณะที่ยังคงรักษาพฤติกรรมโพรเจกชันและหน่วยความจำแบบมีขอบเขต
แก้ไข
- สมุดงานอาร์เรย์แบบไดนามิกจะรักษาดัชนีเมทาดาต้าเซลล์และค่า แอตทริบิวต์การคำนวณสูตรใหม่ ความสัมพันธ์แพ็กเกจเมทาดาต้า และคำนำหน้าฟังก์ชันในอนาคตที่ไม่เปลี่ยนแปลงระหว่างวงจรการเปิดและบันทึก
- การปิดใช้งานการเก็บรักษาส่วนที่ไม่รองรับจะไม่ทิ้งดัชนีเมทาดาต้าแผ่นงานที่ค้างอยู่หลังจากนำส่วนเมทาดาต้าออก
เวอร์ชัน 2.189.0
เพิ่มเติม
- การเปิดสมุดงาน XLSX จะขยายผู้ตามของสูตรที่ใช้ร่วมกันเป็นสูตรต่อเซลล์แบบสมบูรณ์พร้อมการอ้างอิงสัมพัทธ์ สัมบูรณ์ ผสม ช่วง และที่ผ่านชื่อแผ่นงานที่ถูกต้อง
แก้ไข
- ผู้ตามของสูตรที่ใช้ร่วมกันแบบ self-closing จะไม่จับ XML ค่าหรือสูตรที่มาทีหลัง และผลลัพธ์ที่แคชไว้จะอยู่รอดผ่านวงจรการเปิดและบันทึก
- สูตรอาร์เรย์ CSE จะยังคงรักษาแอนเคอร์และความสัมพันธ์ผู้ตามผ่านการแก้ไขโครงสร้างแถวหรือคอลัมน์ การคัดลอกช่วงสมบูรณ์ การทำซ้ำแผ่นงาน และการคัดลอกแผ่นงานข้ามสมุดงาน
- การกำหนดสูตรปกติหรือการล้างเซลล์จะนำสมาชิกอาร์เรย์ CSE เก่าออก จึงทำให้การคำนวณไม่สามารถถูกเปลี่ยนเส้นทางไปยังแอนเคอร์อาร์เรย์เก่าได้
- การคัดลอกเพียงส่วนหนึ่งของอาร์เรย์ CSE จะไม่สร้างการอ้างอิงผู้ตามที่ค้างอยู่ในปลายทาง
- การคัดลอกช่วงจะถ่ายภาพแหล่งที่ทับซ้อนและเลื่อนการอ้างอิงสูตรสัมพัทธ์ จึงป้องกันไม่ให้เซลล์ต้นทางหรือแอนเคอร์อาร์เรย์ถูกเขียนทับก่อนที่จะถูกคัดลอก
- การแก้ไขแถวหรือคอลัมน์ที่ตัดกับเพียงส่วนหนึ่งของอาร์เรย์ CSE จะถูกปฏิเสธแทนที่จะปรับขนาดหรือถอดอาร์เรย์อย่างเงียบ ๆ
เวอร์ชัน 2.188.0
เพิ่มเติม
TXLSDirectReader.SharedStringMemoryLimitจะจำกัดหน่วยความจำสตริงที่ใช้ร่วมกันที่ถอดรหัสแล้ว และโอนย้ายตารางขนาดใหญ่ไปยังที่เก็บชั่วคราวแบบดัชนี-ลบเมื่อปิดโดยอัตโนมัติด้วยแคชค่าขนาดคงที่TXLSRowCursor.SharedStringMemoryLimitจะเปิดเผยการควบคุมที่เก็บสตริงที่ใช้ร่วมกันแบบมีขอบเขตเดียวกันสำหรับการสำรวจแถวแบบไปข้างหน้าเท่านั้น
เปลี่ยนแปลง
- การแยกวิเคราะห์สตริงที่ใช้ร่วมกันโดยตรงจะรักษาค่าที่เป็นช่องว่างเท่านั้น, CDATA, เอนทิตี XML, อักขระ non-BMP, รายการว่าง และลำดับ run ของ rich-text ในขณะที่ไม่รวมข้อความไกด์ phonetic ออกจากค่าที่แสดง
แก้ไข
- การเปิดสมุดงาน XLSX จะรักษาทุกรายการสตริงที่ใช้ร่วมกันตามลำดับเอกสาร จึงป้องกันข้อความที่ซ้ำกันหรือสตริง rich ที่จัดรูปแบบต่างกันจากการยุบรวมดัชนีเซลล์ที่มาทีหลัง
- การบันทึกสมุดงาน XLSX จะลดความซ้ำของสตริง rich ตามขอบเขต run และคุณสมบัติการจัดรูปแบบแทนที่จะใช้เฉพาะข้อความที่มองเห็น จึงรักษาการจัดรูปแบบที่แตกต่างสำหรับเซลล์ที่มีค่าที่แสดงเหมือนกัน
เวอร์ชัน 2.187.0
เพิ่มเติม
TXLSDirectReader.FirstRowและLastRowจะจำกัดการอ่านแบบสตรีมมิงไว้ที่ช่วงแถวฐาน 1 และหยุดการแยกวิเคราะห์แผ่นงานหลังจากช่วงที่ร้องขอTXLSDirectReader.IncludeColumnและClearColumnProjectionจะจัดหาการโพรเจกต์คอลัมน์แบบคงที่ที่ข้ามเซลล์ที่ไม่ได้เลือกก่อนการถอดรหัสค่าและการกระจาย callback
เวอร์ชัน 2.186.0
เพิ่มเติม
TXLSDirectWriter.UseSharedStringsสามารถลดความซ้ำของข้อความที่ซ้ำกันเป็นส่วน shared-strings ของ OOXML พร้อมจำนวนรวมและจำนวนเฉพาะที่ถูกต้อง จึงลดขนาดแพ็กเกจสำหรับข้อมูลที่มีการซ้ำหนักTSimpleDomReaderจะจัดหาต้นไม้ XML แบบพาสเดียวที่กระชับสำหรับการสอบถามแบบ random-access ของเมทาดาต้าสมุดงานและส่วนประกอบแพ็กเกจ พร้อมการค้นหา QName และ local-name ที่คำนึงถึงตัวพิมพ์เล็ก/ใหญ่
เปลี่ยนแปลง
- การอ่าน XLSX โดยตรงจะใช้การกระจายองค์ประกอบแบบ exact ที่ได้รับการช่วยเหลือด้วยแฮช การเก็บเกี่ยวแอตทริบิวต์แบบพาสเดียว และการค้นหาคอลัมน์แถวปัจจุบันแบบคงที่ในขณะที่ยังคงรักษาพฤติกรรมหน่วยความจำแบบสตรีมมิง
- การสร้าง XML สตริงที่ใช้ร่วมกันจะใช้บัฟเฟอร์แบบเติบโตเชิงเส้นเพื่อหลีกเลี่ยงการคัดลอกสตริงทั้งหมดซ้ำ ๆ บนตารางสตริงที่แตกต่างกันขนาดใหญ่
แก้ไข
- การส่งออกสูตร CSV จะไม่เพิ่มเครื่องหมายเท่ากับตัวที่สองเมื่อข้อความสูตรมีเครื่องหมายดังกล่าวอยู่แล้ว
- การส่งออก PDF ของ XLSX จะไม่ตัดทอนข้อความเซลล์โดยใช้ค่าประมาณการจำนวนอักขระก่อนการจัดวางอีกต่อไป
- แฮชชื่อของตัวอ่าน XML จะติดตาม processing instructions, แอตทริบิวต์ และย้ายกลับไปยังองค์ประกอบเจ้าของโดยไม่เปิดเผยสถานะองค์ประกอบเก่า
เวอร์ชัน 2.185.1
แก้ไข
- การแทรกหรือลบแถวและคอลัมน์จะปรับการอ้างอิงสูตรภายในและข้ามแผ่นงานให้ถูกต้องเพียงครั้งเดียว โดยยังคงรักษาชื่อฟังก์ชันและ text literal ไว้
เวอร์ชัน 2.185.0
เพิ่มเติม
TXLSPDFExportจะจัดหาการเลือกเอาต์พุตFirstPageและLastPageแบบฐานหนึ่ง,PageCountเชิงตรรกะที่สมบูรณ์ และCalculatePageCountoverload หกรูปแบบสำหรับช่วง classic และ XLSX, แผ่นงาน และสมุดงานโดยไม่ต้องสร้างออบเจกต์หน้า PDFTXLSXWorkbook.SaveWorkbookAsHTMLจะเผยแพร่แผ่นงานที่มองเห็นได้ในเอกสาร HTML ที่นำทางได้หนึ่งฉบับ พร้อมแอนเคอร์รายแผ่นงานที่เสถียร ชื่อและชื่อแผ่นงานที่ escaped และตัวเลือกในการรวมแผ่นงานที่ซ่อนหรือซ่อนมากTDataToXLS.BeforeRecordสามารถข้ามเรคคอร์ดก่อนเอาต์พุตแถว และBeforeValueสามารถแปลงหรือระงับค่าฟิลด์พร้อมบริบท dataset, detail-level, source-field และ export-columnTXLSWorkbookViewerจะเปิดเผยความคิดเห็นและไฮเปอร์ลิงก์ของเซลล์ที่เลือก ยกอีเวนต์ไฮเปอร์ลิงก์ที่ควบคุมโดยแอปพลิเคชัน วาดตัวบ่งชี้ความคิดเห็นและฟอนต์, เติม และการจัดวาง XLSX และทำให้การเลือกและการเรนเดอร์เป็นมาตรฐานทั่วช่วงที่ผสาน
เปลี่ยนแปลง
- ตัวอย่าง ConversionWorkbench สามารถสร้างเอาต์พุต PDF และเผยแพร่แผ่นงาน XLSX ที่มองเห็นได้ทั้งหมดสำหรับเป้าหมาย HTML ขณะที่ตัวอย่าง WorkbookViewer สาธิตการนำทางเซลล์ที่ผสาน ความคิดเห็น และการเปิดใช้งานไฮเปอร์ลิงก์
เวอร์ชัน 2.184.0
เพิ่มเติม
- ช่วง XLS แบบคลาสสิกและ XLSX สามารถคัดลอกข้อความตาราง Unicode และ HTML ที่มีสไตล์ไปยังคลิปบอร์ดของ Windows ผ่าน
CopyToClipboardโดยรักษาสูตร เซลล์ที่ผสาน ลิงก์ การจัดรูปแบบการแสดง และการใส่เครื่องหมายคำพูดที่ปลอดภัยสำหรับแท็บ ตัวแบ่งบรรทัด และเครื่องหมายคำพูดที่ฝังอยู่ TXLSXWorkbookจะรักษาส่วนประกอบแพ็กเกจกำหนดเองที่เข้าถึงได้จากความสัมพันธ์ package-root, workbook, worksheet หรือ drawing ที่ไม่รู้จัก รวมถึงการจัดการการชนกันของ relationship-ID, content types, child relationships, การเลือกการบีบอัด และไบต์ payload ที่แม่นยำ;PreserveUnsupportedParts,UnsupportedPartCount,UnsupportedPartBytesและClearUnsupportedPartsจะเปิดเผยการควบคุมและการวินิจฉัย- การบันทึก XLS แบบคลาสสิกจะเปิดเผย callback แบบเริ่ม, ทำงาน และสิ้นสุดพร้อมการยกเลิกผ่าน
OnProgressExขณะที่IXLSWorkbookProgressจะจัดหาการวินิจฉัยแบบโครงสร้างพร้อมรหัสที่เสถียร, ความรุนแรง, การดำเนินงาน, บริบทแผ่นงาน, ค่าส่งคืน native และรายละเอียดข้อยกเว้น TXLSXWorkbookจะเปิดเผยพื้นผิวDiagnostics,LastDiagnosticและOnDiagnosticแบบโครงสร้างเดียวกันสำหรับการบันทึก, เปิด, การคำนวณใหม่, การยกเลิก และการรายงานข้อยกเว้น- โมดูล VBA ที่แยกวิเคราะห์จะรองรับการแก้ไข
SourceCodeและการเขียนสตรีมโมดูลที่บีบอัดที่อัปเดตกลับผ่านการบันทึก classic XLS, ที่เก็บ VBA แบบสแตนด์อโลน และ OOXML ที่เปิดใช้งานแมโคร โดยยังคงรักษา stream prefix และเนื้อหาโปรเจกต์ที่ไม่ถูกแตะ - แผ่นงานแบบคลาสสิกและคอลเลกชันรูปร่างจะเปิดเผยตัวควบคุมฟอร์ม
TXLSCheckBox,TXLSComboBoxและTXLSListBoxแบบมีประเภทพร้อมตัวช่วยการสร้าง, ป้าย, การตรวจสอบประเภทคอนโทรล, แอนเคอร์เซลล์, การลบ และการค้นพบการเปิด/บันทึก TXLSXRange.ApplyFormatPatchสามารถคัดลอกส่วนประกอบฟอนต์, เติมเต็ม, เส้นขอบ, รูปแบบตัวเลข, การจัดวาง และการป้องกันแบบเลือกได้พร้อมการปูแพตเทิร์นต้นทาง โดยยังคงรักษาค่าและการจัดรูปแบบที่ไม่ได้เลือกของปลายทางTDataToXLSสามารถส่งออก dataset แบบ master-detail ที่เชื่อมโยงกันแบบเรียกซ้ำผ่านReadDetailTablesและIndentDetailTablesโดยรักษา data link ที่ใช้งานอยู่, เพิ่มตาราง detail แต่ละตารางใต้เรคคอร์ด master และสืบทอดตัวเลือกฟิลด์, ชื่อ และการจัดรูปแบบในทุกระดับTXLSXWorksheet.AddWordArtจะสร้างข้อความ DrawingML ที่ยึดกับเซลล์พร้อม warping พรีเซ็ตบวกสีข้อความและเส้นรอบรูปที่กำหนดค่าได้ และเส้นทางการเก็บรักษา drawing-anchor ดิบจะรักษารูปร่าง WordArt ที่สมบูรณ์ไว้ในวงจรการเปิด/บันทึกในภายหลังTXLSWorkbookViewerจะเพิ่มตัวดูแผ่นงาน VCL สำหรับออบเจกต์สมุดงานแบบคลาสสิกและโมเดิร์นพร้อมการโหลดไฟล์ XLS, XLSX, XLSM, เทมเพลต และ ODS, ข้อความเซลล์ที่จัดรูปแบบ, สไตล์คลาสสิก, การปรับขนาดแถวและคอลัมน์, ส่วนหัว, การเรนเดอร์เส้นตารางและการเลือก, สเกลบาร์, การเลือกด้วยเมาส์, การนำทางด้วยแป้นพิมพ์, การวางตำแหน่งเซลล์, การสลับแผ่นงาน และอีเวนต์การเลือกหรือแผ่นงาน- ตัวอย่าง Delphi
FeatureShowcaseและWorkbookViewerใหม่จะสาธิตการพิมพ์ PDF ที่มีสไตล์, print titles, manual breaks, ตัวควบคุมฟอร์มคลาสสิก, แพตช์รูปแบบเลือก, WordArt, การวินิจฉัย, การสร้างตัวดู ณ รันไทม์, การโหลดไฟล์, การนำทางเซลล์, การสลับแผ่นงาน และอีเวนต์ตัวดู พร้อมคู่มือภาษาอังกฤษและหัวข้ออ้างอิงสำหรับนักพัฒนาที่ตรงกัน
เปลี่ยนแปลง
- การส่งออก PDF ของสมุดงาน, แผ่นงาน และช่วง classic XLS และ XLSX โมเดิร์น จะเขียนแผ่นงานที่มองเห็นได้ทุกแผ่นลงในเอกสารหนึ่งฉบับ ข้ามแผ่นงานที่ซ่อนและแผ่นแผนภูมิ เรนเดอร์เติมเต็มทึบ สีฟอนต์ ขนาดฟอนต์ การเน้นตัวหนาและเอียง การจัดวางแนวนอนและแนวตั้ง เส้นขอบเซลล์ที่ชัดเจน และเส้นตารางแผ่นงานแบบเลือกได้ ติดตามพื้นที่พิมพ์ ขนาดกระดาษ การวางแนว ระยะขอบ การซูม การตั้งค่าพอดีความกว้าง ความกว้างคอลัมน์ ความสูงแถวจริง ตัวแบ่งหน้าแถวและคอลัมน์ด้วยมือ แถวและคอลัมน์ชื่อที่ซ้ำ และส่วนหัวและส่วนท้ายสามส่วนพร้อมฟิลด์หน้า หน้าทั้งหมด ชื่อแผ่นงาน วันที่ และเวลา แบ่งหน้าช่วงกว้างและสูงข้ามแกนทั้งสอง ปล่อยไวยากรณ์ตัวเลข PDF ที่เป็นอิสระจาก locale และฝังฟอนต์ TrueType ที่เหมาะสมพร้อม ToUnicode map สำหรับข้อความที่อยู่นอก WinAnsi
- callback ความคืบหน้า XLSX แบบขยายจะรับสถานะเริ่ม, ทำงาน และสิ้นสุดที่เชื่อถือได้สำหรับการบันทึก, เปิด และการคำนวณใหม่ ขณะที่ callback เดิมยังคงเป็นเฉพาะการทำงานและการดำเนินงานทุกอย่างจะรีเซ็ตสถานะการยกเลิกก่อนหน้า
- การทำให้เป็นอนุกรม XLS แบบคลาสสิกจะเผยแพร่ความล้มเหลวของแผ่นงาน, แผนภูมิ, ส่วนขยายสไตล์, VBA, สตรีมคอนโทรล, ที่เก็บ และการ commit เอาต์พุตแทนที่จะรายงานความสำเร็จ และการบันทึกไฟล์จะจัดเตรียมไฟล์คอมพาวด์ที่สมบูรณ์ก่อนแทนที่ปลายทางแบบ atomic
- การบันทึกไฟล์ XLSX และ ODS จะสร้างแพ็กเกจชั่วคราวพี่น้องที่สมบูรณ์และแทนที่ปลายทางแบบ atomic เฉพาะหลังจากสรุปสำเร็จ จึงทิ้งไฟล์ที่มีอยู่ให้ไม่เปลี่ยนแปลงหลังจากการยกเลิกหรือความล้มเหลว
เวอร์ชัน 2.183.0
เพิ่มเติม
TXLSDirectWriterจะรองรับ handle สไตล์เซลล์ระดับแพ็กเกจที่นำกลับมาใช้ใหม่ได้และการโคลนสไตล์โดยไม่ต้องบัฟเฟอร์แถวแผ่นงาน; ดัชนีสไตล์เดียวกันสามารถนำไปใช้กับเซลล์จำนวนเท่าใดก็ได้หรือนำกลับมาใช้ข้ามแผ่นงาน- สไตล์เซลล์โดยตรงจะจัดหาความสามารถในการจัดรูปแบบ 30 อย่างครอบคลุมชื่อฟอนต์, ขนาด, สี BGR, ตัวหนา, ตัวเอียง, ขีดทับ, เส้นรอบ, เงา, โหมดขีดเส้นใต้ห้าแบบ, แพตเทิร์นเติมเต็ม 19 แบบพร้อมสีพื้นหน้า/พื้นหลัง, ขอบเซลล์ห้าด้านที่มีสีอิสระพร้อมสไตล์เส้น 14 แบบและทิศทางแนวทแยง, รูปแบบตัวเลข built-in หรือกำหนดเอง, การจัดวางแนวนอนและแนวตั้ง, การตัดคำ, shrink-to-fit, การเยื้อง, การหมุนข้อความ, คำนำหน้าเครื่องหมายคำพูด และการป้องกันล็อก/ซ่อน
- overload ที่มีสไตล์พร้อมใช้งานสำหรับสตริง, ตัวเลข, บูลีน, วันที่, สูตร, ข้อผิดพลาด และทุกประเภทผลลัพธ์สูตรที่แคชไว้ จึงให้ผู้ส่งออกปริมาณมากเลือกสไตล์ที่สร้างไว้ล่วงหน้าตามดัชนีจำนวนเต็มระหว่างการเขียนตามลำดับ
เปลี่ยนแปลง
- ตัวเขียนโดยตรงจะลดความซ้ำของส่วนประกอบฟอนต์, เติมเต็ม, เส้นขอบ และรูปแบบตัวเลขที่เท่ากันเมื่อสร้าง
styles.xmlโดยยังคงรักษาดัชนีสไตล์เซลล์ที่เสถียรซึ่งเขียนลงในสตรีมแผ่นงานแล้ว - ตารางสไตล์ของตัวเขียนโดยตรงที่สร้างขึ้นจะรวมเติมเต็ม
noneและgray125มาตรฐานก่อนเติมเต็มกำหนดเองเพื่อความเข้ากันได้กับ OOXML ที่เข้มงวดขึ้น
เวอร์ชัน 2.182.0
เพิ่มเติม
TXLSDirectWriterจะเขียนการจัดรูปแบบตามเงื่อนไขในขณะที่ยังคงรักษาโปรไฟล์หน่วยความจำที่เป็นอิสระจากจำนวนแถว พร้อมตัวดำเนินการค่าเซลล์แปดแบบ, กฎนิพจน์, กฎข้อความมี/ไม่มี/เริ่มต้นด้วย/ลงท้ายด้วย, กฎค่าบนหรือล่างและเปอร์เซ็นต์, กฎสูงกว่าหรือต่ำกว่าค่าเฉลี่ย, ค่าซ้ำและค่าเฉพาะ, เซลล์ว่างและไม่ว่าง, เซลล์ข้อผิดพลาดและไม่ข้อผิดพลาด, แถบข้อมูล, สเกลสีแบบสองและสามสี และตระกูลชุดไอคอนพื้นฐานทั้ง 17 แบบ- กฎรูปแบบเงื่อนไขโดยตรงจะรองรับลำดับความสำคัญที่ชัดเจน, การประเมิน stop-if-true, ตัวเลือกค่าเฉลี่ย std-dev และความเท่ากัน, การแทนที่เกณฑ์ไอคอน, การแสดงเฉพาะไอคอนและย้อนกลับ, การมองเห็นค่าแถบข้อมูล, สี BGR และสไตล์เติมเต็มที่แตกต่าง, สีฟอนต์, ตัวหนา และตัวเอียง
เปลี่ยนแปลง
- ตัวเขียนโดยตรงจะลดความซ้ำของสไตล์ที่แตกต่างเทียบเท่าข้ามแผ่นงานและจัดเก็บเฉพาะกฎและสไตล์รูปแบบเงื่อนไข จึงทำให้การใช้หน่วยความจำขยายตามจำนวนกฎแทนที่จำนวนแถวแผ่นงาน
- ประเภทเกณฑ์ต่ำสุดและสูงสุดของแถบข้อมูลอัตโนมัติจะถูกทำให้เป็นมาตรฐานเป็นโทเค็น
minและmaxมาตรฐานในองค์ประกอบ OOXML ฐานเพื่อความเข้ากันได้กับสเปรดชีตแบบกว้าง
เวอร์ชัน 2.181.0
เพิ่มเติม
TXLSDirectWriterจะเขียนการป้องกันแผ่นงานและสมุดงานโดยไม่ต้องบัฟเฟอร์ข้อมูลแผ่นงาน รวมถึงสิทธิ์แผ่นงานแบบละเอียด 15 อย่าง, ตัวยืนยันรหัสผ่านเดิม, เมทาดาต้าแฮชโมเดิร์น, ช่วงที่ป้องกันแก้ไขได้พร้อมรหัสผ่านหรือตัวบ่งบอกความปลอดภัยแบบเลือกได้, การล็อกโครงสร้างและหน้าต่างสมุดงาน, การกำหนดตัวยืนยันดิบ และการล้างการป้องกัน
แก้ไข
- แอนเคอร์การวาดที่ไม่รองรับจะยังคงรักษาองค์ประกอบปิดทุกตัวเมื่อสร้างใหม่สำหรับเอาต์พุต round-trip จึงทำให้ภาพวาดเฉพาะรูปร่างยังคงถูกต้องหลังจากการเปิดและบันทึก
- สิทธิ์การป้องกันแผ่นงาน XLSX จะปฏิบัติตามนิยาม locked-flag ของ OOXML จึงทำให้การกระทำที่อนุญาตเขียน
0, การกระทำที่ต้องห้ามเขียน1และแอตทริบิวต์ที่ละไว้จะเปิดใหม่ด้วยค่าเริ่มต้น schema ของมัน - รหัสผ่านแผ่นงาน XLSX, protected-range และสมุดงานแบบเดิมจะใช้อัลกอริทึมตัวยืนยัน 16-bit ที่เข้ากันได้กับ Excel พร้อมการแปลง ANSI และขีดจำกัด 15-ไบต์
เวอร์ชัน 2.180.0
เพิ่มเติม
- โมเดลแผ่นงาน XLSX จะ round-trip องค์ประกอบ What-If Scenario Manager (
<scenarios>) และ Data Consolidation (<dataConsolidate>) คุณสมบัติ raw-XMLScenariosXmlและConsolidateXmlใหม่บนTXLSXWorksheetจะส่งเนื้อหาภายในตามตัวอักษร — ตัวเขียนจะปล่อยองค์ประกอบ wrapper, ตัวอ่านจะแยกวิเคราะห์ child ของ scenario/data-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 จะ round-trip code name ของ VBA (
<sheetPr codeName="..."/>) ซึ่งจำเป็นสำหรับการทำงานร่วมกับ VBA ที่โปรเจกต์ VBA อ้างถึงแผ่นงานตาม code name คุณสมบัติCodeNameใหม่บนTXLSXWorksheet - ความคิดเห็นจะรองรับการสลับการมองเห็น
AlwaysShowบนTXLSXComment— เมื่อเป็น True บอลลูนความคิดเห็นจะมองเห็นได้เสมอ (การสลับ "แสดง/ซ่อนความคิดเห็น" ต่อความคิดเห็นของ Excel) ไม่ใช่เฉพาะเมื่อโฮเวอร์ - การตรวจสอบข้อมูลจะ round-trip แอตทริบิวต์โหมด IME (
imeMode) บนTXLSXDataValidationenum 11 ค่าจะควบคุมพฤติกรรม input-method ของ CJK เมื่อป้อนเข้าสู่เซลล์ (noControl / off / on / hiragana / fullKatakana / ฯลฯ) จำเป็นสำหรับไฟล์ locale ภาษาญี่ปุ่น/เกาหลี/จีน - โมเดลแผ่นงานจะได้รับคุณสมบัติ
PaneStateสำหรับแอตทริบิวต์ pane-state บน<pane>นอกเหนือจากการจัดการ frozen-mode ที่มีอยู่ — รองรับสถานะfrozenSplit(แช่แข็งแล้วเลื่อนได้) และsplit
เวอร์ชัน 2.177.0
เพิ่มเติม
- ฟังก์ชันแผ่นงานสามฟังก์ชันที่ลงทะเบียนแต่ไม่ได้ implement ก่อนหน้านี้จะมี dispatch แบบสมบูรณ์แล้ว:
DOLLAR(ข้อความที่จัดรูปแบบสกุลเงิน),FIXED(ข้อความทศนิยมคงที่พร้อมตัวเลือกการระงับจุลภาค) และAREAS(จำนวนพื้นที่ในการอ้างอิง) ก่อนหน้านี้สิ่งเหล่านี้ถูกลงทะเบียนในInitFuncHashแต่ไม่มีเคส calc-engine — การประเมิน=DOLLAR(...)จะส่งกลับผลลัพธ์ที่ผิดอย่างเงียบ ๆ - โมเดลแผ่นงาน XLSX จะ round-trip สเกลซูมต่อประเภทมุมมอง (
zoomScaleNormal/zoomScalePageLayoutView/zoomScaleSheetLayoutView), สีเส้นตาราง (sheetView color) และแฟล็กการแสดงผล sheet-view (showFormulas/showZeros) คุณสมบัติใหม่บนTXLSXWorksheet:ZoomNormal,ZoomPageLayout,ZoomSheetLayout,GridColor,ShowFormulas,ShowZeros - ทิศทางสรุป outline จะ round-trip คุณสมบัติ
SummaryBelow,SummaryRightและShowOutlineSymbolsใหม่บนTXLSXWorksheetจะควบคุมว่าแถว/คอลัมน์สรุปปรากฏด้านล่าง/ขวาของรายละเอียดหรือไม่ และสัญลักษณ์ outline มองเห็นได้หรือไม่ ตัวเขียนจะปล่อย<outlinePr>ภายใน<sheetPr>; ตัวอ่านจะแยกวิเคราะห์กลับคืน - calcPr ของสมุดงานจะมีแอตทริบิวต์
forceFullCalcและcalcCompletedควบคู่กับทริโอcalcId/fullCalcOnLoad/calcMode/iterateที่มีอยู่
เวอร์ชัน 2.176.0
เพิ่มเติม
- เอนจินสูตร XLSX จะแก้ไขการอ้างอิงตารางแบบโครงสร้างก่อนการคอมไพล์ เมธอด
ResolveStructuredRefsใหม่บนTXLSXWorkbookจะสแกนข้อความสูตรหาแพตเทิร์นTableName[ColumnSpec]และแทนที่ด้วยการอ้างอิงช่วง A1 คอนกรีตโดยใช้คอลเลกชันTXLSXTableของสมุดงาน spec ที่รองรับรวมถึงช่วงข้อมูลคอลัมน์ (Sales[Qty]), คอลัมน์แถวปัจจุบัน (Sales[@Total]), ข้อมูลเต็ม (Sales[#Data]/Sales[#All]), ส่วนหัว (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), แยกวิเคราะห์ออฟเซตแบบวงเล็บที่เป็นทางเลือก และผลิตการอ้างอิง A1 ที่เทียบเท่า string literal และตัวระบุจะถูกข้าม ก่อนหน้านี้สามารถคอมไพล์ได้เฉพาะสูตรสไตล์ A1
เวอร์ชัน 2.174.0
เพิ่มเติม
- เอาต์พุต AutoFilter ของ
TXLSDirectWriterจะรองรับคอลัมน์ตัวกรองแผ่นงานและตาราง, ตัวกรองค่า, ตัวกรองว่าง, ตัวกรองกลุ่มวันที่, ตัวกรองเปรียบเทียบกำหนดเอง, ตัวกรองแบบไดนามิก, ตัวกรองบน/ล่าง, แฟล็กปุ่มตัวกรอง, สถานะการจัดเรียง, เงื่อนไขการจัดเรียง, XML escaping และการระงับช่วงตัวกรองแผ่นงาน/ตารางที่ซ้ำกันในขณะที่สตรีมไฟล์ XLSX
เวอร์ชัน 2.173.0
เพิ่มเติม
- เอาต์พุตตารางของ
TXLSDirectWriterจะรองรับความคิดเห็นของตาราง, จำนวนแถวผลรวม, ป้ายแถวผลรวมคอลัมน์, ฟังก์ชันแถวผลรวมคอลัมน์, สูตรคอลัมน์ที่คำนวณ, สูตรแถวผลรวม และ XML escaping สำหรับเมทาดาต้าคอลัมน์ตารางในขณะที่สตรีมไฟล์ XLSX
เวอร์ชัน 2.172.0
เพิ่มเติม
TXLSDirectWriterจะเขียนส่วนตาราง Excel ในขณะที่สตรีมไฟล์ XLSX รวมถึงความสัมพันธ์ตารางแผ่นงาน, content type ของส่วนตาราง, ช่วงตาราง, ชื่อคอลัมน์, แฟล็กแถวส่วนหัวและแถวผลรวม และแฟล็กการแสดงสไตล์ตาราง built-in โดยไม่ต้องสร้างโมเดลออบเจกต์สมุดงานเต็มรูปแบบ
เวอร์ชัน 2.171.0
เพิ่มเติม
TXLSDirectWriterจะเขียนการตรวจสอบข้อมูลแผ่นงานในขณะที่สตรีมไฟล์ XLSX รวมถึง list, whole-number, decimal, date, time, text-length, custom-formula,sqrefโดยพลการ, prompt, error-alert, allow-blank, dropdown และแฟล็กข้อความ input/error โดยไม่ต้องสร้างโมเดลออบเจกต์สมุดงานเต็มรูปแบบ
เวอร์ชัน 2.170.0
เพิ่มเติม
TXLSDirectWriterจะเขียน defined name ของสมุดงานและเฉพาะแผ่นงานในขณะที่สตรีมไฟล์ XLSX รวมถึงชื่อที่ซ่อน, ความคิดเห็น, ช่วงสัมบูรณ์ที่สร้างขึ้น, พื้นที่พิมพ์, แถวชื่อพิมพ์, คอลัมน์ชื่อพิมพ์, ชื่อพิมพ์ที่รวมกัน, การอ้างอิงชื่อแผ่นงานที่ใส่เครื่องหมายคำพูด, XML escaping และเซแมนติกการแทนที่สำหรับ setter ชื่อพิมพ์ที่ซ้ำกันโดยไม่ต้องสร้างโมเดลออบเจกต์สมุดงานเต็มรูปแบบ
เวอร์ชัน 2.169.0
เพิ่มเติม
TXLSDirectWriterจะเขียนไฮเปอร์ลิงก์แผ่นงานในขณะที่สตรีมไฟล์ XLSX รวมถึง URL ภายนอก, mailto และความสัมพันธ์ไฟล์, ตำแหน่งแผ่นงานภายใน, ข้อความที่แสดง, tooltip, ช่วงไฮเปอร์ลิงก์เซลล์เดียวหรือหลายเซลล์, การทำให้ URLwww.ดิบเป็นมาตรฐาน, XML escaping และเป้าหมายความสัมพันธ์ที่เข้ารหัสเปอร์เซ็นต์โดยไม่ต้องสร้างโมเดลออบเจกต์สมุดงานเต็มรูปแบบ
เวอร์ชัน 2.168.0
เพิ่มเติม
TXLSDirectWriterจะเขียนเมทาดาต้าการพิมพ์และมุมมองแผ่นงานในขณะที่สตรีมไฟล์ XLSX รวมถึงการสลับการแสดงเส้นตารางและส่วนหัวแถว/คอลัมน์, ระยะขอบหน้า, ข้อความส่วนหัว/ส่วนท้ายคี่, เส้นตารางพิมพ์และหัวกระดาษ, การกึ่งกลางหน้า, ขนาดกระดาษและการวางแนวแนวนอน, มิติพอดีหน้า และตัวแบ่งหน้าแถวหรือคอลัมน์ด้วยมือโดยไม่ต้องสร้างโมเดลออบเจกต์สมุดงานเต็มรูปแบบ
เวอร์ชัน 2.167.0
เพิ่มเติม
TXLSDirectWriterจะเขียนเมทาดาต้าเลย์เอาต์แผ่นงานในขณะที่สตรีมไฟล์ XLSX รวมถึงขนาดคอลัมน์และแถวเริ่มต้น, ความกว้างคอลัมน์กำหนดเอง, แถวและคอลัมน์ที่ซ่อน, ช่วงที่ผสาน, ช่วง AutoFilter, pane ที่แช่แข็ง, สีแท็บแผ่นงาน และมุมมองแผ่นงานจากขวาไปซ้ายโดยไม่ต้องสร้างโมเดลออบเจกต์สมุดงานเต็มรูปแบบ
เวอร์ชัน 2.166.0
เพิ่มเติม
- เวิร์กโฟลว์สตรีมมิง XLSX จะรวมการแสดงรายการชื่อแผ่นงานโดยไม่ต้องสแกนแผ่นงาน, การเลือกแผ่นงาน row-cursor ตามชื่อ, การสตรีมวันที่ตัวเลขดิบ, การนำตัวเขียนโดยตรงกลับมาใช้ใหม่, การเขียนเซลล์ข้อผิดพลาด และตัวเขียนผลลัพธ์สูตรที่แคชไว้สำหรับค่าตัวเลข, สตริง, บูลีน, วันที่ และข้อผิดพลาด
เวอร์ชัน 2.165.0
แก้ไข
TXLSDirectReader.ReadStreamจะคืนตำแหน่งสตรีมของผู้เรียกหลังจากการสแกนโดยตรง ให้ตรงกับสัญญาสตรีมที่บันทึกไว้และอนุญาตให้แอปพลิเคชันนำสตรีมเดียวกันกลับมาใช้ใหม่หลังจากการอ่านโดยตรง
เวอร์ชัน 2.164.0
เพิ่มเติม
- การส่งออก dataset ของ
TDataToXLSจะรองรับ string listIncludeFieldsและExcludeFieldsแอปพลิเคชันสามารถทำเป็น whitelist ฟิลด์ที่ส่งออก, ละเว้นคอลัมน์ที่ละเอียดอ่อน และรักษาส่วนหัว, แถวข้อมูล, ความกว้างคอลัมน์ และ callback การส่งออกให้สอดคล้องกับชุดฟิลด์ที่เลือก
เวอร์ชัน 2.163.0
เพิ่มเติม
- การส่งออก CSV จะได้รับการใส่เครื่องหมายคำพูดข้อความที่กำหนดค่าได้ทั่วเอนจิน XLS และ XLSX
TXLSWorkbookจะเปิดเผยCSVEmitFormulasและCSVQuoteAllStringsและTXLSXWorkbookจะเพิ่มCSVQuoteAllStringsเมื่อเปิดใช้งาน การส่งออกสูตรจะเขียนข้อความสูตรและฟิลด์สตริงจะถูกใส่เครื่องหมายคำพูด ขณะที่ฟิลด์ตัวเลข, วันที่, บูลีน, Null และ Empty ยังคงใช้กฎการใส่เครื่องหมายคำพูดปกติ
เวอร์ชัน 2.162.0
เพิ่มเติม
- เอนจิน XLSX จะได้รับระบบอีเวนต์ความคืบหน้าที่สามารถยกเลิกได้ callback
OnProgressExใหม่บนTXLSXWorkbookจะทำงานควบคู่กับOnProgressที่มีอยู่พร้อมการปรับปรุงสามอย่าง: (1) พารามิเตอร์TXLSXProgressState(ppsBegin/ppsWork/ppsEnd) ที่วงเล็บแต่ละเฟสเพื่อให้ UI ทราบว่าการดำเนินงานเริ่มและจบเมื่อใด; (2) พารามิเตอร์ varAbort: Booleanที่ให้ callback ยกเลิกการดำเนินงานปัจจุบันกลางสตรีม — ลูป read/write/calc จะตรวจWorkbook.Abortedและหยุดออกอย่างสะอาด; (3) เฟสxlsxProgressExportingใหม่สำหรับการดำเนินงานส่งออก (HTML/RTF/CSV/ODS) เมธอดตัวช่วยFireProgressจะรวมศูนย์การกระจาย dual-callback แฟล็กFAbortedจะถูกรีเซ็ตที่จุดเริ่มต้นของการดำเนินงานระดับบนแต่ละครั้ง (Open / SaveAs / Recalculate)
เวอร์ชัน 2.161.0
เพิ่มเติม
- โมเดลแผนภูมิ XLSX จะรองรับองค์ประกอบแผนภูมิใหม่สี่อย่างเพื่อความเข้ากันได้กับ Excel ที่แข็งแกร่งขึ้น ตารางข้อมูลแผนภูมิ (
c:dTable):TXLSXChartจะได้รับสวิตช์ShowDataTable+ShowDataTableKeys— เมื่อเปิดใช้งานตัวเขียนจะปล่อยองค์ประกอบ data-table ภายในพื้นที่พล็อตเพื่อให้ Excel เรนเดอร์ข้อมูลต้นทางเป็นตารางใต้แกนแผนภูมิ แท่งขึ้น/ลง + เส้น hi-low (องค์ประกอบแผนภูมิ stock/OHLC):TXLSXChartจะได้รับHasUpDownBars+UpDownGapWidthและHasHiLowLines— ตัวเขียนจะปล่อยc:upDownBarsและc:hiLowLinesภายในองค์ประกอบแผนภูมิ (แผนภูมิเส้น/หุ้น) การควบคุมมุมมอง 3D:TXLSXChartจะได้รับRotation3DX/Rotation3DY/Elevation3D/Perspective3D/RightAngleAxes3D— ตัวเขียนจะปล่อยc:view3Dที่ระดับแผนภูมิเมื่อคุณสมบัติ 3D ใด ๆ แตกต่างจากค่าเริ่มต้น ก่อนหน้านี้ไม่มีองค์ประกอบเหล่านี้ถูกปล่อย จึงทำให้แผนภูมิที่สร้างด้วยตารางข้อมูล, องค์ประกอบแผนภูมิหุ้น หรือมุมมอง 3D สูญเสียสิ่งเหล่านั้นเมื่อ round-trip
เวอร์ชัน 2.160.0
เพิ่มเติม
- การอ้างอิงสูตรจะปรับโดยอัตโนมัติเมื่อแถวหรือคอลัมน์ถูกแทรกหรือลบในเอนจิน XLSX เมธอด
ShiftSheetGeometry— ถูกเรียกโดยInsertRows/DeleteRows/InsertCols/DeleteCols— จะเดินผ่านทุกเซลล์สูตรที่อยู่รอดและเขียนการอ้างอิง A1 ใหม่เพื่อสะท้อนการเปลี่ยนแปลงโครงสร้าง ตัวสแกนข้อความXlsxAdjustFormulaRowColRefsใหม่จะตรวจจับการอ้างอิงเซลล์เดียว (A1,$B$2) และการอ้างอิงช่วง (A1:B3), เลื่อนส่วนประกอบแถว/คอลัมน์ผ่านจุดแทรก และแปลงการอ้างอิงที่ถูกลบเป็น#REF!ทั้งการอ้างอิงสัมพัทธ์และสัมบูรณ์จะถูกเลื่อน (ให้ตรงกับพฤติกรรมของ Excel) ก่อนหน้านี้สูตรถูกทิ้งไว้ให้ชี้ไปที่เซลล์ผิดอย่างเงียบ ๆ หลังจากการแก้ไขโครงสร้าง
เวอร์ชัน 2.159.0
เพิ่มเติม
- สถานะการจัดเรียง Autofilter จะ round-trip ผ่านเอนจิน XLSX
TXLSXWorksheetจะได้รับคุณสมบัติSortStateXmlที่ส่ง XML ภายในดิบขององค์ประกอบ<sortState>ของ OOXML (ทิศทางการจัดเรียงคอลัมน์, การคำนึงถึงตัวพิมพ์เล็ก/ใหญ่, วิธีการจัดเรียง และแต่ละ<sortCondition>พร้อมแฟล็ก descending + ref) ตัวเขียนจะปล่อยองค์ประกอบหลัง<autoFilter>; ตัวอ่านจะแยกวิเคราะห์แอตทริบิวต์และเงื่อนไขการจัดเรียงกลับคืน ก่อนหน้านี้สถานะการจัดเรียงถูกทิ้งอย่างเงียบ ๆ เมื่ออ่านและไม่เคยถูกเขียน - การตั้งค่า phonetic/ruby ของ CJK จะ round-trip ผ่านเอนจิน XLSX
TXLSXWorksheetจะได้รับPhoneticFontId,PhoneticType(hiragana / katakana / fullWidthKatakana / noConversion) และPhoneticAlignment(left / center / distributed) ตัวเขียนจะปล่อย<phoneticPr>หลัง<sheetData>; ตัวอ่านจะแยกวิเคราะห์แอตทริบิวต์กลับคืน ก่อนหน้านี้องค์ประกอบ phonetic ถูกทิ้งอย่างเงียบ ๆ เมื่ออ่าน — ไฟล์ตลาดญี่ปุ่นสูญเสียการตั้งค่า reading-aid furigana ของพวกมัน
เวอร์ชัน 2.158.0
เพิ่มเติม
- เอนจิน XLSX จะ round-trip ตารางสไตล์เซลล์ที่มีชื่อ (
<cellStyles>) คลาสTXLSXNamedStyle+ คอลเลกชันTXLSXNamedStylesใหม่บนTXLSXWorkbookจะส่งพื้นผิวเต็ม:Name,XfId,BuiltInId,CustomBuiltIn,Hidden,BuiltinLevelตัวเขียนจะปล่อย<cellStyle>หนึ่งรายการต่อ entry เมื่อคอลเลกชันไม่ว่าง; ตัวอ่านจะแยกวิเคราะห์กลับคืน ก่อนหน้านี้ตัวเขียน hardcode entry"Normal"เดียวและตัวอ่านทิ้งสไตล์ที่มีชื่อทั้งหมด จึงทำให้ไฟล์ที่มีสไตล์ "Good"/"Bad"/"Total"/ชื่อกำหนดเองสูญเสียชื่อเหล่านั้นเมื่อ round-trip
เวอร์ชัน 2.157.0
เพิ่มเติม
- เอนจิน XLSX จะ round-trip องค์ประกอบ
<calcPr>แบบเต็ม ไม่ใช่แค่สวิตช์การคำนวณแบบวนซ้ำTXLSXWorkbookจะได้รับCalcId(ตัวระบุ calc engine ที่ Excel ใช้ตัดสินใจว่าค่าที่แคชไว้เก่าหรือไม่),FullCalcOnLoad(บังคับให้ Excel ทำการคำนวณเต็มรูปแบบเมื่อเปิด — สำคัญสำหรับสมุดงานที่สร้างโดยเอนจินที่ไม่ใช่ Excel) และCalcMode(auto / manual / autoNoTable) ตัวเขียนจะปล่อยแอตทริบิวต์ที่ตรงกันบน<calcPr>; ตัวอ่านจะแยกวิเคราะห์กลับคืน ก่อนหน้านี้มีเพียงiterate/iterateCount/iterateDeltaเท่านั้นที่ถูกจัดการ และส่วนที่เหลือถูกทิ้งอย่างเงียบ ๆ
เวอร์ชัน 2.156.0
เพิ่มเติม
- ตัวประเมินสูตรจะ implement ฟังก์ชันแผ่นงาน 37 ฟังก์ชันที่ลงทะเบียนก่อนหน้านี้ (กำหนด ptg ใน InitFuncHash) แต่ไม่มีการ implement dispatch — พวกมันตกไปเป็น
#NAME?การ implement ใหม่ครอบคลุมตระกูลฟังก์ชันห้าตัว: การถดถอย (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) ฟังก์ชันการถดถอยใช้ตัวแก้กำลังสองน้อย; ฟังก์ชันค่าเสื่อมราคา implement วิธีเส้นตรง, ผลรวมของปี, และยอดคงเหลือลดลง; ฟังก์ชันสถิติพรรณนาคำนวณค่าเฉลี่ยความเบี่ยงเบนสัมบูรณ์, kurtosis, skewness, ค่าเฉลี่ยเรขาคณิต/ฮาร์มอนิก/ตัดทอน; และฟังก์ชันคู่คำนวณผลรวมของผลต่างกำลังสองระหว่างสองช่วงขนาดเท่ากัน ตัวช่วยCollectRangeValuesใหม่บนTXLSCalculatorจะสกัดค่าตัวเลขจากอาร์กิวเมนต์ช่วงสำหรับฟังก์ชัน stat
เวอร์ชัน 2.155.0
เพิ่มเติม
- ตัวประเมินสูตรจะรองรับชื่อความเข้ากันได้ทางสถิติและวิศวกรรมเพิ่มเติมห้าชื่อ:
ERFC,ERFC.PRECISE,BINOM.INV,CHI.INV.RTและF.TESTERFCเสริมซีรีส์ฟังก์ชัน error-function ที่มีอยู่,BINOM.INVค้นหาเกณฑ์ CDF ทวินาม,CHI.INV.RTเป็น alias ของค่าผกผันไค-สแควร์หางขวา และF.TESTส่งกลับค่า p ความแปรปรวนตัวอย่างสองหาง
เวอร์ชัน 2.154.0
เพิ่มเติม
- ตัวประเมินสูตรจะแก้การอ้างอิงข้ามสมุดงานผ่าน callback
OnGetExternalValueใหม่บนTXLSCalculatorเมื่อการอ้างอิงช่วง 3D ชี้ไปยังสมุดงานภายนอก ([1]Sheet1!A1) ตัวประเมินจะกำหนดเส้นทางผ่าน callback แทนที่จะส่งกลับ#REF!เอนจิน XLSX จะต่อ callback นี้เข้ากับGetExternalCellValueซึ่งแม็ปดัชนี SupBook + ดัชนีแผ่นงานไปยังแคช<sheetDataSet>ของTXLSXExternalLinkที่ตรงกันและถอดรหัสค่าเซลล์ที่แคชไว้ตามแอตทริบิวต์ประเภท OOXML ของมัน (ตัวเลข / บูลีน / สตริง / ข้อผิดพลาด) ก่อนหน้านี้สูตรข้ามสมุดงานส่งกลับ#REF!โดยไม่มีเงื่อนไข; โครงสร้างพื้นฐาน callback ตอนนี้ให้เอนจินใด ๆ (BIFF8, XLSX หรือโฮสต์ตัวคำนวณกำหนดเอง) จัดหาค่าภายนอก - ตัวประเมินสูตรจะทำการกระจายอาร์เรย์แบบ element-wise บนตัวดำเนินการไบนารี (
+/-/*///^) เมื่อตัวถูกดำเนินการใด ๆ เป็นอาร์เรย์ตัวแปร 1D หรือ 2D (เช่น ผลลัพธ์ฟังก์ชันเมทริกซ์, ช่วงที่ spill หรือตัวถูกดำเนินการอาร์เรย์ CSE) ตัวดำเนินการจะถูกประใช้ element-by-element; ตัวถูกดำเนินการสเกลาร์จะถูก broadcast ไปยังทุกองค์ประกอบของตัวถูกดำเนินการอาร์เรย์ ตัวช่วยApplyArrayBinaryOpใหม่จะจัดการการตรวจสอบรูปร่าง, scalar broadcast และการกระจายหารด้วยศูนย์ เลขคณิตสเกลาร์เดิมไม่เปลี่ยนแปลง — เส้นทางอาร์เรย์จะเริ่มทำงานเฉพาะเมื่อตัวถูกดำเนินการอย่างน้อยหนึ่งตัวเป็นอาร์เรย์ตัวแปร - ตัวประเมินสูตรจะจดจำฟังก์ชัน
TABLE(What-If Analysis DataTable) Excel จัดเก็บตารางข้อมูลเป็นสูตรอาร์เรย์ CSE ที่เนื้อหาเป็นTABLE(rowRef, colRef); ก่อนหน้านี้TABLEไม่ถูกจดจำและตกไปเป็น#NAME?ฟังก์ชันถูกลงทะเบียนด้วย ptg สังเคราะห์ (ftabTABLE = 4232) จึงทำให้มัน round-trip ผ่านการเข้ารหัสสูตร BIFF8 และ ณ เวลาประเมินจะส่งกลับค่า placeholder (0) — ผลลัพธ์จริงถูกคำนวณล่วงหน้าโดย Excel และจัดเก็บเป็นค่าเซลล์ที่แคชไว้ จึง HotXLS ไม่ประเมินตรรกะการแทนที่ใหม่
เวอร์ชัน 2.153.0
เพิ่มเติม
- โมเดล PivotTable แบบมีประเภทจะส่งคุณสมบัติ page-axis แบบมีประเภท (Hier / Caption / Name), ขอบเขต auto-sort และ hook round-trip raw-XML สำหรับ
<formats>และ<extLst>ที่จำเป็นสำหรับความเข้ากันได้กับ Excel ที่สมบูรณ์ยิ่งขึ้นTXLSPivotFieldจะได้รับPageHier/PageCaption/PageName(F16 — ชื่อลำดับชั้น OLAP + caption page-axis + ชื่อที่แสดง) และAutoSortScope(F20 — การอ้างอิงช่วง A1 ที่ตรึงเซลล์ที่ Excel ใช้ auto-sort รายการของฟิลด์);TXLSPivotTableจะได้รับFormatsXml/ExtLstXml(F17 — round-trip raw inner-XML สำหรับบล็อก override<formats>CF / number-format และบล็อก slicer / timeline / x14 ของ<extLst>, ปล่อยตามตัวอักษรเมื่อตั้งค่า จึงทำให้ round-trip ปลอดภัยแม้ข้ามเวอร์ชันเอนจิน) ตัวเขียน XLSX จะปล่อยแอตทริบิวต์<pageField hier=... cap=... name=.../>ที่ตรงกัน, child<autoSortScope>ของ<pivotField>และบล็อก<formats>+<extLst>ก่อน sentinel ปิด - ตัวติดตามสูตรจะบันทึก snapshot operand-stack ต่อขั้นตอน จึงเปิดใช้งานตัวดีบัก "Evaluate Formula" แบบ step-through ที่แท้จริง
TXLSFormulaStepจะได้รับStepKind(push / reduce / function),StackBefore/StackAfter(snapshot คั่นด้วยจุลภาคของ operand stack ณ ขณะที่แต่ละขั้นตอนเริ่ม / เสร็จ) และTokenStart/TokenEnd(ช่วงอักขระฐาน 1 ที่ตรึงขั้นตอนกลับไปยังสูตรต้นทาง)TXLSFormulaTracerจะได้รับTraceReversed(ส่งกลับขั้นตอนเดียวกันในลำดับการประเมินย้อนกลับ — มีประโยชน์สำหรับ UI step-back ที่เดินจากผลลัพธ์สุดท้ายไปยังตัวถูกดำเนินการเดิม) และคุณสมบัติStepCountก่อนหน้านี้ตัวติดตามบันทึกเพียง Depth / Source / Expression / Value โดยไม่มีสถานะ stack - การส่งออก HTML จะฝังภาพต่อเซลล์ผ่าน callback
OnCellImageใหม่บนTXLSHTMLExportและตัวเลือกxhImagesใหม่ เมื่อตัวเลือกถูกตั้งและ callback ถูกต่อ ผู้ส่งออกจะขอ fragment<img>ของแต่ละเซลล์จากผู้ implement (โดยทั่วไปคือ data-URI Base64) และต่อท้ายหลังข้อความเซลล์ สิ่งนี้แยกผู้ส่งออกออกจากที่เก็บภาพ BIFF8 ของเอนจิน XLS (ซึ่งอยู่ในเรคคอร์ด MsoDrawing รายแผ่นงาน) จึงผู้ส่งออกไม่ต้องแยกวิเคราะห์แอนเคอร์เอง การส่งออก HTML ของเอนจิน XLSX ฝังภาพอยู่แล้ว; สิ่งนี้ปิดช่องว่างสำหรับเอนจิน XLS - การนำเข้า RTF จะประใช้คุณสมบัติอักขระ (ตัวหนา / ตัวเอียง / ขีดเส้นใต้ / ขีดทับ / ขนาด) จาก control word ของ RTF ไปยังฟอนต์เซลล์ปลายทาง
TXLSRTFImportจะติดตาม\b/\i/\ul/\strike/\fsทั่วเอกสารและผลักการจัดรูปแบบของ run ที่เด่นเข้าสู่ XF ของเซลล์ ณ เวลา commit คุณสมบัติImportCharFormatใหม่ (ค่าเริ่มต้น True) จะสลับพฤติกรรม; ตั้งเป็น False เพื่อคืนการนำเข้าเฉพาะข้อความแบบเดิม เซลล์หลาย-run จะยุบเป็น XF เดียว (run ที่ใช้งานสุดท้ายชนะ) เนื่องจาก API เซลล์ของเอนจิน XLS เป็นระดับเซลล์ ไม่ใช่ราย fragment — แต่นี่ดีกว่าการทิ้งการจัดรูปแบบทั้งหมดซึ่งเป็นสิ่งที่ตัวนำเข้าเดิมทำ - คลาส
TXLSHTMLImportใหม่จะแยกวิเคราะห์ตาราง HTML เป็นเซลล์แผ่นงาน เดินผ่าน<table>แรกในแหล่งที่มา ปล่อยหนึ่งแถวแผ่นงานต่อ<tr>และหนึ่งเซลล์ต่อ<td>/<th>เคารพcolspan/rowspan(การผสานสไตล์ Excel), ถอดแท็กภายในเซลล์ (ยุบการจัดรูปแบบซ้อนเป็นข้อความธรรมดา), ถอดรหัสเอนทิตีอักขระมาตรฐานห้าตัว (&/</>/"/'/ ) และรูปแบบตัวเลข&#NNN;/&#xNN;และบังคับสตริงตัวเลขที่สะอาดเป็น Double จึงทำให้ตารางที่นำเข้ายังคงคำนวณได้ ออกแบบสำหรับเอาต์พุตที่ HotXLS ผลิตเอง (SaveAsHTML) บวกตาราง HTML คุณภาพระดับ copy-paste ทั่วไป; ไม่ใช่ตัวแยกวิเคราะห์ HTML5 แบบเต็ม
เวอร์ชัน 2.152.0
เพิ่มเติม
- ตาราง XLSX จะรักษาเมทาดาต้าผลรวมระดับคอลัมน์และสูตรตาราง
TXLSXTableเปิดเผยColumnTotalsRowFunctions[],ColumnTotalsRowLabels[],ColumnCalculatedColumnFormulas[]และColumnTotalsRowFormulas[];SaveAsปล่อย XML คอลัมน์ตารางtotalsRowFunction,totalsRowLabel,calculatedColumnFormulaและtotalsRowFormulaที่ตรงกัน,Openอ่านกลับคืน และโคลนตารางรักษาไว้
เวอร์ชัน 2.151.0
เพิ่มเติม
- โมเดล PivotTable แบบมีประเภทจะส่งคอลเลกชันตัวกรองรายฟิลด์, สวิตช์ multi-select, พื้นผิน fieldGroup discretePr + groupItems และโมเดล calculated items / calculated members ที่จำเป็นสำหรับความเข้ากันได้กับ PivotTable ที่สมบูรณ์ยิ่งขึ้น
TXLSPivotFieldจะได้รับคอลเลกชันTXLSPivotFiltersแบบมีประเภท (แต่ละ entry ส่งFilterTypeทั่ว enumST_FilterTypeของ OOXML 80 สมาชิก — ตระกูล count / percent / sum / caption / value / date — บวกValue1/Value2/StrValue1/StrValue2,EvalOrder,DataField,MemberPropertyId,Name,Description), สวิตช์MultipleItemSelectionAllowed(F9) และคอลเลกชันTXLSPivotCalculatedItem(F14)TXLSPivotCacheFieldจะได้รับDiscreteIndices[]+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 ที่สร้างแบบโปรแกรมพร้อมตัวกรอง / multi-select / grouping / calculated items round-trip
เวอร์ชัน 2.150.0
เพิ่มเติม
- defined name จะรักษาข้อความสูตรให้ถูกต้องเมื่อแผ่นงานที่มันอ้างถึงถูกลบหรือเปลี่ยนชื่อ การลบแผ่นงานจะเขียนควอลิไฟเออร์
SheetN!ทุกตัวภายในสูตรของ defined name เป็น#REF!ใหม่ (ให้ตรงกับพฤติกรรมของ Excel); การเปลี่ยนชื่อแผ่นงานจะเขียนควอลิไฟเออร์เป็นชื่อใหม่ ก่อนหน้านี้ข้อความสูตรยังคงชี้ไปที่ชื่อแผ่นงานที่ไม่มีอยู่ ซึ่ง Excel จะตั้งค่าสถานะเป็นลิงก์ที่เสียหายเมื่อเปิดใหม่ - โมเดล PivotTable แบบมีประเภทจะส่งลำดับการจัดเรียงระดับฟิลด์และสวิตช์เลย์เอาต์ บวกแอตทริบิวต์เลย์เอาต์ / การแสดงระดับตารางที่จำเป็นสำหรับความเข้ากันได้เลย์เอาต์ PivotTable ที่สมบูรณ์ยิ่งขึ้น
TXLSPivotFieldจะได้รับSortType(manual / ascending / descending),Compact,Outline,SubtotalTop,DragToRow/DragToCol/DragToPage/DragToData,ShowAll,InsertBlankRow,NumFmtId;TXLSPivotTableจะได้รับCompact/CompactData/Outline/OutlineData/Indent/ShowEmptyRow/ShowEmptyCol/ShowHeaders/ShowDrill/EnableDrill/FieldListSortAscending/GridDropZonesบวกRowHeaderCaption/ColHeaderCaption/ErrorCaption/MissingCaption/ShowError/ShowMissingและคู่เลย์เอาต์ page-axisRowPageCount/ColPageCountตัวเขียน XLSX จะปล่อยแอตทริบิวต์<pivotField sortType=... compact=... outline=...>และ<pivotTableDefinition indent=... outline=... showEmptyRow=...>ที่ตรงกันและองค์ประกอบ<location rowPageCount=... colPageCount=.../>จึงทำให้ pivot ที่สร้างแบบโปรแกรมส่งเลย์เอาต์ที่ผู้ใช้ตั้งไว้แทนค่าเริ่มต้นของ Excel - เมธอด
FormulaIsVolatileใหม่บนTXLSWorkbookจะรายงานว่าสูตรจะบังคับให้มีการคำนวณใหม่ทุก pass การคำนวณหรือไม่ — กล่าวคือมันเรียกฟังก์ชัน volatile (NOW / RAND / TODAY / OFFSET / INDIRECT) หรือมีการอ้างอิงที่แก้ไม่ได้ การสอบถามจะใช้ตัวสกัดการขึ้นต่อเดียวกับที่เอนจินการคำนวณใหม่ใช้ จึงคำตอบตรงกับที่Recalculateทำจริง ผู้เรียกสามารถใช้มันเพื่อตั้งค่าสถานะเซลล์สำหรับ UI ตรวจสอบ, เติม volatile set ของ calc-chain บนสมุดงานใหม่เอี่ยม หรือข้ามการแคชผลลัพธ์ของสูตรที่เพิ่งป้อนเข้ามา
เวอร์ชัน 2.149.0
เพิ่มเติม
- แคช PivotTable สามารถรีเฟรชจากช่วงต้นทางแบบโปรแกรมได้แล้ว เมธอด
RefreshPivotCache(ACacheId)ใหม่บนTXLSXWorkbookจะสแกนช่วงต้นทางของแคชใหม่ สร้างโดเมน shared-items รายฟิลด์ใหม่ (กำหนดค่าซ้ำและกำหนดขอบเขตรายประเภทใหม่) และเขียนดัชนีรายการรายเรคคอร์ดใหม่ ก่อนหน้านี้ HotXLS พึ่งพาแฟล็กrefreshOnLoad="1"ที่ hardcoded และเลื่อนการทำงานรีเฟรชทั้งหมดไปยัง Excel บนการเปิดครั้งถัดไป; ไปป์ไลน์แบบโปรแกรมตอนนี้สามารถรีเฟรชในกระบวนการได้
เวอร์ชัน 2.148.0
เพิ่มเติม
InsertColsบนเอนจิน XLSX จะสืบทอดความกว้างคอลัมน์จากเพื่อนบ้านด้านซ้าย ให้ตรงกับพฤติกรรมเริ่มต้นของ Excel สำหรับ "แทรกคอลัมน์" ก่อนหน้านี้คอลัมน์ที่แทรกจะรับความกว้างเริ่มต้นของสมุดงาน จึงสร้างช่องว่างความเที่ยงตรงที่มองเห็นได้หลังจากเปิดใหม่- เอนจิน XLSX จะได้รับตัวช่วย outline-collapse ที่สะดวก
ToggleColGrouped/ToggleRowGroupedบนTXLSXWorksheetซึ่งเดินผ่านต้นไม้ outline และยุบหรือขยายกลุ่ม ณ ระดับที่กำหนด แฟล็กยุบเองยัง round-trip อยู่แล้ว; สิ่งนี้เพิ่ม API ความสะดวก walk-the-tree ที่ขาดหายไป
เวอร์ชัน 2.147.0
เพิ่มเติม
- การส่งออก HTML จะปล่อยแอนเคอร์
<a name>ที่เซลล์ที่เป็นเป้าหมายไฮเปอร์ลิงก์ภายใน จึงทำให้ไฮเปอร์ลิงก์#SubAddressแก้ไขได้อย่างถูกต้องเมื่อผู้อ่านคลิกพวกมัน ก่อนหน้านี้ลิงก์ถูกปล่อยแต่เป้าหมายไม่มีแอนเคอร์ จึงการกระโดดภายในแก้ไขเป็นไม่มีอะไร - การส่งออก CSV จะได้รับคุณสมบัติ
CSVEmitFormulasบนTXLSXWorkbookเมื่อเป็น True เซลล์สูตรจะส่งออกข้อความสูตร (=SUM(A1:A2)) แทนค่าที่คำนวณ — มีประโยชน์สำหรับการดีบักและไปป์ไลน์ที่นำเข้าใหม่เข้าสู่เอนจินอื่น - URL ไฮเปอร์ลิงก์ภายนอกจะถูกเข้ารหัสเปอร์เซ็นต์เมื่อเขียน (
XlsxEncodeHyperlinkUrl): space, angle brackets, quotes, braces, pipes, backslashes, carets และ backticks ถูกเข้ารหัสเป็น%XXในแอตทริบิวต์<Relationship Target="..."/>จึงทำให้ไฟล์เปิดอย่างถูกต้องในทุกเบราว์เซอร์ ลำดับเข้ารหัสเปอร์เซ็นต์ที่มีอยู่ (%20) ถูกรักษาตามเดิม - ข้อมูลสไตล์ PivotTable จะส่งพื้นผิว
pivotTableStyleInfoแบบเต็ม:StyleName,ShowRowHeaders,ShowColHeaders,ShowRowStripes,ShowColStripes,ShowLastColumnบนTXLSPivotTableตัวเขียน XLSX จะปล่อยองค์ประกอบที่ตรงกัน จึงทำให้ pivot ที่สร้างแบบโปรแกรมส่งสไตล์ banding ที่ผู้ใช้เลือกแทนค่าเริ่มต้นที่ hardcoded - เมธอด
CalculateAndVerifyใหม่บนTXLSXWorkbookจะประเมินเซลล์สูตรทุกเซลล์ใหม่และเปรียบเทียบผลลัพธ์ที่คำนวณกับค่าที่แคชของเซลล์ ส่งกลับจำนวนความไม่ตรงกัน (0 = ค่าที่แคชทั้งหมดตรงกับการคำนวณใหม่ของเอนจิน; สูตร volatile ถูกแยกออก) มีประโยชน์สำหรับ QA เมื่อพอร์ตสมุดงานระหว่างเอนจินหรือตรวจสอบว่าตัวเขียนไม่ได้ทำให้ค่าที่แคชเสียหาย
เวอร์ชัน 2.146.0
เพิ่มเติม
- เอนจิน XLSX จะรองรับการคำนวณการอ้างอิงหมุนเวียนแบบวนซ้ำ (โหมด calc แบบวนซ้ำของ Excel) triple คุณสมบัติ
Iterate/IterateCount/IterateDeltaใหม่บนTXLSXWorkbookจะควบคุมพฤติกรรม: เมื่อIterate=Trueและวงรอบการอ้างอิงถูกตรวจจับระหว่างRecalculate, เอนจินจะประเมินเซลล์สมาชิกวงรอบใหม่สูงสุดIterateCountครั้ง (ค่าเริ่มต้น 100) หรือจนกว่าการเปลี่ยนแปลงของทุกเซลล์จะ< IterateDelta(ค่าเริ่มต้น 0.001) แทนที่จะส่งกลับ#REF!การตั้งค่า round-trip ผ่านองค์ประกอบ<calcPr iterate="1" iterateCount="N" iterateDelta="X"/>ของ OOXML โมเดลทางการเงินที่มีการอ้างอิงหมุนเวียนโดยตั้งใจ (ดอกเบี้ยทบดอก, การจัดสรรแบบหมุนเวียน) ตอนนี้จะลู่เข้าแทนที่จะ error - ฟิลด์แคช PivotTable จะส่งโมเดล grouping สำหรับการจัดกลุ่มช่วงตัวเลขและลำดับชั้นวันที่
TXLSPivotCacheFieldจะได้รับHasGroup+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-paste
เวอร์ชัน 2.145.0
เพิ่มเติม
- literal ข้อผิดพลาดสูตร BIFF8 (โทเค็น
tErr) จะถอดรหัสเป็นรายการไวยากรณ์SA_ERRORแบบมีประเภทแทนที่จะทำให้การแยกวิเคราะห์สูตรล้มเหลว เซลล์ที่จัดเก็บ=#N/A(หรือค่าคงที่ข้อผิดพลาด Excel เจ็ดตัวใด ๆ) ก่อนหน้านี้ทำให้สูตรทั้งหมดถูกทิ้งเมื่ออ่าน; ไบต์ข้อผิดพลายตอนนี้ round-trip ผ่าน อ่าน → ประเมิน → เขียน และสร้างใหม่เป็นรูปแบบข้อความของมัน (#NULL!,#DIV/0!,#VALUE!,#REF!,#NAME?,#NUM!,#N/A) ผ่านตัวช่วยXlsErrorToStringใหม่ - โทเค็น BIFF8
tIsect $0F(ตัวดำเนินการ intersection โดยนัย) จะถอดรหัสในตัวแปลสูตรไบนารี สร้างโหนดSA_ISECTเดียวกับที่ตัวแยกวิเคราะห์ข้อความผลิตสำหรับ@ก่อนหน้านี้สูตรไบนารีที่มีtIsectจะแยกวิเคราะห์ล้มเหลว - การจัดรูปแบบตามเงื่อนไขแบบ data bar จะปล่อยบล็อกส่วนขยาย
x14ของ Excel 2010+ ในextLstของแผ่นงานเมื่อโมเดลมีฟิลด์ x14 ที่ไม่ใช่ค่าเริ่มต้นใด ๆ (สีเติมเต็มค่าลบ, การไล่ระดับสีปิด, สีแกน, ทิศทาง, เส้นขอบ)BuildDataBarExtXmlใหม่จะสร้างองค์ประกอบext<x14:conditionalFormattings>พร้อมลำดับความสำคัญที่ตรงกัน, คู่ cfvo, สีเติม + ลบ + แกน และแอตทริบิวต์ gradient/border/direction/negativeBarColorSameAsPositive
เวอร์ชัน 2.144.0
เพิ่มเติม
- เอนจิน XLSX สามารถ เขียนสมุดงานที่เข้ารหัส Agile (
TXLSXWorkbook.SaveAsEncryptedAgile) ได้แล้ว ปิดช่องว่างความเข้ากันได้แบบอ่าน/เขียนที่มีค่าสูง Agile คือสิ่งที่ Excel 2010+ เขียนโดยค่าเริ่มต้นสำหรับไฟล์ .xlsx ที่ป้องกันด้วยรหัสผ่าน; ก่อนหน้านี้ HotXLS สามารถอ่าน Agile แต่เขียนได้เฉพาะ Standard Encryption (AES-128) เท่านั้น ไปป์ไลน์การเขียนใหม่สะท้อนเส้นทางถอดรหัสที่มีอยู่: แฮชรหัสผ่าน SHA-512 พร้อม spin count 100000 การวนซ้ำ, การเข้ารหัสแพ็กเกจรายส่วน AES-256-CBC, คีย์กลางที่สร้างแบบสุ่มที่ห่อตาม block key สามตัวที่กำหนดโดย spec และ descriptor XML<encryption>ที่สมบูรณ์พร้อม blob ตัวยืนยัน + คีย์ที่เข้ารหัส เอาต์พุตเที่ยงตรงทุกไบต์กับที่ Excel ผลิตและ round-trip อย่างสะอาดผ่านXlsLoadAgileEncryptedFile(ตรวจสอบโดยการทดสอบ: รหัสผ่านที่ถูกต้องถอดรหัส, รหัสผ่านผิดถูกปฏิเสธ) - primitive การเข้ารหัสใหม่รองรับเส้นทางการเขียน Agile:
XlsHMACSHA512(RFC 2104, จำเป็นสำหรับองค์ประกอบdataIntegrity),XlsBase64Encode(ตัวเข้ารหัส RFC 4648 ที่สะท้อนตัวถอดรหัสที่มีอยู่) และAESEncryptCBC(การเข้ารหัส AES-CBC สำหรับคีย์ทุกขนาด 128/192/256, ตรงข้ามกับAESDecryptCBCที่มีอยู่) หน่วย AES ตอนนี้นำเข้าaes_encrypt_key192/aes_encrypt_key256จาก obj Gladman (ก่อนหน้านี้มีเฉพาะการเข้ารหัส 128-bit เท่านั้น)
เวอร์ชัน 2.143.0
เพิ่มเติม
- ตัวประเมินสูตรจะแยกวิเคราะห์และประเมินตัวดำเนินการ intersection โดยชัดแจ้ง
@(ไวยากรณ์ dynamic-array ของ Excel 365, เช่น=A2:A4 @ B2:B4) lexer จะปล่อยโทเค็นLT_ISECTใหม่สำหรับสัญลักษณ์@, ตัวแยกวิเคราะห์ลำดับความสำคัญจะสร้างโหนดSA_ISECT(ผูกแน่นกว่า^, หลวมกว่า%) และตัวประเมินIntersectRangesใหม่จะแก้ตัวถูกดำเนินการทั้งสองเป็นช่วงและส่งกลับค่าของเซลล์ตัดกันเดียว — กฎ implicit-intersection ของ Excel ตัวทำให้เป็นอนุกรมโทเค็น BIFF จะปล่อยtIsect $0Fจึงทำให้ตัวดำเนินการ round-trip ผ่าน XLS และเส้นทางการสร้างข้อความสูตรใหม่จะปล่อยรูปแบบ implicit-space ก่อนหน้านี้สูตรดังกล่าวแยกวิเคราะห์ล้มเหลว - ตัวเข้ารหัส Base64 มาตรฐาน (
XlsBase64Encode) พร้อมใช้งานแล้ว สะท้อนXlsBase64Decodeที่มีอยู่ นี่เป็นข้อกำหนดเบื้องต้นสำหรับเส้นทางการเขียน Agile-encryption ซึ่งปล่อย saltValue / encryptedVerifierHashInput / encryptedKeyValue / encryptedHmacValue เป็นค่าแอตทริบิวต์ Base64 - อีเวนต์
OnProgressของสมุดงานจะเริ่มการทำงานระหว่างการคำนวณใหม่แบบเต็ม (Recalculate) ด้วย พร้อมเฟสxlsxProgressCalculatingใหม่ ก่อนหน้านี้อีเวนต์เริ่มการทำงานเฉพาะระหว่างการอ่านและเขียน จึงทำให้การคำนวณใหม่แบบเต็มที่ยาวนานไม่มี heartbeat ให้ UI อีเวนต์จะเริ่มการทำงานประมาณทุก 4% ของเซลล์เพื่อหลีกเลี่ยงการถล่ม - คุณสมบัติเอกสารขยาย (
docProps/app.xml) จะ round-trip ฟิลด์เพิ่มเติมสามฟิลด์ที่ Excel เขียนสำหรับเอกสารที่ป้องกันด้วยรหัสผ่าน / ตามเทมเพลต:Manager,TemplateและDocSecurity(bit field: 1=ป้องกันรหัสผ่าน, 2=แนะนำอ่านอย่างเดียว, 4=บังคับอ่านอย่างเดียว, 8=ล็อกสำหรับการอธิบายประกอบ)
เวอร์ชัน 2.142.0
เพิ่มเติม
- โมเดล PivotTable แบบมีประเภทจะส่งพื้นผิวเมทาดาต้า, ต้นทาง, calculated-field, "show values as" และ shared-items-bounds ที่รอบการวิเคราะห์ก่อนหน้านี้ตั้งค่าสถานะเป็นช่องว่าง
TXLSPivotCacheจะได้รับRefreshOnLoad/RefreshedBy/RefreshedDate/MissingItemsLimit/CreatedVersion/RefreshedVersion/MinRefreshableVersion/EnableRefresh/BackgroundQuery/SaveDataบวกรูปร่างต้นทางแผ่นงานแบบมีประเภท (SourceName/SourceRelId/SourceIsNamedRange);TXLSPivotCacheFieldจะได้รับFormula/DatabaseField/MemberPropertyField(calculated fields) และขอบเขต shared-items (ContainsBlank/ContainsInteger/ContainsString/ContainsNumber/ContainsDate/MinValue/MaxValue/MinDate/MaxDate/HasBounds);TXLSPivotDataFieldจะได้รับShowDataAs/BaseField/BaseItemสำหรับการแปลง "show values as" (percent-of / difference / running-total / index) ตัวเขียน XLSX (BuildPivotCacheDefinitionXml/BuildPivotTableXml) เคารพทั้งหมดนี้ จึงทำให้ pivot ที่สร้างแบบโปรแกรม (AddPivotTable) ปล่อยpivotCacheDefinition+pivotTableDefinitionที่สมบูรณ์ยิ่งขึ้น — refreshOnLoad / version triple / refreshedBy / ต้นทาง named-range / สูตร cacheField ที่คำนวณ / ขอบเขต sharedItems / subtotal + showDataAs ของ dataField Pivot table ที่อ่านจากไฟล์ยังคง round-trip raw XML ตามตัวอักษร - พฤติกรรมแอนเคอร์ภาพจะ round-trip ผ่านคุณสมบัติ
AnchorTypeใหม่บนTXLSXImage(xaTwoCell= เคลื่อนที่และปรับขนาดตามเซลล์,xaOneCell= เคลื่อนที่แต่ไม่ปรับขนาด,xaAbsolute= ไม่เคลื่อนที่หรือปรับขนาด) ตัวเขียนจะเลือกองค์ประกอบแอนเคอร์ (xdr:oneCellAnchor/xdr:twoCellAnchor editAs=.../xdr:absoluteAnchor) ให้ตรงกัน; ตัวอ่านจะแยกวิเคราะห์ชื่อองค์ประกอบ + แอตทริบิวต์editAsกลับคืน แม็ปไปยังคลิกขวาของ Excel → Size and Properties → กล่องโต้ตอบ Properties - ส่วนหัว/ส่วนท้ายจะ round-trip การแยกแยะหน้าคู่/หน้าแรก
TXLSXWorksheetจะได้รับEvenHeaderText/EvenFooterText/FirstHeaderText/FirstFooterTextบวกสวิตช์<headerFooter>สี่ตัว (DifferentOddEven,DifferentFirst,ScaleWithDoc,AlignWithMargins) ไฟล์ที่ผู้ใช้เปิดใช้งาน "Different odd and even pages" หรือ "Different first page" จะไม่สูญเสียส่วนหน้าคู่/หน้าแรกเมื่อ round-trip - การตั้งค่าหน้าจะ round-trip แอตทริบิวต์
<pageSetup>แบบขยายที่ Excel เขียนสำหรับการตั้งค่าพิมพ์ที่ไม่ใช่ค่าเริ่มต้น:Copies,FirstPageNumber+UseFirstPageNumber,HorizontalDpi,VerticalDpi,PrintErrors(displayed/blank/dash/NA),UsePrinterDefaults <sheetFormatPr>จะ round-tripcustomHeight,zeroHeight,outlineLevelRowและoutlineLevelColจึงทำให้ไฟล์ที่ผู้ใช้ตั้งความสูงแถวเริ่มต้นที่กำหนดเอง, แถวเริ่มต้นที่ซ่อน หรือระดับ outline เริ่มต้น ไม่สูญเสียพฤติกรรมนั้นอีกต่อไป- การจัดรูปแบบตามเงื่อนไขแบบ data bar จะ round-trip แอตทริบิวต์
gradientมาตรฐาน (การไล่ระดับสีเทียบกับเติมเต็มทึบ) และTXLSDataBarSpecจะได้รับฟิลด์ส่วนขยายx14ของ Excel 2010+ (NegativeBarColor,NegativeBarColorSameAsPositive,GradientFill,AxisColorพร้อม theme/tint,Direction,Border) บนโมเดล จึงให้ผู้บริโภค API ตั้งค่าพวกมันได้ - บอลลูนความคิดเห็นจะ round-trip การวาด VML ตามตัวอักษร ตัวอ่านจะจับ
xl/drawings/vmlDrawingN.vmlตามเดิมและตัวเขียนจะเล่นซ้ำเมื่อบันทึก (แทนเทมเพลตบอลลูนสีเหลือง built-in) จึงทำให้ตำแหน่ง / ขนาด / สีเติมเต็ม / การมองเห็นที่ผู้ใช้ตั้งของแต่ละบอลลูนอยู่รอด - เนื้อหาความคิดเห็นจะ round-trip การจัดรูปแบบราย run
TXLSXCommentจะได้รับเพย์โหลดRichText: TXLSXRichTextแบบ lazy (ใช้โมเดล run shared-strings ซ้ำ); ตัวเขียนจะปล่อย<r><rPr>...</rPr><t>...</t></r>หนึ่งรายการต่อ run เมื่อ RichText มีการจัดรูปแบบ และตัวอ่านจะแยกวิเคราะห์<b/>,<i/>,<sz val=N/>,<color rgb=.../>กลับคืน จึงทำให้ตัวหน้า / ตัวเอียง / ขนาด / สีอยู่รอด - ตัวประเมินสูตรจะ implement
SUBTOTAL(ตัวรวมทั้งสิบเอ็ด: AVERAGE / COUNT / COUNTA / MAX / MIN / PRODUCT / STDEV / STDEVP / SUM / VAR / VARP, บวกตัวแปร 101–111 ที่ข้ามซ่อน) และAGGREGATE(ตัวรวมสิบเก้าตัวพร้อมแฟล็ก option-code 0–7 ที่เลือกการข้ามข้อผิดพลาด/ซ่อน, รวมตระกูล LARGE / SMALL / MEDIAN / PERCENTILE / QUARTILE พร้อมอาร์กิวเมนต์kของพวกมัน) ทั้งสองก่อนหน้านี้ตกไปยังเส้นทาง unsupported-function;SUBTOTALถูกลงทะเบียนแต่ไม่มีการ implement,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? - การจัดรูปแบบตามเงื่อนไขจะ round-trip แอตทริบิวต์
cfRuleของstopIfTrue,stdDev,equalAverageและtimePeriodบวกตระกูลtimePeriodสิบสมาชิกเต็ม (yesterday / today / tomorrow / last7Days / lastWeek / thisWeek / nextWeek / lastMonth / thisMonth / nextMonth) สิ่งเหล่านี้ถูกทิ้งอย่างเงียบ ๆ เมื่ออ่าน; Excel เขียนพวกมัน routinely บนกฎ above-average และ date-band และการทิ้งพวกมันเปลี่ยนวิธีที่กฎประเมินใหม่เมื่อเปิดซ้ำ - การส่งออก CSV จะได้รับคุณสมบัติ
TXLSCsvEncodingบนTXLSCSVSaverพร้อมสามโหมด:ceSystemAnsi(ค่าเริ่มต้นเดิม),ceUtf16(โหมด Unicode ทางประวัติศาสตร์) และceUtf8ซึ่งเขียนไฟล์ UTF-8 พร้อม byte-order mark EF BB BF — ค่าเริ่มต้นที่เป็นมิตรกับ Excel โมเดิร์นที่เปิดใหม่โดยไม่มีวิซาร์ดนำเข้าข้อความบน locale ใด ๆ - การนำเข้า CSV จะได้รับคุณสมบัติ
LocaleTolerantNumbersบนTXLSCSVLoaderเมื่อเปิดใช้งาน ฟิลด์ตัวเลขที่แยกวิเคราะห์ล้มเหลวด้วย.เป็นตัวคั่นทศนิยมจะถูกลองใหม่ด้วย,(และในทางกลับกัน) จึงทำให้3,14ของยุโรปนำเข้าเป็นตัวเลข 3.14 บนเครื่อง US โหมดเข้มงวด (ค่าเริ่มต้น) ไม่เปลี่ยนแปลง จึงข้อความ leading-zero, รหัสไปรษณีย์และโทเคนอื่น ๆ ที่มีจุลภาคยังคงเป็นข้อความ
แก้ไข
- การอนุมานตัวเลข strict-mode ของเอนจิน XLSX จะไม่บังคับฟิลด์ข้อความที่มีจุลภาค (เช่น
3,14) ให้เป็นตัวเลขผ่านTryStrToFloatของ Delphi อีกต่อไป ซึ่งยอมรับจุลภาคเป็นตัวคั่นหลักพันแม้เมื่อThousandSeparatorถูกตั้งเป็น#0ฟิลด์ดังกล่าวจะยังคงเป็นข้อความ เว้นแต่ตัวเลือกLocaleTolerantNumbersใหม่ถูกเปิดใช้งาน
เวอร์ชัน 2.140.0
เปลี่ยนแปลง
- เอนจิน XLSX จะทำให้พูลสไตล์รายแอตทริบิวต์หกพูล (Fonts / Fills / Borders / NumberFormats / Alignments / Protections) กระชับก่อนทุกการบันทึก: pass
CompactStylePoolsใหม่จะสแกนดัชนีสไตล์ของทุกเซลล์และทิ้ง entry พูลที่ไม่ถูกอ้างอิงโดยเซลล์ใดอีก — entry ที่สะสมขึ้นเมื่อเซลล์ถูกล้าง, ลบ หรือจัดสไตล์ใหม่หลังจาก entry พูลถูกเพิ่มครั้งแรก พูลที่กระชับจะผลิตตาราง<cellXfs>ที่เล็กลงในไฟล์เอาต์พุต (โดยทั่วไปเล็กลง 30–70% สำหรับเอกสารที่ผ่านวงจรการแก้ไขหลายรอบ) ให้ตรงกับการกระชับที่เอนจิน XLS ทำอยู่แล้วผผ่านCreateAllReferredList
เวอร์ชัน 2.139.0
เพิ่มเติม
- รูปร่าง drawing-layer, ตัวเชื่อม, รูปร่างกลุ่ม และกราฟิกเฟรมที่ไม่ใช่แผนภูมิจะ round-trip ตามตัวอักษร: เมื่อตัวอ่าน XLSX พบแอนเคอร์
<xdr:sp>,<xdr:cxnSp>,<xdr:grpSp>หรือ<xdr:graphicFrame>ที่ไม่ใช่แผนภูมิที่โมเดลมีประเภท (ภาพ / แผนภูมิ / กล่องข้อความ) ไม่ครอบคลุม มันจะจับ XML แอนเคอร์ที่สมบูรณ์และเล่นซ้ำโดยไม่เปลี่ยนแปลงเมื่อบันทึก — จึงทำให้ภาพวาดที่สร้างใน Excel (ลูกศร, คำอธิบายประกอบ, รูปร่างที่จัดกลุ่ม, เฟรม smart art) อยู่รอดผ่านวงจร อ่าน→เขียน โดยไม่สูญเสีย แผ่นงานแต่ละแผ่นเปิดเผยRawDrawingAnchorCount/RawDrawingAnchor(i)เพื่อการตรวจสอบ
เวอร์ชัน 2.138.0
เพิ่มเติม
- ค่าเซลล์แคชของลิงก์ภายนอกจะ round-trip บนเอนจิน XLSX: โมเดล
TXLSXExternalCell/TXLSXExternalRow/TXLSXExternalSheetDataใหม่จะแขวนจากTXLSXExternalLinkแต่ละตัวผ่านAddSheetData/AddRow/AddCell, ตัวเขียนจะปล่อยบล็อก<sheetDataSet>ที่ตรงกันภายในexternalLinkN.xmlและการเปิดใหม่จะคืนค่าทุกค่าที่แคชFindCachedCell(sheetIdx, row, col)จะค้นหาค่าที่รู้ล่าสุดของเซลล์ที่อ้างอิงภายนอก — ข้อมูลที่ Excel แสดงเองเมื่อสมุดงานระยะไกลออฟไลน์
เวอร์ชัน 2.137.0
เพิ่มเติม
- แฟล็ก
quotePrefixของ cellXf OOXML — กลไกของ Excel สำหรับทำเครื่องหมายข้อความที่จัดเก็บเป็น literal เพื่อให้อยู่รอดจากการบังคับตัวเลข (รหัสที่นำเข้าจาก CSV เช่น00123, เลขบัญชียาว, สิ่งใดก็ตามที่ผู้ใช้ใส่เครื่องหมาย apostrophe นำหน้า) — ตอนนี้ round-trip บนเอนจิน XLSX:TXLSXAlignmentจะได้รับคุณสมบัติQuotePrefix, พูล alignment นับการลดความซ้ำรวมถึงมัน, ตัวเขียนจะปล่อยquotePrefix="1"บน<xf>ที่ตรงกัน และการเปิดใหม่จะคืนค่ามันไม่ว่า cellXf จะมี child<alignment/>หรือเป็น<xf quotePrefix="1"/>self-closing ดิบ
เวอร์ชัน 2.136.0
เพิ่มเติม
- แกนแผนภูมิสามารถตั้งโปรแกรมได้อย่างสมบูรณ์แล้ว: โมเดล
TXLSXChartAxisใหม่บนCategoryAxisและValueAxisของแต่ละแผนภูมิจะเปิดเผยLogBase(สเกลลอการิทึม, เช่น 10 สำหรับ log ฐาน 10),Orientation(normal / reversed),MajorGridlines/MinorGridlines,MinValue/MaxValue(NaN = auto),MajorUnit/MinorUnit,CrossesAt,TickLblPosและDispUnits(หน่วยแสดง: hundreds / thousands / millions / billions / trillions) ทั้งหมดเป็นค่าเริ่มต้นเป็นพฤติกรรม auto ของ Excel จึงแผนภูมิที่มีอยู่ปล่อย XML เดียวกับก่อนหน้า; ตัวเขียนจะเพิ่ม<c:logBase>,<c:orientation>,<c:majorGridlines>,<c:majorUnit>,<c:crossesAt>,<c:tickLblPos>และ<c:dispUnits>เฉพาะเมื่อผู้เรียกตั้งค่าที่ไม่ใช่ค่าเริ่มต้น และการเปิดแผนภูมิดังกล่าวใหม่จะคืนค่าการตั้งค่าทุกอย่าง
เวอร์ชัน 2.135.0
เพิ่มเติม
- แถบข้อผิดพลาดของแผนภูมิสามารถตั้งโปรแกรมได้และ round-trip บนเอนจิน XLSX: แต่ละ
TXLSXChartSeriesจะได้รับAddErrorBar(dir)ที่ส่งกลับTXLSXChartErrBarพร้อมValueType(fixed / percentage / stdDev / stdErr / custom),Value,PlusValue/MinusValue(custom) และNoEndCap; ช่องแถบข้อผิดพลาดหนึ่งช่องต่อทิศทาง (X / Y) ถูกจัดเก็บ, ตัวเขียนจะปล่อยบล็อก<c:errBars>ที่ตรงกัน และการเปิดใหม่จะคืนค่าทิศทาง, ประเภท และขนาด จึงทำให้แผนภูมิวิทยาศาสตร์ / วิศวกรรมรักษาตัวบ่งชี้ความไม่แน่นอนของพวกมัน
เวอร์ชัน 2.134.0
เพิ่มเติม
- ป้ายข้อมูลแผนภูมิสามารถตั้งโปรแกรมได้และ round-trip บนเอนจิน XLSX: แต่ละ
TXLSXChartSeriesจะได้รับคุณสมบัติShowValue,ShowCategoryName,ShowSeriesName,ShowLegendKey,ShowPercent,ShowBubbleSizeและSeparatorที่ปล่อยบล็อก<c:dLbls>ที่ตรงกันพร้อม child<c:show*/>ของมัน; การเปิดแผนภูมิดังกล่าวใหม่จะคืนค่าสวิตช์ จึงทำให้การตั้งค่า 'show value' / 'show percent' อยู่รอดผ่านวงจร บันทึก-แก้ไข-บันทึก
เวอร์ชัน 2.133.0
เพิ่มเติม
- รูปแบบภาพเวกเตอร์ EMF และ WMF เป็นประเภทภาพระดับหนึ่งบนเอนจิน XLSX แล้ว:
TXLSXImageFormatจะได้รับxlsxImageEmf/xlsxImageWmf, ตัวเขียนจะปล่อย content typeimage/x-emf/image/x-wmfและนามสกุล.emf/.wmfที่ตรงกัน และตัวดมกลิ่นรูปแบบจดจำ EMF (01 00 00 73), WMF ที่วางได้ (D7 CD C6 9A) และส่วนหัว WMF มาตรฐาน — จึงทำให้ภาพที่วางจาก Word หรือ PowerPoint ที่ Excel ฝังเป็นข้อมูลเวกเตอร์ round-trip แทนที่จะถูกทิ้ง
แก้ไข
- substream แผนภูมิ BIFF8 ที่เรคคอร์ด GELFRAME (
$1066) ของมันข้ามขอบเขต continuation 8224-ไบต์จะไม่สูญเสียเรขาคณิตเติมเต็ม/เส้นอีกต่อไป: ตัวอ่านจะยอมรับ self-continuation ของ GELFRAME (Excel เขียน$1066อีกตัวแทน$003CCONTINUE มาตรฐาน) และยังปล่อยให้เรคคอร์ด CONTINUE มาตรฐานเย็บภายในบริบทแผนภูมิ ให้ตรงกับ dispatch หลายชั้นที่มีอยู่ของตัวเขียน - ภาพพื้นหลังส่วนหัว/ส่วนท้าย BIFF8 (
$0866) ที่เพย์โหลดของมันข้ามเรคคอร์ด continuation จะไม่เสียหายอีกต่อไป: แต่ละส่วน continuation จะซ้ำส่วนหัว MSO 14-ไบต์ที่ตัวอ่านจะถอดก่อนการต่อกัน จึงทำให้ข้อมูลภาพที่ฝังไม่ถูกเลื่อน 14 ไบต์ต่อส่วน
เวอร์ชัน 2.132.19
แก้ไข
- การทำความสะอาดที่เก็บ XLS แบบเดิมและ XLSX ที่เข้ารหัสตอนนี้จะปล่อยสตรีมไฟล์คอมพาวด์อย่างกำหนดได้ ป้องกันไฟล์ชั่วคราวจากการถูกล็อกหลังจากบันทึก, โหลด, VBA หรือการดำเนินงานแพ็กเกจที่เข้ารหัส
- การแสดงผลที่จัดรูปแบบของค่าตัวแปรจำนวนเต็มขยายตอนนี้จะประใช้รูปแบบตัวเลขที่ร้องขออย่างสม่ำเสมอ ให้ตรงกับพฤติกรรมที่มีอยู่สำหรับค่าจำนวนเต็มมาตรฐาน
- สตริงที่ใช้ร่วมกัน, การตรวจสอบข้อมูล, แผ่นแผนภูมิ, อาร์ไคฟ์ ZIP, ภาพวาด PNG และสูตรข้อความซ้ำตอนนี้จะทำความสะอาดบัฟเฟอร์ชั่วคราวอย่างป้องกันมากขึ้นระหว่างเส้นทางข้อผิดพลาดและการดำเนินการข้อความขนาดใหญ่
เวอร์ชัน 2.132.18
แก้ไข
- การกำหนดค่า builder สตริงภายในตอนนี้จะล้างข้อความเดิมเมื่อกำหนดสตริงว่าง ป้องกันบัฟเฟอร์ XML และข้อความที่นำกลับมาใช้ใหม่จากการเก็บเนื้อหาเก่า
เวอร์ชัน 2.132.17
แก้ไข
- การสร้างแผ่นแผนภูมิ XLS ตอนนี้จะยอมรับชื่อแผ่นงานต้นทางที่ใส่เครื่องหมายคำพูดซึ่งมีเครื่องหมายอัศเจรีย์, ปฏิเสธการอ้างอิงแถวที่ใหญ่เกินไปก่อนที่พวกมันจะวนเข้าสู่แถว BIFF ที่ถูกต้อง และจำกัดชื่อคำอธิบายแผนภูมิ trendline ให้เท่ากับขีดจำกัดข้อความสั้นของ BIFF จึงทำให้เรคคอร์ดแผนภูมิที่สร้างขึ้นยังคงถูกต้อง
เวอร์ชัน 2.132.16
แก้ไข
- รายการ string-key และ object-key ภายในตอนนี้จะนำคีย์ lookup เก่าออกเมื่อ slot ที่มีอยู่ถูกเขียนทับ ป้องกันคีย์เก่าจากการแก้เป็น entry ทดแทน
- การแทนที่ object-list ภายในและแคช unique-key ที่แปลงแล้วตอนนี้จะปล่อย entry ที่เป็นเจ้าของเมื่อเขียนทับ, ล้าง และทำลาย ป้องกันการรั่วระหว่างการดำเนินงานสมุดงานและสไตล์ซ้ำ ๆ
เวอร์ชัน 2.132.15
แก้ไข
- การอ่านสตรีมมิง XLSX โดยตรงตอนนี้จะถอดรหัสเซลล์บูลีนที่จัดเก็บค่า literal ของ OOXML เช่น true และ false
- การอัปเดตดัชนี string-list ภายในตอนนี้จะนำคีย์เก่าออกเมื่อ slot ที่มีอยู่ถูกเขียนทับ ป้องกันชื่อเก่าจากการแก้เป็นค่าใหม่
เวอร์ชัน 2.132.14
แก้ไข
- ข้อความ prompt และ error ของการตรวจสอบข้อมูล BIFF8 ที่อักขระแรกเป็น NUL ตอนนี้จะรักษาขอบเขตเรคคอร์ดแทนที่จะเขียนความยาว DV ที่ไม่ตรงกัน
เวอร์ชัน 2.132.13
แก้ไข
- การแยกวิเคราะห์ข้อความ XML ตอนนี้จะปฏิเสธการเริ่ม entity ซ้อนแทนที่จะทิ้ง entity ที่ไม่เสร็จอย่างเงียบ ๆ
- สูตรที่ decompile แล้วตอนนี้จะเขียนค่าคงที่ตัวเลขด้วยตัวคั่นทศนิยมจุด invariant จึงทำให้ข้อความสูตรพกพาได้ข้ามการตั้งค่าภูมิภาค
เวอร์ชัน 2.132.12
แก้ไข
- ความโปร่งใสของจานสี PNG ตอนนี้จะละเว้นสีโปร่งใสที่ไม่มีอยู่ในจานสีรูปภาพแทนที่จะทำเครื่องหมายดัชนีจานสีที่สุ่มเลือกเป็นโปร่งใส
- สูตร SUMPRODUCT ตอนนี้จะหยุดสแกนแถวที่เหลือหลังจากแถว out-of-used-range แรกในอาร์กิวเมนต์ช่วงยาว หลีกเลี่ยงการอ่านเซลล์ที่ไม่จำเป็นในขณะที่รักษาผลลัพธ์ที่คำนวณ
เวอร์ชัน 2.132.11
แก้ไข
- สูตร TEXT ตอนนี้จะส่งกลับ #VALUE! เมื่อรูปแบบตัวเลขที่ไม่ถูกต้องหรือใหญ่เกินไปไม่สามารถประใช้ได้แทนที่จะถูกกลืนเป็นผลลัพธ์ว่างที่สำเร็จ
- การตัดทอนตารางสตริงที่ใช้ร่วมกันตอนนี้จะปลดบล็อกท้ายที่ถูกต้องและรักษาตารางให้ใช้ซ้ำได้หลังจากวงจรการลบขนาดใหญ่
เวอร์ชัน 2.132.10
แก้ไข
- การค้นหา exact ของ MATCH ตอนนี้จะเคารพไวลด์การ์ดของ Excel และเมทาดาต้า row-offset ของ XLS แบบคลาสสิกตอนนี้จะละเว้นแถวนอกบล็อกแทนที่จะทำให้โครงสร้างสมุดงานที่บันทึกเสียหาย
- เมทาดาต้าข้อความบีบอัดของ PNG ตอนนี้จะปล่อยบัฟเฟอร์ชั่วคราวอย่างปลอดภัยหากการประมวลผล chunk เกิดข้อยกเว้น
เวอร์ชัน 2.132.9
แก้ไข
- เมทาดาต้าข้อความบีบอัดของ PNG, การแทรกรายการ chunk-list และการจัดการ byte-order ของ CRC ตอนนี้ยังคงเสถียรข้ามแพลตฟอร์ม Windows ที่รองรับ
เวอร์ชัน 2.132.8
แก้ไข
- สูตร LEFT และ RIGHT ตอนนี้จะรายงาน #VALUE! เมื่อ num_chars ไม่สามารถแปลงเป็นจำนวนเต็มที่ถูกต้องได้
เวอร์ชัน 2.132.7
แก้ไข
- สูตร SEARCH ตอนนี้จะรองรับไวลด์การ์ด ?, * และ ~ แบบ Excel
- การตรวจสอบชื่อแผ่นงานตอนนี้จะปฏิเสธอักขระชื่อแผ่นงาน Excel ที่ไม่ถูกต้องเมื่อเปลี่ยนชื่อแผ่นงาน
- การลบตัวแบ่งหน้าด้วยมือตอนนี้จะทำงานหลังจากแทรกตัวแบ่งก่อนตัวแบ่งที่มีอยู่
เวอร์ชัน 2.132.6
แก้ไข
- สูตร DATE ตอนนี้จะตรงกับพฤติกรรมการ rollover เดือนและวันที่เข้ากันได้กับ Excel รวมถึงการเรียกเช่น DATE(2008,14,2)
- การอ่าน Hidden ของช่วงคอลัมน์ตอนนี้จะรายงานการมองเห็นของแต่ละคอลัมน์แทนที่จะผสมสถานะการมองเห็นแถวเข้าไป
- เมทาดาต้าแถว BIFF ที่ขีดจำกัดแถว Excel 97-2003 ตอนนี้จะโหลดอย่างถูกต้อง จึงการตั้งค่าสำหรับแถว 65536 ถูกรักษา
เวอร์ชัน 2.132.5
แก้ไข
- การโหลดสมุดงาน BIFF ตอนนี้จะทนต่อสีแท็บแผ่นงานที่มีรูปแบบผิด, ป้าย pivot ที่ถูกตัดทอน และ fragment วันที่ pivot-cache ที่ไม่ถูกต้องโดยไม่ยกข้อยกเว้น
- การโหลดแพ็กเกจและสตรีมสมุดงานตอนนี้จะทำความสะอาดเส้นทางการตั้งค่าอาร์ไคฟ์และที่เก็บที่ล้มเหลวอย่างสม่ำเสมอมากขึ้น หลีกเลี่ยงทรัพยากรที่รั่วบนอินพุตที่มีรูปแบบผิดหรือการเปิดที่เก็บสตรีม-backed ที่ล้มเหลว
เวอร์ชัน 2.132.4
แก้ไข
- การจัดการอาร์ไคฟ์ ZIP ตอนนี้จะสรุปแพ็กเกจปัจจุบันก่อนนำออบเจกต์อาร์ไคฟ์เดียวกันมาใช้ใหม่สำหรับแพ็กเกจอื่น และการเปิดอาร์ไคฟ์แบบ file-based ตอนนี้จะอนุญาตตัวอ่านที่ใช้ร่วมกันพร้อมกัน
เวอร์ชัน 2.132.3
แก้ไข
- การเขียนแพ็กเกจสมุดงานตอนนี้จะรักษาชื่อ entry ZIP ที่ไม่ใช่ ASCII พร้อมเมทาดาต้า UTF-8 ป้องกัน mojibake เมื่อชื่อส่วนแพ็กเกจมีข้อความ Unicode
- เอาต์พุต XML ตอนนี้จะเขียนข้อความดิบและค่าแอตทริบิวต์เป็นไบต์ UTF-8 เมื่อปิดใช้งานการ escaping ให้ตรงกับการเข้ารหัสเอกสารที่ประกาศ
- การประเมินสูตรตอนนี้จะล้างสถานะ in-progress หลังจากข้อยกเว้น callback และจัดการการยกเลิกตัวเลขใหญ่บน Unicode Delphi builds อย่างถูกต้อง
- การสกัดเมทริกซ์สูตรอาร์เรย์ตอนนี้จะเคารพขอบเขตล่างอาร์เรย์ Variant ที่ไม่เป็นศูนย์แทนที่จะยกข้อยกเว้นสำหรับอาร์เรย์ one-based ที่ถูกต้อง
เวอร์ชัน 2.132.2
เปลี่ยนแปลง
- การเรียงลำดับช่วงตอนนี้จะใช้ pass การจัดเรียง O(n log n) แบบเสถียรสำหรับช่วงที่จัดเรียงขนาดใหญ่ ในขณะที่รักษาพฤติกรรม round-trip เนื้อหาแถวที่มีอยู่
- การแยกวิเคราะห์และจัดรูปแบบตัวเลข ODS และ XLSX ตอนนี้จะนำสถานะการจัดรูปแบบ invariant กลับมาใช้ใหม่แทนที่จะสร้างซ้ำใน hot paths
แก้ไข
- การแยกวิเคราะห์ XML ตอนนี้จะยอมรับบล็อก CDATA ที่ถูกต้องและ processing instructions UTF-8 โดยไม่ทำให้ข้อความเสียหายหรือล้มเหลวบน markup ที่ถูกต้อง
- การแยกวิเคราะห์สูตรตอนนี้จะยอมรับสัญกรณ์วิทยาศาสตร์ที่มีเครื่องหมายและปฏิเสธไบต์สูตรที่มีรูปแบบผิดหรือถูกตัดทอนอย่างสะอาด
- เส้นทางเปิดและบันทึกสมุดงานแบบคลาสสิกตอนนี้จะปล่อยสตรีมและที่เก็บอย่างน่าเชื่อถือหลังจากข้อผิดพลาด ป้องกันไฟล์ชั่วคราวจากการถูกล็อกต่อไป
- การจัดการบัฟเฟอร์ไบนารีตอนนี้จะตรวจสอบขอบเขต copy และ read, เติบโตบัฟเฟอร์ปลายทางก่อนคัดลอก และปฏิเสธ back-reference การบีบอัด VBA ที่มีรูปแบบผิดอย่างสะอาด
เวอร์ชัน 2.132.1
แก้ไข
- แก้ไขข้อความ error ที่ยกเมื่อสมุดงานที่เข้ารหัสใช้ scheme การเข้ารหัสที่ไม่รองรับ: ก่อนหน้านี้มันอ้างว่า ECMA-376 Agile Encryption ไม่สามารถอ่านได้ แม้ว่าการถอดรหัส Agile (AES-128/192/256) ได้รับการสนับสนุนตั้งแต่ 2.119.0 ข้อความตอนนี้จะแสดงรายการ scheme ที่รองรับจริง
- Open ตอนนี้จะชี้ผู้เรียกไปที่ TXLSXWorkbook.OpenEncrypted เมื่อมันปฏิเสธแพ็กเกจ OOXML ที่เข้ารหัส แทนที่จะระบุว่าสมุดงานที่เข้ารหัสไม่ได้รับการสนับสนุน
เวอร์ชัน 2.132.0
เปลี่ยนแปลง
- การโหลด XLSX เร็วขึ้นอย่างมาก: ตัวอ่าน XML ตอนนี้จะ intern ชื่อองค์ประกอบที่ซ้ำและแปลงค่าข้อความและแอตทริบิวต์จากบัฟเฟอร์สแกนของมันโดยตรง ลดการจองหน่วยความจำรายเซลล์ลงมากกว่าครึ่ง การเปิด multi-threaded (2.128.0) ได้ประโยชน์มากที่สุด — การจองที่นำออกคือสิ่งที่ทำให้ worker thread serialized — สมุดงานหลายแผ่นตอนนี้เปิดเร็วขึ้นใกล้สองเท่าของเส้นทาง single-threaded บนเครื่อง multi-core; การเปิด single-threaded ก็ได้รับเปอร์เซ็นต์เล็กน้อย
เวอร์ชัน 2.131.0
เพิ่มเติม
- บล็อกส่วนขยายแผ่นงานที่ HotXLS ไม่ได้สร้างโมเดล — entry
<ext>ใน<extLst>ของแผ่นงานอื่นที่ไม่ใช่ sparklines, ตามที่ Excel เขียนสำหรับคุณลักษณะเช่น conditional formatting x14 หรือ slicer — ตอนนี้ถูกเก็บรักษาตามตัวอักษรเมื่อสมุดงานถูกเปิดและเขียนกลับเมื่อบันทึก จึงการเปิดและบันทึกใหม่ของไฟล์ไม่ถอดส่วนขยายเหล่านั้นอีกต่อไป บล็อกที่จับมองเห็นได้แบบอ่านอย่างเดียวผ่านWorksheet.RawWorksheetExtsและเดินทางไปกับแผ่นเมื่อมันถูกคัดลอกไปยังสมุดงานอื่น
เวอร์ชัน 2.130.0
เพิ่มเติม
- สมุดงานที่บันทึกซึ่งมีสูตรตอนนี้จะมีส่วน calculation-chain
xl/calcChain.xmlให้ Excel seed เอนจินการขึ้นต่อของมันจากลำดับที่บันทึกแทนที่จะสร้างใหม่เมื่อโหลด หลังจากการเรียกRecalculatechain จะตามลำดับ topological ของกราฟการขึ้นต่อ; มิฉะนั้นเซลล์สูตรจะถูกแสดงในลำดับเอกสาร (hint ที่ถูกต้องที่ Excel ปรับปรุงทันที) ส่วน, content type และความสัมพันธ์สมุดงานของมันถูกปล่อยไปด้วยกันและอยู่รอดผ่าน round-trip เปิด/บันทึก
เวอร์ชัน 2.129.0
เพิ่มเติม
- คุณสมบัติ
Workbook.ParallelParseThreadsใหม่ปรับจำนวน worker สำหรับเส้นทาง Open multi-threaded ที่แนะนำใน 2.128.0 (0 = อัตโนมัติ, worker หนึ่งตัวต่อ CPU core) การแยกวิเคราะห์แผ่นงานจองหนักและการจองหน่วยความจำถูก serialized ข้าม thread จึงบนบาง workload การจำกัดเล็กน้อยอย่างชัดเจนทำงานได้ดีเท่ากับ — หรือดีกว่า — จำนวน core เต็ม; คุณสมบัติให้ integrator เลือกสิ่งที่วัดได้ดีที่สุดสำหรับไฟล์ของพวกเขา
เวอร์ชัน 2.128.0
เพิ่มเติม
- การโหลด XLSX multi-threaded: การเปิดสมุดงานตอนนี้แยกวิเคราะห์ XML ของแต่ละแผ่นงาน — ต้นทุนหลักบนไฟล์ขนาดใหญ่ — บน worker thread จึงสมุดงานหลายแผ่นเปิดเร็วขึ้นบนเครื่อง multi-core ส่วนแผ่นงานถูกสกัดจากแพ็กเกจล่วงหน้าและแต่ละ worker แตะเฉพาะแผ่นงานของตัวเอง จึงสมุดงานที่โหลดเหมือนกับผลลัพธ์ serial
- คุณสมบัติ
Workbook.ParallelParseใหม่ (ค่าเริ่มต้นTrue) สลับกลับไปเป็นการแยกวิเคราะห์ single-threaded เมื่อตั้งเป็นFalseก่อนOpen— การ opt-out แบบหนึ่งบรรทัดสำหรับสภาพแวดล้อมที่จำกัด
เปลี่ยนแปลง
- callback การอ่าน
OnProgressยังคงเริ่มการทำงานหนึ่งครั้งต่อแผ่นงานบน calling thread ตอนนี้เมื่อแต่ละแผ่นถูกส่งไปแยกวิเคราะห์แทนที่จะเคร่งครัดระหว่างแผ่น
เวอร์ชัน 2.127.0
เพิ่มเติม
- การคำนวณใหม่แบบ incremental บนเอนจิน XLSX: เมธอด
Workbook.Recalculateใหม่จะสร้างกราฟการขึ้นต่อของสูตร, ประเมินทุกเซลล์สูตรหนึ่งครั้งตามลำดับการขึ้นต่อ และจัดเก็บแต่ละผลลัพธ์ในค่าที่แคชของเซลล์ การเรียกที่ตามมาจะประเมินใหม่เฉพาะเซลล์ที่ได้รับผลกระทบจากการเปลี่ยนแปลงค่านับตั้งแต่ pass ล่าสุด — บนโมเดลที่ถูกล่ามโซ่ (แผ่นการเงิน, cascade รายงาน) การแก้ไขหนึ่ง input จะคำนวณใหม่เฉพาะสูตร downstream ของมันแทนที่ทั้งสมุดงาน - ฟังก์ชัน volatile (
NOW,TODAY,RAND,OFFSET,INDIRECT) จะคำนวณใหม่ทุก pass เช่นเดียวกับสูตรที่การอ้างอิงของมันไม่สามารถแก้ได้แบบ static (ชื่อหลายพื้นที่, สมุดงานภายนอก) — เอนจินจะคำนวณมากเกินไปแทนที่เสี่ยงผลลัพธ์เก่า - วงรอบการอ้างอิงถูกตรวจจับแทนที่จะวนซ้ำ:
Recalculateจะส่งรหัสข้อผิดพลาดเมื่อสูตรเป็น chain หมุนเวียน, ข้ามสมาชิกวงรอบ และยังประเมินทุกสูตรนอกวงรอบ การอ้างอิงข้ามแผ่น, ช่วงที่มีชื่อ และสูตรอาร์เรย์ CSE (ผลลัพธ์ spill ทั่วช่วงที่ยึด) มีส่วนร่วมในกราฟการขึ้นต่ออย่างเต็ม
เปลี่ยนแปลง
- เส้นทาง
Calculateแบบ on-demand ที่มีอยู่ไม่เปลี่ยนแปลง;Recalculateเป็น API opt-in แยกต่างหากและสมุดงานที่ไม่เคยเรียกมันทำตัวเหมือนเดิมทุกประการ
เวอร์ชัน 2.126.0
เพิ่มเติม
- Sparkline บนเอนจิน XLSX: แผ่นงานตอนนี้มีกลุ่ม sparkline — มินิแผนภูมิในเซลล์ที่ Excel เรนเดอร์จากช่วงข้อมูล — กับสามประเภทของ Excel (เส้น, คอลัมน์, win/loss stacked) สร้างหนึ่งด้วย
Worksheet.AddSparklineGroupหรือสร้างกลุ่มด้วยมือผ่านคอลเลกชันWorksheet.SparklineGroupsใหม่ เพิ่ม sparkline จำนวนเท่าใดก็ได้ต่อกลุ่มพร้อมช่วงต้นทางและเซลล์แสดงผลแต่ละตัว - กลุ่ม sparkline เปิดเผยชุดตัวเลือกเต็มที่ Excel นำเสนอ: น้ำหนักเส้น, ตัวทำเครื่องหมาย data-point, สวิตช์เน้นจุดสูง/ต่ำ/ลบ/แรก/สุดท้าย, ช่องสี ARGB แปดช่อง (ซีรีส์, ลบ, แกน, ตัวทำเครื่องหมาย, แรก, สุดท้าย, สูง, ต่ำ), การปรับสเกลแกนตั้งรายกลุ่มหรือราย sparkline และการจัดการ gap/zero/span สำหรับเซลล์ต้นทางว่าง
- Sparkline อยู่รอดผ่าน round-trip บันทึก→เปิดแบบเต็ม: การบันทึกจะปล่อยบล็อกส่วนขยาย
extLstของแผ่นงาน ([MS-XLSX] §2.3.6) จึง Excel 2010 ขึ้นไปเรนเดอร์ sparkline และการเปิดสมุดงานดังกล่าว — ไม่ว่าเขียนโดย HotXLS หรือ Excel — จะสร้างทุกกลุ่ม, ตัวเลือกและช่วงใหม่ จึงพวกมันอยู่รอดผ่านวงจรแก้ไข การคัดลอกแผ่นไปยังสมุดงานอื่นก็โคลนกลุ่ม sparkline ของมันด้วย
เวอร์ชัน 2.125.0
เพิ่มเติม
- ฟังก์ชันข้อความนับไบต์ DBCS เจ็ดฟังก์ชันตอนนี้ประเมินบนทั้งสองเอนจิน:
LEFTB,RIGHTB,MIDB,LENB,FINDB,SEARCHBและREPLACEBแต่ละฟังก์ชันฏิบัติต่ออินพุตเป็นสตริงไบต์ภายใต้รหัส ANSI ของระบบ จึงอักขระ CJK (จีน/ญี่ปุ่น/เกาหลี) ใช้ 2 ไบต์ขณะที่ ASCII ใช้ 1; การดำเนินการที่จะแยกคู่ไบต์ lead/trail ของ DBCS จะสแนปกลับไปยังขอบเขตอักขระที่ใกล้ที่สุด ให้ตรงกับพฤติกรรมของ Excel
เวอร์ชัน 2.124.0
เพิ่มเติม
- ฟังก์ชันทดสอบสมมุติฐานและการแจกแจงห้าฟังก์ชันตอนนี้ประเมินบนทั้งสองเอนจิน:
Z.TEST(ความน่าจะเป็นหางขวาแบบหางเดียวที่ค่าเฉลี่ยตัวอย่างอย่างน้อยxภายใต้สมมุติฐานว่าง),T.TEST(ค่า p ของ t-test สองตัวอย่างคู่; ประเภทความแปรปรวนเท่า/ไม่เท่าแบบ unpaired ถูกเลื่อนออกไป),CHISQ.TEST(ค่า p goodness-of-fit ผ่าน CDF ไค-สแควร์หางบน),HYPGEOM.DIST(PMF/CDF hypergeometric พร้อมแฟล็ก cumulative) และNEGBINOM.DIST(PMF/CDF negative-binomial) คณิตศาสตร์ค่า p ใช้ตัวช่วย CDF normal/Student-t/ไค-สแควร์ที่มีอยู่ของเอนจินผ่าน routine nested แบบ self-contained จึงไม่มีเมธอด Calc ที่มีอยู่เปลี่ยนแปลง
เวอร์ชัน 2.123.0
เพิ่มเติม
- ฟังก์ชันสูตรสิบสี่ฟังก์ชันจากการทบทวนช่องว่างความเข้ากันได้ตอนนี้ประเมินบนทั้งสองเอนจิน:
AVERAGEIF(ค่าเฉลี่ยเกณฑ์เดียว, sibling ของ SUMIF/COUNTIF ที่เอนจินขาด),WORKDAY.INTLและNETWORKDAYS.INTL(หน้ากาก weekend กำหนดเองผ่านรหัสตัวเลข 1-17 หรือสตริง 7-อักขระ Mon-Sun),XIRRและXNPV(อัตราผลตอบแทนภายในและมูลค่าปัจจุบันสุทธิสำหรับกระแสเงินสดวันที่ไม่สม่ำเสมอ, แก้โดย bisection แบบ bracketing),CEILING.PRECISE/FLOOR.PRECISE/ISO.CEILING(การปัดเศษโดยไม่คำนึงถึงเครื่องหมาย),PERCENTRANK.INC/PERCENTRANK.EXC(percentile rank พร้อมการแก้ค่าแทรก inclusive/exclusive ที่ตรงกัน),MODE.MULT(spill ทุกค่าที่เท่ากับความถี่สูงสุด),ERF.PRECISE(Gauss error function ผ่านอนุกรมสลับ),ACCRINT(ดอกเบี้ยค้างรับ) และISPMT(ดอกเบี้ยงวดสำหรับการคืนเงินต้นคงที่)
เวอร์ชัน 2.122.0
เพิ่มเติม
- ความคิดเห็นแบบเธรด (Excel 365) ตอนนี้ round-trip บนเอนจิน XLSX:
AddThreadedCommentและAddThreadedReplyบนแผ่นงานสร้างต้นไม้ตอบกลับ parent→child ที่ยึดกับเซลล์, ลงทะเบียนผู้แต่ละคนบน listPersonsระดับสมุดงานใหม่อัตโนมัติ และปล่อยส่วนเฉพาะxl/threadedComments/threadedCommentN.xmlต่อแผ่นพร้อมxl/person/person.xmlระดับสมุดงาน; การเปิดแพ็กเกจดังกล่าวใหม่จะสร้างต้นไม้การสนทนาและรายการผู้เข้าร่วมจากส่วนเหล่านั้น จึง chain ตอบกลับ, ตัวระบุ และชื่อที่แสดงอยู่รอดผ่านวงจร อ่าน→เขียน แบบเต็ม
เวอร์ชัน 2.121.0
เพิ่มเติม
- ตัวประเมินสูตรตอนนี้คำนวณฟังก์ชัน dynamic-array ของ Excel 365
XMATCH,SORT,UNIQUEและSEQUENCE, เข้าร่วมXLOOKUPและFILTERที่รองรับอยู่แล้ว; ผลลัพธ์ spill เป็นอาร์เรย์ 2-D จึงSEQUENCE(3;2;1;1)ส่งกลับกริด 3×2,SORTเรียงแถวใหม่ตามคอลัมน์คีย์ใด ๆ จากน้อยไปมากหรือมากไปน้อย,UNIQUEยุบแถวซ้ำเก็บ occurrence แรก และXMATCHรายงานตำแหน่งฐานหนึ่งของค่า lookup ด้วยโหมด match exact/wildcard/next-smaller/next-larger เดียวกับXLOOKUP
เวอร์ชัน 2.120.0
เพิ่มเติม
- เมธอด
PasteFromClipboardใหม่บนแผ่นงานของทั้งสองเอนจินอ่านข้อความ tab-delimited จากคลิปบอร์ดของ Windows — payload ที่ Excel วางไว้เมื่อช่วงถูกคัดลอก หรือการเลือกธรรมดาจากแอปพลิเคชันอื่นใด — และเขียนลงในเซลล์เริ่มต้นที่แถวและคอลัมน์ที่กำหนด ด้วยการส่งเสริมประเภท number/date/boolean เดียวกับที่ CSV loader ใช้อยู่แล้ว; ข้อความ=นำหน้ากลายเป็นสูตรสด ให้ตรงกับวิธีที่ Excel วางด้วยตัวเอง
เวอร์ชัน 2.119.0
เพิ่มเติม
- การอ่าน ECMA-376 Agile Encryption — การป้องกันด้วยรหัสผ่านที่ Excel 2010 ขึ้นไปใช้โดยค่าเริ่มต้น:
OpenEncryptedตอนนี้แยกวิเคราะห์ descriptor XML การเข้ารหัส, ได้มาซึ่งคีย์ด้วยการแฮช SHA-512 spin-count, ตรวจสอบรหัสผ่าน และถอดรหัสแพ็กเกจ segmented AES-CBC (AES-128/192/256) จึงสมุดงานที่ป้องกันด้วยรหัสผ่านโดยตรงใน Excel เปิดได้โดยไม่ต้องติดตั้ง Excel OpenEncryptedจัดการทั้งสามกรณีผ่าน entry point เดียว:.xlsxธรรมดาไม่เข้ารหัส, Standard Encryption (round trip ของSaveAsEncryptedเรา) และ Agile Encryption; รหัสผ่านผิดยก error ชัดเจนเดียวกันในทุก scheme
แก้ไข
- การบันทึกสมุดงาน
.xlsxที่ XML แผ่นงานเกินประมาณ 116 KB — ประมาณ 3,000 แถวของข้อมูลสตริงทั่วไป — ล้มด้วย stack overflow; ตัวเขียน CRC-32 checksum ของ ZIP ตอนนี้ประมวลผลข้อมูลเป็นส่วน 64 KB ซึ่งเก็บ backend การบีบอัดออกจากเส้นทางโค้ดอินพุตขนาดใหญ่ที่จอง scratch buffer ขนาดใหญ่เกินไปบน stack ผลลัพธ์ checksum ไม่เปลี่ยนแปลง
เปลี่ยนแปลง
- การลดความซ้ำสตริงที่ใช้ร่วมกันตอนนี้ทำงานผ่าน hash table แทนที่สแกนรายการสตริง และส่วน
sharedStrings.xmlถูกประกอบผ่าน string builder ที่เติบโตไว้ล่วงหน้าแทนการต่อกันซ้ำ — ร่วมกับดัชนีเซลล์คงที่สิ่งนี้นำการบันทึกเซลล์สตริง 120,000 เซลล์จากหลายสิบวินาทีลงเหลือประมาณหนึ่งในสามวินาที
เวอร์ชัน 2.117.0
เปลี่ยนแปลง
- การเข้าถึงเซลล์ XLSX ตอนนี้เป็นคงที่: คอลเลกชันเซลล์แผ่นงานมีดัชนีแฮชบน (แถว, คอลัมน์) แทนที่การสแกนเชิงเส้นเดิม — จึงการเติม, การอ่านกลับ หรือการโหลดแผ่นขนาดใหญ่ขยายเชิงเส้นตามจำนวนเซลล์แทนที่กำลังสอง; การเติม 100,000 เซลล์ตอนนี้ใช้เวลาต่ำกว่าหนึ่งวินาทีอย่างเห็นได้ชัดในขณะที่ก่อนหน้านี้ใช้เป็นนาที
- การเร่งความเร็วใช้ได้ทั่วเอนจิน:
Cells[r, c],HasCell, การโหลดสมุดงาน, การบันทึก, การคัดลอกข้ามสมุดงาน, auto-fit และทุกตัวช่วยที่แตะเซลล์ตามตำแหน่งได้ประโยชน์ทั้งหมด; การแทรกหรือลบแถวและคอลัมน์สร้างดัชนีใหม่ใน pass เดียว
เวอร์ชัน 2.116.0
เพิ่มเติม
- การส่งออก PDF ในเอนจิน XLS แบบคลาสสิก: เมธอด
SaveAsPDFใหม่บนแผ่นงานและสมุดงานเรนเดอร์ช่วงที่ใช้ (หรือช่วงที่ผู้เรียกส่งผ่านTXLSPDFExport) เป็นตารางแบ่งหน้า — ข้อความแสดงเซลล์ผ่านรูปแบบตัวเลข, เส้นตาราง, ความกว้างคอลัมน์ที่ได้จากความกว้าง Excel และปรับให้พอดีหน้า และการแบ่งหน้าหลายหน้าอัตโนมัติ - เอาต์พุตเป็นไฟล์ PDF 1.4 แบบ self-contained โดยไม่มี dependency ภายนอก ใช้ฟอนต์ Helvetica built-in พร้อมการเข้ารหัสข้อความ WinAnsi; การวางแนว A4 แนวตั้งหรือแนวนอน, ระยะขอบหน้า และขนาดฟอนต์กำหนดค่าได้บนตัวส่งออก
- นี่คือการส่งออกการนำเสนอข้อมูลควบคู่กับ HTML และ RTF: มันสร้างเนื้อหาและเลย์เอาต์แบบตารางสำหรับรายงานและการส่งมอบเอกสารแทนการจัดสไตล์รายเซลล์แบบเต็ม
เวอร์ชัน 2.115.0
เพิ่มเติม
- การสร้างแผนภูมิแบบ one-call จากช่วงข้อมูลในเอนจิน XLSX:
AddChartFromRangeใหม่สร้างแผนภูมิที่สมบูรณ์และได้ซีรีส์อัตโนมัติจากบล็อกข้อมูลสี่เหลี่ยม — เทียบเท่ากับ "insert chart from selection" ของ Excel — ด้วยเลย์เอาต์ซีรีส์ในคอลัมน์หรือซีรีส์ในแถวแบบ transpose - ทางลัดที่มีชื่อ
AddColumnChart,AddBarChart,AddLineChart,AddPieChartและAddAreaChartเลือกประเภทแผนภูมิตามชื่อบนโฟลว์ one-call เดียวกัน อ่านชื่อซีรีส์จากแถวส่วนหัวและป้ายหมวดหมู่จากคอลัมน์แรก - การอ้างอิงซีรีส์ผ่านชื่อแผ่นงานต้นทางที่ใส่เครื่องหมายคำพูด จึงแผนภูมิที่สร้างขึ้นยังทำงานเมื่อวางบนแผ่นใด ๆ และอยู่รอดผ่านการบันทึกและโหลดใหม่
เวอร์ชัน 2.114.0
เพิ่มเติม
- การนำเข้า RTF ในเอนจิน XLS แบบคลาสสิก, ผกผันกับการส่งออก
SaveAsRTFที่มีอยู่: เมธอดOpenRTFใหม่บนแผ่นงานและสมุดงานอ่านตารางของเอกสาร RTF ลงในเซลล์แผ่นงาน —\cellเลื่อนคอลัมน์,\rowเลื่อนแถว — เริ่มที่ A1 - กู้คืนข้อมูลแบบตารางจากไฟล์ที่ผลิตโดย
SaveAsRTF, Word หรือ WordPad: ข้อความตัวเลขถูกจัดเก็บเป็นตัวเลข จึงสูตรยังทำงาน, escape hex (\'hh) และ Unicode (\uN) ถอดรหัสอย่างถูกต้อง และกลุ่มส่วนหัว (ตารางฟอนต์, ตารางสี, stylesheet, info) ถูกข้าม - เอกสารที่ไม่มีตารางจะกลับไปเป็นโหมดย่อหน้า นำเข้าแต่ละ
\parเป็นแถวถัดไปในคอลัมน์ A
เวอร์ชัน 2.113.0
เพิ่มเติม
- การอ่านสมุดงาน
.xlsxที่เข้ารหัส:OpenEncryptedตอนนี้ถอดรหัสแพ็กเกจ ECMA-376 Standard Encryption (AES-128), ทำให้ round-trip สมบูรณ์กับSaveAsEncryptedที่มีอยู่ — มันอ่านคอนเทนเนอร์ไฟล์คอมพาวด์, ได้คีย์จากรหัสผ่าน, ตรวจสอบ และโหลดสมุดงานที่กู้คืน - รหัสผ่านผิดยก error "password is incorrect" ที่ชัดเจน และ
OpenEncryptedบน.xlsxธรรมดาไม่เข้ารหัสยังคงโหลดโดยตรง จึงผู้เรียกสามารถกำหนดเส้นทางทุกไฟล์ผ่าน entry point เดียว
เปลี่ยนแปลง
- ข้อความ unsupported-encryption ตอนนี้จะระบุ ECMA-376 Agile Encryption โดยเฉพาะว่าเป็น scheme ที่ไม่รองรับที่เหลืออยู่ เนื่องจากการอ่านและเขียน Standard Encryption ทั้งคู่พร้อมใช้งาน
เวอร์ชัน 2.112.0
เพิ่มเติม
- คุณสมบัติ
TaggedTextใหม่บนเซลล์ XLSX แปลงระหว่าง rich text และ markup น้ำหนักเบา:<b>,<i>,<u>,<s>,<sub>,<sup>,<color=#RRGGBB>,<font=Name>และ<size=N>พร้อม escape</>/&— จึงเนื้อหาเซลล์หลายรูปแบบสามารถผลิตจากสตริงเทมเพลตแทนการประกอบออบเจกต์ run ด้วยมือ - การเขียน markup สร้างรายการ run และเก็บ
Valueเป็นข้อความธรรมดาที่ต่อกัน; markup ที่ไม่มีแท็กจัดเก็บสตริงธรรมดาโดยไม่มีเพย์โหลด rich; การอ่านทำให้แอตทริบิวต์ของแต่ละ run เป็นชุดแท็กที่สมบูรณ์; แท็กที่ไม่รู้จักผ่านเป็นข้อความ literal
แก้ไข
- run rich-text ที่ประกอบด้วยช่องว่างทั้งหมด (เช่นช่องว่างที่มีสไตล์เดียวระหว่างคำ) ตอนนี้อยู่รอดผ่านการบันทึกและโหลดใหม่; ก่อนหน้านี้ช่องว่างถูกทิ้งเมื่อไฟล์เปิดใหม่
เวอร์ชัน 2.111.0
เพิ่มเติม
- อีเวนต์
OnProgressใหม่บนสมุดงาน XLSX รายงานความคืบหน้าการโหลดและบันทึก: มันเริ่มการทำงานหนึ่งครั้งต่อแผ่นงานเมื่อมันถูกแยกวิเคราะห์ระหว่างOpenหรือปล่อยระหว่างSaveAsพร้อมเฟส (อ่านหรือเขียน), หมายเลขแผ่น 1-based ปัจจุบัน และผลรวม — จึงแอปพลิเคชันสามารถขับ progress bar เหนือการดำเนินงานหลายแผ่นยาวนานที่ต้นทุน callback ที่น้อยที่สุด
เวอร์ชัน 2.110.0
เพิ่มเติม
- ตัวชี้แถวสไตล์ dataset
TXLSRowCursorใหม่สำหรับไฟล์.xlsx/.xlsm:Open,SelectSheetแล้วFindFirst/FindNextเดินแผ่นงานทีละแถวโดยมีเฉพาะเซลล์ของแถวปัจจุบันในหน่วยความจำ — ทางเลือก pull-driven ของ callback ของTXLSDirectReaderสำหรับการประมวลผลแผ่นงานหลายล้านแถวตามลำดับ - แต่ละแถวเปิดเผยหมายเลขแถวแผ่นงาน 1-based, เซลล์ที่เติมตามลำดับเอกสาร (ค่ามีประเภท, ข้อความสูตร, ดัชนีสไตล์) และ lookup
ValueByColที่ส่งกลับNullสำหรับคอลัมน์ที่ไม่ได้เติมในแถวนั้น; แถวที่ไม่มีเซลล์ที่เติมจะถูกข้าม - ชื่อแผ่นงานและจำนวนพร้อมใช้งานหลัง
Open(overload ไฟล์และสตรีม) พร้อมสตริงที่ใช้ร่วมกันและการตรวจจับรูปแบบวันที่ที่จัดการเหมือนกับตัวอ่านสตรีมมิง
เวอร์ชัน 2.109.0
เพิ่มเติม
- "แปรงรูปแบบ"
TXLSXCellFormatใหม่สำหรับเอนจิน XLSX: อธิบายฟอนต์, เติมเต็ม, เส้นขอบ, การจัดวาง, รูปแบบตัวเลข และการป้องกันครั้งเดียว แล้วประทับเป้าหมายจำนวนเท่าใดก็ได้ด้วยApply(เซลล์เดียว),ApplyRange,ApplyRows,ApplyColsหรือApplySheet - เฉพาะด้านที่แตะจริงเท่านั้นที่ถูกประใช้ — แปรงที่ตั้งเพียง
Font.Boldทิ้งเติมเต็ม, เส้นขอบ และรูปแบบตัวเลขของเป้าหมายไว้ไม่ถูกแตะ — จึงแปรงประกอบกับการจัดรูปแบบที่มีอยู่เหมือน format painter ของ Excel - แต่ละ apply แก้ด้านที่แตะเข้าสู่พูลสไตล์สมุดงานครั้งเดียวแล้วเขียนเฉพาะดัชนีพูลต่อเซลล์ จึงการจัดรูปแบบช่วงขนาดใหญ่ต้นทุนการค้นหาพูลหนึ่งครั้งต่อด้านแทนที่ต่อเซลล์;
ApplyRangematerialize เซลล์ที่ขาดหายไปขณะที่รูปแบบแถว/คอลัมน์/แผ่นประทับเฉพาะเซลล์ที่มีอยู่
เวอร์ชัน 2.108.0
เพิ่มเติม
- ข้อความแสดงบูลีนที่ localizable: ตัวแปร
XLSBooleanTrueText/XLSBooleanFalseTextใหม่ควบคุมวิธีที่ค่าเซลล์บูลีนเรนเดอร์ทุกที่ที่ข้อความแสดงถูกผลิต —FormattedText, การส่งออก HTML และการวัด auto-fit — จึงแอปพลิเคชันที่ localized สามารถแสดงเช่น WAHR/FALSCH หรือ VRAI/FAUX
เปลี่ยนแปลง
- เซลล์บูลีนตอนนี้แสดงเป็น
TRUE/FALSEโดยค่าเริ่มต้น ให้ตรงกับกริดของ Excel แทนการพิมพ์ใหญ่/เล็กTrue/Falseของ runtime
เวอร์ชัน 2.107.0
เพิ่มเติม
- อีเวนต์
OnPasswordใหม่บนสมุดงาน XLS แบบคลาสสิก: เมื่อOpenพบสมุดงานที่เข้ารหัสและรหัสผ่านที่ส่งขาดหายหรือผิด อีเวนต์จะขอรหัสผ่านจากแอปพลิเคชันและลองเปิดใหม่ (สูงสุดสามครั้ง) — จึงเครื่องมือโต้ตอบสามารถ prompt ผู้ใช้แทนที่โหลดรหัสผ่านล่วงหน้าหรือตรวจสอบรหัสข้อผิดพลาด - อีเวนต์รับรหัสผ่านปัจจุบันโดยการอ้างอิงและแฟล็ก
Retry; การปล่อยRetryเป็นFalseจะยอมแพ้และส่งคืนข้อผิดพลาดรหัสผ่านเดิม
เวอร์ชัน 2.106.0
เพิ่มเติม
- คลาส
TXLSFileMonitorใหม่เฝ้าระวังไฟล์สมุดงานบนดิสก์และเริ่มOnFileChangedเมื่อโพรเซสอื่น — โดยทั่วไปคือ Excel — บันทึกทับมัน จึงแอปพลิเคชันสามารถโหลดใหม่และรีเฟรชมุมมองอัตโนมัติ - ใช้ polling (เวลาเขียนล่าสุดบวกขนาด,
IntervalMsกำหนดค่าได้, ค่าเริ่มต้น 1 วินาที) จึงทำงานบนดิสก์ในเครื่องและ network share เหมือนกันโดยไม่มี message loop;SynchronizeEventเลือกระหว่างการส่งมอบ main-thread สำหรับ handler UI (ค่าเริ่มต้น) และการส่งมอบ watcher-thread โดยตรงสำหรับโค้ด console หรือ service - ไฟล์ที่หายไปชั่วคราวระหว่างวงจรการบันทึกจะไม่เริ่มอีเวนต์ false; การเปลี่ยนแปลงถูกรายงานเมื่อเนื้อหาใหม่เข้าที่
เวอร์ชัน 2.105.0
เพิ่มเติม
- auto-fit แบบมีขอบเขตในเอนจิน XLS แบบคลาสสิก ให้ตรงกับขีดจำกัดที่เอนจิน XLSX นำเสนออยู่แล้ว: overload
AutoFit(Columns, AMin, AMax),ColumnsAutoFit(AMinWidth, AMaxWidth)และRowsAutoFit(AMinHeight, AMaxHeight)ใหม่ clamp ทุกความกว้างคอลัมน์ที่ถูก fit (หน่วยความกว้าง Excel) หรือความสูงแถว (พอยต์) สู่ช่วงที่กำหนด — 0 ปล่อยด้านหนึ่งไม่จำกัด และคอลัมน์หรือแถวที่ว่างทั้งหมดยังคงได้รับค่าต่ำสุดที่ร้องขอ
เวอร์ชัน 2.104.0
เพิ่มเติม
- คุณสมบัติ
FormattedTextแบบอ่านอย่างเดียวใหม่ส่งคืนข้อความแสดงของเซลล์ — ค่าที่จัดเก็บเรนเดอร์ผ่านรูปแบบตัวเลข, วิธีที่ Excel แสดงในกริด — ครอบคลุมตัวคั่นหลักพัน, ทศนิยม, เปอร์เซ็นต์, มาสก์วันที่และเวลา, มาสก์ multi-section บวก/ลบ/ศูนย์ และรูปแบบบูลีน - พร้อมใช้งานในทั้งสองเอนจิน: บน
IXLSRangeในเอนจิน XLS แบบคลาสสิก (ช่วงหลายเซลล์เรนเดอร์เซลล์แอนเคอร์) และบนTXLSXCellในเอนจิน XLSX (เซลล์ rich-text ส่งคืนข้อความ run ที่ต่อกัน)
เวอร์ชัน 2.103.0
เพิ่มเติม
- ฟังก์ชัน
DetectExcelContentFormatใหม่ (overload ชื่อไฟล์และสตรีม) ระบุคอนเทนเนอร์ของสมุดงานจากไบต์นำของมันแทนนามสกุลไฟล์ — รายงานไฟล์คอมพาวด์ BIFF/OLE, แพ็กเกจ OOXML.xlsx, แพ็กเกจ OpenDocument.odsหรือข้อความ delimited ธรรมดา — จึงแอปพลิเคชันสามารถกำหนดเส้นทางไฟล์ที่เปลี่ยนชื่อหรือไม่มีนามสกุลไปยังตัวโหลดที่ถูกต้อง
เปลี่ยนแปลง
TXLSWorkbook.Openตอนนี้ดมกลิ่นลายเซ็นเนื้อหาและปฏิเสธแพ็กเกจ ZIP-based (.xlsxหรือ.odsที่เปลี่ยนชื่อเป็น.xls) ด้วยข้อความชัดเจนที่ระบุตัวโหลดที่ถูกต้อง แทนที่ล้มเหลวด้วยรหัสข้อผิดพลาดที่ทึบTXLSXWorkbook.Openตอนนี้จดจำเนื้อหาไฟล์คอมพาวด์ OLE (.xlsแบบเดิมที่เปลี่ยนชื่อเป็น.xlsxหรือแพ็กเกจที่เข้ารหัส) และรายงานสิ่งที่ไฟล์เป็นจริง ๆ แทนที่จะแสดงข้อผิดพลาดตัวแยกวิเคราะห์ ZIP
เวอร์ชัน 2.102.0
เพิ่มเติม
- การคัดลอกแผ่นงานข้ามสมุดงานในเอนจิน XLS (BIFF8) แบบคลาสสิกตอนนี้นำ defined name ระดับสมุดงานที่สูตรใช้ไปยังปลายทางด้วย — สิ่งเดียวกับที่ Excel ทำเมื่อแผ่นย้ายระหว่างสมุดงาน: ชื่อที่ปลายทางมีอยู่แล้วถูกผูกตามเดิม (ไม่สร้างซ้ำ), ชื่อที่ขาดหายไปถูกลงทะเบียนพร้อมนิยามและการมองเห็นเดิม จึงสูตรคอมไพล์ใหม่เทียบกับมัน และชื่อที่นิยามของมันไม่สามารถแก้ได้ในปลายทาง (เช่น มันชี้ไปที่แผ่นที่ไม่มีอยู่) ทิ้งสูตรไว้ที่ค่าที่คำนวณเหมือนเดิม
เวอร์ชัน 2.101.0
เพิ่มเติม
- การคัดลอกแผ่นงานข้ามสมุดงานในเอนจิน XLS (BIFF8) แบบคลาสสิกตอนนี้ชี้สูตรไปยังสมุดงานต้นทางเป็นลิงก์ภายนอกเมื่อปลายทางไม่มีแผ่นที่ชื่ออ้างถึงและต้นทางถูกบันทึกเป็นไฟล์แล้ว: เซลล์ที่คัดลอกยังคงเป็นสูตรสด (การอ้างอิงของมันสลับไปเป็นรูปแบบ [SourceBook]Sheet), ค่าที่คำนวณของต้นทางถูกเก็บเป็นผลลัพธ์ที่แคช จึงการอ่านยังทำงานจนกว่าลิงก์จะรีเฟรช และการอ้างอิงสมุดงานภายนอก round-trip ผ่านการบันทึกและโหลดใหม่; สูตรที่มีการอ้างอิง defined-name และการคัดลอกจากสมุดงานต้นทางที่ยังไม่บันทึก ยังคงค่าที่คำนวณเหมือนเดิม
เวอร์ชัน 2.100.0
เพิ่มเติม
- สูตรอาร์เรย์ตอนนี้อยู่รอดผ่านการคัดลอกแผ่นงานในเอนจิน XLS (BIFF8) แบบคลาสสิก: แต่ละช่วงอาร์เรย์ถูกสร้างใหม่เป็นทั้งช่วงในสำเนา — ทั้งภายในสมุดงานเดียวกันและข้ามสมุดงาน — ด้วยสูตร root ที่คอมไพล์ใหม่เทียบกับชื่อแผ่นงานของปลายทาง; อาร์เรย์ที่ปลายทางไม่สามารถคอมไพล์ใหม่ได้ยังคงค่าที่คำนวณไว้แทน
แก้ไข
- การคัดลอกช่วงที่มีเซลล์สูตรอาร์เรย์ระหว่างแผ่นงาน XLS แบบคลาสสิกจะไม่เสี่ยงต่อการล้มบนเซลล์ spill (ซึ่งไม่มีต้นไม้สูตรของตัวเอง) อีกต่อไป; เซลล์ดังกล่าวตอนนี้ถ่ายโอนค่าที่คำนวณ
เวอร์ชัน 2.99.0
เพิ่มเติม
- แผ่นแผนภูมิสามารถคัดลอกระหว่างสมุดงาน XLS (BIFF8) แบบคลาสสิกได้แล้ว: สตรีมเรคคอร์ดแผนภูมิถูกโคลนเข้าปลายทาง, การอ้างอิงหมวดหมู่ / ค่า / ชื่อซีรีส์ถูกคอมไพล์ใหม่เทียบกับชื่อแผ่นงานของปลายทาง (ซีรีส์ที่แผ่นไม่มีคู่ชื่อเดียวกันจะกลับไปเป็นการอ้างอิงว่างเพื่อให้ไฟล์ยังเปิดได้), การอ้างอิงฟอนต์แผนภูมิย้ายตามค่าเข้าสู่ตารางฟอนต์ปลายทาง และการตั้งค่าหน้า, สีแท็บ, ซูม และการมองเห็นของแผ่นแผนภูมิมาด้วย; นี่เอาข้อจำกัดที่บันทึกไว้ล่าสุดของการคัดลอกแผ่นงานข้ามสมุดงานออก
เวอร์ชัน 2.98.0
เพิ่มเติม
- การคัดลอกแผ่นงานข้ามสมุดงานในเอนจิน XLS (BIFF8) แบบคลาสสิกตอนนี้รักษาการจัดรูปแบบ rich-text ภายในเซลล์: ฟอนต์ของแต่ละ run การจัดรูปแบบย้ายตามค่าเข้าสู่ตารางฟอนต์ของสมุดงานปลายทางและ run เขียนใหม่ให้ชี้ไปที่มัน จึงสตริงผสมฟอนต์ยังคงรูปลักษณ์แทนที่จะกลับไปเป็นข้อความธรรมดา; ข้อมูล phonetic (ตะวันออกไกล) เดินทางไปกับสตริงด้วย
แก้ไข
- ฟอนต์ที่อ้างอิงเฉพาะโดย run rich-text (และไม่ใช่โดยรูปแบบเซลล์ใด ๆ) จะไม่ถูกทิ้งจากตาราง FONT เมื่อบันทึกสมุดงาน XLS แบบคลาสสิก และ run ตอนนี้ทำตามการจัดเรียงฟอนต์ใหม่เดียวกับรูปแบบเซลล์เมื่อบันทึก จึงสตริง rich-text ยังคงฟอนต์ที่ถูกต้องหลังจากวงจรบันทึก/โหลดใหม่
เวอร์ชัน 2.97.0
เพิ่มเติม
- การคัดลอกแผ่นงานข้ามสมุดงานในเอนจิน XLS (BIFF8) แบบคลาสสิกตอนนี้โคลนรูปภาพที่ฝังด้วย: ไบต์ภาพย้ายเข้าสู่ที่เก็บภาพของสมุดงานปลายทาง (ภาพเหมือนกันถูกใช้ร่วมแทนที่ซ้ำ) และเฟรมภาพแต่ละเฟรมยังคงแอนเคอร์เซลล์, ขนาด, การมองเห็น และสีโปร่งใสของมัน; โปรเจกต์ตัวอย่าง CrossWorkbookCopyXls ใหม่สาธิตการคัดลอกเอนจินคลาสสิกตั้งแต่ต้นจนจบ
เปลี่ยนแปลง
- ข้อจำกัดการคัดลอกข้ามสมุดงาน XLS แบบคลาสสิกตอนนี้ถูกบันทึกไว้: แผ่นแผนภูมิไม่ถูกคัดลอก (AddCopy ส่ง nil สำหรับพวกมัน) และสูตรที่การอ้างอิงแผ่นงานไม่มีแผ่นชื่อเดียวกันในปลายทางยังคงค่าที่คำนวณของต้นทางแทนที่จะกลายเป็นการอ้างอิงภายนอก
เวอร์ชัน 2.96.0
เพิ่มเติม
- การคัดลอกแผ่นงานข้ามสมุดงานในเอนจิน XLS (BIFF8) แบบคลาสสิกตอนนี้โคลนรูปแบบตามเงื่อนไข (กฎ cell-is และ expression, แถบข้อมูล, สเกลสี, ชุดไอคอน และสไตล์ที่แตกต่าง), การตรวจสอบข้อมูล (กฎ list, numeric, date, text-length และ custom พร้อมกล่อง prompt และ error), นิยาม AutoFilter พร้อมเกณฑ์รายคอลัมน์ (ปุ่ม dropdown ถูกสร้างใหม่ในสำเนา) และตาราง (id และชื่อถูกออกใหม่ จึงพวกมันยังคงไม่ซ้ำในสมุดงานปลายทาง); สูตรกฎถูกคอมไพล์ใหม่เทียบกับชื่อแผ่นงานของปลายทาง ให้ตรงกับพฤติกรรมของสูตรเซลล์
เวอร์ชัน 2.95.0
เพิ่มเติม
- แผ่นงาน XLS (BIFF8) แบบคลาสสิกสามารถคัดลอกจากสมุดงานหนึ่งไปยังอีกสมุดงานหนึ่งได้แล้ว: TXLSWorksheets.AddCopy เพิ่มแผ่นใหม่ให้สมุดงานปลายทางและคัดลอกค่าเซลล์, สูตร (เข้ารหัสใหม่เป็นข้อความ จึงปลายทางคอมไพล์ใหม่เทียบกับชื่อแผ่นงานของตัวเอง, รักษาการอ้างอิง 3D ชื่อเดียวกันให้สด), เซลล์ที่ผสาน, ความคิดเห็น, ไฮเปอร์ลิงก์, ความสูงแถว, ความกว้างคอลัมน์, ระดับ outline, pane ที่แช่แข็ง, การป้องกันแผ่นงาน, การตั้งค่าหน้า, ตัวแบ่งหน้าด้วยมือ, สีแท็บ และการตั้งค่ามุมมอง; รูปแบบเซลล์, แถว และคอลัมน์ถูกย้ายตามค่าเข้าสู่ตารางรูปแบบของสมุดงานปลายทาง จึงต้นทางที่มีสไตล์ผลิตสำเนาที่มีสไตล์อย่างอิสระ
- การย้ายรูปแบบข้ามสมุดงานในเอนจิน XLS แบบคลาสสิกตอนนี้ส่งสี RGB และ theme แบบ full-precision ควบคู่กับแต่ละ entry รูปแบบ จึงเติมเต็ม, ฟอนต์ และเส้นขอบยังคงสีที่แม่นยำแทนที่จะกลับไปใช้การประมาณจานสี; นี่ยังใช้กับการวางระดับช่วงระหว่างสมุดงาน
เวอร์ชัน 2.94.0
เพิ่มเติม
- การคัดลอกแผ่นงานข้ามสมุดงานตอนนี้โคลนรูปแบบตามเงื่อนไข (พร้อมสไตล์ที่แตกต่างและเพย์โหลดภาพ dataBar / colorScale / iconSet), ตาราง, การตรวจสอบข้อมูล และแผนภูมิ (ทุกซีรีส์); แต่ละออบเจกต์ย่อย deep-copy สถานะของตัวเองเข้าสู่แผ่นงานปลายทาง
- การอ้างอิงสูตรข้ามสมุดงานเขียนใหม่: การอ้างอิงที่ชื่อแผ่นงานมีอยู่ในปลายทางแก้ตามเดิม มิฉะนั้นมันกลายเป็นการอ้างอิงภายนอกกลับไปยังสมุดงานต้นทาง (ซึ่งลงทะเบียนเป็นลิงก์ภายนอก) หรือ #REF! เมื่อต้นทางไม่มี identity ไฟล์; การเขียนใหม่ประใช้กับสูตรเซลล์, กฎรูปแบบเงื่อนไข, สูตรการตรวจสอบข้อมูล และช่วงซีรีส์แผนภูมิเหมือนกัน
เวอร์ชัน 2.93.0
เพิ่มเติม
- แผ่นงานสามารถคัดลอกจากสมุดงานหนึ่งไปยังอีกสมุดงานหนึ่งได้แล้ว: TXLSXSheets.AddCopy เพิ่มแผ่นใหม่ให้สมุดงานปลายทางและคัดลอกเซลล์, สูตร, ช่วงที่ผสาน, การปรับขนาดคอลัมน์/แถว, แฟล็กซ่อน/ยุบ/outline, freeze pane, สถานะมุมมอง, การป้องกัน, การตั้งค่าหน้า, ช่วง AutoFilter และสีแท็บของแผ่นต้นทางลงบนมัน; ดัชนีสไตล์รายเซลล์หกตัวถูกแม็ปใหม่เข้าสู่พูล Font/Fill/Border/NumberFormat/Alignment/Protection ของสมุดงานปลายทางเองผ่าน lookup value-equality จึงต้นทางที่มีสไตล์ผลิตสำเนาที่มีสไตล์อย่างอิสระแทนที่ดัชนีที่ชี้ไปยังพูลผิด
- พูลสไตล์รายแอตทริบิวต์หกพูล (Fonts, Fills, Borders, NumberFormats, Alignments, Protections) แต่ละพูลเปิดเผย LookupOrAdd 1-based ที่ลดความซ้ำตามค่า; โปรเจกต์ตัวอย่าง CrossWorkbookCopy ใหม่สาธิตการคัดลอกข้ามสมุดงานพร้อมการรักษาสไตล์
เวอร์ชัน 2.92.0
เพิ่มเติม
- สมุดงาน XLSX ตอนนี้รองรับตารางสาระสำคัญ: TXLSXWorksheet.AddPivotTable สแกนช่วงต้นทางแบบ flat, สร้างแคชไพวอตอัตโนมัติ และส่งคืนตารางสาระสำคัญแบบมีประเภทสำหรับการต่อขาแถว / คอลัมน์ / page / data-axis สะท้อน API เอนจิน BIFF8 (XLS) ที่มีมานาน จึงโค้ดเดียวกันกำหนดเป้าไปที่รูปแบบใดรูปแบบหนึ่ง; PivotSetDataFieldFormat กำหนดรูปแบบตัวเลขให้แต่ละฟิลด์ค่าที่รวม
- ตารางสาระสำคัญที่ Excel สร้าง round-trip โดยไม่สูญเสียผ่าน Open แล้ว Save: เอนจิน XLSX รักษานิยามแคชไพวอต, เรคคอร์ดแคช และส่วนตารางสาระสำคัญแต่ละส่วนตามตัวอักษรและเล่นซ้ำไบต์เดิมเมื่อบันทึก จึงการบันทึกสมุดงานใหม่ไม่ทิ้งหรือเปลี่ยนแปลงไพวอตของมันแม้เมื่อพวกมันใช้คุณลักษณะที่โมเดลมีประเภทไม่เปิดเผย
เวอร์ชัน 2.91.0
เพิ่มเติม
- AutoFilter ของแผ่นงานสามารถประใช้กับข้อมูลได้แล้ว จึงสมุดงานที่บันทึกเปิดด้วยแถวที่ไม่ตรงถูกซ่อนอยู่แล้ว สะท้อนสิ่งที่ Excel ทำเมื่อค่าถูกเลือกจาก dropdown ตัวกรอง
- รูปภาพที่ฝังเปิดเผยเรขาคณิตในหน่วยจริง (เซนติเมตร, นิ้ว, พอยต์) ควบคู่กับค่า EMU และสามารถปรับขนาดด้วย scale factor พร้อมการล็อกอัตราส่วนภาพที่เป็นทางเลือก
- ระยะขอบการตั้งค่าหน้าสามารถตั้งเป็นเซนติเมตรโดยตรง เป็นความสะดวกแบบเมตริกเหนือระยะขอบแบบนิ้ว
- แผ่นงาน XLSX ที่ป้องกันตอนนี้เปิดเผยสวิตช์สิทธิ์แบบละเอียดสิบห้าตัว (จัดรูปแบบเซลล์, แทรก/ลบแถวและคอลัมน์, จัดเรียง, AutoFilter, เลือกเซลล์ล็อก/ปลดล็อก และอื่น ๆ) ผ่านคุณสมบัติ AllowOption ใหม่ ให้ตรงกับรายการ checkbox Review > Protect Sheet ของ Excel; การตั้งค่ารายการการกระทำ round-trip ผ่านไฟล์
- แผ่นงาน XLSX สามารถทำซ้ำได้แล้ว (TXLSXSheets.Duplicate): แผ่นใหม่ถูกเพิ่มและเซลล์, ช่วงที่ผสาน, การปรับขนาดคอลัมน์/แถว, freeze pane, สถานะมุมมอง, การป้องกัน, การตั้งค่าหน้า และสีแท็บของต้นทางถูกคัดลอกลงบนมัน สะท้อนคลิกขวาของ Excel > Move or Copy > Create a copy
- โปรเจกต์ตัวอย่างใหม่ยี่สิบสองโปรเจกต์ครอบคลุมความสามารถที่ไลบรารีรองรับ: การเข้ารหัสสมุดงาน, ความคิดเห็นเซลล์, ไฮเปอร์ลิงก์, defined name, การประเมิน AutoFilter, รูปภาพที่ฝัง, เทมเพลตใบแจ้งหนี้, การจัดรูปแบบตามเงื่อนไข XLSX ขั้นสูง, เซลล์ที่ผสาน, outlining แถว/คอลัมน์, freeze pane, เลย์เอาต์หลายแผ่น, สูตรอาร์เรย์, คัดลอก/ย้ายช่วง, ค้นหา/แทนที่, ระบบวันที่, rich text, CSV ขั้นสูง, ตัวเลือกการส่งออก HTML, รูปแบบตัวเลขกำหนดเอง, แถว/คอลัมน์ที่ซ่อน และการป้องกันแผ่นงาน
เวอร์ชัน 2.90.29
เปลี่ยนแปลง
- ตัวอ่านโดยตรงแบบสตรีมมิงตอนนี้นับทุกเซลล์ที่เติมแม้เมื่อไม่มี handler รายเซลล์ติดอยู่ จึงการเรียก ReadFile ธรรมดาสามารถใช้วัดขนาดแผ่นงานได้อย่างรวดเร็ว; จำนวนที่ส่งกลับและคุณสมบัติ CellCount รายงานจำนวนเซลล์ที่เติมที่สแกน
เวอร์ชัน 2.90.28
เพิ่มเติม
- สูตรสามารถประเมินทีละขั้นได้แล้ว เทียบเท่ากับคำสั่ง Evaluate Formula ของ Excel: tracer ใหม่จะลดนิพจน์ทีละขั้นย่อย จากในสุดก่อน และรายงานแต่ละการลดพร้อม sub-expression ต้นทาง, sub-expression เดียวกันหลังจากตัวถูกดำเนินการถูกแทนที่ด้วยค่า และค่าผลลัพธ์ จึงแอปพลิเคชันสามารถแสดงวิธีที่ผลลัพธ์ถูกสร้างขึ้น; มันเคารพลำดับความสำคัญของตัวดำเนินการ, รักษาการอ้างอิงช่วงไว้ครบสำหรับฟังก์ชันเช่น SUM และใช้เอนจินการคำนวณแผ่นงาน จึงทุกขั้นตอนเห็นด้วยกับการคำนวณใหม่แบบเต็ม
เวอร์ชัน 2.90.27
เพิ่มเติม
- สมุดงาน XLSX สามารถผลิตทีละเซลล์ผ่านตัวเขียนโดยตรงแบบสตรีมมิงใหม่ที่ปล่อยแต่ละแผ่นงานตรงเข้าสู่แพ็กเกจเมื่อแถวมาถึง โดยไม่สร้างต้นไม้เซลล์ในหน่วยความจำเต็ม จึงไฟล์ขนาดใหญ่มากสามารถผลิตได้ด้วย footprint หน่วยความจำใกล้คงที่; ตัวเขียนจัดการสตริงอินไลน์, ตัวเลข, บูลีน, วันที่ และสูตรข้ามหลายแผ่นและ round-trip กับตัวอ่านโดยตรงแบบสตรีมมิง
เวอร์ชัน 2.90.26
เพิ่มเติม
- สมุดงาน XLSX สามารถสแกนทีละเซลล์ผ่านตัวอ่านโดยตรงแบบสตรีมมิงใหม่ที่เริ่มอีเวนต์รายเซลล์และรายแผ่นโดยไม่สร้างต้นไม้เซลล์ในหน่วยความจำเต็ม รักษา footprint หน่วยความจำใกล้คงที่สำหรับไฟล์ขนาดใหญ่มาก; แต่ละเซลล์ที่รายงานมีค่า, ประเภท (ตัวเลข, สตริง, บูลีน, วันที่ หรือข้อผิดพลาด), ข้อความสูตร และดัชนีสไตล์ พร้อมการตรวจจับวันที่และการสนับสนุน early-abort ที่เป็นทางเลือก
เวอร์ชัน 2.90.25
เพิ่มเติม
- แผ่นงาน XLS แบบคลาสสิกสามารถเพิ่มไฮเปอร์ลิงก์จากการอ้างอิงเซลล์สไตล์ A1 ได้ในขณะที่รักษาการทำให้ URL เป็นมาตรฐาน, subaddress เป้าหมายสมุดงาน, ข้อความที่แสดง และ screen tip
เวอร์ชัน 2.90.24
เพิ่มเติม
- ตัวแบ่งหน้า XLS แบบคลาสสิกสามารถเพิ่มจากตำแหน่งแถวหรือคอลัมน์แบบ 1-based และการอ้างอิงเซลล์สไตล์ A1 ผ่าน collection ตัวแบ่งหน้าและ overload ตัวช่วยแผ่นงาน
เวอร์ชัน 2.90.23
เพิ่มเติม
- แผ่นงาน XLS แบบคลาสสิกและ collection รูปร่างสามารถสร้างออบเจกต์การวาด rectangle, oval, line และ autoshape แบบมีประเภทจากสตริงช่วงสไตล์ A1
เวอร์ชัน 2.90.22
เพิ่มเติม
- collection รูปร่าง XLS แบบคลาสสิกสามารถสร้างกล่องข้อความจากสตริงช่วงสไตล์ A1 ผ่าน overload AddTextBox
เวอร์ชัน 2.90.21
เพิ่มเติม
- กล่องข้อความ XLS แบบคลาสสิกสามารถย้ายตำแหน่งใหม่จากสตริงช่วงสไตล์ A1 ผ่าน overload SetArea ใหม่
เวอร์ชัน 2.90.20
เพิ่มเติม
- กล่องข้อความแผ่นงาน XLS แบบคลาสสิกสามารถสร้างจากสตริงช่วงสไตล์ A1 ผ่าน overload AddTextBox
เวอร์ชัน 2.90.19
เพิ่มเติม
- กล่องข้อความแผ่นงาน XLS แบบคลาสสิกสามารถสร้างโดยตรงจากแอนเคอร์แถวและคอลัมน์ผ่านเมธอด AddTextBox ใหม่
เวอร์ชัน 2.90.18
เพิ่มเติม
- แผ่นงาน XLS แบบคลาสสิกสามารถสร้างความคิดเห็นเซลล์โดยตรงจากพิกัดแถวและคอลัมน์ผ่าน overload AddComment ใหม่
เวอร์ชัน 2.90.17
เพิ่มเติม
- defined name XLS แบบคลาสสิกสามารถสร้างจากชื่อแผ่นงานและพิกัดแถว/คอลัมน์ผ่าน overload Names.Add ใหม่
เวอร์ชัน 2.90.16
เพิ่มเติม
- การแทรกรูปภาพ XLS แบบคลาสสิกสามารถวางภาพไฟล์และ TBitmap ที่เซลล์แผ่นงานที่ส่งมาโดยไม่เปลี่ยนการเลือกปัจจุบัน
เวอร์ชัน 2.90.15
เพิ่มเติม
- คอลัมน์ AutoFilter XLS แบบคลาสสิกสามารถค้นหาตามดัชนีฟิลด์ผ่าน collection AutoFilterColumns
เวอร์ชัน 2.90.14
เพิ่มเติม
- defined name XLS แบบคลาสสิกสามารถค้นหาตามเซลล์แผ่นงานผ่าน overload FindByCell ใหม่บน collection Names
เวอร์ชัน 2.90.13
เพิ่มเติม
- ช่วง XLS แบบคลาสสิกตอนนี้รองรับการสร้างความคิดเห็นพร้อมข้อความและผู้แต่งในการเรียก AddComment เดียว
เวอร์ชัน 2.90.12
เพิ่มเติม
- ความคิดเห็น XLS แบบคลาสสิกตอนนี้เปิดเผยคุณสมบัติ Author สำหรับการตั้งและการอ่านผู้แต่งความคิดเห็นที่บันทึกผ่าน API แบบมีประเภท
เวอร์ชัน 2.90.11
แก้ไข
- การคัดลอกช่วง XLS แบบคลาสสิกตอนนี้รักษาผู้แต่งความคิดเห็นที่คัดลอกพร้อมกับข้อความความคิดเห็น
เวอร์ชัน 2.90.10
แก้ไข
- AddHyperlink XLS แบบคลาสสิกตอนนี้จัดเก็บเป้าหมายเซลล์สมุดงานเป็น subaddress ภายในแทนที่จะเป็นพาธไฟล์ภายนอก
เวอร์ชัน 2.90.9
แก้ไข
- การคัดลอกช่วง XLS แบบคลาสสิกตอนนี้รักษาไฮเปอร์ลิงก์เซลล์ที่ปลายทาง รวมถึงที่อยู่, screen tip และข้อความที่แสดง
เวอร์ชัน 2.90.8
แก้ไข
- ไฮเปอร์ลิงก์ XLS และ XLSX ตอนนี้ทำให้ที่อยู่ www ดิบเป็นมาตรฐานเป็น URL http สัมบูรณ์ก่อนบันทึกในขณะที่รักษาข้อความที่แสดง
เวอร์ชัน 2.90.7
แก้ไข
- ApplyAutoFilter XLS แบบคลาสสิกตอนนี้ละเว้นดัชนีฟิลด์นอกช่วงก่อนสร้างช่วงตัวกรองใหม่ รักษาเกณฑ์ที่มีอยู่แทนที่จะล้างพวกมัน
เวอร์ชัน 2.90.6
แก้ไข
- ซีรีส์แผนภูมิ XLS แบบคลาสสิกตอนนี้ปฏิเสธ self-reference ของแผ่นแผนภูมิแบบไม่คำนึงถึงตัวพิมพ์เล็ก/ใหญ่ ป้องกันแหล่งข้อมูล Area3D ที่ไม่ถูกต้องเมื่อกรณีของชื่อแผ่นต่างกัน
เวอร์ชัน 2.90.5
แก้ไข
- แผ่นแผนภูมิ XLS แบบคลาสสิกตอนนี้ใช้ guard ชื่อแผ่นงานปกติเมื่อประใช้ชื่อแผ่นแผนภูมิกำหนดเอง ป้องกันชื่อซ้ำที่แตกต่างกันเฉพาะตัวพิมพ์เล็ก/ใหญ่
เวอร์ชัน 2.90.4
แก้ไข
- ตารางสาระสำคัญ XLS แบบคลาสสิกตอนนี้จับคู่ชื่อแผ่นงานต้นทางแบบไม่คำนึงถึงตัวพิมพ์เล็ก/ใหญ่เมื่อสร้างหรือใช้แคชไพวอตซ้ำ
เวอร์ชัน 2.90.3
แก้ไข
- การเปลี่ยนชื่อแผ่นงาน XLS แบบคลาสสิกตอนนี้ปฏิเสธซ้ำแบบไม่คำนึงถึงตัวพิมพ์เล็ก/ใหญ่ รักษาพฤติกรรม lookup ให้ไม่คลุมเครือหลังจากการเปลี่ยนชื่อ
เวอร์ชัน 2.90.2
แก้ไข
- lookup ชื่อแผ่นงาน XLS แบบคลาสสิกตอนนี้เป็นแบบไม่คำนึงถึงตัวพิมพ์เล็ก/ใหญ่ทั่ว SheetByName, TryGetSheetByName, Index และ IDByName
เวอร์ชัน 2.90.1
แก้ไข
- lookup defined-name XLS แบบคลาสสิกตอนนี้เป็นแบบไม่คำนึงถึงตัวพิมพ์เล็ก/ใหญ่ จึงชื่อที่แก้ผ่าน collection Names ของสมุดงานทำตัวสม่ำเสมอหลังจากบันทึกและเปิดใหม่
เวอร์ชัน 2.90.0
เปลี่ยนแปลง
- เปลี่ยนแบบพัง — collection แผ่นงาน XLSX ตอนนี้เป็นแบบ 1-based
Workbook.Sheets[i],Sheets.IndexByNameและคุณสมบัติActiveSheetจำนวนเต็มตอนนี้นับจาก 1 เพื่อให้ตรงกับเอนจิน XLS จึงแผ่นงานแรกคือSheets[1]แทนที่Sheets[0]; ตัวช่วยActiveIndex,Activate,Moveตามตำแหน่งและอาร์กิวเมนต์ sheet-index ของSaveAsCSV/SaveAsHTML/SaveAsRTFยังคงเป็น 0-based - เปลี่ยนแบบพัง — FreezePanes รับแถวก่อนบนทั้งสองเอนจิน เอนจิน XLS และ XLSX ตอนนี้ใช้
FreezePanes(ARow, ACol)ร่วมกัน; เมธอดFreezePane(ACol, ARow)ของ XLSX และ overload สองอาร์กิวเมนต์กลับด้านของ XLS ถูกนำออก จึงการเรียกที่แช่ N คอลัมน์และ M แถวต้องสลับสองอาร์กิวเมนต์ - เปลี่ยนแบบพัง — คลาสแผ่นงาน XLS เสีย prefix I ที่ทำให้เข้าใจผิด
IXLSWorksheetและIXLSWorkSheetsกลายเป็นTXLSWorksheetและTXLSWorksheets(พวกมันเป็นคลาสเสมอ ไม่ใช่ interface); interfaceIXLSWorkbookและIXLSRangeแท้จริงไม่เปลี่ยนแปลง - เปลี่ยนแบบพัง — enum ตัวดำเนินการ validation ข้อมูล XLS ถูกเปลี่ยนชื่อ สมาชิก
TXLSDvOperatorเปลี่ยนจากxlsDv...เป็นxlsDvOp...(เช่นxlsDvOpBetween) จึงพวกมันไม่แชร์ prefix กับ enum validation-type อีกต่อไปและเรียงตามชื่อxlsxDvOp...ของ XLSX
เวอร์ชัน 2.89.46
แก้ไข
- theme กำหนดเองอยู่รอดผ่าน round-trip XLSX การเปิดสมุดงานที่มี theme ของตัวเองและบันทึกอีกครั้งจะรักษา theme นั้นแทนที่จะเปลี่ยนเป็น theme Office built-in จึงสีที่อิง theme จะไม่ถูกเขียนทับอย่างเงียบ ๆ อีกต่อไป
- ช่วงที่ผสานที่ทับซ้อนถูกปฏิเสธ การผสานช่วงเซลล์ที่ตัดกับช่วงที่ผสานที่มีอยู่จะถูกปฏิเสธแทนที่จะเขียน entry ที่ทับซ้อนซึ่งทำให้ Excel รายงานไฟล์ที่บันทึกว่าเสียหาย
- วันที่ที่เขียนเป็นค่าเซลล์จะแสดงเป็นวันที่ การกำหนดวันที่หรือเวลาให้เซลล์ที่ยังอยู่บนรูปแบบตัวเลข General ตอนนี้จะประใช้รูปแบบวันที่เริ่มต้น จึงมันแสดงเป็นวันที่ใน Excel แทนที่หมายเลขอนุกรมดิบ; รูปแบบตัวเลขที่คุณตั้งเองจะไม่ถูกเปลี่ยนแปลง
ความปลอดภัย
- สูตรที่ซ้อนลึกจะไม่สามารถทำให้ stack หมดได้อีกต่อไม ตัวอ่านสูตร .xls จำกัดความลึกที่โทเค็นสูตรอาจซ้อน จึงสมุดงานที่มีรูปแบบผิดหรือเป็นศัตรูที่มีการซ้อนรุนแรงจะถูกปฏิเสธแทนที่จะเสี่ยงล้ม
เวอร์ชัน 2.89.45
แก้ไข
- ชื่อ entry ZIP ที่ถูก flag เป็น UTF-8 อ่านอย่างถูกต้อง เมื่ออาร์ไคฟ์ทำเครื่องหมายชื่อสมาชิกเป็น UTF-8 (general-purpose bit 11) ชื่อจะถูกถอดรหัสเป็น UTF-8 แทนที่ code page ท้องถิ่นของอาร์ไคฟ์
- เซลล์ข้อผิดพลาด literal ใน .xls ถูกรักษา เซลล์ที่จัดเก็บโดยตรงเป็นค่าข้อผิดพลาด (เรคคอร์ด BOOLERR ที่ตั้งแฟล็กข้อผิดพลาด) จะรักษาโค้ดข้อผิดพลาดแทนที่จะอ่านกลับมาเป็นช่องว่าง
- การเข้ารหัสแพ็กเกจที่ใหญ่กว่า 2 GB จะล้มเหลวอย่างสะอาด Standard Encryption ปฏิเสธ payload ที่ใหญ่เกินไปแทนที่จะล้นเลยการคำนวณขนาด 32-bit
เวอร์ชัน 2.89.44
แก้ไข
- การส่งออกสูตร ODS รักษา defined name ให้ครบ defined name ที่คล้ายกับการอ้างอิงเซลล์ (เช่น
TaxRate2) จะไม่ถูกเขียนใหม่เป็นที่อยู่เซลล์ ODF ที่ไม่ถูกต้อง และการแยกวิเคราะห์_xlnm.Print_Titlesจะไม่แยกชื่อแผ่นที่มีจุลภาคอีกต่อไป - การนำเข้า ODS ปลอดภัยเลยคอลัมน์สุดท้าย แถวที่เซลล์ formatted-text ซ้ำยาวเกินคอลัมน์แผ่นงานสุดท้ายจะไม่นำ rich-text prototype ที่ถูกปลดมาใช้ซ้ำ
เวอร์ชัน 2.89.43
แก้ไข
- การส่งออก RTF รักษาข้อความที่ไม่ใช่ ASCII ข้อความเซลล์ถูกเขียนด้วย escape Unicode
\uและส่วนหัวประกาศ code page จึง CJK / Cyrillic / อักขระที่มีเครื่องหมาย accent ส่งออกครบถ้วนแทนที่จะยุบเหลือ "?" ภายใต้ code page ของตัวเขียน - เฟรม navigation HTML หลายหน้า escape ชื่อแผ่น ชื่อแผ่นบนหน้า index / frameset ถูก HTML-escape และอักขระที่ไม่ใช่ ASCII กลายเป็น numeric character reference จึงแท็บที่ตั้งชื่อด้วยอักขระ markup หรือตัวอักษรที่ไม่ใช่ ASCII เรนเดอร์อย่างถูกต้อง
เวอร์ชัน 2.89.42
แก้ไข
- ตัวเลขสัญกรณ์วิทยาศาสตร์ในสูตรถูกแยกวิเคราะห์ literal เช่น
1E3หรือ2.5E-3ภายในสูตรตอนนี้ tokenize เป็นตัวเลขเดียวแทนที่ตัวเลขตามด้วย name หลง - SEARCH ปลอดภัย Unicode ฟังก์ชัน SEARCH ที่ไม่คำนึงถึงตัวพิมพ์เล็ก/ใหญ่จะไม่ fold case ผ่าน code page ANSI จึง find-text / within-text ที่ไม่ใช่ ASCII จับคู่ที่ตำแหน่งอักขระที่ถูกต้อง
เวอร์ชัน 2.89.41
แก้ไข
- ระบบวันที่ 1904 ถูกประใช้กับวันที่เซลล์ XLSX การอ่านหรือเขียนสมุดงานที่ใช้ฐานวันที่ Mac 1904 ตอนนี้เลื่อน serial วันที่ 1462 วัน จึงวันที่ในสมุดงานดังกล่าวตรงกับ Excel แทนที่จะห่างออกไปประมาณสี่ปี
เวอร์ชัน 2.89.40
แก้ไข
- วันที่ในไฟล์ XLSX ของบุคคลที่สามโหลดเป็นวันที่ เซลล์ที่สไตล์ของมันใช้รูปแบบตัวเลขวันที่/เวลา built-in หรือกำหนดเองใด ๆ — ไม่เฉพาะสไตล์วันที่ของ HotXLS เอง — ตอนนี้อ่านกลับเป็นค่าวันที่แทนที่หมายเลขอนุกรมดิบ รวมถึงรูปแบบวันที่/เวลา locale CJK
เวอร์ชัน 2.89.39
แก้ไข
- รูปแบบตัวเลขวันที่ถูกตรวจจับอย่างแม่นยำมากขึ้น โค้ดรูปแบบถูกจดจำเป็นวันที่/เวลาเฉพาะโดยโทเค็นวันที่ unescaped นอก string literal และส่วนวงเล็บ จึง literal เช่น
#,##0 "MM"จะไม่ถูกถือว่าเป็นวันที่และโค้ดตัวอักษรเดียวเช่นm/dจะไม่ถูกพลาดอีกต่อไป - อาร์ไคฟ์ ZIP ที่มีความคิดเห็นขนาดใหญ่อ่านเรคคอร์ด end-of-directory อย่างถูกต้อง เรคคอร์ด end-of-central-directory ถูกแยกวิเคราะห์จากบัฟเฟอร์สแกนเฉพาะเมื่อมันถูกจับได้อย่างสมบูรณ์ และมิฉะนั้นจะถูกอ่านใหม่จากไฟล์ แก้การอ่านผิดที่เป็นไปได้เมื่อความคิดเห็นแยกเรคคอร์ดข้ามหน้าต่างสแกน
เวอร์ชัน 2.89.38
แก้ไข
- XLSX ที่เข้ารหัสที่เขียนด้วย Standard Encryption ตอนนี้เปิดใน Excel แพ็กเกจที่เข้ารหัสถูกเข้ารหัสด้วย AES-128 ในโหมด ECB ตามที่รูปแบบกำหนด แทนที่ CBC ซึ่งทิ้งทุกอย่างหลังบล็อกแรกให้ไม่สามารถอ่านได้
- การถอดรหัส RC4 ของ BIFF8 (.xls) ที่ป้องกันด้วยรหัสผ่านถูกแก้ไข keystream ตอนนี้ถูก re-keyed และ consumed ตามสตรีมตำแหน่ง จึงรหัสผ่านที่ถูกต้องถอดรหัสเนื้อหาสมุดงานแทนที่ผลิตเซลล์ที่อ่านไม่ออก
เวอร์ชัน 2.89.37
แก้ไข
- การลบแผ่นงานรักษา defined name ให้สม่ำเสมอ การนำแผ่นออกตอนนี้ทิ้ง defined name ระดับสมุดงานที่ scoped กับมันและเลื่อน name ที่ scoped กับแผ่นที่มาทีหลังลงหนึ่ง จึงสมุดงานที่บันทึกจะไม่ชี้ name scoped แผ่น (เช่นพื้นที่พิมพ์หรือชื่อพิมพ์) ไปยังแผ่นงานผิดอีกต่อไป
เวอร์ชัน 2.89.36
แก้ไข
- การอ่านไฟล์ .xls ที่เสียหายแข็งแกร่งขึ้น เรคคอร์ดตัวเลข/ช่องว่างหลายเซลล์และจานสีจะไม่ over-read เมื่อฟิลด์ความยาวของพวกมันเสียหาย และตัวอ่านสมุดงานถูกปลดแทนที่รั่วเมื่อการเปิดไฟล์ยกข้อผิดพลาด
- การแทรกภาพจะไม่รั่วเมื่อล้มเหลว การโหลดภาพที่เสียหายหรืออ่านไม่ได้ (BMP / WMF / EMF / JPEG / PNG) ปล่อยสตรีมและ bitmap ชั่วคราวแทนที่รั่วพวกมัน
- หลีกเลี่ยงเรคคอร์ดสไตล์ซ้ำเมื่อบันทึก สไตล์ที่ match แรกคือ entry ตารางแรกมากจะถูกใช้ร่วมอย่างถูกต้องแทนที่เขียนสองครั้งระหว่างการเพิ่มประสิทธิภาพสไตล์ BIFF
- การส่งออก HTML escape ชื่อฟอนต์ จึงชื่อฟอนต์ที่มี
&,<,>หรือ"จะไม่ทำลายแอตทริบิวต์สไตล์เซลล์ที่ส่งออก
เวอร์ชัน 2.89.35
แก้ไข
- ฟังก์ชันแผ่นงานหลายฟังก์ชันตอนนี้ตรงกับ Excel
EXPส่งผลลัพธ์แทนข้อผิดพลาด "unsupported",WEEKDAYอาร์กิวเมนต์เดียวนับวันอาทิตย์เป็น 1,MODรักษาเครื่องหมายและส่วนเศษของตัวหาร และLEFT/RIGHT/MIDส่ง#VALUE!สำหรับความยาวลบหรือจำนวนอาร์กิวเมนต์ผิด - numeric character reference ที่ไม่ใช่ ASCII ใน XLSX ตอนนี้อ่านอย่างถูกต้อง numeric XML entity เช่น
中ใน shared string, ข้อความเซลล์ และแอตทริบิวต์ถอดรหัสเป็นอักขระเต็มแทนที่ไบต์เดี่ยวที่ถูกตัดทอน - กฎข้อความรูปแบบเงื่อนไขอยู่รอดเครื่องหมายคำพูดคู่ ข้อความที่มี
"ในกฎ containsText / beginsWith / endsWith ถูก escape จึงสมุดงานที่บันทึกยังคงถูกต้อง - การแก้ไขช่วงรูปแบบเงื่อนไขจะไม่ทิ้งช่วงหลงเหลือ การล้างหรือย้ายคอลัมน์ออกจากพื้นที่รูปแบบเงื่อนไขจะไม่ผลิตช่วง phantom ที่ทับซ้อน
- สีแท็บแผ่น indexed ที่อ่านจาก .xls ใช้ entry จานสีที่ถูกต้อง และวันที่ที่จัดรูปแบบตัวเลขภายในเรคคอร์ด MULRK หลายเซลล์ยังคงการตรวจจับวันที่ภายใต้ระบบวันที่ 1904
- เกณฑ์ AutoFilter เปอร์เซ็นต์บน/ล่าง round-trip การโหลดตัวกรอง "top N percent" หรือ "bottom N percent" จาก .xls จะไม่ดาวน์เกรดเป็นจำนวน item ธรรมดาอีกต่อไป
- ไฮเปอร์ลิงก์ mailto: ถูกจดจำเป็น URL และ hyperlink ScreenTip (tooltip) ถูกเขียน จึงพวกมัน round-trip แทนที่ถูกทิ้ง
- การส่งออก HTML ปล่อยขนาดฟอนต์ที่ถูกต้องใน locale comma-decimal จึงฟอนต์เซลล์ที่ส่งออกจะไม่กลับไปเป็นค่าเริ่มต้นของเบราว์เซอร์
- การอ่านไฟล์ที่มีรูปแบบผิดหรือถูกตัดทอนแข็งแกร่งขึ้น ภาพวาด OfficeArt ที่เสียหาย, ดัชนีสไตล์/สี/จานสี/theme ที่อยู่นอกช่วง และ JPEG ที่ไม่ใช่ baseline จะไม่ล้มหรือผลิตขนาดขยะ และการรั่วหน่วยความจำ shared-string เมื่อโหลด rich text ถูกแก้ไข
เวอร์ชัน 2.89.34
เพิ่มเติม
- กล่องข้อความแผ่นงาน XLSX จัดการง่ายขึ้น
TXLSXWorksheetเพิ่มIndexOfTextBoxAt,FindTextBoxAt,DeleteTextBox,DeleteTextBoxAt,DeleteTextBoxesInRangeและClearTextBoxesให้ผู้เรียกค้นหาและนำกล่องข้อความ drawing สแตนด์อโลนออกตามแอนเคอร์เซลล์หรือช่วงที่ตัดกัน - ตัวแบ่งหน้าด้วยมือของ XLSX สามารถค้นหาและนำออกตามช่วง
TXLSXWorksheetเพิ่มIndexOfRowBreak,IndexOfColBreak,RemoveRowBreaksInRangeและRemoveColBreaksInRangeสำหรับการบำรุงรักษา page-break แถว/คอลัมน์โดยตรง
แก้ไข
- แผ่นงาน XLSX ที่มีเฉพาะกล่องข้อความตอนนี้เขียนความสัมพันธ์ drawing แผ่นงานที่มีกล่องข้อความ drawing สแตนด์อโลนแต่ไม่มีภาพ, แผนภูมิ, ความคิดเห็น, ไฮเปอร์ลิงก์ หรือตารางตอนนี้ปล่อยความสัมพันธ์ drawing
xl/worksheets/_rels/sheetN.xml.relsที่ตรงกัน จึงแพ็กเกจที่บันทึกแก้การอ้างอิง<drawing r:id="...">ของมัน
เวอร์ชัน 2.89.33
เปลี่ยนแปลง
- เดโม C++Builder workbench ตอนนี้ตรงกับคุณลักษณะรีวิว Delphi ตัวอย่าง WorkbookAudit ของ C++Builder ได้รับ severity, การกระทำแนะนำ และหลักฐานรีวิวเดียวกันกับเวอร์ชัน Delphi ใน list สมุดงานและในรายงาน JSON, CSV และ HTML และตัวอย่าง ConversionWorkbench ของ C++Builder บันทึกรูปแบบต้นทาง, การกระทำ และบันทึกรีวิวต่องาน conversion รวมถึงจำนวนการกระทำ aggregated ในรายงาน HTML
เวอร์ชัน 2.89.32
เปลี่ยนแปลง
- เดโม ConversionWorkbench ตอนนี้ทำงานแบบ unattended จาก command line การเรียก
ConversionWorkbench.exe <folder> [/targets=xlsx,csv,html] [/persheet] [/skip] [/quiet]สแกนโฟลเดอร์, แปลงทุกแหล่งเป็นรูปแบบเป้าหมายที่ร้องขอ, เขียนรายงาน conversion และออก;/quietเก็บหน้าต่างซ่อน จึง conversion สามารถรันจาก script และงานตามตาราง - conversion แบบ batch ยังคงโต้ตอบ progress bar ติดตามรายการงาน (แหล่งที่ตรวจสอบคูณเป้าหมายที่ตรวจสอบ), ปุ่ม Cancel ขัดจังหวะ batch ด้วยรายงานครอบคลุมงานที่เสร็จสิ้น และดับเบิลคลิกแถวผลลัพธ์เปิดไฟล์ที่ผลิต (หรือโฟลเดอร์เอาต์พุตสำหรับชุด CSV รายแผ่น)
- ตัวเลือก workbench อยู่ระหว่าง session โฟลเดอร์, รูปแบบเป้าหมาย, ตัวคั่น, ตัวเลือก HTML, สวิตช์ ODS, CSV รายแผ่น, skip-existing และตัวเลือกสตรีมมิงถูกจัดเก็บในไฟล์ INI ข้าง executable; รหัสผ่านการเข้ารหัสถูกตั้งใจไม่คงอยู่
เวอร์ชัน 2.89.31
เปลี่ยนแปลง
- เดโม WorkbookAudit ตอนนี้ทำงานแบบ unattended จาก command line การเรียก
WorkbookAudit.exe <folder> [/r] [/quiet]สแกนโฟลเดอร์ (เป็นทางเลือกพร้อม subfolder), ตรวจสอบทุกสมุดงาน, ส่งออกรายงาน JSON, CSV และ HTML และออก;/quietเก็บหน้าต่างซ่อน จึงการตรวจสอบสามารถรันจาก script และงานตามตาราง - batch ขนาดใหญ่ยังคงโต้ตอบ progress bar ติดตาม batch, ปุ่ม Cancel ขัดจังหวะมัน (ไฟล์ที่เหลือถูกทำเครื่องหมาย Cancelled) และการเลือกสมุดงานตอนนี้เติมแผง drill-down รายแผ่นด้วยรายละเอียดโครงสร้าง, สูตร, การอ้างอิง และการป้องกัน
- การเลือกโฟลเดอร์ตรวจสอบและ subfolder อยู่ระหว่าง session ตัวเลือกถูกจัดเก็บในไฟล์ INI ข้าง executable และคืนค่าในการเริ่มครั้งถัดไป
เวอร์ชัน 2.89.30
เปลี่ยนแปลง
- เดโม WorkbookAudit ตอนนี้ได้รับ severity รีวิวและการกระทำแนะนำ list หลักบวกรายงาน JSON, CSV และ HTML รวม severity, การกระทำแนะนำ และหลักฐานรีวิว จึง batch audit สามารถกำหนดเส้นทางสมุดงานที่เข้ารหัส, เปิดใช้งานแมโคร, เชื่อมโยงภายนอก, ป้องกัน, สไตล์หนัก หรือสูตรหนักโดยไม่ต้องอ่านทุกแถวแผ่น
- เดโม ConversionWorkbench ตอนนี้เขียน ledger รีวิว conversion แต่ละงานบันทึกรูปแบบต้นทาง, การกระทำ และบันทึกรีวิว และรายงาน HTML aggregate จำนวนการกระทำสำหรับเอาต์พุตที่ยอมรับ, ชุด CSV รายแผ่น, ไฟล์ที่ใช้ซ้ำ, การเลือกเป้าหมายที่ไม่รองรับ, การซ่อมแซมแหล่ง, ผู้สมัคร retry และผลลัพธ์ manual-review
เวอร์ชัน 2.89.29
เพิ่มเติม
- สมุดงาน XLS แบบคลาสสิกตอนนี้อ่านคุณสมบัติเอกสารกลับเมื่อเปิด การเปิดไฟล์หรือสตรีม .xls ที่มีอยู่เติม
Title,Subject,Author,Keywords,Comments,CompanyและManagerจาก summary information ของไฟล์ ให้ตรงกับพฤติกรรมคุณสมบัติเอกสารของโมเดล XLSX; คุณสมบัติที่บันทึกโดย Excel เอง รวมถึงข้อความที่ไม่ใช่ Latin ที่จัดเก็บใน code page ANSI ที่ localized ถูกถอดรหัสอย่างถูกต้อง
เวอร์ชัน 2.89.28
เปลี่ยนแปลง
- เดโม ConversionWorkbench ได้รับตัวเลือกแบบ batch สี่ตัว ตัวอย่าง Delphi และ C++Builder สามารถแยกทุกแผ่นงานเป็นไฟล์ CSV ของตัวเอง (
<name>.<sheet>.csv, สำหรับทั้งแหล่ง XLS แบบคลาสสิกและ XLSX-model), เขียนเอาต์พุต XLSX ที่ป้องกันด้วยรหัสผ่านผ่านSaveAsEncrypted(รวมเส้นทาง bridge classic-XLS), ข้าม conversion ที่เอาต์พุตมีอยู่แล้ว (รายงานว่าถูกข้าม ไม่รันใหม่) และเปิดใช้งานการเขียน XLSX สตรีมมิงสำหรับสมุดงานขนาดใหญ่
เวอร์ชัน 2.89.27
เปลี่ยนแปลง
- เดโม WorkbookAudit ตอนนี้สแกนลึกขึ้นและ flag marker ความเสี่ยง ตัวอย่าง Delphi และ C++Builder ได้รับ recursion subfolder พร้อมชื่อไฟล์ relative-folder, การตรวจจับ XLSX ที่ป้องกันด้วยรหัสผ่านผ่าน
CanReadEncrypted(รายงานเป็น encrypted แทนข้อผิดพลาด open ทั่วไป) และคอลัมน์ Flags ที่แสดงโปรเจกต์ VBA, การอ้างอิงภายนอก, แผ่นที่ซ่อน, แผ่นที่ป้องกัน และไฟล์ที่เข้ารหัสใน list และในทุกรายงาน - รายงาน audit มีเมทาดาต้าที่สมบูรณ์กว่า รายงาน JSON จัดกลุ่มชุดคุณสมบัติเอกสารเต็ม (title, subject, author, keywords, company, manager, description, category, created, modified, last modified by) เข้าสู่ออบเจกต์
docPropsและรูปแบบรายงานทั้งสามเพิ่มจำนวนภาพรายแผ่น; sheet-scoped defined name ตอนนี้ถูกรวบรวมควบคู่กับ workbook-level name สำหรับไฟล์ XLS แบบคลาสสิก
เวอร์ชัน 2.89.26
เพิ่มเติม
- เดโม Delphi และ C++Builder ตอนนี้รวมตัวแปลง batch ConversionWorkbench ตัวอย่างใหม่รวบรวมแหล่ง XLS, XLSX, CSV และ ODS จากโฟลเดอร์, แปลงไฟล์ที่ตรวจสอบในการรันเดียวเป็นการผสมใด ๆ ของเป้าหมาย XLSX, CSV, HTML, RTF, ODS และ XLS และกำหนดเส้นทางแต่ละแหล่งผ่านโมเดลออบเจกต์ที่ตรงกัน รวมถึง bridge
SaveXLSWorkbookAsXLSXสำหรับ classic XLS และเส้นทาง XLS-to-ODS แบบสองขั้น - ตัวเลือก conversion เปิดเผยต่อรูปแบบ แบบฟอร์มนำเสนอตัวเลือกตัวคั่น CSV, ตัวเลือก title และ table-class ของ HTML และสวิตช์การรวมแผนภูมิและภาพ ODS; ทิศทาง XLSX-to-XLS ที่ไม่พร้อมใช้งานรายงานว่าไม่รองรับแทนที่ล้มเหลวอย่างเงียบ ๆ
- ทุกการรันเขียนรายงาน conversion
ConversionReport.csvและConversionReport.htmlบันทึกสถานะรายงาน, timing และขนาดเอาต์พุตต่องานข้างไฟล์ที่แปลง และตัวสร้างตัวอย่างสร้างอินพุต XLS, XLSX, CSV และ ODS จึง workbench รันได้ทันที
เวอร์ชัน 2.89.25
เพิ่มเติม
- เดโม Delphi และ C++Builder ตอนนี้รวมเครื่องมือตรวจสอบ batch WorkbookAudit ตัวอย่างใหม่สแกนโฟลเดอร์ของสมุดงาน XLS และ XLSX และสรุปโครงสร้างแผ่นงาน, จำนวนสูตรพร้อมชื่อฟังก์ชันที่ใช้, การอ้างอิงสมุดงานภายนอก (entry external-link, การอ้างอิงสูตรแบบวงเล็บ และเป้าหมาย defined-name), ไฮเปอร์ลิงก์, การใช้สไตล์, ช่วงที่ผสาน, ความคิดเห็น, ตาราง, รูปแบบเงื่อนไข, การตรวจสอบข้อมูล, แผนภูมิ, ช่วง AutoFilter, freeze pane และสถานะการป้องกัน
- ผลลัพธ์ audit ส่งออกเป็นรายงาน JSON, CSV และ HTML คลิกเดียวเขียน
AuditReport.json,AuditReport.csvและAuditReport.htmlข้างไฟล์ที่ตรวจสอบ ครอบคลุมเมทาดาต้าระดับสมุดงาน, พูลสไตล์, defined name และแถวรายละเอียดรายแผ่น - เดโม audit เป็น self-contained ตัวสร้างตัวอย่างสร้างสมุดงาน XLS แบบคลาสสิกและ XLSX พร้อมสูตร, ลิงก์ภายนอก, แผ่นที่ซ่อน, ไฮเปอร์ลิงก์, ความคิดเห็น, ตาราง, แผนภูมิ และแผ่นที่ป้องกัน จึงโฟลว์ audit เต็มรันได้ทันที
เวอร์ชัน 2.89.24
แก้ไข
- การส่งออก CSV ของ XLSX ตอนนี้เขียนผลลัพธ์สูตรที่คำนวณ
TXLSXWorkbook.SaveAsCSVประเมินเซลล์สูตรผ่านเอนจินสูตรสมุดงานก่อนเขียนข้อความ CSV หรือ TSV จึงเซลล์ที่เป็นสูตรเท่านั้นส่งออกค่าที่แสดงแทนข้อความสูตร
เวอร์ชัน 2.89.23
เพิ่มเติม
- การส่งออก OpenDocument ตอนนี้ปรับได้ด้วยตัวเลือก ออบเจกต์ตัวเลือกการส่งออกใหม่ให้
.odsที่บันทึกไม่รวมแผนภูมิหรือภาพที่ฝังและ override string generator ที่บันทึกในเมทาดาต้าเอกสาร ผ่าน overload SaveAsODS ใหม่ที่รับตัวเลือก - เนื้อหาที่ไม่รวมไม่ทิ้งร่องรอย การปิดแผนภูมิหรือภาพนำโฟลเดอร์ออบเจกต์, เฟรม drawing และ entry manifest ของพวกมันออกด้วยกัน จึงแพ็กเกจที่บันทึกไม่มีการอ้างอิง orphaned
เวอร์ชัน 2.89.22
เพิ่มเติม
- ไฟล์ OpenDocument ตอนนี้เปิดผ่านการเรียก open ปกติ การส่งไฟล์หรือสตรีม
.odsไปยังเมธอด open ทั่วไปตรวจจับแพ็กเกจ OpenDocument และโหลดอัตโนมัติ จึงไม่จำเป็นต้องรู้ล่วงหน้าว่าไฟล์เป็น.xlsxหรือ.odsอีกต่อไป - เพิ่มทางลัด SaveAsODS การบันทึกเป็น OpenDocument ไม่ต้องส่งค่า file-format อีกต่อไป สะท้อนวิธีที่รูปแบบอื่นถูกบันทึก
- รูปแบบที่โหลดสามารถสอบถามได้ คุณสมบัติ SourceFormat รายงานว่าสมุดงานที่เปิดมาจากไฟล์ OpenXML หรือ OpenDocument
เวอร์ชัน 2.89.21
แก้ไข
- run superscript และ subscript ถูกเก็กเมื่อ rich text ถูกบันทึกเป็น
.xlsxrun ที่ถูกทำเครื่องหมายเป็น superscript หรือ subscript ภายในเซลล์ที่มีสไตล์ตอนนี้เขียนตำแหน่งแนวตั้งของมันเข้าสู่ shared string และอ่านกลับ จึงข้อความที่ยกขึ้นหรือลดลงอยู่รอดผ่าน round-trip.xlsxแทนที่ตกไปยัง baseline - superscript และ subscript ส่งข้ามรูปแบบ rich text ที่อ่านจากไฟล์
.odsยังคง run superscript และ subscript เมื่อสมุดงานถูกบันทึกใหม่เป็น.xlsxและเปิดใหม่
เวอร์ชัน 2.89.20
เพิ่มเติม
- การส่งออกและนำเข้า ODS ตอนนี้ส่งรูปแบบตามเงื่อนไขแบบ colour-scale และ data-bar สเกลสีสองหรือสามสีและ data bar ถูกเขียนพร้อมจุดค่าและสีและอ่านกลับ ขยายกฎ comparison ที่มีอยู่ จึงรูปแบบกราฟิกเหล่านี้อยู่รอดผ่าน round-trip
.ods - รูปแบบตามเงื่อนไขแบบ formula-based ได้รับการสนับสนุน กฎที่ขับเคลื่อนด้วยสูตรถูกเขียนเป็นเงื่อนไข is-true-formula พร้อมนิพจน์ที่แปลเป็นไวยากรณ์ OpenDocument และอ่านกลับเป็นกฎ formula ควบคู่กับกฎ cell-value ที่มีอยู่
เวอร์ชัน 2.89.19
เพิ่มเติม
- การส่งออกและนำเข้า ODS ตอนนี้ส่ง input prompt ของการตรวจสอบข้อมูล title และข้อความ prompt ที่แสดงเมื่อเซลล์ที่ตรวจสอบถูกเลือกถูกเขียนควบคู่กับ error alert ที่มีอยู่และอ่านกลับ จึง input message อยู่รอดผ่าน round-trip
.ods - สีแท็บแผ่นงานถูกรักษา สีของแท็บแผ่นงานถูกเขียนและอ่านจากไฟล์
.odsและการนำเข้ายอมรับทั้งแอตทริบิวต์ extension ทั่วไปและแอตทริบิวต์ tab-colour มาตรฐานของ OpenDocument
เวอร์ชัน 2.89.18
เพิ่มเติม
- การส่งออกและนำเข้า ODS ตอนนี้ส่งกลุ่มแถวและคอลัมน์ outline group ถูกเขียนเป็นองค์ประกอบกลุ่มแถวและคอลัมน์แบบซ้อนและอ่านกลับ จึงแถวและคอลัมน์ที่จัดกลุ่มยังคงระดับ outline ผ่าน round-trip
.odsรวมถึงหลายระดับของการซ้อน - กลุ่มที่ยุบแล้วยังคงยุบ กลุ่มที่แถวหรือคอลัมน์ถูกยุบจะถูกทำเครื่องหมายว่าไม่แสดงเมื่อบันทึกและคืนสภาพเมื่อโหลด และการจัดกลุ่มทำงานร่วมกับแถวที่ซ่อน, ตัวแบ่งหน้า และการกำหนดขนาดแถวหรือคอลัมน์ได้โดยไม่รบกวนกัน
เวอร์ชัน 2.89.17
เพิ่มเติม
- การส่งออกและนำเข้า ODS ตอนนี้ส่งพื้นที่พิมพ์ ช่วงพิมพ์ของแผ่นงานถูกเขียนและอ่านกลับจากไฟล์
.odsจึงพื้นที่พิมพ์ที่กำหนดอยู่รอดผ่านการบันทึกและโหลดใหม่ - ตัวแบ่งหน้าด้วยมือถูกรักษา ตัวแบ่งหน้าแถวและคอลัมน์ถูกเขียนเป็น marker break-before บนแถวและคอลัมน์ที่ได้รับผลกระทบและอ่านกลับเมื่อโหลด จึงการแบ่งหน้าด้วยมือ round-trip ผ่าน
.ods
เวอร์ชัน 2.89.16
เพิ่มเติม
- การส่งออกและนำเข้า ODS ตอนนี้ส่งส่วนหัวและส่วนท้าย การบันทึกเป็น
.odsเขียนส่วนหัวและส่วนท้ายของแต่ละแผ่นพร้อมส่วนซ้าย, กลาง และขวา และการเปิดไฟล์.odsอ่านพวกมันกลับ จึงฟิลด์หมายเลขหน้า, จำนวนหน้า, วันที่, เวลา และชื่อแผ่นงานบวกข้อความ literal อยู่รอดผ่าน round-trip - แต่ละแผ่นยังคงส่วนหัวและส่วนท้ายของตัวเอง สมุดงานที่แผ่นมีส่วนหัวหรือส่วนท้ายต่างกันตอนนี้เขียน page style แยกต่อแผ่น จึงทุกแผ่นโหลดกลับมาพร้อมส่วนหัวและส่วนท้ายของตัวเองแทนที่ใช้ร่วมกับแผ่นแรก
เวอร์ชัน 2.89.15
เพิ่มเติม
- การส่งออกและนำเข้า ODS ตอนนี้ส่งการหมุนข้อความ เซลล์ที่ข้อความถูกหมุนยังคงมุมของมันผ่านการบันทุและโหลดใหม่
.odsพร้อมมุมตามเข็มนาฬิกาและทวนเข็มนาฬิกาแม็ปอย่างถูกต้องระหว่าง convention ของสเปรดชีตและ OpenDocument - เยื้องเซลล์ถูกรักษา ระดับเยื้องของเซลล์ถูกเขียนเป็น left margin เมื่อบันทึกและอ่านกลับเมื่อโหลด จึงเซลล์ที่เยื้องยังคงความลึกของพวกมันผ่าน round-trip
.ods
เวอร์ชัน 2.89.14
เพิ่มเติม
- การส่งออก ODS ตอนนี้เขียน rich text การบันทึกเซลล์ที่ข้อความผสมหลาย run การจัดรูปแบบเป็น
.odsจะปล่อย text span หนึ่งรายการต่อ run พร้อม automatic style ของ text-family ของตัวเอง จึงชื่อฟอนต์, ขนาด, ตัวหนา, ตัวเอียง, ขีดเส้นใต้, ขีดทับ, สี และ superscript หรือ subscript อยู่รอดผ่านการบันทึกแทนที่ถูกทำให้เป็นรูปแบบเดียว - สไตล์ run ที่เหมือนกันถูกใช้ร่วม run ที่มีการจัดรูปแบบเดียวกันใช้ entry automatic style เดียวแทนที่ปล่อยซ้ำต่อ run และเซลล์ธรรมดายังคงถูกเขียนเป็น paragraph เดียวโดยไม่มี span
เวอร์ชัน 2.89.13
เพิ่มเติม
- การนำเข้า ODS ตอนนี้รักษาการจัดรูปแบบ rich text การเปิดไฟล์
.odsที่เซลล์ผสมหลาย text span ด้วยการจัดรูปแบบต่างกันจะรักษาแต่ละ run แทนที่ทำให้เซลล์เป็นข้อความธรรมดา จึงชื่อฟอนต์, ขนาด, ตัวหนา, ตัวเอียง, ขีดเส้นใต้, ขีดทับ, สี และ superscript หรือ subscript ถูกส่งราย run - เซลล์ธรรมดายังคงเป็นธรรมดา เซลล์ที่มี single run ไม่ได้จัดรูปแบบ และเซลล์ตัวเลข, วันที่ หรือสูตรใด ๆ จะถูกทิ้งไว้เป็นค่าธรรมดาแทนที่ถูกส่งเสริมเป็น rich text
เวอร์ชัน 2.89.12
เพิ่มเติม
- การนำเข้า ODS ตอนนี้อ่านแผนภูมิ การเปิดไฟล์
.odsจะแยกวิเคราะห์ออบเจกต์แผนภูมิที่ฝังแต่ละตัวที่อ้างอิงจากแผ่นงาน จึงแผนภูมิ column, bar, line, pie, area, doughnut, scatter, bubble และ radar ถูกคืนค่าไปยังแผ่นที่เป็นเจ้าของ ทำให้ round-trip สมบูรณ์กับการส่งออกแผนภูมิ - ช่วงซีรีส์แผนภูมิถูกคืนค่า แต่ละซีรีส์มีช่วงค่า, และช่วงหมวดหมู่เมื่อมี, แปลงกลับจากการสะกดช่วงเซลล์ของ OpenDocument จึงแผนภูมิชี้ไปที่ข้อมูลแผ่นงานเดียวกัน
- แผนภูมิที่เสียหายหรือขาดหายไปถูกข้ามอย่างปลอดภัย เฟรม drawing ที่ออบเจกต์แผนภูมิของมันขาดหายไปหรือไม่ใช่แผนภูมิจะไม่ยกเลิกการโหลด และภาพ fallback ใด ๆ ในเฟรมเดียวกันยังคงถูกนำเข้า
เวอร์ชัน 2.89.11
เพิ่มเติม
- การส่งออก ODS ตอนนี้เขียนภาพที่ฝัง การบันทึกเป็น
.odsจัดเก็บภาพแผ่นงานแต่ละภาพในโฟลเดอร์Pictures/ของแพ็กเกจ, อ้างอิงจากเฟรม drawing ภายในเซลล์ที่ยึด และลงทะเบียนใน manifest จึงภาพที่วางในสมุดงานถูกส่งเข้าสู่ไฟล์ที่บันทึก - ขนาดภาพถูกรักษา แต่ละภาพเขียนความกว้างและความสูงเป็นเซนติเมตร จึงภาพที่บันทึกเป็น
.odsและเปิดใหม่ยังคงขนาดบนหน้าจอเดียวกัน - ภาพบนเซลล์ที่ผสานยังคงยึด ภาพที่แอนเคอร์ตกภายในช่วงที่ผสานถูก host โดยเซลล์ซ้ายบนของช่วง และภาพที่ยึดนอกกริดแผ่นงานจะถูกข้ามแทนที่เขียนเป็น entry ที่ไม่มีเฟรม drawing
เวอร์ชัน 2.89.10
แก้ไข
- error level ของการตรวจสอบข้อมูล ODS ตอนนี้อยู่รอดผ่าน round-trip การบันทึก validation ที่ alert เป็น warning หรือ information จะไม่ส่งออกโดยไม่มีประเภท alert จึงการเปิดไฟล์
.odsใหม่ยังคงระดับเดิมแทนที่ดาวน์เกรดอย่างเงียบ ๆ เป็น stop alert
เวอร์ชัน 2.89.9
เพิ่มเติม
- การส่งออก ODS ตอนนี้เขียนแผนภูมิ การบันทึกเป็น
.odsจะทำให้แผนภูมิแผ่นงานแต่ละแผนภูมิเป็นอนุเอกสารแผนภูมิที่ฝังของตัวเองภายในแพ็กเกจ จึงแผนภูมิ column, bar, line, pie, area, doughnut, scatter, bubble และ radar ถูกส่งเข้าสู่ไฟล์ที่บันทึก - แผนภูมิถูกอ้างอิงจากแผ่นของมัน แผ่นที่เป็นเจ้าของแผนภูมิเชื่อมไปยังออบเจกต์แผนภูมิที่ฝังผ่านเฟรม drawing และออบเจกต์แผนภูมิแต่ละตัวถูกลงทะเบียนใน manifest ของแพ็กเกจ จึง LibreOffice เปิดเอกสารโดยไม่รายงานว่าเสียหาย
- ช่วงซีรีส์ถูกแปล แต่ละซีรีส์แผนภูมิมีช่วงค่า, และช่วงหมวดหมู่เมื่อมี, แปลงเป็นการสะกดช่วงเซลล์ของ OpenDocument จึงแผนภูมิชี้ไปที่ข้อมูลแผ่นงานเดียวกัน
เวอร์ชัน 2.89.8
เพิ่มเติม
- การนำเข้า ODS ตอนนี้อ่านภาพที่ฝัง การเปิดไฟล์
.odsจะสกัดภาพที่จัดเก็บภายใต้โฟลเดอร์Pictures/ของแพ็กเกจ, จดจำภาพ PNG, JPEG, GIF และ BMP ตามเนื้อหา จึง drawing ที่ยึดในเซลล์เปิดใหม่เป็นภาพแผ่นงาน - ตำแหน่งภาพถูกรักษา ภาพที่นำเข้าแต่ละภาพยังคงเซลล์แอนเคอร์ของเฟรม drawing ที่ถือมัน และความกว้างและความสูงถูกแปลงจากมิติที่จัดเก็บของเฟรม
- งานศิลป์ที่ขาดหายไปถูกข้ามอย่างปลอดภัย เฟรม drawing ที่ภาพที่อ้างอิงของมันขาดหายไปจากแพ็กเกจจะถูกข้ามโดยไม่มีข้อผิดพลาด จึงเอกสารบางส่วนยังคงเปิดได้
เวอร์ชัน 2.89.7
เพิ่มเติม
- การส่งออก ODS ตอนนี้เขียน freeze pane การบันทึกเป็น
.odsจะบันทึกคอลัมน์และแถวที่แช่แข็งของแผ่นที่แช่แข็งแต่ละแผ่นในการตั้งค่ามุมมองแพ็กเกจ จึงแผ่นที่แบ่งเป็นส่วนหัวที่แช่แข็งเปิดใหม่แช่แข็งใน LibreOffice และผ่านOpenODS - การส่งออก ODS ตอนนี้เขียนการตั้งค่าหน้า เลย์เอาต์หน้าในแพ็กเกจที่บันทึกมีขนาดกระดาษ, การวางแนว (แนวตั้งหรือแนวนอน) และระยะขอบบน, ล่าง, ซ้าย และขวาจากการตั้งค่าหน้าของแผ่นงาน กลับไปเป็น A4 แนวตั้งเมื่อไม่มีการตั้งค่าหน้า
เวอร์ชัน 2.89.6
เพิ่มเติม
- การนำเข้า ODS ตอนนี้อ่าน freeze pane การเปิดไฟล์
.odsจะคืนค่าคอลัมน์และแถวที่แช่แข็งที่บันทึกในการตั้งค่ามุมมองแพ็กเกจ จึงแผ่นที่แบ่งเป็นส่วนหัวที่แช่แข็งเปิดใหม่แช่แข็ง - การนำเข้า ODS ตอนนี้อ่านช่วง AutoFilter ช่วงที่กรองที่จัดเก็บในแพ็กเกจเป็น database range จะถูกอ่านกลับไปยังแผ่น จึงช่วง AutoFilter ที่เขียนโดย
SaveAsถูกอ่านกลับโดยOpenODS
เวอร์ชัน 2.89.5
เพิ่มเติม
- การนำเข้า ODS ตอนนี้อ่านรูปแบบเงื่อนไข การเปิดไฟล์
.odsจะนำเข้ากฎ comparison ค่าเซลล์ (มากกว่า, น้อยกว่า, เท่ากับ, ไม่เท่ากับ, มากกว่าหรือเท่ากับ, น้อยกว่าหรือเท่ากับ, ระหว่าง และไม่ระหว่าง) แต่ละกฎประใช้กับเซลล์ที่มันกำหนดเป้า - กฎช่วงยังคงมีขอบเขตทั้งสอง กฎระหว่างหรือไม่ระหว่างจะกู้คืนค่าเกณฑ์ทั้งสอง จึงขีดจำกัดล่างและบนอยู่รอดผ่านการนำเข้า
- กฎ comparison round-trip รูปแบบเงื่อนไขค่าเซลล์ที่เขียนเป็น
.odsเปิดใหม่พร้อมตัวดำเนินการ, เกณฑ์ และช่วงเป้าหมายครบ จึงกฎที่บันทึกโดยSaveAsถูกอ่านกลับโดยOpenODS
เวอร์ชัน 2.89.4
เพิ่มเติม
- การนำเข้า ODS ตอนนี้อ่านการตรวจสอบข้อมูล การเปิดไฟล์
.odsจะนำเข้าการตรวจสอบเนื้อหาเซลล์: ช่วงตัวเลข (ระหว่างและไม่ระหว่าง), drop-down list, การตรวจสอบ text-length และ comparison scalar แต่ละรายการประใช้กับเซลล์ที่อ้างอิงมัน - รายละเอียด validation ถูกรักษา แฟล็ก allow-empty-cell และ error alert (สไตล์ stop, warning หรือ information และข้อความของมัน) ส่งเข้าสู่โมเดลสมุดงาน
- สมาชิก list อยู่รอดผ่าน round-trip drop-down list ที่เขียนเป็น
.odsเปิดใหม่พร้อมสมาชิกครบ จึง validation ที่บันทึกโดยSaveAsถูกอ่านกลับโดยOpenODS
เวอร์ชัน 2.89.3
เพิ่มเติม
- การส่งออก ODS ตอนนี้เขียนองค์ประกอบโครงสร้าง การบันทึกเป็น
.odsจะส่ง named range, ไฮเปอร์ลิงก์เซลล์, แถวและคอลัมน์ที่ซ่อน, ช่วง AutoFilter, รูปแบบเงื่อนไข และการตรวจสอบข้อมูลเข้าสู่แพ็กเกจ - named range และไฮเปอร์ลิงก์ round-trip workbook-scoped name ยังคงที่อยู่, ลิงก์เซลล์ภายนอกและภายในยังคงเป้าหมาย, ข้อความที่แสดงและ tooltip และแถวและคอลัมน์ที่ซ่อนเปิดใหม่ซ่อน
- AutoFilter, รูปแบบเงื่อนไข และ validation ถูกปล่อย ช่วงที่กรองถูกเขียนพร้อมปุ่มตัวกรอง, กฎเงื่อนไข value-comparison และ validation ข้อมูลเนื้อหาเซลล์ถูกเขียน จึงผู้บริโภคเช่น LibreOffice ยังคงพวกมัน
เวอร์ชัน 2.89.2
เพิ่มเติม
- การนำเข้า ODS ตอนนี้อ่านสไตล์เซลล์เต็ม การเปิดไฟล์
.odsจะนำเข้าชื่อฟอนต์, ขนาดฟอนต์, ตัวหนา, ตัวเอียง, ขีดเส้นใต้ และขีดทับของเซลล์ที่มีสไตล์ ควบคู่กับค่าที่แคชและรูปแบบตัวเลขที่รองรับอยู่แล้ว - สีฟอนต์, เติมเต็มพื้นหลัง และเส้นขอบถูกนำเข้า สีฟอนต์ explicit แม็ปไปยัง RGB ทึบ, สีพื้นหลังกลายเป็นเติมเต็มทึบ และขอบเซลล์สี่ด้าน (บน, ล่าง, ซ้าย, ขวา) มีสไตล์เส้นและสี
- การจัดวางถูกนำเข้า การจัดวางข้อความแนวนอนและแนวตั้งและตัวเลือก wrap-text ถูกประใช้กับเซลล์
- การสืบทอด parent-style เป็นที่เคารพ สไตล์อ่านค่าผ่าน chain parent-style ของ ODS จึง child style override parent ของมันแอตทริบิวต์ต่อแอตทริบิวต์ขณะสืบทอดสิ่งที่มันทิ้งไว้ไม่ตั้ง
- ปิด loop write/read สไตล์เซลล์ที่เขียนโดย
SaveAsเป็น.odsถูกอ่านกลับโดยOpenODSรักษาฟอนต์, สี, เติมเต็ม, เส้นขอบ และการจัดวาง
เวอร์ชัน 2.89.1
เพิ่มเติม
- การส่งออก ODS ตอนนี้เขียนสไตล์เซลล์เต็ม การบันทึกเป็น
.odsจะส่งชื่อฟอนต์, ขนาดฟอนต์, ตัวหน้า, ตัวเอียง, ขีดเส้นใต้, ขีดทับ และสีฟอนต์เข้าสู่แพ็กเกจ จึงเซลล์ที่มีสไตล์ยังคงรูปลักษณ์เมื่อเปิดใหม่ - เติมเต็มพื้นหลังและเส้นขอบเซลล์ถูกเขียน สีพื้นหลังทึบและขอบเซลล์สี่ด้าน (บน, ล่าง, ซ้าย, ขวา) ถูกปล่อยพร้อมความกว้าง, สไตล์เส้น และสี
- การจัดวางและการตัดคำถูกรักษา การจัดวางข้อความแนวนอนและแนวตั้งบวกตัวเลือก wrap-text ส่งไปยังสไตล์เซลล์ ODS
- สไตล์ประกอบกับรูปแบบตัวเลข สไตล์เซลล์เดียวสามารถจับคู่ฟอนต์, เติมเต็ม และเส้นขอบกับรูปแบบตัวเลข และการผสมสไตล์ที่เหมือนกันถูกใช้ร่วม จึงแพ็กเกจยังคงกระทัดรัด
เวอร์ชัน 2.89.0
เพิ่มเติม
- การส่งออก OpenDocument Spreadsheet (.ods)
SaveAsตอนนี้รับxlsxOpenDocumentSpreadsheetและเขียนแพ็กเกจ ODF ที่ถูกต้องโดยตรง โดยไม่ต้องผ่าน intermediate XLSX - ค่าเซลล์แบบมีประเภทถูกเขียน ข้อความ, ตัวเลข, บูลีน และวันที่ถูกปล่อยพร้อมประเภทค่า ODF จึงค่ายังคงความหมายเมื่อเปิดใหม่
- รูปแบบตัวเลขถูกรักษา รูปแบบทั่วไป (ทศนิยม, การจัดกลุ่มหลักพัน, สกุลเงิน, เปอร์เซ็นต์, วิทยาศาสตร์ และวันที่ ISO) ถูกเขียนเป็น data style ของ ODF และอ้างอิงโดยเซลล์ที่ใช้พวกมัน
- โครงสร้างแผ่นงานส่งไป แผ่นงาน, ความกว้างคอลัมน์ และช่วงเซลล์ที่ผสานถูกเขียนเข้าสู่แพ็กเกจ
- round-trip ผ่าน HotXLS แพ็กเกจที่เขียนโดย
SaveAsสามารถอ่านกลับด้วยOpenODSรักษาค่า, รูปแบบตัวเลข, ความกว้างคอลัมน์ และการผสาน
เวอร์ชัน 2.88.249
เพิ่มเติม
- ฟังก์ชัน confidence-interval ตอนนี้คำนวณในเอนจินสูตร
CONFIDENCE.NORMใช้ normal quantile และCONFIDENCE.Tใช้ Student t quantile เพื่อส่งคืนครึ่งความกว้างของช่วงความเชื่อมั่นของค่าเฉลี่ย - ชื่อสถิติโมเดิร์นพร้อมใช้งาน
PERCENTILE.INC,PERCENTILE.EXC,QUARTILE.INC,QUARTILE.EXC,RANK.AVG,COVARIANCE.PและCOVARIANCE.Sประเมิน percentile และ quartile แบบ inclusive และ exclusive, การจัดอันดับ average-tie และ covariance ประชากรและตัวอย่าง - alias สำหรับรูปแบบเดิม
MODE.SNGLและRANK.EQแม็ปไปยังMODEและRANKที่มีอยู่
เวอร์ชัน 2.88.248
เพิ่มเติม
- ฟังก์ชันการแจกแจงทวินามตอนนี้คำนวณในเอนจินสูตร
BINOM.DISTประเมิน probability mass และการแจกแจง cumulative ใช้ regularized incomplete beta สำหรับรูปแบบ cumulative - ฟังก์ชันการแจกแจงปัวซองตอนนี้คำนวณในเอนจินสูตร
POISSON.DISTประเมิน probability mass และการแจกแจง cumulative ใช้ upper incomplete gamma สำหรับรูปแบบ cumulative - การประเมินเสถียร mass ทั้งสองใช้รูปแบบแฟกทอเรียล log-gamma เพื่อรักษาความแม่นยำสำหรับจำนวนมาก และพารามิเตอร์ที่ไม่ถูกต้องส่ง
#NUM!
เวอร์ชัน 2.88.247
เพิ่มเติม
- ฟังก์ชันการแจกแจงเบต้าตอนนี้คำนวณในเอนจินสูตร
BETA.DISTและBETA.INVประเมินการแจกแจง cumulative, probability density และ inverse บนช่วง[A, B]ที่เป็นทางเลือก - ฟังก์ชันการแจกแจง Student t พร้อมใช้งาน
T.DIST,T.DIST.RT,T.DIST.2T,T.INVและT.INV.2Tครอบคลุมหางซ้าย, หางขวา, ความน่าจะเป็นสองหาง และ inverse ของพวกมัน - ฟังก์ชันการแจกแจง F พร้อมใช้งาน
F.DIST,F.DIST.RT,F.INVและF.INV.RTประเมินการแจกแจง cumulative, หางขวา และ inverse - แกนการประเมินร่วม ตระกูลทั้งสามใช้ regularized incomplete beta พร้อมการประเมิน continued-fraction, inverse แก้โดย bisection และพารามิเตอร์ที่ไม่ถูกต้องส่ง
#NUM!
เวอร์ชัน 2.88.246
เพิ่มเติม
- ฟังก์ชันการแจกแจงแกมมาและไค-สแควร์ตอนนี้คำนวณในเอนจินสูตร
GAMMA.DIST,GAMMA.INV,CHISQ.DIST,CHISQ.DIST.RT,CHISQ.INVและCHISQ.INV.RTประเมินการแจกแจง cumulative, probability density, หางขวา และ inverse ของพวกมันสดผ่านCalculate - log-gamma แม่นยำสูงพร้อมใช้งาน
GAMMALN.PRECISEส่งลอการิทึมธรรมชาติของฟังก์ชันแกมมา - การประเมินแม่นยำและแข็งแกร่ง ค่า cumulative ใช้การขยายอนุกรมและ continued-fraction ของ regularized incomplete gamma, inverse แก้โดย bisection และพารามิเตอร์ที่ไม่ถูกต้องส่ง
#NUM!
เวอร์ชัน 2.88.245
เพิ่มเติม
- ฟังก์ชันการแจกแจงต่อเนื่องตอนนี้คำนวณในเอนจินสูตร
EXPON.DIST,WEIBULL.DIST,LOGNORM.DISTและLOGNORM.INVประเมินการแจกแจง cumulative, probability density และ inverse สดผ่านCalculate - การประเมิน closed-form การแจกแจง exponential และ Weibull ใช้สูตร analytic ของพวกมัน ขณะที่การแจกแจง lognormal ใช้ normal CDF และ inverse ของมันซ้ำ; พารามิเตอร์ที่ไม่ถูกต้องส่ง
#NUM!
เวอร์ชัน 2.88.244
แก้ไข
- การแจกแจง normal inverse ตอนนี้แม่นยำในหาง
NORMSINV,NORM.S.INVและNORM.INVใช้ลอการิทึมฐาน 10 ใน branch หาง (ความน่าจะเป็นต่ำกว่าประมาณ 0.024 หรือสูงกว่าประมาณ 0.976) ที่อัลกอริทึมต้องการลอการิทึมธรรมชาติ; ผลลัพธ์ตอนนี้ถูกต้องทั่วช่วงความน่าจะเป็นเต็ม
เวอร์ชัน 2.88.243
เพิ่มเติม
- ฟังก์ชันการแจกแจง normal พร้อมชื่อ dotted โมเดิร์นตอนนี้คำนวณในเอนจินสูตร
NORM.DIST,NORM.INV,NORM.S.DISTและNORM.S.INVประเมินการแจกแจง cumulative, probability density และ inverse ของพวกมันสดผ่านCalculate - alias สถิติ dotted
STDEV.S,STDEV.P,VAR.SและVAR.Pถูกจดจำเป็นชื่อ Excel 2010+ สำหรับส่วนเบี่ยงเบนมาตรฐานและความแปรปรวนตัวอย่างและประชากร - ชื่อฟังก์ชัน dotted แยกวิเคราะห์อย่างถูกต้อง ตัวแยกวิเคราะห์สูตรตอนนี้ถือว่าชื่อเช่น
NORM.S.DISTเป็นฟังก์ชันเดียว จึงฟังก์ชันเหล่านี้ทำงานในCalculateและ round-trip ผ่าน prefix_xlfn.ของ OOXML
เวอร์ชัน 2.88.242
เพิ่มเติม
- ฟังก์ชัน complex-number ทางวิศวกรรมตอนนี้คำนวณในเอนจินสูตร
COMPLEXสร้างจำนวนเชิงซ้อนเป็นข้อความและตระกูลIM*อ่านและดำเนินการบนมัน ประเมินสดผ่านCalculateทั้งหมด - ส่วนประกอบและเลขคณิต
IMREAL,IMAGINARY,IMABS,IMARGUMENTและIMCONJUGATEเปิดเผยส่วนประกอบ ขณะที่IMSUM,IMSUB,IMPRODUCTและIMDIVทำเลขคณิตเชิงซ้อน - ฟังก์ชัน transcendental
IMPOWER,IMSQRT,IMEXPและIMLNถูกประเมินผ่านรูปแบบ polar และ suffix imaginary อาจเป็นiหรือj
เวอร์ชัน 2.88.241
เพิ่มเติม
- ฟังก์ชัน dynamic-array
XLOOKUPและFILTERตอนนี้คำนวณในเอนจินสูตร ทั้งสองประเมินสดผ่านCalculateนำ lookup และการกรองโมเดิร์นมาสู่สูตรแผ่นงานและการประเมิน ad-hoc XLOOKUPพร้อม match และ search mode exact (ค่าเริ่มต้น), wildcard และ approximate next-smaller / next-larger matching ได้รับการสนับสนุน พร้อมกับ search แรกไปสุดท้ายหรือสุดท้ายไปแรกและผลลัพธ์if_not_foundที่เป็นทางเลือกFILTERพร้อมผลลัพธ์ spilled แถวที่ include vector เป็น TRUE จะถูกเก็กและ spill เข้าสู่ช่วงเป้าหมายผ่านSetArrayFormulaพร้อมค่าif_emptyที่เป็นทางเลือกเมื่อไม่มีอะไรตรง
เวอร์ชัน 2.88.240
เพิ่มเติม
- ฟังก์ชันคณิตศาสตร์
GCD,LCM,MROUND,QUOTIENTและMULTINOMIALตอนนี้คำนวณในเอนจินสูตร ประเมินสดผ่านCalculateครอบคลุมตัวหารร่วมมาก, ตัวคูณร่วมน้อย, การปัดเศษเป็นทวีคูณ, การหารจำนวนเต็ม และสัมประสิทธิ์พหุนาม - การแปลง radix และตัวเลขโรมัน
BASEเข้ารหัสตัวเลขใน radix ใด ๆ จาก 2 ถึง 36 พร้อม zero-padding ที่เป็นทางเลือก,DECIMALแยกวิเคราะห์สตริงดังกล่าวกลับเป็นตัวเลข และARABICแปลงตัวเลขโรมันเป็นค่าของมัน
เวอร์ชัน 2.88.239
เพิ่มเติม
- ฟังก์ชัน aggregate
PRODUCTและSUMSQตอนนี้คำนวณในเอนจินสูตรPRODUCTคูณอาร์กิวเมนต์ตัวเลขของมันและSUMSQบวกกำลังสองของพวกมัน ทั้งสองประเมินสดผ่านCalculate - A-variant ความแปรปรวนและส่วนเบี่ยงเบนมาตรฐาน
VARA,VARPA,STDEVAและSTDEVPAคำนวณการกระจายตัวอย่างและประชากรขณะที่นับข้อความเป็น 0 และ TRUE เป็น 1 ต่างจากรูปแบบธรรมดาที่ละเว้นตัวเลขที่ไม่ใช่
เวอร์ชัน 2.88.238
เพิ่มเติม
- ฟังก์ชัน aggregate ทางสถิติตอนนี้คำนวณในเอนจินสูตร
VAR,VARP,STDEV,STDEVP,MODE,COUNTBLANKและAVERAGEAประเมินสดผ่านCalculate - ความแปรปรวนและส่วนเบี่ยงเบนมาตรฐาน
VARและSTDEVใช้สูตรตัวอย่างขณะที่VARPและSTDEVPใช้สูตรประชากร ทั้งบนช่วงและอาร์กิวเมนต์ inline - ค่าที่พบบ่อยที่สุด
MODEส่งคืนตัวเลขที่เกิดขึ้นบ่อยที่สุด และรายงาน#N/Aเมื่อไม่มีค่าซ้ำ - การนับช่องว่าง
COUNTBLANKนับเซลล์ว่างในช่วง รวมถึงเซลล์ที่ถือผลลัพธ์ข้อความว่าง - ค่าเฉลี่ยที่รับรู้ข้อความ
AVERAGEAเฉลี่ยค่าขณะที่นับข้อความเป็นศูนย์และ TRUE ตรรกะเป็นหนึ่ง จึงมันต่างจากAVERAGEซึ่งละเว้นข้อความ
เวอร์ชัน 2.88.237
เพิ่มเติม
- ฟังก์ชัน bitwise ตอนนี้คำนวณในเอนจินสูตร
BITAND,BITOR,BITXOR,BITLSHIFTและBITRSHIFTประเมินสดผ่านCalculate - bitwise AND, OR และ XOR
BITAND,BITORและBITXORรวมจำนวนเต็มไม่เป็นลบสองตัวบิตต่อบิต - การเลื่อนบิตทั้งสองทิศทาง
BITLSHIFTเลื่อนบิตของตัวเลขซ้ายและBITRSHIFTเลื่อนขวา; จำนวนเลื่อนลบกลับทิศทาง - ขีดจำกัดเข้ากันได้กับ Excel ตัวถูกดำเนินการต้องเป็นจำนวนเต็มจาก 0 ถึง 2^48-1 และจำนวนเลื่อนจำกัดที่ 53 ตำแหน่ง; ค่านอกขีดจำกัดเหล่านี้รายงาน
#NUM! - round-trip กับ prefix OOXML เมื่อบันทึกเป็น XLSX ฟังก์ชัน Excel 2013 เหล่านี้ถูกเขียนด้วย prefix
_xlfn.และเปิดใหม่อย่างสะอาด จึงพวกมันยังคงแสดงและคำนวณใหม่อย่างถูกต้อง
เวอร์ชัน 2.88.236
เพิ่มเติม
- ฟังก์ชันการแปลงฐานทางวิศวกรรมตอนนี้คำนวณในเอนจินสูตร
DEC2BIN,DEC2OCT,DEC2HEX,BIN2DEC,OCT2DEC,HEX2DEC,HEX2BIN,BIN2HEX,HEX2OCT,OCT2HEX,BIN2OCTและOCT2BINประเมินสดผ่านCalculate - การแปลงระหว่าง binary, octal, decimal และ hexadecimal ตัวเลขแปลงในทั้งสองทิศทางข้ามฐานทั้งสี่ รวมถึงคู่ข้ามฐานเช่น hexadecimal เป็น binary
- ค่ามีเครื่องหมายผ่าน two's complement ตัวเลขลบแสดงในรูปแบบ two's-complement 10 หลักมาตรฐาน จึงค่า round-trip อย่างถูกต้องข้ามการแปลง
- เอาต์พุต fixed-width ที่เป็นทางเลือก การแปลงเป็นฐานข้อความยอมรับอาร์กิวเมนต์ places ที่เป็นทางเลือกที่ pad ผลลัพธ์ด้วย leading zero เป็นความกว้างคงที่
- การตรวจสอบช่วงและอินพุต ค่านอกช่วงที่แสดงได้ หรือข้อความที่มีตัวเลขที่ไม่ถูกต้องสำหรับฐานต้นทางรายงาน
#NUM!
เวอร์ชัน 2.88.235
เพิ่มเติม
- ฟังก์ชันวันที่ workday ตอนนี้คำนวณในเอนจินสูตร
WORKDAYและNETWORKDAYSประเมินสดผ่านCalculate - การเดินวันที่ที่รับรู้ weekend
WORKDAYส่งวันที่จำนวนวันทำงานก่อนหรือหลังวันที่เริ่มต้น ข้ามเสาร์อาทิตย์; จำนวนลบเดินถอยหลังและจำนวนศูนย์ส่งวันที่เริ่มต้น - การนับวันทำงาน
NETWORKDAYSนับวันทำงานเต็มระหว่างสองวันที่ รวมทั้งสอง endpoint และส่งจำนวนลบเมื่อวันที่เริ่มต้นล่างหลังวันที่สิ้นสุด - รายการวันหยุดที่เป็นทางเลือก ทั้งสองฟังก์ชันยอมรับอาร์กิวเมนต์วันหยุดที่เป็นทางเลือก ให้เป็นวันที่เดียวหรือช่วงเซลล์ และไม่รวมวันที่เหล่านั้นจากการคำนวณวันทำงาน
เวอร์ชัน 2.88.234
เพิ่มเติม
- ฟังก์ชันวันที่และเวลาตอนนี้คำนวณในเอนจินสูตร
EDATE,EOMONTH,DATEDIF,YEARFRAC,DAYS,WEEKNUMและISOWEEKNUMประเมินสดผ่านCalculate - เลขคณิตเดือนพร้อมการ clamp สิ้นเดือน
EDATEเลื่อนวันที่ด้วยจำนวนเต็มเดือนและEOMONTHส่งวันสุดท้ายของเดือนที่เลื่อน; ทั้งสอง clamp ไปยังเดือนที่สั้นกว่า เช่น 31 ที่เลื่อนเข้ากุมภาพันธ์ - หน่วยช่วง
DATEDIFหน่วยนับเต็ม"Y","M"และ"D"บวกหน่วยเศษ"YM","YD"และ"MD"ได้รับการสนับสนุน - ฐานนับวัน
YEARFRACทั้งห้าฐานถูก implement: US 30/360, actual/actual, actual/360, actual/365 และ European 30/360 - การนับเลขสัปดาห์
WEEKNUMรองรับ convention เริ่มอาทิตย์, เริ่มจันทร์ และ ISO (return type 21) และISOWEEKNUMส่งหมายเลขสัปดาห์ ISO 8601
เวอร์ชัน 2.88.233
เพิ่มเติม
- ฟังก์ชัน database ตอนนี้คำนวณในเอนจินสูตร
DSUM,DCOUNT,DCOUNTA,DAVERAGE,DMIN,DMAX,DPRODUCT,DGET,DVAR,DVARP,DSTDEVและDSTDEVPประเมินสดผ่านCalculateและคำนวณใหม่เมื่อสมุดงานเปิดใหม่ - การจับคู่ criteria-table มาตรฐาน เงื่อนไขที่วางใต้ส่วนหัวฟิลด์รวมเป็น AND ภายในแถวและ OR ข้ามแถว สนับสนุนตัวดำเนินการ comparison เช่น
>,<และ>=และอนุญาตการจับคู่ข้อความไวลด์การ์ด*/?; เซลล์เกณฑ์ว่างไม่เพิ่มข้อจำกัด - ตัวเลือกฟิลด์ที่ยืดหยุ่น ฟิลด์ที่รวมสามารถให้เป็นข้อความส่วนหัวคอลัมน์, ดัชนีคอลัมน์ 1-based หรือการอ้างอิงไปยังเซลล์ส่วนหัว
- การ lookup single-record
DGETDGETส่งค่าฟิลด์ของเรคคอร์ดที่ตรง รวมข้อความ และรายงาน#NUM!เมื่อหลายเรคคอร์ดตรงหรือ#VALUE!เมื่อไม่มีตรง
เวอร์ชัน 2.88.232
เพิ่มเติม
OpenODSตอนนี้นำเข้าการป้องกันแผ่นงาน ODS ตาราง ODS ที่มีtable:protected="true"ตอนนี้เปิดเป็นแผ่นงานที่ป้องกันโดยใช้สถานะการป้องกันแผ่นงานไม่มีรหัสผ่านที่มีอยู่; key การป้องกัน ODS ไม่ถูกถือว่าเป็น hash รหัสผ่าน XLSX แบบเดิม
เวอร์ชัน 2.88.231
เพิ่มเติม
OpenODSตอนนี้นำเข้า named range ของ ODS entrytable:named-rangeที่มีtable:cell-range-addressตอนนี้เติมDefinedNamesของสมุดงาน แปลงการอ้างอิงแผ่น/เซลล์ ODS เช่น$Sheet.$A$1:$Sheet.$B$2เป็นสูตร defined-name 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:=ตอนนี้ยังคงค่าสเกลาร์ที่แคชไว้และนำเข้าสูตร XLSX ที่ normalized พร้อมการอ้างอิงแบบวงเล็บเฉพาะท้องถิ่นเช่น[.A1:.B1]และตัวคั่นอาร์กิวเมนต์ semicolon แปลงเป็นไวยากรณ์ Excel
เวอร์ชัน 2.88.228
เพิ่มเติม
OpenODSตอนนี้แก้สไตล์แถวและคอลัมน์ ODS ที่สืบทอด สไตล์ table-row และ table-column ที่ใช้style:parent-style-nameตอนนี้สืบทอดความสูงแถว parent, ความกว้างคอลัมน์ และการตั้งค่าการมองเห็นที่ซ่อนเมื่อแพ็กเกจ ODS อ้าง child style จากcontent.xml
เวอร์ชัน 2.88.227
เพิ่มเติม
OpenODSตอนนี้แก้สไตล์ table-cell ODS ที่สืบทอด สไตล์ table-cell ที่ใช้style:parent-style-nameตอนนี้สืบทอดการแม็ป data-style parent ระหว่างการนำเข้า ODS จึง child style ยังคงค่าNumberFormatXLSX ที่นำเข้าแม้เมื่อ data style ถูกประกาศบนสไตล์ parent
เวอร์ชัน 2.88.226
เพิ่มเติม
OpenODSตอนนี้ preload สไตล์แถวและคอลัมน์ ODS ที่จัดเก็บในstyles.xmlคุณสมบัติสไตล์ table-row และ table-column จากstyles.xmlตอนนี้ feed การนำเข้าแถว/คอลัมน์ที่ซ่อนและความสูงแถว/ความกว้างคอลัมน์เมื่อcontent.xmlอ้างชื่อสไตล์เหล่านั้น
เวอร์ชัน 2.88.225
เพิ่มเติม
OpenODSตอนนี้ใช้ data style ODS ที่จัดเก็บในstyles.xmlสไตล์ table-cell ที่มีชื่อและ data style number/date/time จากstyles.xmlตอนนี้เข้าร่วมในการแก้NumberFormatXLSX ที่นำเข้า ขณะที่ automatic style ของ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ตอนนี้รักษา literalnumber:textใน data style numeric ของ ODS สไตล์ number, percentage และ currency ที่วางnumber:textก่อนหรือหลังnumber:numberตอนนี้นำเข้า literal เหล่านั้นเข้าสู่รูปแบบตัวเลข XLSX รักษาป้ายและ suffix หน่วยเช่นkg
เวอร์ชัน 2.88.221
แก้ไข
OpenODSตอนนี้นำเข้าระยะเวลาเวลา ODS ที่เป็นลบ ค่าoffice:time-valueเช่น-PT02H03M04Sตอนนี้นำเข้าเป็นค่า serial เวลาที่เป็นลบแทนที่ถูกข้าม
เวอร์ชัน 2.88.220
แก้ไข
OpenODSตอนนี้แก้สไตล์เซลล์ default ของ ODS ต่อคอลัมน์ที่ซ้ำ เซลล์ ODS ที่ซ้ำซึ่งข้ามขอบเขต default-style คอลัมน์ตอนนี้ประใช้รูปแบบตัวเลข default ของคอลัมน์หรือตารางเป้าหมายแต่ละคอลัมน์แทนที่ใช้รูปแบบของคอลัมน์ซ้ำแรก
เวอร์ชัน 2.88.219
เพิ่มเติม
OpenODSตอนนี้รักษา fractional seconds ในค่าวันที่ ODS timestampoffice:date-valueเช่น2026-06-04T12:30:00.250ตอนนี้ยังคง component millisecond แทนที่ถูกตัดทอนเป็นวินาทีเต็ม
เวอร์ชัน 2.88.218
เพิ่มเติม
OpenODSตอนนี้นำเข้าการมองเห็นแผ่นงาน ODS ตาราง ODS ที่มีค่าtable:visibilityที่ซ่อนเช่นcollapseตอนนี้นำเข้าเป็นแผ่นงาน XLSX ที่ซ่อนแทนที่กลายเป็นแท็บที่มองเห็นเสมอ
เวอร์ชัน 2.88.217
เพิ่มเติม
OpenODSตอนนี้ประใช้สไตล์เซลล์ default ของ ODStable:default-cell-style-nameบนตาราง, คอลัมน์ และแถวตอนนี้เข้าร่วมในการแก้รูปแบบตัวเลขสำหรับเซลล์ที่ไม่มีtable:style-nameโดยตรง โดยใช้ความสำคัญเซลล์, แถว, คอลัมน์ แล้วตาราง
เวอร์ชัน 2.88.216
เพิ่มเติม
OpenODSตอนนี้นำเข้าส่วนประกอบสไตล์วันที่และเวลา ODS data style วันที่และเวลาตอนนี้อ่าน nodenumber: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ตอนนี้นำเข้ารูปแบบตัวเลข digit ขั้นต่ำของ ODS data style number, percentage และ currency ที่มีnumber:min-integer-digitsและnumber:min-decimal-placesตอนนี้แม็ปไปยังสตริงNumberFormatXLSX พร้อม leading zero และ placeholder ทศนิยมต่อท้ายที่เป็นทางเลือก
เวอร์ชัน 2.88.214
เพิ่มเติม
OpenODSตอนนี้นำเข้ารูปแบบตัวเลขที่จัดกลุ่มของ ODS data style number, percentage และ currency ที่มีnumber:grouping="true"ตอนนี้แม็ปไปยังสตริงNumberFormatXLSX พร้อมตัวคั่นการจัดกลุ่มสไตล์#,##0
เวอร์ชัน 2.88.213
เพิ่มเติม
OpenODSตอนนี้รักษาสัญลักษณ์สกุลเงิน ODS ในรูปแบบตัวเลขที่นำเข้า data style currency ที่มีnumber:currency-symbolตอนนี้ใช้สัญลักษณ์นั้นเป็น prefixNumberFormatXLSX จึงรูปแบบเช่นEUR#,##0.00จะไม่ยุบเป็น$#,##0.00
เวอร์ชัน 2.88.212
เพิ่มเติม
OpenODSตอนนี้เคารพการตั้งค่า decimal-place ของ ODS ในรูปแบบตัวเลขพื้นฐาน data style number, percentage และ currency ที่มีnumber:decimal-placesตอนนี้แม็ปไปยังสตริงNumberFormatXLSX ที่ตรงกันเช่น0,0.0%หรือ$#,##0
เวอร์ชัน 2.88.211
เพิ่มเติม
OpenODSตอนนี้นำเข้าค่าสเกลาร์ที่แคชของ ODS ที่ไม่มีประเภท เซลล์ที่ไม่มีoffice:value-typeตอนนี้ใช้แอตทริบิวต์office:value,office:boolean-value,office:date-value,office:time-valueและoffice:string-valueที่มีก่อนที่จะกลับไปเนื้อหาข้อความ
เวอร์ชัน 2.88.210
เพิ่มเติม
OpenODSตอนนี้รักษาขอบเขต paragraph ข้อความ ODS paragraphtext:pหลายตัวนำเข้าพร้อมตัวแบ่งบรรทัด ขณะที่การควบคุมช่องว่างtext:s,text:tabและtext:line-breakยังคงอยู่ในข้อความเซลล์แทนที่ถูกทำให้แบนราบไปด้วยกัน
เวอร์ชัน 2.88.209
เพิ่มเติม
OpenODSตอนนี้นำเข้ามิติแถวและคอลัมน์ ODS สไตล์ table-column และ table-row ที่มีstyle:column-width/style:row-heightถูกแม็ปไปยังColWidth/RowHeightรวมถึงแถวและคอลัมน์ที่ซ้ำ
เวอร์ชัน 2.88.208
เพิ่มเติม
- การควบคุม chrome และเรขาคณิตหน้าต่างสมุดงาน XLSX
TXLSXWorkbookตอนนี้เปิดเผยMinimized,WindowHidden,ShowHorizontalScroll,ShowVerticalScroll,XWindow,YWindow,WindowWidthและWindowHeightสำหรับ facade XLSXSaveAsเขียนแอตทริบิวต์<workbookView>ที่ตรงกัน,Openround-trip พวกมัน และค่าเรขาคณิต clamp สู่ช่วง 0..65535 ที่เข้ากันได้กับ OOXML
เวอร์ชัน 2.88.207
เพิ่มเติม
- การควบคุมมุมมองสมุดงาน XLSX
TXLSXWorkbookตอนนี้เปิดเผยShowSheetTabs,TabRatio,FirstSheetและAutoFilterDateGroupingจึงผู้เรียกควบคุม tab bar สมุดงานและการจัดกลุ่มวันที่ AutoFilter ผ่าน facade XLSXSaveAsเขียนแอตทริบิวต์<workbookView>ที่สอดคล้องกัน,Openround-trip พวกมัน,TabRatioclamp สู่ 0..1000 และFirstSheetclamp สู่ดัชนีแผ่น 0-based ที่มีอยู่
เวอร์ชัน 2.88.206
เพิ่มเติม
- ตัวช่วย XLSX AutoFit แบบมีขอบเขต
TXLSXWorksheet.AutoFitColumn,AutoFitColumns,AutoFitRow,AutoFitRowsและ wrapperAutoFitColumns/AutoFitRowsของTXLSXRangeตอนนี้ยอมรับขีดจำกัดความกว้าง/ความสูงต่ำสุดและสูงสุดที่เป็นทางเลือก จึงผู้เรียก fit เนื้อหาในขณะที่รักษาเลย์เอาต์รายงานภายในขอบเขตการออกแบบ
แก้ไข
- ชื่อฟอนต์ rich-text HTML ของ XLSX การส่งออก HTML ตอนนี้ปล่อย CSS
font-familyrich-text พร้อมชื่อที่ใส่เครื่องหมายคำพูดคู่ก่อน HTML escaping ให้ตรงกับเอาต์พุต"..."ที่บันทึกไว้สำหรับ run ที่มีสไตล์
เวอร์ชัน 2.88.205
เพิ่มเติม
- รูปร่าง rectangle, oval และ line (XLS) API การวาด .xls ได้รับ
Shapes.AddRectangle,Shapes.AddOvalและShapes.AddLine(บวกAddAutoShapeทั่วไป) จึง autoshape แบบมีประเภทสามารถสร้างและยึดกับช่วงเซลล์โดยไม่ต้องสร้างเรคคอร์ด OfficeArt ด้วยมือ แต่ละรายการส่งรูปร่างที่FillและการจัดรูปแบบLineสามารถตั้งได้; ก่อนหน้านี้เฉพาะภาพ, กล่องข้อความ และความคิดเห็นสามารถเพิ่มได้
เวอร์ชัน 2.88.204
เพิ่มเติม
- แผนภูมิ scatter, bubble และ radar (XLSX)
AddChartตอนนี้ยอมรับxlsxChartScatter(XY scatter),xlsxChartBubble(พร้อมช่วงขนาดฟองรายซีรีส์) และxlsxChartRadarควบคู่กับประเภท column / bar / line / pie / area / doughnut ที่มีอยู่ ซีรีส์ scatter และ bubble plot ช่วงหมวดหมู่เป็น X และช่วงค่าเป็น Y; bubble เพิ่มBubbleSizeRange
เวอร์ชัน 2.88.203
เพิ่มเติม
- กฎการตรวจสอบข้อมูลแบบมีประเภทพร้อม prompt และ alert (XLS) เอนจิน .xls แบบคลาสสิกได้รับ
AddWholeNumberValidation,AddDecimalValidation,AddDateValidation,AddTimeValidation,AddTextLengthValidationและAddCustomValidation(ก่อนหน้านี้เฉพาะ list validation ถูกเปิดเผย) แต่ละรายการส่งกฎ ซึ่งสามารถถือ input prompt, error alert พร้อมไอคอน stop / warning / information และสวิตช์ allow-blank ผ่านSetPrompt/SetError/AllowBlank
เวอร์ชัน 2.88.202
เพิ่มเติม
- input prompt และ error alert สำหรับการตรวจสอบข้อมูล (XLSX) กฎ validation ข้อมูลตอนนี้สามารถถือกล่อง input-prompt (title และข้อความที่แสดงเมื่อเซลล์ถูกเลือก) และกล่อง error-alert (title, ข้อความ และไอคอน stop / warning / information ที่แสดงเมื่อป้อนไม่ถูกต้อง) บวกการควบคุมลูกศร dropdown list ตั้งผ่าน
SetPrompt,SetErrorและคุณสมบัติPromptTitle/Prompt/ErrorTitle/ErrorMessage/ErrorStyle/ShowDropDownใหม่; ก่อนหน้านี้เฉพาะสวิตช์ show-message พร้อมใช้งาน พวกมัน round-trip เมื่อโหลด
เวอร์ชัน 2.88.201
เพิ่มเติม
- ประเภทกฎรูปแบบเงื่อนไขเพิ่มเติม (XLSX) เอนจิน XLSX ได้รับกฎข้อความ (มี, ไม่มี, เริ่มต้นด้วย, ลงท้ายด้วย), top/bottom-N (พร้อมเปอร์เซ็นต์ที่เป็นทางเลือก), สูงกว่า- และต่ำกว่าค่าเฉลี่ย, ค่าซ้ำและค่าเฉพาะ และช่องว่าง / ไม่ใช่ช่องว่าง / ข้อผิดพลาด / ไม่ใช่ข้อผิดพลาด — แต่ละรายการผ่านเมธอด
AddCondFormat*เฉพาะและแต่ละรายการสามารถถือ highlight ผ่านStyleของมัน กฎเหล่านี้ยัง round-trip เมื่อโหลด
เวอร์ชัน 2.88.200
เพิ่มเติม
- การจัดรูปแบบตามเงื่อนไขแบบ formula-driven (XLSX) กฎรูปแบบเงื่อนไขใหม่ไฮไลต์เซลล์ด้วยสูตรโดยพลการผ่าน
AddCondFormatExpression: สูตรถูกประเมินรายเซลล์และเซลล์ที่มันเป็นจริงรับ highlight ของกฎ
เปลี่ยนแปลง
- รูปแบบเงื่อนไขตอนนี้ไฮไลต์เซลล์ใน .xlsx กฎรูปแบบเงื่อนไข cell-value และ formula ตอนนี้ถือสไตล์ที่แตกต่าง — สีเติมเต็ม, สีฟอนต์ และตัวหนา / ตัวเอียง / ขีดเส้นใต้ — เขียนเข้าสู่ตารางสไตล์สมุดงาน จึง Excel วาดเซลล์ที่ตรงกัน ก่อนหน้านี้รูปแบบเงื่อนไข XLSX ถูกบันทึกโดยไม่มี highlight ใด ๆ
เวอร์ชัน 2.88.199
เพิ่มเติม
- ฟังก์ชันสูตร TEXTJOIN และ CONCAT เครื่องคำนวณสูตร built-in ตอนนี้ประเมิน
TEXTJOIN(เชื่อมค่าข้อความด้วยตัวคั่น, เป็นทางเลือกข้ามเซลล์ว่าง) และCONCAT(เชื่อมค่าข้อความโดยไม่มีตัวคั่น) ซึ่งทั้งสองขยายอาร์กิวเมนต์ช่วงเซลล์ต่อเซลล์ — ต่างจากCONCATENATEเดิม ไฟล์.xlsxที่บันทึกเขียนฟังก์ชัน Excel 2016 เหล่านี้ด้วย prefix_xlfn.จึง Excel เปิดพวกมันเป็นฟังก์ชันจริง และการเปิดใหม่แสดงชื่อธรรมดา
เวอร์ชัน 2.88.198
เพิ่มเติม
- ฟังก์ชันสูตร SUMIFS, COUNTIFS, AVERAGEIFS, MAXIFS และ MINIFS เครื่องคำนวณสูตร built-in ตอนนี้ประเมินการรวม multi-condition เหล่านี้ ซึ่งรวม, นับ, เฉลี่ย หรือเอาค่ามากที่สุดหรือน้อยที่สุดของเซลล์ที่ตรงทุกเกณฑ์ข้ามหนึ่งหรือมากกว่าช่วงขนาน; เกณฑ์ยอมรับตัวดำเนินการ comparison เช่น
">=30"และไวลด์การ์ดข้อความ AVERAGEIFS ที่ไม่มีเซลล์ตรงส่ง #DIV/0! และ MAXIFS/MINIFS ส่ง 0 เหมือน Excel และ MAXIFS และ MINIFS ที่ใหม่กว่าถูกเขียนเป็น.xlsxด้วย prefix_xlfn.ของ Excel
เวอร์ชัน 2.88.197
เพิ่มเติม
- ฟังก์ชันสูตร IFS, SWITCH และ IFNA เครื่องคำนวณสูตร built-in ตอนนี้ประเมินฟังก์ชันตรรกะโมเดิร์น
IFS(ค่าของเงื่อนไขแรกที่เป็นจริง),SWITCH(จับคู่นิพจน์กับรายการ case, พร้อม default ที่เป็นทางเลือก) และIFNA(แทนที่ค่าเฉพาะเมื่อผลลัพธ์เป็นข้อผิดพลาด #N/A) เนื่องจากฟังก์ชันเหล่านี้แนะนำหลังชุดฟังก์ชัน .xls เดิม การบันทึกเป็น.xlsxตอนนี้เขียนพวกมันด้วย prefix_xlfn.ของ Excel จึง Excel เปิดพวกมันเป็นฟังก์ชันจริง และการเปิดไฟล์ดังกล่าวใหม่แสดงชื่อฟังก์ชันธรรมดาอีกครั้ง
เวอร์ชัน 2.88.196
เพิ่มเติม
- ฟังก์ชันสูตร INDEX และ OFFSET เครื่องคำนวณสูตร built-in ตอนนี้ประเมิน
INDEX(อ่านค่าตามตำแหน่งแถวและคอลัมน์ภายในช่วง) และOFFSET(อ่านค่าจำนวนแถวและคอลัมน์ที่กำหนดจากเซลล์แอนเคอร์) ทั้งสองผ่านCalculatelookup แบบสองทิศทางINDEX/MATCHและการอ้างอิงOFFSET-anchored ตอนนี้คำนวณอย่างถูกต้อง และตำแหน่งนอกช่วงส่งข้อผิดพลาด #REF! ให้ตรงกับ Excel
เวอร์ชัน 2.88.195
แก้ไข
- HTML ที่ส่งออกยังคงเส้นขอบและการแรเงาของแถวส่วนหัว เมื่อเซลล์ใช้ฟอนต์ที่มีชื่อ การส่งออก XLSX-to-HTML เขียนชื่อฟอนต์ในเครื่องหมายคำพูดคู่ภายในแอตทริบิวต์สไตล์ที่ใส่เครื่องหมายคำพูดคู่ ซึ่งตัดสไตล์ให้สั้น จึงเซลล์สูญเสียเส้นขอบ, เติมเต็ม และขนาด ชื่อฟอนต์ตอนนี้ใส่เครื่องหมายคำพูดเดี่ยว จึงแถวส่วนหัวที่มีสไตล์ส่งออกพร้อมเส้นกริดครบ — รวมถึงเส้นที่ปิดด้านบนของตาราง — พร้อมกับสีพื้นหลังของมัน
- การส่งออก RTF ตอนนี้ตรงกับเลย์เอาต์ HTML และ Excel การส่งออก XLSX-to-RTF ได้รับเส้นขอบเซลล์, spanning เซลล์ที่ผสาน และการแรเงาเติมเต็มทึบ และตอนนี้ปรับขนาดความกว้างคอลัมน์ลงให้พอดีหน้าที่พิมพ์ได้ จึกคอลัมน์ auto-fit ที่กว้างไม่ผลักตารางออกจากหน้าอีกต่อไป ก่อนหน้านี้ตาราง RTF ไม่มีเส้นขอบ, ทิ้งชื่อเรื่องที่ผสาน และอาจกว้างกว่าหน้ามาก
เวอร์ชัน 2.88.194
แก้ไข
- การบันทึกสมุดงาน .xls ที่มีกล่องข้อความใหม่ไม่ทำให้เสียหาย การเปิดไฟล์ XLS ที่มีกล่องข้อความและบันทึกอีกครั้งก่อนหน้านี้ทำซ้ำเรคคอร์ด drawing ภายใน ผลิตสมุดงานที่ทำให้ Excel ล้มเมื่อไฟล์เปิดใหม่ ข้อมูล drawing ของกล่องข้อความตอนนี้ round-trip อย่างถูกต้อง จึงสมุดงานที่บันทึกใหม่เปิดปกติ
เวอร์ชัน 2.88.193
แก้ไข
- ไฟล์ .xlsx ที่ป้องกันด้วยรหัสผ่านตอนนี้เปิดใน Excel การบันทึกสมุดงานด้วยรหัสผ่านผ่าน
SaveAsEncryptedก่อนหน้านี้ผลิตแพ็กเกจ ECMA-376 Standard Encryption ที่ ciphertext AES ถูกสร้างอย่างไม่ถูกต้อง จึก Excel ปฏิเสธไฟล์แม้ด้วยรหัสผ่านที่ถูกต้อง การเข้ารหัส AES-128 ตอนนี้ผลิตเอาต์พุตที่สอดคล้องกับมาตรฐาน และสมุดงานที่เข้ารหัสเปิดใน Excel 2007 ขึ้นไปด้วยรหัสผ่านที่ใช้บันทึก
เปลี่ยนแปลง
- AES ที่เร่งด้วยฮาร์ดแวร์สำหรับการเข้ารหัส XLSX cipher AES-128 เบื้องหลัง XLSX Standard Encryption ตอนนี้ใช้คำสั่ง CPU AES-NI บนทั้ง Windows 32-bit และ 64-bit เมื่อโปรเซสเซอร์รองรับ จึกเร่งการบันทึกที่ป้องกันด้วยรหัสผ่าน โปรเซสเซอร์ที่ไม่มี AES-NI กลับไปใช้การ implement ซอฟต์แวร์พกพาโดยอัตโนมัติ จึกเอาต์พุตเหมือนกันทุกเครื่อง
เวอร์ชัน 2.88.192
เพิ่มเติม
- สูตรอาร์เรย์อยู่รอดผ่านการบันทึกและเปิดใหม่ XLSX สูตรอาร์เรย์ (CSE) หลายเซลล์ที่ตั้งด้วย
SetArrayFormulaตอนนี้ถูกบันทึกและโหลดใหม่จากไฟล์.xlsxเป็นสูตรอาร์เรย์จริง จึงการบันทึกสมุดงานและเปิดใหม่ยังคงช่วง spill ที่ยึดไว้ครบและทุกเซลล์ยังคงประเมินเป็น element ของผลลัพธ์เมทริกซ์ของตัวเอง ก่อนหน้านี้สูตรอาร์เรย์ที่บันทึกสูญเสียช่วง spill เมื่อไฟล์เปิดใหม่
เวอร์ชัน 2.88.191
เพิ่มเติม
- สูตรอาร์เรย์ spill ทั่วช่วงเซลล์ (XLSX) ช่วงของเอนจิน XLSX ได้รับ
SetArrayFormulaเหมือนเอนจิน XLS: สูตรอาร์เรย์ (CSE) หลายเซลล์เช่น{=MMULT(A1:B2;D1:E2)}ที่ตั้งบนบล็อกเซลล์ spill ผลลัพธ์เมทริกซ์ จึงแต่ละเซลล์ประเมินเป็น element ของตัวเอง นี่ทำให้การสนับสนุนสูตรอาร์เรย์หลายเซลล์สมบูรณ์ทั้งสองเอนจิน XLS และ XLSX
เวอร์ชัน 2.88.190
เพิ่มเติม
- สูตรอาร์เรย์ spill ทั่วช่วงเซลล์ (XLS) เมธอด
SetArrayFormulaใหม่บนช่วงตั้งสูตรอาร์เรย์ (CSE) หลายเซลล์เช่น{=MMULT(A1:B2;D1:E2)}บนบล็อกเซลล์ และตัวคำนวณสูตรตอนนี้ spill ผลลัพธ์เมทริกซ์เข้าสู่บล็อกนั้น จึงแต่ละเซลล์อ่าน element ของตัวเอง ก่อนหน้านี้เซลล์ที่ถือสูตรอาร์เรย์ประเมินเป็นไม่รองรับ เมทริกซ์ถูกคำนวณหนึ่งครั้งต่อการคำนวณใหม่และใช้ร่วมทั่วช่วง
เวอร์ชัน 2.88.189
เพิ่มเติม
- ฟังก์ชันสูตร MINVERSE และ MMULT เครื่องคำนวณสูตร built-in ตอนนี้ประเมิน
MINVERSE(matrix inverse) และMMULT(matrix product) เรียกผ่านCalculateแต่ละตัวส่งผลลัพธ์เมทริกซ์เป็นอาร์เรย์สองมิติที่อ่านได้ element ต่อ elementMINVERSEต้องการช่วงสี่เหลี่ยมจัตุรัสและส่งข้อผิดพลาด #NUM! สำหรับเมทริกซ์ singular;MMULTต้องการมิติภายในตกลง (คอลัมน์ของช่วงแรกเท่ากับแถวของช่วงที่สอง) และมิฉะนั้นส่งข้อผิดพลาด #VALUE!
เวอร์ชัน 2.88.188
เพิ่มเติม
- ฟังก์ชันสูตร MDETERM เครื่องคำนวณสูตร built-in ตอนนี้ประเมิน
MDETERMส่ง determinant ของเมทริกซ์ของช่วงสี่เหลี่ยมจัตุรัสผ่านCalculateช่วงที่ไม่ใช่จัตุรัส หรือช่วงที่มีเซลล์ว่างหรือไม่ใช่ตัวเลข ส่งข้อผิดพลาด #VALUE! ให้ตรงกับ Excel
เวอร์ชัน 2.88.187
เพิ่มเติม
- ฟังก์ชันสูตรทางสถิติ เครื่องคำนวณสูตร built-in ตอนนี้ประเมิน
MEDIAN,LARGE,SMALLและRANKจึงสูตรที่สรุปช่วงตัวเลขคำนวณใหม่อย่างถูกต้องผ่านCalculateMEDIANยอมรับการผสมของตัวเลข inline และช่วง;LARGEและSMALLส่งค่ามากที่สุดและน้อยที่สุดลำดับ k;RANKรายงานตำแหน่งของตัวเลข จัดอันดับจากมากไปน้อยโดยค่าเริ่มต้นหรือจากน้อยไปมากเมื่อให้อาร์กิวเมนต์ order ที่ไม่ใช่ศูนย์
เวอร์ชัน 2.88.186
เพิ่มเติม
- ฟังก์ชันสูตร lookup เครื่องคำนวณสูตร built-in ตอนนี้ประเมิน
CHOOSEและMATCHจึงสูตรที่เลือกอาร์กิวเมนต์ตาม index หรือหาตำแหน่งของค่าภายในแถวหรือคอลัมน์คำนวณใหม่อย่างถูกต้องผ่านCalculateMATCHรองรับทั้งสามประเภท match — exact (0), ค่ามากที่สุดที่ไม่มากกว่า lookup ในช่วงจากน้อยไปมาก (1, ค่าเริ่มต้น) และค่าน้อยที่สุดที่ไม่น้อยกว่า lookup ในช่วงจากมากไปน้อย (-1) — และเปรียบเทียบข้อความแบบไม่คำนึงถึงตัวพิมพ์เล็ก/ใหญ่
เวอร์ชัน 2.88.185
เพิ่มเติม
- ฟังก์ชันสูตรทางการเงิน เครื่องคำนวณสูตร built-in ตอนนี้ประเมิน
PV,FV,PMT,NPERและRATEจึกสูตร present-value, future-value, payment, term และ interest-rate คำนวณใหม่อย่างถูกต้องผ่านCalculateอาร์กิวเมนต์ future-value/present-value และ payment-timing (type) ที่เป็นทางเลือกได้รับการเคารพ และRATEแก้แบบ iterative
แก้ไข
- จุดทศนิยมในสตริงสูตร แก้ปัญหาที่สตริงสูตรที่ส่งไปยัง
Calculateซึ่งมีจุดทศนิยม (เช่น=PV(0.05;10;100)) อาจแยกวิเคราะห์ล้มเหลว; literal ตัวเลขที่มีส่วนเศษตอนนี้ประเมินอย่างถูกต้อง
เวอร์ชัน 2.88.184
เพิ่มเติม
- ฟังก์ชันสูตร information เครื่องคำนวณสูตร built-in ตอนนี้ประเมิน
ISERROR,ISERR,ISNA,ISNUMBER,ISLOGICAL,ISNONTEXTและISREFจึงสูตร error-testing และ type-testing คำนวณใหม่อย่างถูกต้องผ่านCalculateISERRไม่รวม #N/A ขณะที่ISNAจับคู่เฉพาะ #N/A
เวอร์ชัน 2.88.183
เพิ่มเติม
- ฟังก์ชันสูตรข้อความ เครื่องคำนวณสูตร built-in ตอนนี้ประเมิน
FIND,SEARCH,SUBSTITUTE,REPLACE,TRIM,PROPER,CLEAN,CHAR,CODE,T,EXACTและREPTจึกแผ่นงานที่ใช้ฟังก์ชันข้อความเหล่านี้คำนวณใหม่อย่างถูกต้องผ่านCalculateแทนที่ส่งผลลัพธ์ unsupported-functionFINDคำนึงถึงตัวพิมพ์เล็ก/ใหญ่ขณะที่SEARCHไม่
แก้ไข
- จดจำฟังก์ชัน CHAR แก้ปัญหา name-lookup ที่ฟังก์ชัน
CHARถูกลงทะเบียนภายใต้ตัวพิมพ์เล็ก/ใหญ่ผิดและไม่สามารถแก้ไขในสูตร
เวอร์ชัน 2.88.182
เปลี่ยนแปลง
- ฟังก์ชันสูตร IFERROR เอนจินสูตรตอนนี้จดจำและประเมิน
IFERROR(value, value_if_error)ส่ง fallback เมื่ออาร์กิวเมนต์แรกประเมินเป็นข้อผิดพลาด Excel ใด ๆ (#NULL!, #DIV/0!, #VALUE!, #REF!, #NAME?, #NUM!, #N/A) และค่าตัวมันเองมิฉะนั้น มัน round-trip บนทั้งสองเอนจิน — เข้ารหัสเป็น function token ใน .xls (BIFF8) และเป็นสตริงสูตร<f>ใน .xlsx (OOXML) — จึกสมุดงานเปิดและคำนวณใหม่อย่างถูกต้องใน Excel
แก้ไข
- NA() ตอนนี้ส่ง #N/A ฟังก์ชัน
NA()ประเมินเป็นค่าข้อผิดพลาด #N/A แทนที่ถูกรายงานเป็นไม่รองรับ จึกสูตรจัดการข้อผิดพลาดที่สร้างรอบมัน (เช่นIFERROR(NA(), 0)) ทำงานตามที่คาดหวัง
เวอร์ชัน 2.88.181
เพิ่มเติม
- กล่องข้อความ (XLSX)
TXLSXWorksheet.AddTextBoxใหม่เพิ่มกล่องข้อความสแตนด์อโลนที่ยึดกับสี่เหลี่ยมเซลล์ ปล่อยเข้าสู่ drawing แผ่นงานเป็นรูปร่างพร้อมเนื้อหาข้อความ นี่นำเอนจิน XLSX ให้เท่ากับการสนับสนุนกล่องข้อความที่มีอยู่ของเอนจิน XLS
เวอร์ชัน 2.88.180
เพิ่มเติม
- ค่าคงที่ขนาดกระดาษที่มีชื่อ (XLSX) เอนจิน XLSX เพิ่ม
xlsxPaperLetter,xlsxPaperA4,xlsxPaperA3และค่าคงที่xlsxPaper*อื่น ๆ สำหรับคุณสมบัติTXLSXWorksheet.PaperSizeสะท้อนค่าคงที่xlPaper*ของเอนจิน XLS จึงขนาดกระดาษสามารถตั้งตามชื่อแทนโค้ดกระดาษ Excel ดิบ
เวอร์ชัน 2.88.179
เพิ่มเติม
- คุณสมบัติเอกสาร XLS เอนจิน XLS ได้รับคุณสมบัติ
IXLSWorkBookTitle,Subject,Author,Keywords,Comments,CompanyและManagerเขียนไปยังสตรีม .xls OLE SummaryInformation / DocumentSummaryInformation (เป็น Unicode) เมื่อบันทึก จึงบาน Info ของ Excel แสดงพวกมัน นี่นำเอนจิน 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
เพิ่มเติม
- parity API range-operation ข้ามเอนจิน เอนจิน XLSX ได้รับเมธอด range สไตล์ Excel
TXLSXRange.CopyTo,MoveTo,InsertRows,DeleteRows,InsertColsและDeleteCols; เอนจิน XLS ได้รับเมธอด coordinate worksheetIXLSWorksheet.CopyRange,MoveRange,InsertRows,DeleteRows,InsertColsและDeleteColsทั้งสองเอนจินตอนนี้เปิดเผย copy/move range และ insert/delete whole-row/column ภายใต้ชื่อที่ตรงกัน
เวอร์ชัน 2.88.176
เพิ่มเติม
- สไตล์เซลล์ built-in
TXLSXRange.ApplyBuiltinStyle(XLSX) และIXLSRange.ApplyBuiltinStyle(XLS) ใหม่สร้างรูปลักษณ์ของสไตล์เซลล์ named มาตรฐานของ Excel — Good, Bad, Neutral, Calculation, Check Cell, Explanatory Text, Input, Linked Cell, Note, Output, Warning Text, Heading 1-4, Title, Total และ Accent 1-6 — ในการเรียกเดียวโดยประใช้เติมเต็มและฟอนต์ที่ตรงกัน
เวอร์ชัน 2.88.175
เพิ่มเติม
- การเรียงลำดับช่วง
TXLSXRange.Sort/TXLSXWorksheet.SortRange(XLSX) และIXLSWorksheet.SortRange(XLS) ใหม่เรียงแถวของสี่เหลี่ยมผืนผ้าใหม่ตามคอลัมน์คีย์หนึ่งหรือมากกว่า จากน้อยไปมากหรือมากไปน้อย แถวเต็มย้ายไปด้วยกันพร้อมค่าและการจัดรูปแบบเซลล์; คีย์เท่ากันยังคงลำดับเดิม (stable sort) และเซลล์ว่างเรียงท้ายเสมอ
เวอร์ชัน 2.88.174
เพิ่มเติม
OpenCSVนำเข้าไฟล์ CSV และ TSV เข้าสู่แผ่นงาน overloadTXLSWorkbook.OpenCSVและTXLSXWorkbook.OpenCSVใหม่อ่านข้อความ delimited พร้อมการตรวจจับตัวคั่นอัตโนมัติ (จุลภาค, semicolon, tab หรือ pipe), การตรวจจับการเข้ารหัส BOM-based (UTF-8 และ UTF-16) และการจัดการ quote RFC 4180Openตอนนี้กำหนดเส้นทางไฟล์.csvและ.tsvไปยังตัวนำเข้าโดยอัตโนมัติ
เปลี่ยนแปลง
- การตรวจจับประเภทค่าที่เป็นทางเลือก ฟิลด์ numeric, ISO-8601 date และ boolean ถูกส่งเสริมเป็นค่าเซลล์แบบมีประเภทโดยค่าเริ่มต้น; การตรวจจับสามารถปิดเพื่อเก็กทุกฟิลด์เป็นข้อความ รักษา leading zero, สตริงตัวเลขยาว และข้อความที่นำหน้าด้วย
=
เวอร์ชัน 2.88.173
เปลี่ยนแปลง
OpenODSตอนนี้นำเข้าการมองเห็นแถวและคอลัมน์ที่ซ่อนของ ODS สไตล์table-rowและtable-columnของ ODS ที่มีค่าtable:visibilityเช่นcollapseหรือfilterตอนนี้แม็ปไปยังRowHidden/ColHiddenรวมถึงแถวและคอลัมน์ที่ซ้ำ
เวอร์ชัน 2.88.172
เปลี่ยนแปลง
- การส่งออก HTML ของ XLSX ตอนนี้รักษาการจัดวางแนวตั้ง
TXLSXWorkbook.SaveAsHTMLและTXLSXRange.SaveAsHTMLปล่อยกฎ CSSvertical-alignสำหรับการจัดวางเซลล์ top, center, justified และ distributed เมื่อIncludeStylesเปิดใช้งาน
เวอร์ชัน 2.88.171
เปลี่ยนแปลง
- การส่งออก HTML ของ XLSX ตอนนี้ข้ามแถวและคอลัมน์ที่ซ่อน
TXLSXWorkbook.SaveAsHTMLและTXLSXRange.SaveAsHTMLละเว้นแถวที่ทำเครื่องหมายโดยRowHidden, คอลัมน์ที่ทำเครื่องหมายโดยColHiddenและคอลัมน์ explicit ความกว้างศูนย์จากตารางที่สร้างและ<colgroup>
เวอร์ชัน 2.88.170
เปลี่ยนแปลง
- การส่งออก HTML ของ XLSX ตอนนี้รักษาขอบเซลล์ เมื่อสไตล์รวมอยู่
TXLSXWorkbook.SaveAsHTMLและTXLSXRange.SaveAsHTMLปล่อยขอบเซลล์เป็นสไตล์ CSSborder-left,border-right,border-topและborder-bottom
เวอร์ชัน 2.88.169
เปลี่ยนแปลง
- การส่งออก HTML ของ XLSX ตอนนี้รักษา run rich-text เมื่อสไตล์รวมอยู่
TXLSXWorkbook.SaveAsHTMLและTXLSXRange.SaveAsHTMLปล่อย runTXLSXRichTextเป็นองค์ประกอบ<span>ที่ escaped พร้อมสไตล์ inline ฟอนต์, สี, emphasis และขีดเส้นใต้
เวอร์ชัน 2.88.168
เปลี่ยนแปลง
- การส่งออก HTML ของ XLSX ตอนนี้รักษาขนาดแถวและคอลัมน์ explicit เมื่อสไตล์รวมอยู่
TXLSXWorkbook.SaveAsHTMLและTXLSXRange.SaveAsHTMLเขียนค่าColWidthexplicit ผ่าน<colgroup>และค่าRowHeightexplicit เป็นสไตล์ความสูง<tr>
เวอร์ชัน 2.88.167
เปลี่ยนแปลง
- การส่งออก HTML ของ XLSX ตอนนี้ส่งความคิดเห็นเซลล์เป็น tooltip
TXLSXWorkbook.SaveAsHTMLและTXLSXRange.SaveAsHTMLเขียนความคิดเห็น XLSX ไปยังแอตทริบิวต์titleของ<td>ที่ escaped และการส่งออกระดับสมุดงานขยายขอบเขตตารางเพื่อรวมแอนเคอร์เฉพาะความคิดเห็น
เวอร์ชัน 2.88.166
เปลี่ยนแปลง
- การส่งออก HTML ของ XLSX ตอนนี้รักษาไฮเปอร์ลิงก์และภาพที่ยึด
TXLSXWorkbook.SaveAsHTMLและTXLSXRange.SaveAsHTMLห่อเซลล์ที่เชื่อมโยงในแอนเคอร์<a>ที่ escaped และปล่อยภาพที่ยึดเป็น inlinedata:image URI การส่งออกระดับสมุดงานยังขยายขอบเขตตารางเพื่อรวมแอนเคอร์ไฮเปอร์ลิงก์และภาพนอกเซลล์ที่เติม
เวอร์ชัน 2.88.165
เพิ่มเติม
TXLSXTableตอนนี้รักษาการมองเห็น total-row คุณสมบัติTotalsRowShownใหม่เขียนและอ่านแฟล็กtotalsRowShownของ OOXML จึงตาราง XLSX สามารถคง total row เปิดอยู่ผ่านวงจร SaveAs/Open
เวอร์ชัน 2.88.164
เพิ่มเติม
TXLSXWorksheetตอนนี้มีตัวช่วย validation ข้อมูลแบบมีประเภทAddWholeNumberValidation,AddDecimalValidation,AddDateValidation,AddTimeValidation,AddTextLengthValidationและAddCustomValidationเพิ่มกฎ XLSX ทั่วไปโดยไม่ต้องส่งค่าTXLSXDataValidationTypeด้วยมือ
เวอร์ชัน 2.88.163
เปลี่ยนแปลง
OpenODSตอนนี้นำเข้าไฮเปอร์ลิงก์ข้อความ ODS ลิงก์text:aของ ODS ที่มีxlink:hrefตอนนี้สร้าง entryTXLSXHyperlinks, เก็ก anchor text ในค่าเซลล์ที่นำเข้า และแม็ปเป้าหมาย fragment เช่น#Sheet.A1ไปยังลิงก์สมุดงานภายใน
เวอร์ชัน 2.88.162
เปลี่ยนแปลง
OpenODSตอนนี้นำเข้าความคิดเห็นเซลล์พื้นฐานของ ODS เซลล์ ODS ที่มีoffice:annotationตอนนี้สร้าง entryTXLSXCommentsพร้อมข้อความความคิดเห็นและdc:creatorเป็นผู้แต่ง ขณะที่เก็กข้อความ annotation ออกจากค่าเซลล์
เวอร์ชัน 2.88.161
เปลี่ยนแปลง
- เดโม
ApiTourตอนนี้ครอบคลุมตัวช่วยเวิร์กโฟลว์ XLSX ปัจจุบัน ตัวอย่างApiTourของ Delphi และ C++Builder ตอนนี้สาธิตWriteRows,ForEachRow,PreviewAutoFilterRows,AutoFilterRowVisible,TXLSXHtmlExportOptionsและOnUserFunctionExควบคู่กับโฟลว์การสร้างสมุดงาน, การส่งออก และการตรวจสอบเปิดใหม่
เวอร์ชัน 2.88.160
เพิ่มเติม
OnUserFunctionExเพิ่ม callback สูตรกำหนดเอง context-awareTXLSWorkbook,IXLSWorkbookและTXLSXWorkbookตอนนี้สามารถรับTXLSUserFunctionContextพร้อมดัชนีแผ่น, แถว และคอลัมน์ เมื่อCalculatedelegate ฟังก์ชันแผ่นงานกำหนดเองหรือไม่รองรับไปยังโค้ดแอปพลิเคชัน
เวอร์ชัน 2.88.159
เพิ่มเติม
TXLSXHtmlExportOptionsเพิ่มการส่งออก HTML ของ XLSX ที่กำหนดค่าได้ overloadSaveAsHTMLของสมุดงานและช่วงสามารถ override title เอกสาร, ประใช้ CSS class ตาราง, ละเว้นสไตล์ inline/default, ระงับ BOM UTF-8 หรือปล่อย fragment ตารางโดยไม่มีเอกสาร HTML รอบข้าง
เวอร์ชัน 2.88.158
เพิ่มเติม
TXLSXWorksheet.AutoFilterRowVisibleและPreviewAutoFilterRowsเพิ่มการประเมินตัวอย่าง AutoFilter แอปพลิเคชันสามารถทดสอบว่าแถวตรงเกณฑ์ AutoFilter XLSX ที่จัดเก็กของแผ่นงานหรือเดินแถวข้อมูลที่กรองด้วย callback การมองเห็น โดยไม่เปลี่ยนแฟล็กซ่อนแถว
เวอร์ชัน 2.88.157
เพิ่มเติม
TXLSXWorksheet.WriteRowsเพิ่มเอาต์พุต XLSX row-batch ผู้เรียกสามารถเติมช่วง numeric หรือ A1-style ทีละแถวโดยส่งคืนอาร์เรย์Variantพร้อม skip whole-row, การยกเลิก และจำนวนแถวที่เขียน
เวอร์ชัน 2.88.156
เพิ่มเติม
TXLSXWorksheet.ForEachRowเพิ่มการสแกน XLSX ระดับแถว callback ทำงานหนึ่งครั้งต่อแถวที่โหลด รายงานแถวบวกคอลัมน์แรกและสุดท้ายที่โหลด ส่งคืนจำนวนแถวที่เยี่ยมชม และสนับสนุนการยกเลิก
เวอร์ชัน 2.88.155
เปลี่ยนแปลง
OpenODSตอนนี้นำเข้าผลลัพธ์สเกลาร์ที่แคชจากเซลล์สูตร ODS เมื่อเซลล์สูตรจัดเก็บค่าตัวเลข, บูลีน, วันที่ หรือเวลาที่แคชโดยไม่มีoffice:value-typeตัวนำเข้ายังคงค่าเซลล์ที่แคชขณะที่ทิ้งไวยากรณ์สูตร ODS ไม่แปลง
เวอร์ชัน 2.88.154
เปลี่ยนแปลง
OpenODSตอนนี้รักษารูปแบับตัวเลขและวันที่พื้นฐานของ ODS สไตล์ table-cell ของ ODS ที่เชื่อมไปยัง data style วันที่, เวลา, ตัวเลข, เปอร์เซ็นต์ หรือสกุลเงินตอนนี้แม็ปไปยังสตริงNumberFormatXLSX เช่นyyyy-mm-ddและ0.00จึงค่าที่นำเข้ายังคงรูปแบบการแสดงพื้นฐาน
เวอร์ชัน 2.88.153
เปลี่ยนแปลง
- เซลล์ที่ผสานของ ODS ตอนนี้นำเข้าเป็นช่วงที่ผสาน XLSX
OpenODSแม็ปtable:number-columns-spannedและtable:number-rows-spannedบนเซลล์ ODS ไปยังTXLSXMergedCellsเก็กค่าบนเซลล์ซ้ายบนและทิ้งเซลล์ที่ครอบไว้ว่าง
เวอร์ชัน 2.88.152
เปลี่ยนแปลง
- ชื่อแผ่นงาน ODS ตอนนี้สามารถอ่านได้โดยไม่โหลดแผ่นงาน
TXLSXWorkbook.GetODSSheetNames(FileName, AList)และGetODSSheetNames(Stream, AList)สแกนชื่อตารางcontent.xmlจากแพ็กเกจ.ods, ถอดรหัส escape XML, สังเคราะห์ชื่อเริ่มต้นสำหรับตารางที่ไม่มีชื่อ และทิ้ง instance สมุดงานไม่เปลี่ยนแปลง
เวอร์ชัน 2.88.151
เปลี่ยนแปลง
- เรคคอร์ด DIMENSION ของ XLS แบบคลาสสิกตอนนี้แจ้งช่วงที่ใช้ว่าง เมื่อแผ่นงาน .xls ที่ Excel สร้างประกาศช่วงที่ใช้ใน
DIMENSIONแต่ไม่มีเรคคอร์ดเซลล์ HotXLS ตอนนี้เปิดเผยช่วงนั้นผ่านUsedRangeและรักษามันระหว่างเปิด/บันทึกแทนที่กลับไปA1
เวอร์ชัน 2.88.150
แก้ไข
- การอ้างอิงสูตรภายนอก BIFF5-era ตอนนี้โหลดอย่างถูกต้อง ตัวแยกวิเคราะห์ XLS แบบคลาสสิกตอนนี้แก้ดัชนีแผ่นภายนอก Excel5 บวกในโทเค็น
tRef3d/tArea3dและtNameXจึงสูตร .xls เดิมยังคงช่วง 3D sheet-qualified และการอ้างอิง external-name ระหว่างเปิด/บันทึก
เวอร์ชัน 2.88.149
ลบ
- เรคคอร์ดส่วนขยายสไตล์และการคำนวณ BIFF8 ตอนนี้ round-trip HotXLS รักษาเรคคอร์ด
MTRSettings,ForceFullCalculation,CrErr,Uncalcedของแผ่นงาน,XFCRC,DXFอิสระ,StyleExtและเรคคอร์ดตระกูลTableStylesที่ Excel สร้าง ระหว่างวงจรเปิด/บันทึก XLS แบบคลาสสิก จึงเมทาดาต้าการคำนวณใหม่และส่วนขยายสไตล์ไม่ถูกทิ้งอีกต่อไป
เวอร์ชัน 2.88.148
เพิ่มเติม
- เดโม C++Builder ตอนนี้ตรงกับความครอบคลุมตัวอย่าง Delphi เพิ่มโปรเจกต์ C++Builder สำหรับ
XlsTables,XlsCondFormat12และXlsCreateChartพร้อมหน้า README ที่ตรงกันและความครอบคลุม build Win32/Win64
เวอร์ชัน 2.88.147
ลบ
- BIFF8 Custom Views ตอนนี้อยู่รอดผ่าน round-trip XLS แบบคลาสสิก HotXLS รักษาบล็อก
USERSVIEWBEGIN/USERSVIEWENDที่ Excel สร้างใน workbook globals และ substream แผ่นงาน รวมถึงเรคคอร์ดที่ไม่ถูกสร้างโมเดลภายในบล็อก จึง custom view ที่บันทึกไม่ถูกทิ้งระหว่างเปิด/บันทึก
เวอร์ชัน 2.88.146
ลบ
- มุมมองสมุดงาน BIFF8 และ global ส่วนขยายตอนนี้ round-trip HotXLS รักษาเรคคอร์ด
HIDEOBJ,TEMPLATEความยาวศูนย์,TABIDและBOOKEXTที่ Excel สร้างระหว่างเปิด/บันทึก จึงนโยบายการแสดง hidden-object, marker template, ตัวระบุแท็บแผ่น และเมทาดาต้าส่วนขยายสมุดงานไม่ถูกทิ้ง
เวอร์ชัน 2.88.145
เปลี่ยนแปลง
- TXLSXWorkbook ตอนนี้สามารถนำเข้าไฟล์ OpenDocument Spreadsheet พื้นฐาน
OpenODS(FileName)และOpenODS(Stream)อ่านตารางcontent.xmlจากแพ็กเกจ.odsเข้าสู่แผ่นงาน รักษาชื่อแผ่น, ค่าสเกลาร์, แถวซ้ำ และคอลัมน์ซ้ำ สไตล์, สูตร, drawing, แผนภูมิ และคุณลักษณะ ODS ขั้นสูงไม่ถูกแปลง
เวอร์ชัน 2.88.144
เปลี่ยนแปลง
- การแก้ไขแถวและคอลัมน์ XLSX ตอนนี้อัปเดตเกณฑ์คอลัมน์ AutoFilter
TXLSXWorksheet.InsertRows,DeleteRows,InsertColsและDeleteColsตอนนี้แม็ปใหม่ offsetColIdของAutoFilterColumnsเมื่อช่วงตัวกรองเคลื่อนที่และนำเกณฑ์ที่ตกภายในคอลัมน์ที่ลบออก
เวอร์ชัน 2.88.143
เปลี่ยนแปลง
- การแก้ไขแถวและคอลัมน์ XLSX ตอนนี้อัปเดตตัวแบ่งหน้าด้วยมือ
TXLSXWorksheet.InsertRows,DeleteRows,InsertColsและDeleteColsตอนนี้เคลื่อนตัวแบ่งหน้าแถวและคอลัมน์ตามกริดที่แก้ไขและนำตัวแบ่งที่ตกภายในแถวหรือคอลัมน์ที่ลบออก
เวอร์ชัน 2.88.142
เปลี่ยนแปลง
- การแก้ไขแถวและคอลัมน์ XLSX ตอนนี้อัปเดตการอ้างอิงการตั้งค่าพิมพ์
TXLSXWorksheet.InsertRows,DeleteRows,InsertColsและDeleteColsตอนนี้ปรับPrintArea,PrintTitleRowsและPrintTitleColsจึงช่วงที่พิมพ์และชื่อซ้ำตามกริดที่แก้ไข
เวอร์ชัน 2.88.141
เปลี่ยนแปลง
- การแก้ไขแถวและคอลัมน์ XLSX ตอนนี้อัปเดตเป้าหมายไฮเปอร์ลิงก์ภายใน
TXLSXWorksheet.InsertRows,DeleteRows,InsertColsและDeleteColsตอนนี้ปรับแอนเคอร์TXLSXHyperlink.Locationภายในบนแผ่นที่แก้ไขและเป้าหมายภายใน sheet-qualified ที่อื่นในสมุดงาน
เวอร์ชัน 2.88.140
เปลี่ยนแปลง
- การแก้ไขแถวและคอลัมน์ XLSX ตอนนี้อัปเดตสูตรกฎ
TXLSXWorksheet.InsertRows,DeleteRows,InsertColsและDeleteColsตอนนี้ปรับการอ้างอิง A1 ภายในTXLSXConditionalFormat.Formula1/Formula2และTXLSXDataValidation.Formula1/Formula2ขณะที่เกณฑ์ numeric และ literal list ยังคงไม่เปลี่ยนแปลง
เวอร์ชัน 2.88.139
เปลี่ยนแปลง
- การแก้ไขแถวและคอลัมน์ XLSX ตอนนี้อัปเดตช่วงซีรีส์แผนภูมิ
TXLSXWorksheet.InsertRows,DeleteRows,InsertColsและDeleteColsตอนนี้ปรับTXLSXChartSeries.CategoriesRangeและValuesRangeสำหรับแผนภูมิบนแผ่นที่แก้ไขและแผนภูมิที่อื่นที่ใช้การอ้างอิง sheet-qualified รักษาการผูกข้อมูลแผนภูมิให้สอดคล้องหลังวงจรบันทึก/เปิดใหม่
เวอร์ชัน 2.88.138
เปลี่ยนแปลง
- การแก้ไขแถวและคอลัมน์ XLSX ตอนนี้อัปเดตสูตรเซลล์
TXLSXWorksheet.InsertRows,DeleteRows,InsertColsและDeleteColsตอนนี้ปรับการอ้างอิง A1 ในสูตรเซลล์ที่อยู่รอดบนแผ่นที่แก้ไขและสูตร sheet-qualified ที่อื่นในสมุดงาน ขณะที่ทิ้งสตริงและแผ่นที่ไม่เกี่ยวข้องไม่เปลี่ยนแปลง
เวอร์ชัน 2.88.137
เปลี่ยนแปลง
- การแก้ไขแถวและคอลัมน์ XLSX ตอนนี้เคลื่อนแอนเคอร์ drawing
TXLSXWorksheet.InsertRows,DeleteRows,InsertColsและDeleteColsตอนนี้เคลื่อนแอนเคอร์ภาพ one-cell และปรับขนาดหรือเคลื่อนแอนเคอร์แผนภูมิ two-cell ตามกริดที่แก้ไข รวมถึง round-trip บันทึก/เปิดใหม่
เวอร์ชัน 2.88.136
เปลี่ยนแปลง
- การแก้ไขแถวและคอลัมน์ XLSX ตอนนี้อัปเดต defined name
TXLSXWorksheet.InsertRows,DeleteRows,InsertColsและDeleteColsตอนนี้ปรับสูตรTXLSXDefinedNameworkbook-scoped และ sheet-scoped ที่ชี้ไปยังแผ่นที่แก้ไข รักษา marker A1 สัมบูรณ์ข้ามวงจรบันทึก/เปิดใหม่
เวอร์ชัน 2.88.135
เพิ่มเติม
- กล่องข้อความ XLS แบบคลาสสิกตอนนี้รองรับ offset แอนเคอร์ sub-cell
TXLSTextBoxเปิดเผยRow1Offs,Col1Offs,Row2OffsและCol2Offsและ overloadSetAreaที่รับรู้ offset ยังคง offset client-anchor ของ BIFF ข้ามวงจรบันทึก/เปิดใหม่
เวอร์ชัน 2.88.134
เปลี่ยนแปลง
- การตรวจสอบเพย์โหลดแมโคร XLSX ตอนนี้มี alias คุณสมบัติแบบอ่านอย่างเดียว
TXLSXWorkbook.VbaProjectDefinedสะท้อนHasVbaProjectให้ผู้เรียก property-oriented วิธีโดยตรงในการทดสอบว่ามีเพย์โหลดvbaProject.binอยู่หรือไม่
เวอร์ชัน 2.88.133
เปลี่ยนแปลง
- แผ่นงาน XLSX ตอนนี้เปิดเผยการล้างค่าช่วงโดยตรง
TXLSXWorksheet.ClearRangeValuesยอมรับการอ้างอิง A1 หรือขอบเขตแถว/คอลัมน์และล้างค่า/สูตรขณะที่รักษาสไตล์ จึงผู้เรียกไม่ต้องสร้าง wrapperTXLSXRangeก่อน
เวอร์ชัน 2.88.132
ลบ
- ช่วง XLSX ตอนนี้สามารถล้างเนื้อหาเซลล์ด้วยตัวช่วย value-focused explicit
TXLSXRange.ClearValuesนำค่าและสูตรออกทั่วช่วงขณะที่รักษาดัชนีสไตล์ ให้ตรงกับClearแต่ทำให้การทำความสะอาดเฉพาะเนื้อหาค้นพบได้ง่ายขึ้น
เวอร์ชัน 2.88.131
เปลี่ยนแปลง
- literal validation ข้อมูล list ของ XLSX ตอนนี้ escape เครื่องหมายคำพูดคู่ที่ฝัง
TXLSXDataValidations.AddListและTXLSXWorksheet.AddListValidationอักขระเครื่องหมายคำพูดคู่ภายในข้อความ item คั่นด้วยจุลภาคก่อนห่อเป็นสตริงสูตร Excel จึงค่า dropdown ที่มีเครื่องหมายคำพูด round-trip อย่างถูกต้อง
เวอร์ชัน 2.88.130
ลบ
- เกณฑ์ AutoFilter XLSX ตอนนี้สามารถล้างได้โดยตรงจาก collection เกณฑ์
TXLSXAutoFilterColumns.ClearCriteriaนำเกณฑ์ตัวกรองรายคอลัมน์ที่จัดเก็กทั้งหมดออกขณะที่รักษาAutoFilterRangeของแผ่นงานไว้
เวอร์ชัน 2.88.129
เพิ่มเติม
- ช่วงที่ผสาน XLSX ตอนนี้ normalize พิกัดกลับด้านเมื่อเพิ่ม
TXLSXMergedCells.Addจัดเก็บช่วงในลำดับซ้ายบน / ขวาล่างแม้เมื่อผู้เรียกส่งเซลล์สิ้นสุดก่อน ผลิต ref เสถียรเช่นA2:E6
เวอร์ชัน 2.88.128
เพิ่มเติม
- collection แผ่นงาน XLSX ตอนนี้รองรับการลบตามชื่อโดยตรง
TXLSXSheetsเพิ่มDeleteByNameให้แอปพลิเคชันนำแผ่นงานออกตามชื่อแบบไม่คำนึงถึงตัวพิมพ์เล็ก/ใหญ่ขณะที่รักษาการเลือกแผ่น active ให้สม่ำเสมอ
เวอร์ชัน 2.88.127
เพิ่มเติม
- collection แผนภูมิ XLSX ตอนนี้รองรับการ lookup และลบ title โดยตรง
TXLSXChartsเพิ่มIndexOfName,FindByName,DeleteByNameและDeleteจึงแอปพลิเคชันสามารถค้นหาหรือนำแผนภูมิออกตาม title โดยไม่ต้องสแกน collection ด้วยมือ
เวอร์ชัน 2.88.126
เพิ่มเติม
- collection external-link XLSX ตอนนี้รองรับการ lookup และลบ target โดยตรง
TXLSXExternalLinksเพิ่มIndexOfTarget,FindByTarget,DeleteByTargetและDeleteจึงแอปพลิเคชันสามารถตรวจสอบหรือนำเมทาดาต้าสมุดงานที่เชื่อมโยงออกโดยไม่ต้องสแกน collection ด้วยมือ
เวอร์ชัน 2.88.125
เพิ่มเติม
- collection เซลล์ที่ผสาน XLSX ตอนนี้รองรับการ lookup และลบช่วงโดยตรง
TXLSXMergedCellsเพิ่มIndexOfCell,FindAt,DeleteAtและDeleteInRangeจึงแอปพลิเคชันสามารถตรวจสอบหรือนำช่วงที่ผสานออกโดยไม่ต้องสแกน collection ด้วยมือ
เวอร์ชัน 2.88.124
เพิ่มเติม
- collection รูปแบบเงื่อนไขและ validation ข้อมูล XLSX ตอนนี้รองรับการ lookup และลบที่รับรู้ช่วง
TXLSXConditionalFormatsและTXLSXDataValidationsเพิ่มIndexOfCell,FindAt,DeleteAtและDeleteInRangeจึงแอปพลิเคชันสามารถค้นหาหรือนำกฎที่ครอบเซลล์หรือตัดช่วงออกโดยไม่ต้องสแกนsqrefด้วยมือ
เวอร์ชัน 2.88.123
เพิ่มเติม
- collection ภาพ XLSX ตอนนี้รองรับการ lookup และลบแอนเคอร์โดยตรง
TXLSXImagesเพิ่มIndexOfCell,FindAt,DeleteAt,DeleteInRangeและDeleteจึงแอปพลิเคชันสามารถตรวจสอบหรือนำภาพที่ฝังออกโดยไม่ต้องสแกน collection ด้วยมือ
เวอร์ชัน 2.88.122
เพิ่มเติม
- collection คอลัมน์ AutoFilter XLSX ตอนนี้รองรับการ lookup และลบโดยตรง
TXLSXAutoFilterColumnsเพิ่มFindByColIdและDeleteByColIdจึงแอปพลิเคชันสามารถตรวจสอบหรือนำเกณฑ์รายคอลัมน์ออกโดยไม่ต้องสแกน collection ด้วยมือ
เวอร์ชัน 2.88.121
เพิ่มเติม
- collection ตาราง XLSX ตอนนี้รองรับการ lookup และลบตารางโดยตรง
TXLSXTablesเพิ่มIndexOfName,FindByNameและDeleteByNameจึงแอปพลิเคชันสามารถค้นหาหรือนำตารางแผ่นงานที่มีชื่อออกโดยไม่ต้องสแกน collection ด้วยมือ
เวอร์ชัน 2.88.120
เพิ่มเติม
- collection defined-name XLSX ตอนนี้รองรับการ lookup และลบออบเจกต์โดยตรง
TXLSXDefinedNamesเพิ่ม overloadIndexOfName(Name, SheetIndex),FindByNameและDeleteByNameจึงแอปพลิเคชันสามารถทำงานกับชื่อ workbook-scoped และ sheet-scoped โดยไม่ต้องสแกน collection ด้วยมือ
เวอร์ชัน 2.88.119
เพิ่มเติม
- collection ความคิดเห็นและไฮเปอร์ลิงก์ XLSX ตอนนี้รองรับการ lookup และลบตามเซลล์
TXLSXCommentsและTXLSXHyperlinksเปิดเผยIndexOfCell,FindAt,DeleteAtและDeleteInRangeจึงโค้ดแอปพลิเคชันสามารถค้นหาหรือนำความคิดเห็นและลิงก์แผ่นงานออกโดยไม่ต้องสแกน collection ด้วยมือ
เวอร์ชัน 2.88.118
เปลี่ยนแปลง
- เดโม ApiTour ตอนนี้ตรวจสอบออบเจกต์สมุดงาน XLSX ที่เปิดใหม่ ตัวอย่าง ApiTour ของ Delphi และ C++Builder เปิดสมุดงาน XLSX ที่สร้างใหม่และเขียนแถว
reopen-inspectสำหรับ defined name, ความคิดเห็น, ไฮเปอร์ลิงก์, ช่วง autofilter และเกณฑ์ autofilter เข้าสู่ApiTour-XLSX-Modified.xlsx
เวอร์ชัน 2.88.117
ลบ
- เรคคอร์ดสมุดงาน file-sharing และ revision-protection BIFF8 ตอนนี้ round-trip HotXLS รักษาเนื้อหาเรคคอร์ด
FILESHARING,FILESHARING2,PROT4REVและPROT4REVPASSที่ Excel สร้างระหว่างเปิด/บันทึก จึงเมทาดาต้าการแนะนำอ่านอย่างเดียว, sharing และ revision-protection ไม่ถูกทิ้ง
เวอร์ชัน 2.88.116
เปลี่ยนแปลง
- เดโม ApiTour ตอนนี้ครอบคลุมตัวช่วยออบเจกต์สมุดงาน XLSX ตัวอย่าง ApiTour ของ Delphi และ C++Builder สร้าง defined name, ความคิดเห็นแผ่นงาน, ไฮเปอร์ลิงก์, ช่วง autofilter และเกณฑ์ autofilter ขณะที่รักษาเวิร์กโฟลว์ callback, การแทนที่ข้อความ และการส่งออกที่มีอยู่
เวอร์ชัน 2.88.115
เปลี่ยนแปลง
- เดโม InteractiveFeatures ตอนนี้สามารถเปิดสมุดงาน pivot XLS แบบคลาสสิกใหม่ แท็บ Pivot ของ Delphi และ C++Builder สามารถเปิดสมุดงาน pivot XLS แบบคลาสสิกที่มีอยู่, แจงนับตารางสาระสำคัญที่บันทึกบนทุกแผ่นงาน และ log จำนวนฟิลด์, จำนวนฟิลด์ข้อมูล และช่วงต้นทางแคชของแต่ละตาราง
เวอร์ชัน 2.88.114
เปลี่ยนแปลง
- เดโม InteractiveFeatures ตอนนี้สามารถเปิดสมุดงาน XLS แบบคลาสสิกใหม่สำหรับเวิร์กโฟลว์ TextBox แบบฟอร์ม Delphi และ C++Builder สามารถเปิดสมุดงาน XLS แบบคลาสสิกที่มีอยู่, ค้นหากล่องข้อความ drawing สแตนด์อโลนที่บันทึก, แสดงรายการ และดำเนินการแก้ไข, ลบ, ลบช่วง และบันทึกต่อกับไฟล์ที่เปิดอยู่
เวอร์ชัน 2.88.113
เปลี่ยนแปลง
- เดโม C++Builder ตอนนี้รวมตัวอย่าง InteractiveFeatures สำหรับเวิร์กโฟลว์สมุดงานขั้นสูง แบบฟอร์ม VCL จัดหาเส้นทาง interactive Pivot / TextBox / Macro เดียวกัน พร้อมการสร้างตารางสาระสำคัญ XLS แบบคลาสสิกแบบมีประเภท, การแก้ไขกล่องข้อความ drawing สแตนด์อโลน และ load/export/clear เพย์โหลด
vbaProject.binXLSM บวกการตรวจสอบโมดูลที่แยกวิเคราะห์
เวอร์ชัน 2.88.112
เปลี่ยนแปลง
- เดโม Delphi ตอนนี้รวมตัวอย่าง InteractiveFeatures สำหรับเวิร์กโฟลว์สมุดงานขั้นสูง แบบฟอร์ม VCL สร้างตารางสาระสำคัญ XLS แบบคลาสสิกแบบมีประเภท, แก้ไขกล่องข้อความ drawing สแตนด์อโลน และจัดการ load/export/clear เพย์โหลด
vbaProject.binXLSM บวกการตรวจสอบโมดูลที่แยกวิเคราะห์
เวอร์ชัน 2.88.111
เพิ่มเติม
- แผ่นงาน XLS แบบคลาสสิกตอนนี้รองรับกล่องข้อความ drawing สแตนด์อโลน ใช้
TXLSShapes.AddTextBoxเพื่อสร้างTXLSTextBoxพร้อมแอนเคอร์แถว/คอลัมน์ของตัวเอง, ข้อความ, text run, การจัดรูปแบบ line/fill และการลบรูปร่างปกติโดยไม่ต้องสร้างความคิดเห็นเซลล์
เวอร์ชัน 2.88.110
เปลี่ยนแปลง
- เดโม ApiTour ตอนนี้ครอบคลุมรูปแบบ automation สมุดงานเพิ่มเติม ตัวอย่าง ApiTour ของ Delphi และ C++Builder สาธิตการเขียนช่วงแบบ callback ด้วย
WriteCells, การสแกนเซลล์ที่โหลดด้วยForEachCell, การอัปเดตเทมเพลตด้วยFindTextและReplaceText, การส่งออก HTML ช่วงที่เลือกไปยังApiTour-Range.htmlและ callback สูตรกำหนดเองของ Delphi ผ่านOnUserFunction
เวอร์ชัน 2.88.109
เปลี่ยนแปลง
- เดโม QuickStart ตอนนี้แสดงสมุดงานแรกที่เต็มขึ้น ตัวอย่าง QuickStart ของ Delphi และ C++Builder สร้างตารางคูณที่มีสไตล์พร้อมสูตรผลรวมแถวและคอลัมน์, freeze pane และ action XLS/XLSX ที่ตรงกัน; โครงสร้างเดโมตอนนี้ยังรวมหน้า readme HTML ที่ขัดเกลาสำหรับแต่ละตัวอย่าง
เวอร์ชัน 2.88.108
เปลี่ยนแปลง
- ช่วง XLSX ตอนนี้มีตัวช่วยส่งออก HTML โดยตรง
TXLSXRange.SaveAsHTML(FileName)และTXLSXRange.SaveAsHTML(Stream)ส่งออกเฉพาะช่วง XLSX ที่เลือกเป็นตาราง HTML UTF-8 แชร์ escaping, เอาต์พุตสไตล์พื้นฐาน และการจัดการ span เซลล์ที่ผสานของตัวเรนเดอร์ HTML สมุดงาน
เวอร์ชัน 2.88.107
เพิ่มเติม
- แผ่นงาน XLSX ตอนนี้รวมตัวช่วยค้นหาและแทนที่ข้อความ
TXLSXWorksheet.FindTextและTXLSXWorksheet.ReplaceTextสแกนเซลล์ข้อความที่โหลดตามลำดับแถวหลัก ข้ามสูตรและค่าที่ไม่ใช่ข้อความ และสนับสนุนการจับคู่ case-sensitive ที่เป็นทางเลือกสำหรับเวิร์กโฟลว์เทมเพลต
เวอร์ชัน 2.88.106
เปลี่ยนแปลง
- แฟล็กมุมมอง Window2 BIFF8 ตอนนี้รักษาสถานะ gridline และ frozen-pane กำหนดเอง HotXLS ตอนนี้ล้าง
fDefaultHdrเมื่อWindow2.icvHdrจัดเก็บสี gridline กำหนดเอง, รักษาfFrozenNoSplitที่ Excel สร้างระหว่างเปิด/บันทึก และเขียนfFrozenNoSplitสำหรับเอาต์พุตFreezePanes
เวอร์ชัน 2.88.105
เปลี่ยนแปลง
- เกณฑ์สูตร CF12 ตอนนี้ round-trip ผ่านกฎ BIFF8 Data Bar, Color Scale และ Icon Set ค่าเกณฑ์แบบ formula-based คอมไพล์เป็นไบต์โทเค็นสูตร CF12 เมื่อบันทึกและคืนค่าเป็น
TXLSCfValue.Valueเมื่อสมุดงานเปิดใหม่
เวอร์ชัน 2.88.104
เปลี่ยนแปลง
- สูตร XLS แบบคลาสสิกและเกณฑ์ icon-set ตอนนี้ปล่อยเรคคอร์ด BIFF8 ที่แน่นขึ้น ค่าคงที่จำนวนเต็มในสูตรใช้โทเค็น
tIntแบบกระชับเมื่อพอดีช่วง unsigned-integer ของ BIFF และTXLSIconSetSpec.ThresholdEqualsInclude[Index]ตอนนี้ควบคุม byte equals เกณฑ์ icon-set CF12 จึงผู้เรียกเลือกเซแมนติก comparison include หรือ exclude
เวอร์ชัน 2.88.103
เปลี่ยนแปลง
- แผ่นงาน XLS แบบคลาสสิกตอนนี้รวมตัวช่วยค้นหาข้อความ
IXLSWorksheet.FindText(SearchText, Row, Col[, MatchCase])ค้นหาเซลล์ข้อความที่โหลดที่ตรงกันแรก ข้ามสูตรและเซลล์ที่ไม่ใช่ข้อความ และล้างพิกัดที่ส่งคืนเมื่อไม่พบ match
เวอร์ชัน 2.88.102
เปลี่ยนแปลง
- แผ่นงาน XLS แบบคลาสสิกตอนนี้รวมตัวช่วยแทนที่ข้อความ
IXLSWorksheet.ReplaceText(SearchText, ReplacementText[, MatchCase])แทนที่ match ในเซลล์ข้อความที่โหลด ข้ามสูตรและเซลล์ที่ไม่ใช่ข้อความ และรายงานจำนวนเซลล์ที่เปลี่ยนสำหรับเวิร์กโฟลว์เติมเทมเพลต
เวอร์ชัน 2.88.101
เปลี่ยนแปลง
- ช่วงตอนนี้มีตัวช่วยส่งออก HTML โดยตรง
IXLSRange.SaveAsHTML(FileName)และIXLSRange.SaveAsHTML(Stream)ส่งออกช่วงที่เลือกผ่านตัวเรนเดอร์ HTML ที่มีอยู่ จึงผู้เรียกไม่ต้องสร้าง instanceTXLSHTMLExportหรือส่งxlHTMLอย่างชัดเจนสำหรับ fragment ช่วงทั่วไป
เวอร์ชัน 2.88.100
เปลี่ยนแปลง
TXLSWorkbook.GetSheetNames(Stream, AList)ตอนนี้อ่านสตรีมแพ็กเกจ XLSX เช่นเดียวกับสตรีม XLS แบบคลาสสิก แอปพลิเคชันสามารถส่ง memory stream, สตรีม database BLOB หรือสตรีม XLSX ที่ดาวน์โหลดไปยัง facade คลาสสิกและรับชื่อแผ่นงานตามลำดับโดยไม่ต้องบันทึกไปยังไฟล์ก่อน
เวอร์ชัน 2.88.99
เพิ่มเติม
- API lookup แผ่นงาน, การสร้างไฮเปอร์ลิงก์ และการเลือก multi-area ตอนนี้ใช้งานง่ายขึ้น collection แผ่นงาน XLS แบบคลาสสิกและ XLSX เพิ่ม
TryGetSheetByName, แผ่นงาน XLS แบบคลาสสิกเพิ่ม overload ความสะดวกAddHyperlinkและIXLSWorksheet.SelectAreasสามารถเขียนการเลือก multi-range active
เวอร์ชัน 2.88.98
เปลี่ยนแปลง
- สมุดงาน XLS แบบคลาสสิกตอนนี้เปิดเผย alias
UserNameสำหรับฟิลด์ saved-byIXLSWorkbook.UserNameแม็ปไปยังค่า WRITEACCESS เดียวกันกับLastSavedByจึงโค้ดที่ใช้ convention การตั้งชื่อUserNameสามารถอ่านและอัปเดตชื่อ audit สมุดงานโดยตรง
เวอร์ชัน 2.88.97
เปลี่ยนแปลง
- แผ่นงาน XLSX ตอนนี้แชร์ตัวช่วย scan เซลล์ callback และเขียนช่วง
TXLSXWorksheet.ForEachCellแจงนับเซลล์ที่โหลดตามลำดับแถวพร้อมค่าและข้อความสูตร ขณะที่TXLSXWorksheet.WriteCellsเติมช่วง numeric หรือ A1-style จาก callback พร้อม skip และ cancellation รายเซลล์
เวอร์ชัน 2.88.96
เพิ่มเติม
- แผ่นงาน XLS แบบคลาสสิกตอนนี้รองรับการเขียนช่วงแบบ callback-driven
IXLSWorksheet.WriteCellsเติมช่วง numeric 1-based หรือ A1-style ตามลำดับแถว ให้ callback จัดเก็บค่าเซลล์แต่ละค่า สนับสนุน skip รายเซลล์ และยกเลิก loop เขียนยาวได้ก่อน
เวอร์ชัน 2.88.95
เปลี่ยนแปลง
- แผ่นงาน XLS แบบคลาสสิกสามารถแจงนับเซลล์ที่โหลดผ่าน callback
IXLSWorksheet.ForEachCellเดินเซลล์แผ่นงานที่มีอยู่ตามลำดับแถว ส่งพิกัดแผ่น, แถว และคอลัมน์ 1-based พร้อมค่าและข้อความสูตร และให้ callback ยกเลิก scan ยาวได้ก่อน
เวอร์ชัน 2.88.94
เปลี่ยนแปลง
- การคำนวณสูตรตอนนี้สามารถเรียกฟังก์ชันที่กำหนดโดยแอปพลิเคชัน
TXLSWorkbook.OnUserFunctionและTXLSXWorkbook.OnUserFunctionให้Calculatedelegate ฟังก์ชันแผ่นงานกำหนดเองหรือไม่รองรับไปยังโค้ดแอปพลิเคชัน ส่งอาร์กิวเมนต์ที่ประเมินแล้วและใช้ผลลัพธ์Variantที่ส่งคืนเมื่อจัดการแล้ว
เวอร์ชัน 2.88.93
เพิ่มเติม
- การป้องกันแผ่นงาน XLS แบบคลาสสิกตอนนี้เปิดเผยแฟล็กสิทธิ์รายการการกระทำ
IXLSWorksheetเพิ่มAllowDeleteRows,AllowInsertRows,AllowFormatCells,AllowSort,AllowAutoFilterและคุณสมบัติ permission SheetProtect ที่เหลือ พร้อม BIFF8 options เขียนและอ่านกลับผ่านเรคคอร์ดการป้องกันที่มีอยู่
เวอร์ชัน 2.88.92
เปลี่ยนแปลง
- เพย์โหลด VBA ของ XLS แบบคลาสสิกตอนนี้มีตัวช่วย load/save/clear explicit
IXLSWorkbook.LoadVBAProjectFromFile,SaveVBAProjectToFile,HasVBAProjectและClearVBAProjectเปิดเผยเพย์โหลดที่เก็บ OLE VBA ที่รักษาไว้ ขณะที่VBAProjectยังคงเป็นมุมมองโมดูลแบบอ่านอย่างเดียวที่แยกวิเคราะห์
เวอร์ชัน 2.88.91
เปลี่ยนแปลง
- เกณฑ์ AutoFilter ของ XLS แบบคลาสสิกตอนนี้สามารถตรวจสอบผ่าน collection ฟิลด์
IXLSWorksheet.AutoFilterColumnsเปิดเผยจำนวนฟิลด์ AutoFilter BIFF8 ปัจจุบันและรายการฟิลด์ 1-based รวมสถานะ active, ตัวดำเนินการ และค่า DOPERCriteria1/Criteria2ที่จัดเก็ก
เวอร์ชัน 2.88.90
เปลี่ยนแปลง
- แผ่นงาน XLS แบบคลาสสิกตอนนี้มีการตั้งค่าเกณฑ์ AutoFilter แบบ one-call
IXLSWorksheet.ApplyAutoFilterตั้งช่วง AutoFilter แผ่นงานและเขียนเกณฑ์ฟิลด์ในการเรียกเดียวกัน พร้อม overload ช่วง A1-style และ numeric 1-based บวกตัวดำเนินการ two-criterion ที่เป็นทางเลือก
เวอร์ชัน 2.88.89
ลบ
- รูปร่าง XLS แบบคลาสสิกตอนนี้สามารถนำออกตามช่วงเซลล์
TXLSShapes.DeleteInRangeลบภาพหรือรูปร่างที่ยึดซึ่ง client anchor OfficeArt ตัดกับช่วงแผ่นงาน 1-based ส่งคืนจำนวนรูปร่างที่นำออก
เวอร์ชัน 2.88.88
เปลี่ยนแปลง
- แอตทริบิวต์เลย์เอาต์ตารางส่งออก HTML แบบคลาสสิกตอนนี้กำหนดค่าได้
TXLSHTMLExport.TableBorderWidth,CellPaddingและCellSpacingควบคุมแอตทริบิวต์<table>ที่สร้างสำหรับเอาต์พุต HTML ทั้งแบบมีสไตล์และธรรมดา ขณะที่ค่าเริ่มต้นเป็นค่าศูนย์เดิม
เวอร์ชัน 2.88.87
เพิ่มเติม
- การส่งออก HTML แบบคลาสสิกตอนนี้รองรับเอาต์พุตตารางน้อยที่สุด
TXLSHTMLExport.SimpleExportเขียนตาราง HTML ธรรมดาโดยไม่มี CSS class ที่สร้าง, แอนเคอร์ไฮเปอร์ลิงก์ หรือแอตทริบิวต์ title ความคิดเห็น ขณะที่รักษาข้อความแสดงที่ escaped และ span เซลล์ที่ผสาน
เวอร์ชัน 2.88.86
เปลี่ยนแปลง
- การส่งออก HTML แบบคลาสสิกตอนนี้สามารถเขียน title เอกสาร
TXLSHTMLExport.Titleเขียนองค์ประกอบ<title>HTML ที่ escaped ก่อนบล็อกสไตล์ที่สร้าง ขณะที่ค่าว่างเริ่มต้นยังคงเอาต์พุตเดิมไม่เปลี่ยนแปลง
เวอร์ชัน 2.88.85
เปลี่ยนแปลง
- การส่งออก HTML แบบคลาสสิกตอนนี้ส่งความคิดเห็นเซลล์เป็น tooltip
TXLSHTMLExport.Optionsตอนนี้รวมxhCommentsโดยค่าเริ่มต้น เขียนข้อความความคิดเห็นเซลล์เป็นแอตทริบิวต์titleที่ escaped ขณะที่ยังอนุญาตผู้เรียกนำตัวเลือกออกสำหรับเอาต์พุตเซลล์ธรรมดา
เวอร์ชัน 2.88.84
เปลี่ยนแปลง
- เอาต์พุตไฮเปอร์ลิงก์ของการส่งออก HTML แบบคลาสสิกตอนนี้กำหนดค่าได้
TXLSHTMLExport.Optionsค่าเริ่มต้นเป็น[xhHyperlinks]สำหรับพฤติกรรมเดิม และผู้เรียกสามารถนำxhHyperlinksออกเพื่อส่งออกเซลล์ที่เชื่อมโยงเป็นข้อความ escaped ธรรมดา
เวอร์ชัน 2.88.83
เปลี่ยนแปลง
- การส่งออก HTML แบบคลาสสิกตอนนี้รักษาไฮเปอร์ลิงก์เซลล์
SaveAsHTMLห่อเซลล์ที่เชื่อมโยงในแท็ก anchor HTML, ปล่อยที่อยู่ไฮเปอร์ลิงก์เป็นค่าhrefที่ escaped, ส่งข้อความ ScreenTip เป็นแอตทริบิวต์titleที่ escaped และรักษาข้อความเซลล์ที่แสดง escaped ภายในลิงก์
เวอร์ชัน 2.88.82
เปลี่ยนแปลง
- สมุดงาน XLS แบบคลาสสิกตอนนี้สามารถควบคุมชื่อผู้ใช้ saved-by
IXLSWorkbook.LastSavedByเปิดเผยฟิลด์ WRITEACCESS saved-by จึงสมุดงานที่สร้างหรือแก้ไขสามารถจัดเก็บชื่อ audit explicit ขณะที่สมุดงานต้นทางที่ไม่แก้ไขยังคงรักษาเมทาดาต้าเดิม
เวอร์ชัน 2.88.81
เปลี่ยนแปลง
- แผ่นงาน XLS แบบคลาสสิกตอนนี้สามารถควบคุมดัชนีสี gridline ที่แสดง
IXLSWorksheet.GridlineColorIndexเปิดเผยฟิลด์icvHdrของ Window2 จึงแผ่นงานที่บันทึกเปิดใหม่พร้อมสี gridline ที่เลือกขณะที่ทิ้งการมองเห็น gridline และการตั้งค่า print gridline ไม่เปลี่ยนแปลง
เวอร์ชัน 2.88.80
เปลี่ยนแปลง
- สมุดงาน XLS แบบคลาสสิกตอนนี้สามารถตั้งแผ่น active ตาม index
IXLSWorkbook.ActiveSheetIndexเปิดเผยคุณสมบัติ active-tab 1-based ที่สนับสนุนโดยฟิลด์ active sheet ของ WINDOW1 อนุญาตสมุดงานที่บันทึกเปิดใหม่บนแผ่นงานที่เลือกโดยไม่เปลี่ยนแท็บมองเห็นแรก
เวอร์ชัน 2.88.79
เปลี่ยนแปลง
- outline แผ่นงาน XLS แบบคลาสสิกตอนนี้สามารถควบคุมสไตล์ outline อัตโนมัติ
TXLSOutline.ApplyStylesเปิดเผยแฟล็กสไตล์ outline ของ WSBool อนุญาตแผ่นงานที่บันทึกรักษาหรือเปิดใช้งานการประใช้สไตล์ outline ของ Excel อย่างชัดเจนโดยไม่เปลี่ยนระดับ outline หรือตำแหน่งสรุป
เวอร์ชัน 2.88.78
เปลี่ยนแปลง
- การตั้งค่าหน้า XLS แบบคลาสสิกตอนนี้สามารถควบคุมตัวแบ่งหน้าอัตโนมัติ
IXLSPageSetup.AutoPageBreaksเปิดเผยแฟล็กตัวแบ่งหน้าอัตโนมัติ WSBool ของแผ่นงาน อนุญาตแผ่นงานที่บันทึกรักษาตัวแบ่งหน้าอัตโนมัติเปิดหรือปิดอย่างชัดเจนขณะที่รักษาตัวแบ่งหน้าด้วยมือ
เวอร์ชัน 2.88.77
เปลี่ยนแปลง
- สมุดงาน XLS แบบคลาสสิกตอนนี้สามารถควบคุมการจัดกลุ่มวันที่ AutoFilter
IXLSWorkbook.AutoFilterDateGroupingเปิดเผยแฟล็ก date-grouping ของ Window1 ด้วย API Boolean บวก อนุญาตสมุดงานที่บันทึกรักษาการจัดกลุ่มตัวกรองวันที่ของ Excel เปิดหรือปิดอย่างชัดเจน
เวอร์ชัน 2.88.76
เปลี่ยนแปลง
- สมุดงาน XLS แบบคลาสสิกตอนนี้สามารถตั้งตำแหน่งและขนาดหน้าต่างสมุดงานโดยตรง
IXLSWorkbook.XWindow,YWindow,WindowWidthและWindowHeightเปิดเผยฟิลด์เรขาคณิต Window1 จึงสมุดงานที่บันทึกเปิดใหม่พร้อมสี่เหลี่ยมหน้าต่างที่เลือก
เวอร์ชัน 2.88.75
เปลี่ยนแปลง
- สมุดงาน XLS แบบคลาสสิกตอนนี้สามารถบันทึกสถานะหน้าต่างสมุดงานซ่อนโดยตรง
IXLSWorkbook.WindowHiddenแม็ปไปยังแฟล็ก hidden ของ Window1 อนุญาตสมุดงานที่บันทึกเปิดใหม่พร้อมหน้าต่างสมุดงานซ่อนโดยไม่เปลี่ยนการมองเห็นแผ่นงาน
เวอร์ชัน 2.88.74
เปลี่ยนแปลง
- สมุดงาน XLS แบบคลาสสิกตอนนี้สามารถบันทึกสถานะหน้าต่างสมุดงานย่อเล็กสุดโดยตรง
IXLSWorkbook.Minimizedแม็ปไปยังแฟล็ก minimized ของ Window1 อนุญาตสมุดงานที่บันทึกเปิดใหม่พร้อมหน้าต่างสมุดงานย่อเล็กสุด
เวอร์ชัน 2.88.73
เปลี่ยนแปลง
- สมุดงาน XLS แบบคลาสสิกตอนนี้สามารถซ่อนหรือแสดง scrollbar แนวตั้งโดยตรง
IXLSWorkbook.ShowVerticalScrollแม็ปไปยังแฟล็กfDspVScrollของ Window1 อนุญาตสมุดงานที่บันทึกเปิดพร้อม scrollbar แนวตั้งซ่อนหรือมองเห็น
เวอร์ชัน 2.88.72
เปลี่ยนแปลง
- สมุดงาน XLS แบบคลาสสิกตอนนี้สามารถซ่อนหรือแสดง scrollbar แนวนอนโดยตรง
IXLSWorkbook.ShowHorizontalScrollแม็ปไปยังแฟล็กfDspHScrollของ Window1 อนุญาตสมุดงานที่บันทึกเปิดพร้อม scrollbar แนวนอนซ่อนหรือมองเห็น
เวอร์ชัน 2.88.71
เปลี่ยนแปลง
- สมุดงาน XLS แบบคลาสสิกตอนนี้สามารถซ่อนหรือแสดงแถบแท็บแผ่นโดยตรง
IXLSWorkbook.ShowSheetTabsแม็ปไปยังแฟล็กfDspTabsของ Window1 อนุญาตสมุดงานที่บันทึกเปิดพร้อมแท็บแผ่นซ่อนหรือมองเห็นโดยไม่เปลี่ยนการมองเห็นแผ่นงาน
เวอร์ชัน 2.88.70
เปลี่ยนแปลง
- สมุดงาน XLS แบบคลาสสิกตอนนี้สามารถตั้งอัตราส่วนแถบแท็บสมุดงานโดยตรง
IXLSWorkbook.TabRatioเปิดเผยค่าwTabRatioของ Window1 จึงผู้เรียกปรับพื้นที่สงวนสำหรับแท็บแผ่นเทียบกับ scrollbar แนวนอน
เวอร์ชัน 2.88.69
เปลี่ยนแปลง
- สมุดงาน XLS แบบคลาสสิกตอนนี้สามารถตั้งแท็บแผ่งมองเห็นแรกโดยตรง
IXLSWorkbook.FirstSheetเปิดเผยค่าitabFirstของ Window1 เป็นคุณสมบัติ 1-based จึงผู้เรียกเลือกแท็บแผ่งที่ปรากฏที่ขอบซ้ายเมื่อ 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 แบบคลาสสิกตอนนี้สามารถรักษาและตั้งมุมมอง show-formulas
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เปิดเผยซูม preview WINDOW2 ที่แคช จึงผู้เรียกบันทึกระดับซูม Normal และ Page Break Preview ที่แตกต่าง
เวอร์ชัน 2.88.63
เปลี่ยนแปลง
- แผ่นงาน XLS แบบคลาสสิกตอนนี้เปิดเผยตัวช่วย split-pane
IXLSWorksheet.SplitPanes(Width, Height)สร้างการแยก pane ที่เคลื่อนที่ได้โดยใช้ตัวเขียน pane BIFF ที่มีอยู่ และUnsplitPanesล้างเรคคอร์ด pane ก่อนบันทึก
เวอร์ชัน 2.88.62
ลบ
- แผ่นงาน XLS แบบคลาสสิกตอนนี้มีตัวช่วย frozen-pane ที่ง่ายขึ้น
IXLSWorksheet.FreezePanes(Cols, Rows)แช่แข็งคอลัมน์ซ้ายและแถวบนที่ร้องขอ ขณะที่UnfreezePanesนำเรคคอร์ด pane ออกก่อนบันทึก
เวอร์ชัน 2.88.61
เปลี่ยนแปลง
- การค้นพบชื่อแผ่ง XLS แบบคลาสสิกตอนนี้ยอมรับสตรีม
TXLSWorkbook.GetSheetNames(Stream, List)อ่านชื่อแผ่ง BIFF จากสตรีม XLS ที่ผู้เรียกจัดหาโดยไม่โหลดเนื้อหาแผ่นงาน ให้ตรงกับตัวช่วยชื่อไฟล์สำหรับข้อมูลสมุดงานในหน่วยความจำ
เวอร์ชัน 2.88.60
แก้ไข
- collection แผ่นงานตอนนี้เปิดเผยตัวช่วย lookup ตามชื่อโดยตรง
IXLSWorkSheets.SheetByName(Name)และTXLSXSheets.SheetByName(Name)ส่งคืนออบเจกต์แผ่นงานที่ตรงกันหรือnilจึงผู้เรียกไม่ต้องแก้ index ก่อนเข้าถึงแผ่ง
เวอร์ชัน 2.88.59
เปลี่ยนแปลง
- facade XLSX ตอนนี้อ่านชื่อแผ่งจากสตรีมโดยตรง
TXLSXWorkbook.GetSheetNames(Stream, List)อ่านชื่อตามลำดับจากxl/workbook.xmlโดยไม่โหลด XML แผ่นงาน ให้ตรงกับ overload ชื่อไฟล์สำหรับสมุดงานในหน่วยความจำและ BLOB-backed
เวอร์ชัน 2.88.58
เปลี่ยนแปลง
- facade 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
เปลี่ยนแปลง
- สมุดงาน XLS แบบคลาสสิกตอนนี้สามารถอ่านชื่อแผ่งโดยไม่โหลดแผ่นงาน
TXLSWorkbook.GetSheetNames(FileName, List)สแกนสตรีม workbook globals และส่งชื่อแผ่งตามลำดับจากไฟล์.xlsExcel 97-2003
เวอร์ชัน 2.88.55
เปลี่ยนแปลง
- เกณฑ์ AutoFilter ช่วง XLS แบบคลาสสิกตอนนี้เขียนเรคคอร์ด filter BIFF8
TXLSRange.Autofilter(Field, Criteria)สร้างช่วง filter เมื่อจำเป็นและปล่อยเงื่อนไขAUTOFILTERสำหรับเกณฑ์สตริง, numeric, Boolean, blank, nonblank และที่นำหน้า comparison แบบธรรมดา
เวอร์ชัน 2.88.54
เปลี่ยนแปลง
- แผ่นงาน XLS แบบคลาสสิกตอนนี้มีตัวช่วย AutoFilter ระดับแผ่นงาน
IXLSWorksheet.SetAutoFilter,ClearAutoFilterและAutoFilterRangeจัดการช่วง dropdown filter BIFF8 โดยตรงขณะที่ใช้ตัวเขียนAUTOFILTERINFOและ filter database name ที่มีอยู่ซ้ำ
เวอร์ชัน 2.88.53
เพิ่มเติม
- แผ่นงาน XLS แบบคลาสสิกตอนนี้เปิดเผยการสร้าง validation ข้อมูล list
IXLSWorksheet.AddListValidation(Range, Items)เขียนเรคคอร์ดDVALและDVBIFF8, เก็ก dropdown ให้มองเห็นโดยค่าเริ่มต้น, สนับสนุน inline list คั่นด้วยจุลภาค และรักษากฎผ่าน round-tripOpen/SaveAs
เวอร์ชัน 2.88.52
เพิ่มเติม
- การคำนวณสูตรตอนนี้ทำงานสม่ำเสมอข้าม entry point XLS และ XLSX
TXLSWorkbook.Calculateตอนนี้ยอมรับสูตร leading-equals สไตล์ Excel เช่น=SUM(A1:B1)+C1และ facade XLSX เพิ่มTXLSXWorkbook.CalculateบวกTXLSXWorksheet.Calculateเส้นทาง XLSX แชร์ตัวแยกวิเคราะห์และตัวประเมินโทเค็นสูตร HotXLS สำหรับการอ้างอิงเซลล์และช่วง, เซลล์สูตรที่อ้างอิง, การอ้างอิงข้ามแผ่น และช่วง defined-name workbook หรือ sheet scoped
เวอร์ชัน 2.88.51
เพิ่มเติม
- ช่วง XLSX ตอนนี้รองรับการผสานข้ามสไตล์ Excel
TXLSXRange.Merge(True)เขียน entry<mergeCell>หนึ่งรายการต่อแถว ให้ตรงกับพฤติกรรมRange.Merge(True)ของ XLS แบบคลาสสิก ขณะที่Mergeไม่มีอาร์กิวเมนต์และMerge(False)ยังคงสร้างสี่เหลี่ยมผืนผ้าที่ผสานเต็มช่วงหนึ่ง
เวอร์ชัน 2.88.50
เปลี่ยนแปลง
- การจัดวาง HeaderFooter และ HFPicture BIFF8 ตอนนี้ตรงกับกฎ MS-XLS ปัจจุบัน HotXLS รักษาเรคคอร์ด
HeaderFooter($089C) ที่ Excel สร้างสำหรับข้อความส่วนหัวและส่วนท้ายหน้าคู่/แรก และเล่นซ้ำเรคคอร์ดHFPicture($0866) หลัง dimension แผ่นงานและออบเจกต์ drawing ตาม ABNF แผ่นงาน จึงรายละเอียดเลย์เอาต์หน้าอยู่รอดผ่าน round-trip เปิด/บันทึก .xls
เวอร์ชัน 2.88.49
เปลี่ยนแปลง
- run rich-text ของความคิดเห็นตอนนี้มี API แบบมีประเภท
TXLSComment.TextRunsเปิดเผย entryFormatRunTXOBIFF8 จึงผู้เรียกสามารถตรวจสอบหรือตั้งขอบเขตฟอนต์รายอักขระในความคิดเห็น .xls ขณะที่ HotXLS ยังคงรักษาไบต์ run พื้นฐานสำหรับ round-trip ที่ปลอดภัย
เวอร์ชัน 2.88.48
เปลี่ยนแปลง
- เรคคอร์ด SX เสริมของตารางสาระสำคัญตอนนี้เปิดเผยผ่าน API แบบมีประเภท HotXLS ตอนนี้แนบเรคคอร์ด pivot BIFF8 ที่โหลดเช่น
SXIVD,SXLI,SXFormat,SXEx,SXVDEx,SXRule,SXFiltและSXAddlไปยังTXLSPivotTable.SupplementalRecordsเพื่อการตรวจสอบขณะที่ยังคงรักษาไบต์ดิบเดิมสำหรับ round-trip บันทึก
เวอร์ชัน 2.88.47
ลบ
- ค่าแคชสมุดงานภายนอกตอนนี้อยู่รอดผ่าน round-trip เปิด/บันทึก .xls HotXLS ตอนนี้รักษาเรคคอร์ด
XCTและCRNBIFF8 ที่แนบกับ entrySUPBOOKที่โหลด จึงค่าเซลล์แคชสำหรับลิงก์สมุดงานภายนอกไม่ถูกทิ้งระหว่างบันทึก
เวอร์ชัน 2.88.46
เปลี่ยนแปลง
- ระดับ outline สไตล์ built-in ตอนนี้อยู่รอดผ่าน round-trip เปิด/บันทึก .xls HotXLS ตอนนี้อ่านและรักษา byte
iLevelSTYLEBIFF8 สำหรับสไตล์ built-in จึงเมทาดาต้าสไตล์ RowLevel_1..7 และ ColLevel_1..7 ของ Excel ไม่ถูกรีเซ็ตเป็นค่าเริ่มต้นระหว่างบันทึก
เวอร์ชัน 2.88.45
เปลี่ยนแปลง
- เมทาดาต้า defined name ตอนนี้อยู่รอดผ่าน round-trip เปิด/บันทึก .xls HotXLS ตอนนี้รักษา bit option เรคคอร์ด
NAMEBIFF8 ที่โหลดและ byte shortcut เว้นแต่ defined name ถูกแก้ไข จึงเมทาดาต้า function, object, procedure, calculated-expression และ binary-name ที่ Excel สร้างไม่ถูกล้างระหว่างบันทึก
เวอร์ชัน 2.88.44
ลบ
- marker ObProj ของสมุดงานตอนนี้อยู่รอดผ่าน round-trip เปิด/บันทึก .xls HotXLS ตอนนี้รักษาเรคคอร์ด
ObProjBIFF8 ที่โหลดแม้เมื่อไม่มีที่เก็บ VBA เปิดเผยผ่านโมเดลออบเจกต์ จึง marker โปรเจกต์ VBA ระดับสมุดงานและเมทาดาต้าของบุคคลที่สามไม่ถูกทิ้งระหว่างบันทึก
เวอร์ชัน 2.88.43
เปลี่ยนแปลง
- แฟล็ก option แผ่นงานตอนนี้อยู่รอดผ่าน round-trip เปิด/บันทึก .xls HotXLS ตอนนี้รักษา bit
WSBOOLBIFF8 ที่ไม่ถูกสร้างโมเดลเช่น แฟล็ก dialog-sheet, automatic page-break, style-application และ outline-gutter display ขณะที่ยังอัปเดตการตั้งค่า fit-to-page และ outline summary ที่มีอยู่ผ่าน API สาธารณะ
เวอร์ชัน 2.88.42
เปลี่ยนแปลง
- เรคคอร์ดเมทาดาต้าสมุดงานเพิ่มเติมตอนนี้อยู่รอดผ่าน round-trip เปิด/บันทึก .xls HotXLS ตอนนี้รักษาเนื้อหาเรคคอร์ด
COUNTRY,BOOKBOOL,BACKUP,FNGROUPCOUNT,USESELFSและRECALCIDBIFF8 ที่โหลดแทนที่เขียนใหม่ด้วยค่าเริ่มต้น รักษาเมทาดาต้าความเข้ากันได้และการคำนวณระดับสมุดงานให้เสถียร
เวอร์ชัน 2.88.41
เปลี่ยนแปลง
- การเลือก multi-area และโฟกัส pane active ตอนนี้อยู่รอดผ่าน round-trip เปิด/บันทึก .xls HotXLS ตอนนี้รักษาเรคคอร์ด
SELECTIONBIFF8 ที่โหลดและค่า active-panePANESเว้นแต่การเลือกแผ่งหรือ pane เปลี่ยนผ่าน API จึงโฟกัส Excel split/frozen pane และการเลือก multi-range ไม่ถูกยุบระหว่างบันทึก
เวอร์ชัน 2.88.40
ลบ
- ชื่อสมุดงานภายนอกตอนนี้อยู่รอดผ่าน round-trip เปิด/บันทึก .xls HotXLS ตอนนี้รักษาเรคคอร์ด
EXTERNALNAMEBIFF8 ที่โหลดที่แนบกับ entrySUPBOOKภายนอก รวมถึงเมทาดาต้า DDE/OLE/link และ formula tail จึงชื่อภายนอกและนิยาม link ไม่ถูกทิ้งเมื่อบันทึก
เวอร์ชัน 2.88.39
เปลี่ยนแปลง
- ไฟล์ .xls BIFF8 ที่ป้องกันด้วยรหัสผ่านตอนนี้ใช้และอ่านเรคคอร์ด FILEPASS RC4 CryptoAPI HotXLS ตอนนี้เขียนเมทาดาต้า
FILEPASSvMajor=2 สไตล์ Excel 2007/2010 สำหรับสมุดงาน .xls ที่เข้ารหัสและอ่านไฟล์ legacy RC4 vMajor=1 และ RC4 CryptoAPI vMajor=2/3/4 จึงสมุดงานที่ป้องกันด้วยรหัสผ่านไม่ล้มเหลวหรือดาวน์เกรดเป็นส่วนหัวการเข้ารหัสเก่า
เวอร์ชัน 2.88.38
เปลี่ยนแปลง
- เมทาดาต้าไฮเปอร์ลิงก์ .xls ที่ Excel สร้างตอนนี้อยู่รอดผ่าน round-trip เปิด/บันทึก HotXLS ตอนนี้รักษาเนื้อหาเรคคอร์ด
HLinkBIFF8 สำหรับไฮเปอร์ลิงก์ที่โหลดเว้นแต่ไฮเปอร์ลิงก์ถูกแก้ไข รักษาstreamVersionต้นทาง, bit optionhlstmfเช่นfIcon, ข้อมูล moniker และเมทาดาต้าเป้าหมายที่เกี่ยวข้องให้เสถียรข้ามการบันทึก
เวอร์ชัน 2.88.37
เปลี่ยนแปลง
- สถานะหน้าต่างสมุดงานตอนนี้อยู่รอดผ่าน round-trip เปิด/บันทึก .xls HotXLS ตอนนี้อ่านและรักษาตำแหน่งหน้าต่าง, ขนาด, แฟล็ก visibility/iconic, แท็บแผ่งที่แสดงแรก, จำนวน selected-tab และอัตราส่วน tab-scrollbar ของเรคคอร์ด
WINDOW1BIFF8 แทนที่เขียนใหม่ด้วยค่าเริ่มต้นในทุกการบันทึก
เวอร์ชัน 2.88.36
เปลี่ยนแปลง
- ผู้ใช้ saved-by WriteAccess BIFF8 ตอนนี้อยู่รอดผ่าน round-trip เปิด/บันทึก .xls HotXLS ตอนนี้อ่านและรักษาเนื้อหาเรคคอร์ด
$005C WRITEACCESSแทนที่แทนที่ผู้ใช้ saved-by ของ Excel ด้วยHotXLSจึงเมทาดาต้า audit สมุดงานยังคงเสถียรหลังบันทึก
เวอร์ชัน 2.88.35
แก้ไข
- ผู้แต่งความคิดเห็นของ Excel ตอนนี้อยู่รอดผ่าน round-trip เปิด/บันทึก .xls ฟิลด์
stAuthorของเรคคอร์ดNoteBIFF8 ตอนนี้ถูกแยกวิเคราะห์และส่งเข้าโมเดล drawing note แทนที่ถูกแทนที่ด้วยสตริงว่าง จึงผู้แต่ง "Created by" ของความคิดเห็นที่เขียนโดย Excel ถูกรักษาเมื่อ HotXLS บันทึกสมุดงานอีกครั้ง
เวอร์ชัน 2.88.34
เปลี่ยนแปลง
- option OfficeArt FOPT ของรูปร่างตอนนี้เปิดเผยผ่าน option bag ระดับต่ำ
TXLSShape.OfficeArtOptionsให้ผู้เรียกขั้นสูงตรวจสอบ, ตั้ง และลบ FOPT PID ใด ๆ ที่จัดเก็กเป็นLongWordหรือWideStringขณะที่ APILine,Fill, สี และการมองเห็นระดับสูงที่มีอยู่ยังคงไม่เปลี่ยนแปลง
เวอร์ชัน 2.88.33
เปลี่ยนแปลง
- เรคคอร์ดกฎ solver-container OfficeArt เพิ่มเติมตอนนี้ round-trip นอกเหนือจาก
msofbtConnectorRule($F012) แบบมีประเภท HotXLS ตอนนี้รักษา child solver ที่ไม่ใช่ folder เช่นOfficeArtFArcRule($F014) และOfficeArtFCalloutRule($F017) เป็นเรคคอร์ด OfficeArt ดิบภายในmsofbtSolverContainer($F005) จึง drawing Excel ขั้นสูงไม่สูญเสียความสัมพันธ์ solver ที่ไม่ใช่ connector ระหว่างบันทึก
เวอร์ชัน 2.88.32
เปลี่ยนแปลง
- marker OfficeArt ClientData ไม่ถูกทำซ้ำหลังการรักษา unknown-record MS-XLS นิยาม
OfficeArtClientData($F011) เป็น marker ความยาวศูนย์ที่เรคคอร์ดObjตามหลังยังคงเป็นเรคคอร์ด BIFF แยกต่างหาก v2.88.32 จดจำ marker นั้นแทนที่จับเป็น leaf SpContainer ที่ไม่รู้จัก จึงรูปร่างที่แยกวิเคราะห์ปล่อย marker $F011 หนึ่งตัวระหว่างบันทึก ขณะที่สมมติฐานแบบ container ที่มีรูปแบบผิดยังคงอยู่นอกเส้นทาง XLS
เวอร์ชัน 2.88.31
เปลี่ยนแปลง
- กฎ connector OfficeArt ตอนนี้ round-trip drawing .xls ที่ Excel สร้างจัดเก็บการผูก connector-line ใน
msofbtSolverContainer($F005) พร้อมเรคคอร์ด childmsofbtConnectorRule($F012) v2.88.31 แยกวิเคราะห์และปล่อยคู่ $F005/$F012 นั้นผ่านTMsoConnectorRulesรักษารูปร่างเริ่มต้น, รูปร่างสิ้นสุด, รูปร่าง connector และไซต์การเชื่อมต่อข้ามบันทึก/โหลดใหม่ บันทึก audit ก่อนหน้านี้ระบุ $F121 แต่ MS-ODRAW นิยามOfficeArtFConnectorRuleเป็น $F012
เวอร์ชัน 2.88.30
เปลี่ยนแปลง
- เรคคอร์ด leaf SpContainer OfficeArt ที่ไม่รู้จักตอนนี้ round-trip ไฟล์ .xls ที่ Excel สร้างมักฝัง leaf Fbt เช่น
msofbtClientTextbox($F00D),OfficeArtFPSPL($F11D) และOfficeArtUDefProp($F122) ภายใน SpContainer ของแต่ละรูปร่าง v2.88.30 จับ leaf ที่ไม่รู้จักระดับรูปร่างเป็นTMsoFbtUnknownและปล่อยใหม่ตามลำดับแยกวิเคราะห์ระหว่างClientAnchorของรูปร่างและ markermsofbtClientDataความยาวศูนย์ตามหลัง - ขอบเขตและการติดตาม leaf ที่ไม่รู้จักระดับ drawing อื่นยังคงเลื่อนออกไป; กรณี connector-rule solver-container ถูกจัดการโดย v2.88.31 unknown รูปแบบ container เช่น
msofbtClientData($F011) ที่ใช้เป็น container แทน sibling marker ยังคงเป็น audit-round Slice 3
เวอร์ชัน 2.88.29
เพิ่มเติม
- พฤติกรรม swallow-all ของ FtLbsData จำกัดขอบเขต case
$0013ที่มีอยู่ overrideRecLen := Len - offsเพื่อดูดไบต์ทั้งหมดหลังส่วนหัว FtLbsData เข้าสู่ blob ของFObjRec_LBSDataจึก subrecord ที่ปรากฏหลัง FtLbsData (โดยทั่วไปเพียง FtEnd) ยังคง round-trip ผ่านกลไกนั้นไม่เปลี่ยนแปลง การผนวก FObjTailRaw ใหม่กำหนดเป้าหมายช่องว่างก่อน FtLbsData ที่ FtMacro และ ObjLinkFmla มักอยู่โดยเฉพาะ combo / list box ที่เขียนใหม่ผ่าน Drawing API มีFObjTailRawว่าง → เอาต์พุต byte-identical กับ v2.88.28
ลบ
- subrecord unknown ของ OBJ ComboBox และ ListBox ตอนนี้ round-trip TMSOShapeComboBox.ParseObj และ TMSOShapeListBox.ParseObj แยกวิเคราะห์ FtSbs ($000C), FtSbsFmla ($000E) และ FtLbsData ($0013) แบบมีประเภทเป็นฟิลด์เฉพาะอยู่แล้ว แต่ subrecord ไฟล์ต้นทางอื่นใด (FtMacro $0004, ObjLinkFmla, FtNts $000D ฯลฯ) ที่ปรากฏระหว่าง CMO และ FtLbsData ถูกทิ้งอย่างเงียบ ๆ ที่ case fall-through v2.88.29 เพิ่ม else-branch เดียวกันกับ Picture v2.88.28 จับส่วนหัว 4-ไบต์ + body ของ subrecord unknown เข้าสู่
FObjTailRawเมธอด AddObj ทั้งสองปล่อยไบต์ที่จับระหว่าง body CMO และ subrecord FtSbs เพื่อให้ตรงกับการเรียงลำดับ subrecord ของ spec BIFF8
เวอร์ชัน 2.88.28
เพิ่มเติม
- รูปแบบ coexistence แบบมีประเภท + ดิบ ไม่เหมือน PictureFrame (v2.88.27) ที่ใช้การสลับ if/else ระหว่างการปล่อยแบบมีประเภทและดิบ Picture ผสมทั้งสอง: ฟิลด์มีประเภทรักษาพื้นผิว API (ผู้เรียกยังสามารถปรับ
ftCfValueฯลฯ) ขณะที่ tail ดิบรักษาเฉพาะไบต์ที่ไม่รู้จัก ภาพที่เขียนใหม่ผ่าน Drawing API มีFObjTailRawว่าง จึงเอาต์พุต byte-identical กับ v2.88.27
ลบ
- subrecord unknown ของ OBJ Picture-shape ตอนนี้ round-trip TMSOShapePicture.ParseObj แยกวิเคราะห์ FtCf ($0007), FtPioGrbit ($0008) และ FtPictFmla ($0009) แบบมีประเภทเป็นฟิลด์เฉพาะอยู่แล้ว แต่ subrecord ไฟล์ต้นทางอื่นใด (FtMacro $0004, FtNts $000D ฯลฯ) ถูกทิ้งอย่างเงียบ ๆ ที่ case fall-through v2.88.28 เพิ่ม else-branch ที่ผนวกส่วนหัว 4-ไบต์ + body เต็มของ subrecord ที่ไม่รู้จักเข้าสู่
FObjTailRaw; TMSOShapePicture.AddObj จึงปล่อยไบต์เหล่านั้นตามตัวอักษรหลังเอาต์พุต subrecord มีประเภทและก่อน marker FtEnd ออบเจกต์ภาพไฟล์ต้นทางที่มี macro hook อยู่รอดผ่านการบันทึกใหม่
เวอร์ชัน 2.88.27
เพิ่มเติม
- round-trip trailing-subrecord OBJ ขยายไปยังรูปร่าง PictureFrame TMSOShapePictureFrame.AddObj ก่อนหน้านี้ปล่อยเฉพาะ subrecord FtCf ($0007, body $FFFF) และ FtPioGrbit ($0008, body $0000) legacy hardcoded ระหว่าง CMO และ FtEnd สำหรับ picture frame ที่เขียนใหม่โค้ดใหม่ยังปล่อยค่าเริ่มต้นเหล่านั้น; สำหรับ picture frame ที่แยกวิเคราะห์จาก .xls ต้นทาง ไบต์
FObjTailRawที่จับได้ถูกปล่อยตามตัวอักษรแทน รักษาเนื้อหา FtPictFmla / FtCf ไม่ใช่ค่าเริ่มต้น / FtPioGrbit ไม่ใช่ค่าเริ่มต้นของไฟล์ต้นทางข้ามวงจรบันทึก
แก้ไข
- บันทึกการตรวจสอบ — Flush auto-corrects sz
TMsoShapeContainer.Flushเขียนส่วนหัวขนาดของเรคคอร์ด Obj ใหม่ ณ เวลา commit ผ่านData.SetWord(Data.DataLength - 4, 2)ซึ่งหมายความว่าค่าsz := $1Ahardcoded ที่อาศัยอยู่ในการ implement AddObj ของ HotXLS มาหลายปีไม่ใช่ bug ตาม spec — Flush แก้พวกมันโดยอัตโนมัติ v2.88.27 ยังคงคำนวณ sz อย่างแม่นยำเพื่อความชัดเจนของ source-code แต่พฤติกรรม runtime ไม่เปลี่ยนแปลงจากมุมมองนั้น
เวอร์ชัน 2.88.26
เพิ่มเติม
- round-trip trailing-subrecord OBJ ขยายไปยังรูปร่าง Chart และ CheckBox v2.88.25 แนะนำการรักษา raw-byte สำหรับไบต์ระหว่าง CMO ($0015) ของเรคคอร์ด Obj และ marker FtEnd ($0000) ของมัน แต่เฉพาะ TMSOShapeTextBox.AddObj ที่ปล่อย tail ที่จับได้ release นี้ประใช้รูปแบบเดียวกันกับ TMSOShapeChart.AddObj และ TMSOShapeCheckBox.AddObj — ทั้งสองแชร์โครงสร้างการปล่อย "CMO + FtEnd" แบบง่ายของ TextBox จึงการเปลี่ยนแปลงเป็นการแทนที่ตัวแปรบรรทัดเดียว (
sz := $1A + Word(Length(FObjTailRaw))) บวกลูปไบต์ตามตัวอักษรก่อน marker FtEnd
เปลี่ยนแปลง
- trailing subrecord ของ Chart (เช่น FtMacro สำหรับ macro ออบเจกต์แผนภูมิที่ฝัง) และ subrecord สถานะ checkbox (FtCbls + FtCblsData + ObjLinkFmla, MS-XLS §2.5.140-141 / §2.5.149) ตอนนี้อยู่รอดผ่านบันทึก/โหลดใหม่ของ HotXLS chart และ checkbox ที่เขียนใหม่ผ่าน Drawing API ยังคงปล่อยค่าเริ่มต้น 26-ไบต์ CMO+FtEnd (byte-identical กับ v2.88.25) จึกผู้เรียกที่มีอยู่ไม่เห็นการเปลี่ยนแปลงพฤติกรรม รูปร่าง Picture / ComboBox / ListBox / PictureFrame มีการปล่อย typed-subrecord ไดนามิกของตัวเองที่ขัดแย้งกับ FObjTailRaw — การผนวกของพวกมันเลื่อนไป commit ในอนาคต
เวอร์ชัน 2.88.25
เพิ่มเติม
- การจับ generic-base, การปล่อยเฉพาะ TextBox (R5-3 first slice) TMsoShapeContainer.ParseObj ตอนนี้จับช่วงไบต์ระหว่างสิ้นสุด body CMO และ marker FtEnd เข้าสู่ฟิลด์
FObjTailRaw: TBytesภายในใหม่; TMSOShapeTextBox.AddObj แทรกไบต์เหล่านั้นระหว่างการปล่อย CMO และ marker FtEnd พร้อมขนาดส่วนหัวเรคคอร์ด Obj ที่ปรับตาม ความคิดเห็นที่เขียนใหม่ (ไม่มีไบต์ต้นทาง) ยังคงเอาต์พุต byte-identical กับ v2.88.24 คลาสรูปร่างอื่น (Picture / CheckBox / ComboBox / ListBox / Chart) สืบทอดการจับแต่ override AddObj มีประเภทยังคงพฤติกรรม "synthesise from scratch" legacy — การปล่อย raw-bytes สำหรับประเภทรูปร่างเหล่านั้นเลื่อนไป commit ในอนาคต
เปลี่ยนแปลง
- trailing subrecord ของเรคคอร์ด OBJ ตอนนี้ถูกรักษาข้ามวงจรบันทึกสำหรับความคิดเห็น เรคคอร์ด Obj ($005D) BIFF8 ล่ามโซ่ sequence ของ subrecord มีประเภทหลัง CMO ($0015) บังคับ สิ้นสุดด้วย marker FtEnd ($0000) ตาม MS-XLS §2.4.181 สำหรับรูปร่าง Note (ความคิดเห็น) trailing block โดยทั่วไปเป็น FtNts 26-ไบต์ (§2.5.149) ถือ GUID และแฟล็ก fSharedNote — ทั้งคู่จำเป็นเมื่อ Excel ผสานความคิดเห็นข้ามผู้ใช้ในสมุดงาน shared ในภายหลัง HotXLS ก่อนหน้านี้ทิ้งทุกไบต์หลัง CMO เมื่ออ่านและปล่อยเพียง FtEnd ว่างเมื่อเขียน จึก FtNts ของไฟล์ต้นทางใด ๆ สูญหายในทุกการบันทึกใหม่ของ HotXLS
เวอร์ชัน 2.88.24
เพิ่มเติม
- การรักษา raw-byte ใน TMSOShapeTextBox ParseTXO จับไบต์ Continue หลังข้อความตามตัวอักษรเข้าสู่ฟิลด์
FFormatRunsRaw: TBytesภายในใหม่; Store ปล่อยพวกมันกลับเป็น Continue formatting-runs และปรับส่วนหัวcbRunsของเรคคอร์ดฐานให้ตรง ความคิดเห็นที่เขียนใหม่ (ผ่านAddComment) ยังคงเอาต์พุต single-default-run legacy ไม่เปลี่ยนแปลง จึกเอาต์พุต byte-identical ถูกรักษาสำหรับสมุดงานเริ่มต้น การเข้าถึง API Excel แบบมีประเภทไปยัง format run แต่ละตัวยังคงเลื่อน — API ความคิดเห็น single-WideString เดิมไม่เปลี่ยนแปลง
เปลี่ยนแปลง
- ความคิดเห็นเซลล์ multi-font และ multi-color ตอนนี้ round-trip บล็อก formatting-runs (
rgTxoRuns+TxOLastRunตาม MS-XLS §2.5.272) ของเรคคอร์ด TXO BIFF8 ถือ override ฟอนต์และสีราย run ที่ให้สไตล์ rich-text แก่ความคิดเห็น HotXLS ก่อนหน้านี้ทิ้งบล็อกทั้งหมดเมื่ออ่านและปล่อย single empty default run + LastRun เดียวเมื่อเขียน — ทำให้ "Important!" ที่ไฮไลต์สีแดง, คำตัวหนาใด ๆ ภายในข้อความความคิดเห็น เป็นสไตล์ default เหมือนกันในทุกการบันทึกใหม่ของ HotXLS
เวอร์ชัน 2.88.23
เพิ่มเติม
- สามคุณสมบัติ TXLSPageSetup ใหม่
PrintResolution: LongWord,PrintVResolution: LongWordและCopies: LongWord— ทั้งหมดค่าเริ่มต้นเป็นค่าที่ตัวเขียน hardcoded ก่อนหน้านี้ (600 / 600 / 1) จึกสมุดงานที่ไม่แตะพวกมันผลิตเอาต์พุต byte-identical กับ v2.88.22 setter clamp ที่High(Word)จึกค่าผู้เรียกที่ใหญ่เกินไปไม่สามารถวนบนการปล่อย
ลบ
- ความละเอียดการพิมพ์และจำนวนสำเนาตอนนี้ round-trip — เรคคอร์ด Setup ถูกครอบคลุมเต็มตอนนี้ ฟิลด์ Word สามฟิลด์ของเรคคอร์ด Setup (
iResที่ออฟเซ็ต 12,iVResที่ออฟเซ็ต 14,iCopiesที่ออฟเซ็ต 32, ตาม MS-XLS §2.4.257) ถือการเลือก "Page Setup → Page → Print quality" และ "Number of copies" ของ Excel HotXLS ก่อนหน้านี้ทิ้งทั้งสามเมื่ออ่านและปล่อยค่า hardcoded (600 DPI / 600 DPI / 1 สำเนา) จึกความละเอียดหรือจำนวนสำเนาที่ผู้ใช้ปรับแต่งใด ๆ กลับเป็นค่าเดิมอย่างเงียบ ๆ ในทุกการบันทึกใหม่ของ HotXLS
แก้ไข
- งาน round-trip เรคคอร์ด Setup เสร็จสมบูรณ์ ด้วยการแก้นี้ทุกฟิลด์ที่ผู้ใช้มองเห็นของเรคคอร์ด Setup ($00A1) BIFF8 round-trip ตั้งแต่ต้นจนจบ — ขนาดกระดาษ / scale / first page number / fit-to-page width และ height / orientation / print order / black-and-white / draft / print comments / cell errors / resolution / copies เหลือเพียงสอง grbit bit ตาม hint ของ spec (
fNoPls,fNoOrient) ที่ยังไม่ถูกเปิดเผย ซึ่งทั้งคู่ HotXLS เขียนเป็นศูนย์ให้ตรงกับพฤติกรรมเริ่มต้นของ Excel
เวอร์ชัน 2.88.22
เพิ่มเติม
- สองคุณสมบัติ TXLSPageSetup ใหม่
UseFirstPageNumber: Booleanสะท้อน bit (False = "Auto", ค่าเริ่มต้น);FirstPageNumber: Integerถือค่า iPageStart (ค่าเริ่มต้น 1, clamp สู่ช่วง signed-Word ของ spec -32768..32767 โดย setter) HotXLS round-tripiPageStartตามตัวอักษรแม้เมื่อUseFirstPageNumberเป็น False จึกการสลับระหว่าง Auto และกำหนดเองใน Excel รักษาค่าที่ผู้ใช้พิมพ์ล่าสุด
ลบ
- "First page number" ของ Page Setup กำหนดเองตอนนี้ round-trip เรคคอร์ด Setup BIFF8 ถือการเลือก "First page number" ของสมุดงานเป็นสองฟิลด์ที่เกี่ยวข้อง: grbit bit 7 (
fUsePage) เลือกระหว่างค่าเริ่มต้น "Auto" ของ Excel และเลขหน้าเริ่มต้น explicit และ Word signed ที่ออฟเซ็ต 4 (iPageStart) ถือค่ากำหนดเองนั้น ตาม MS-XLS §2.4.257 HotXLS ก่อนหน้านี้ทิ้งทั้งคู่เมื่ออ่านและปล่อยiPageStart = 1พร้อม bit clear จึก "First page number: 100" ที่ผู้ใช้พิมพ์กลับเป็น "Auto" อย่างเงียบ ๆ ในทุกการบันทึกใหม่ของ HotXLS
เวอร์ชัน 2.88.21
เพิ่มเติม
- คุณสมบัติ Boolean TXLSPageSetup.PrintNotesAtEnd ใหม่ ค่าเริ่มต้น
Falseให้ตรงกับค่าเริ่มต้น UI ของ Excel ตัวอ่านและตัวเขียน round-trip bit ตามตัวอักษร (แม้เมื่อPrintNotes = False) จึกสมุดงานที่ความคิดเห็นปิดใช้งานชั่วคราวยังคงการตั้งใจ "at end of sheet" สำหรับเมื่อผู้ใช้เปิดใหม่ — สะท้อนพฤติกรรมของ Excel เอง
ลบ
- การเลือก "Print comments at end of sheet" ตอนนี้อยู่รอดผ่านวงจรบันทึก grbit bit 9 ของเรคคอร์ด Setup BIFF8 (
fEndNotesตาม MS-XLS §2.4.257) ถือการแยกความแตกต่าง dropdown Comments ของ Page Setup → Sheet ระหว่าง "As displayed on sheet" (ค่าเริ่มต้น) และ "At end of sheet" HotXLS ได้ round-trip PrintNotes (bit 5) แล้วเพื่อควบคุม ว่า ความคิดเห็นพิมพ์หรือไม่ แต่ bit 9 ถูกทิ้งเมื่ออ่านและปล่อยเป็นศูนย์เมื่อเขียน — จึก "At end of sheet" ที่ผู้ใช้เลือกกลับเป็น "As displayed on sheet" อย่างเงียบ ๆ ในทุกการบันทึกใหม่ของ HotXLS
เวอร์ชัน 2.88.20
เปลี่ยนแปลง
- การเลือก "Set precision as displayed" ของสมุดงานตอนนี้ round-trip เรคคอร์ด CalcPrecision BIFF8 ($000E) ถือ checkbox File → Options → Advanced → "Set precision as displayed" ทั่วสมุดงานตาม MS-XLS §2.4.35 HotXLS ก่อนหน้านี้ไม่มี dispatcher case สำหรับ $000E และ TXLSWorkbook.StorePrecision ปล่อย hardcoded
1(= ความแม่นยำเต็มรักษาไว้) "Set precision as displayed" ที่ผู้ใช้เลือกกลับเป็น "full precision" อย่างเงียบ ๆ ในทุกการบันทึกใหม่ของ HotXLS — ซ่อนเจตนาของผู้ใช้ว่าการคำนวณใหม่ที่ตามมาควรตัดค่าเซลล์อย่างถาวรเป็นทศนิยมที่จัดรูปแบบ
แก้ไข
- คุณสมบัติ Boolean TXLSWorkbook.UseFullPrecision ใหม่ ค่าเริ่มต้น
True(ตรงกับค่าเริ่มต้น BIFF8 และค่าเริ่มต้น UI ของ Excel ที่ ไม่เลือก) การตั้งเป็นFalseสะท้อนการเลือกตัวเลือกทำลายล้าง "precision as displayed" — HotXLS เองไม่ตัดค่าเซลล์ใด ๆ บน round-trip แต่แฟล็กตอนนี้ถูกเขียนกลับอย่างเชื่อถือได้ จึกการคำนวณใหม่ครั้งถัดไปของ Excel เคารพมัน ด้วยการแก้นี้ทุกเรคคอร์ด calc BIFF8 (CalcCount / CalcMode / CalcPrecision / CalcDelta / CalcIter / CalcSaveRecalc) round-trip ตั้งแต่ต้นจนจบ
เวอร์ชัน 2.88.19
เพิ่มเติม
- คุณสมบัติ Boolean TXLSWorkbook.RecalcOnSave ใหม่ ค่าเริ่มต้น
True(ตรงกับค่าเริ่มต้น UI ของ Excel และค่า hardcoded legacy) จึกสมุดงานที่ไม่แตะคุณสมบัติยังคงเอาต์พุต byte-identical กับ v2.88.18 setter ยอมรับ Boolean ใด ๆ; ตัวอ่าน normalize ไบต์ต้นทางที่ไม่ใช่ศูนย์โดยพลการเป็นTrue
เปลี่ยนแปลง
- checkbox "Recalculate workbook before saving" ตอนนี้ round-trip เรคคอร์ด CalcSaveRecalc BIFF8 ($005F) ถือ boolean File → Options → Save → "Recalculate workbook before saving" ของสมุดงาน ตาม MS-XLS §2.4.37 HotXLS ก่อนหน้านี้ไม่มี dispatcher case สำหรับ $005F และ StoreCalculationSettings ปล่อย hardcoded
1— จึก "recalc on save" ที่ผู้ใช้ปิดเปิดใช้งานตัวเองอีกครั้งอย่างเงียบ ๆ ในทุกการบันทึกใหม่ของ HotXLS ซึ่งสำคัญจริงสำหรับสมุดงาน manual-calc ที่ผู้ใช้แช่แข็งค่าเซลล์บนดิสก์โดยตั้งใจ
เวอร์ชัน 2.88.18
เพิ่มเติม
- สามคุณสมบัติ TXLSWorkbook ใหม่
EnableIteration: Booleanสะท้อน checkbox;MaxIterations: LongWordเป็นการจำกัดการวนซ้ำ (clamp สู่ช่วง 1..32767 ตามกฎหมาย spec โดย setter);MaxIterationChange: Doubleเป็น convergence delta (อินพุตลบ snap สู่ค่าเริ่มต้น spec 0.001) ค่าเริ่มต้นตรงกับค่าที่ตัวเขียนเคย hardcoded จึกสมุดงานที่ไม่แตะคุณสมบัติใหม่ผลิตเอาต์พุต byte-identical กับ v2.88.17
เปลี่ยนแปลง
- การตั้งค่าการคำนวณ iterative (enable + max iterations + max change) ตอนนี้ round-trip เรคคอร์ด CalcIter ($0011), CalcCount ($000C) และ CalcDelta ($0010) BIFF8 ร่วมกันถือ trio ตัวเลือก "Enable iterative calculation" ของ Excel (File → Options → Formulas) ตาม MS-XLS §2.4.33 / §2.4.31 / §2.4.32 ไม่มีตัวใดมี dispatcher case ก่อนหน้านี้ และ StoreCalculationSettings ปล่อยพวกมันด้วยค่า hardcoded (off / 100 / 0.001) ลูป 1000-iteration ที่ผู้ใช้กำหนดค่าพร้อม convergence delta 0.0001 รีเซ็ตเป็น "iteration off, 100, 0.001" อย่างเงียบ ๆ ในทุกการบันทึกใหม่ของ HotXLS — ทำลายสูตร circular-reference และโมเดลทางการเงินที่ไวต่อการลู่เข้า
เวอร์ชัน 2.88.17
เพิ่มเติม
- โหมดการคำนวณสมุดงาน (Manual / Automatic / Auto except tables) ตอนนี้ round-trip เรคคอร์ด CalcMode BIFF8 ($000D) ถือการเลือก "Formulas → Calculation Options" ระดับสมุดงานตาม MS-XLS §2.4.36 HotXLS ก่อนหน้านี้ไม่มี dispatcher case สำหรับ $000D เลย จึกค่าไฟล์ต้นทางถูกทิ้งเมื่อโหลด และตัวเขียนปล่อย hardcoded
$0001(Automatic) เสมอ โหมด Manual ที่ผู้ใช้เลือกกลับเป็น Automatic อย่างเงียบ ๆ ในทุกการบันทึกใหม่ของ HotXLS — ไม่ดีสำหรับสมุดงานขนาดใหญ่ที่ Manual ถูกตั้งโดยตั้งใจเพื่อประสิทธิภาพ handler ParseCalcMode ใหม่เก็บค่าต้นทางบนสมุดงานและ StoreCalculationSettings ตอนนี้ปล่อยค่าที่เก็กแทนค่าคงที่ - คุณสมบัติ TXLSWorkbook.CalculationMode ใหม่ คุณสมบัติ
LongWordread-write ยอมรับxlCalcManual(0),xlCalcAutomatic(1, ค่าเริ่มต้น) หรือxlCalcAutomaticExceptTables(0xFFFF) — สามค่าคงที่ใหม่ที่ส่งออกจากlxTNC.incsetter clamp ค่าที่ไม่รู้จักเป็นค่าเริ่มต้น spec จึกไฟล์ต้นทางที่เสียหายไม่สามารถทิ้งสมุดงานไว้ในสถานะที่ไม่กำหนด โค้ดที่มีอยู่ที่ไม่แตะคุณสมบัติยังคงค่าเริ่มต้น "Automatic" legacy จึกเอาต์พุตก่อนหน้า byte-identical สำหรับสมุดงานเริ่มต้น
เวอร์ชัน 2.88.16
เพิ่มเติม
- คุณสมบัติ TXLSPageSetup.PrintCellErrors ใหม่ คุณสมบัติ
LongWordread-write ยอมรับxlPrintErrorsDisplayed(0, ค่าเริ่มต้น),xlPrintErrorsBlank(1),xlPrintErrorsDash(2) หรือxlPrintErrorsNA(3) — สี่ค่าคงที่ใหม่ที่ส่งออกจากlxTNC.incผู้เรียก PageSetup ที่ไม่แตะคุณสมบัติยังคงค่าเริ่มต้น ("displayed") จึกเอาต์พุตพิมพ์ legacy ไม่เปลี่ยนแปลง
ลบ
- การเลือก "Cell errors as" ของ Page Setup ตอนนี้อยู่รอดผ่านวงจรบันทึก เรคคอร์ด Setup BIFF8 ($00A1) บรรจุ dropdown ของแท็บ Page Setup → Sheet "Cell errors as: displayed / <blank> / <dash> / <N/A>" เข้าสู่ bits 10-11 ของ grbit word เป็น
iErrorsตาม MS-XLS §2.4.257 HotXLS ก่อนหน้านี้ทิ้ง bit เหล่านี้เมื่ออ่านและปล่อยเป็นศูนย์เมื่อเขียน จึกสมุดงานที่ผู้ใช้กำหนดค่าให้พิมพ์#DIV/0!เป็น#N/Aกลับเป็น "displayed" อย่างเงียบ ๆ หลังทุกการบันทึกใหม่ของ HotXLS ตัวอ่านตอนนี้ถอดรหัสiErrorsเข้าสู่คุณสมบัติTXLSPageSetup.PrintCellErrorsใหม่และตัวเขียนสร้างฟิลด์ใหม่จากมัน
เวอร์ชัน 2.88.15
เพิ่มเติม
- หกคุณสมบัติ TMSOShapeTextBox ใหม่สำหรับการจัดสไตล์ความคิดเห็น explicit
HAlignment,VAlignment,Rotation,LockText,JustLastLineและSecretEditเปิดเผยเป็นคุณสมบัติ read-write บนรูปร่างความคิดเห็นแต่ละตัว;AddCommentค่าเริ่มต้นเป็น left+top+horizontal+unlocked จึกผู้เรียกที่ไม่แตะพวกมันยังคงรูปลักษณ์เดิม
ลบ
- การจัดวางและการวางแนวความคิดเห็นเซลล์ตอนนี้ round-trip เรคคอร์ดฐาน TXO BIFF8 ($01B6) ถือห้าแฟล็กมีประเภทใน word
grbit(hAlignment, vAlignment, fLockText, fJustLast, fSecretEdit) บวก wordrotแยกสำหรับการวางแนวข้อความ ตาม MS-XLS §2.4.329 ตัวอ่านก่อนหน้านี้ทิ้งทั้งหมดและตัวเขียน pingrbitเป็น0x0012(left + top) พร้อม rotation เป็น 0 เสมอ จึกทุกการบันทึกรีเซ็ตความคิดเห็นกึ่งกลางหรือหมุนกลับเป็น left+top+horizontal ตัวอ่านตอนนี้ถอดรหัสฟิลด์มีประเภทเมื่อโหลดและตัวเขียนประกอบgrbitจากพวกมัน จึกเลย์เอาต์อยู่รอดผ่านการเดินทางบันทึก/โหลดใหม่
แก้ไข
- ตัวเขียน TXO ตอนนี้จัดเลย์เอาต์ reserved4 / reserved5 ตามขอบเขตฟิลด์ spec โค้ดก่อนหน้านี้ปล่อยออฟเซ็ต 2-9 ของเรคคอร์ดฐานเป็นสอง long write (rot + reserved4 แล้ว reserved5); ตัวเขียนตอนนี้แยกเป็น
Wordrot,Wordreserved4,Longreserved5 — เนื้อหาไบต์ไม่เปลี่ยนแปลง (ยังเป็นศูนย์ทั้งหมดสำหรับรูปร่าง Note) แต่โครงสร้าง source ตอนนี้ตรงกับออฟเซ็ตฟิลด์ MS-XLS §2.4.329 ทำให้การแก้ TXO ในอนาคตยากที่จะผิดจังหวะ
เวอร์ชัน 2.88.14
แก้ไข
- ออฟเซ็ต cchText ของ TXO ได้รับการแก้ไข — การแก้ความยาวความคิดเห็น v2.88.13 ตอนนี้ทำงานจริง release ก่อนหน้านี้แนะนำการตรวจสอบ sanity สำหรับเรคคอร์ดฐาน TXO โดยการอ่าน
cchTextที่ออฟเซ็ต 8 แต่ MS-XLS §2.4.329 วางcchTextที่ออฟเซ็ต 10 (หลัง grbit, rot และ 6 ไบต์ reserved / controlInfo) ออฟเซ็ต 8 อยู่ภายใน long reserved5 ซึ่งเป็นศูนย์เสมอบนออบเจกต์รูปร่าง Note จึงทุกความคิดเห็นเลื่อนเข้าสู่ fallback เชิงป้องกันที่เพียงคืนค่าพฤติกรรม pre-v2.88.13 การแก้ไขปรับออฟเซ็ตเป็น 10 — ความคิดเห็นยาวตอนนี้เย็บข้ามเรคคอร์ด Continue อย่างแท้จริงและความคิดเห็นสั้นไม่หยิบ padding ต่อท้ายอีก
เวอร์ชัน 2.88.13
เปลี่ยนแปลง
- ความคิดเห็นเซลล์ยาวตอนนี้อ่านกลับเต็มความยาว เรคคอร์ด TXO BIFF8 ($01B6) แบ่งเนื้อหาข้อความของมันข้ามเรคคอร์ดฐานและหนึ่งหรือมากกว่าเรคคอร์ด Continue พร้อมจำนวนอักขระเผยแพร่ในเรคคอร์ดฐานที่ออฟเซ็ต 8 เป็น
cchTextตัวอ่านความคิดเห็นก่อนหน้านี้ข้ามเรคคอร์ดฐานทั้งหมด, ถือ DataList[1] เป็นข้อความทั้งหมด และหยุดที่นั่น — จึงความคิดเห็นยาวกว่าประมาณ 4100 อักขระ wide ถูกตัดทอนอย่างเงียบ ๆ และความคิดเห็นที่สั้นกว่าที่เรคคอร์ด Continue ของมันมี padding ต่อท้ายหยิบขยะที่ท้าย ตัวอ่านตอนนี้บริโภคcchTextเป็นจำนวนอักขระที่เชื่อถือได้ เดินแต่ละส่วน Continue ตาม MS-XLS §2.4.329 และหยุดทันทีที่งบประมาณถูกตอบสนอง จึงบล็อก formatting-runs ที่ตามข้อความไม่เลือดเข้าสู่สตริง
เวอร์ชัน 2.88.12
เปลี่ยนแปลง
- สตริงแคชที่ยาวกว่า ~4100 อักขระจากสูตรที่ส่งคืนสตริงตอนนี้ round-trip ข้ามเรคคอร์ด Continue v2.88.11 เชื่อมด้านอ่านของเรคคอร์ด String BIFF8 ($0207) แต่บริโภคเพียง body เรคคอร์ดแรก จึงสตริงแคชที่ไบต์ UCS-2 ของมันล้นขีดจำกัด BIFF 8224-ไบต์และ spill เข้าสู่หนึ่งหรือมากกว่าเรคคอร์ด Continue ($003C) ถูกตัดทอนอย่างเงียบ ๆ handler ตอนนี้เดิน DataList dispatch-level ทั้งหมด: อ่าน cch และ fHighByte จากเรคคอร์ดฐาน, คัดลอก body ที่พอดีที่นั่น แล้วต่อทุกส่วน Continue ที่ตามมาเป็นไบต์ดิบตามการรับประกันขอบเขตอักขระ MS-XLS §2.5.293 แต่ละส่วนถูกจำกัดโดยงบประมาณอักขระที่เหลือ จึง Continue ที่ใหญ่เกินหลงไม่สามารถทำให้ผลลัพธ์ยาวกว่า cch
เวอร์ชัน 2.88.11
แก้ไข
- สูตรที่ส่งคืนสตริงตอนนี้ round-trip ข้อความแคชที่ Excel คำนวณ release ก่อนหน้านี้ครอบคลุมตัวแปร numeric, boolean, error และ empty ของแคช FormulaValue BIFF8 (MS-XLS §2.5.133) แต่ทิ้งตัวแปรสตริงไว้ในรายการ to-do เพราะค่าแคชของมันอยู่ในเรคคอร์ด String ($0207) แยกต่างหากที่ตามหลังเรคคอร์ด Formula ทันที ParseFormula ตอนนี้จำพิกัดเซลล์เมื่อมันเห็น Formula ตัวแปรสตริง และ handler ParseString ใหม่ถอดรหัสเรคคอร์ด $0207 ต่อท้ายตาม MS-XLS §2.4.268 และกำหนดเส้นทาง WideString เข้าสู่
FCachedFormulaValueGetCellValueสามารถกลับไปข้อความที่ Excel คำนวณเมื่อตัวประเมิน HotXLS ไม่สามารถสร้างใหม่ได้
เวอร์ชัน 2.88.10
เพิ่มเติม
- เรคคอร์ด Formula BIFF8 ตอนนี้ round-trip ค่าแคชที่ Excel คำนวณ ParseFormula เคยข้ามเพย์โหลด FormulaValue 8-ไบต์ที่ออฟเซ็ต 6 ทั้งหมด จึงผลลัพธ์แคชของทุกสูตรใน .xls ที่โหลด (numbers, booleans, errors, empty) ถูกทิ้งและ HotXLS ต้องประเมินทุกเซลล์ใหม่ผ่านเอนจินสูตรของตัวเอง เมื่อเอนจินนั้นไม่สามารถจับคู่ Excel (ฟังก์ชัน XLM ไม่รองรับ, ลิงก์ภายนอกเสีย, สูตรที่เอนจินยังไม่ implement) เซลล์กลายเป็นว่างหรือศูนย์อย่างเงียบ ๆ ตัวอ่านตอนนี้ถอดรหัสตัวแปร numeric / boolean / error / empty สี่ตัวตาม MS-XLS §2.5.133 และจัดเก็กบนฟิลด์
TXLSCellRef.FCachedFormulaValueใหม่;GetCellValueกลับไปแคชนั้นเฉพาะเมื่อตัวประเมินล้มเหลว จึงสูตรที่เขียนใหม่ยังคงผ่านการประเมินเหมือนเดิม
เวอร์ชัน 2.88.9
แก้ไข
- เรคคอร์ด Formula BIFF8 ที่มีค่าที่แก้ไม่ได้ตอนนี้ flag fAlwaysCalc แทน bit reserved1 เมื่อตัวประเมิน HotXLS ไม่สามารถคำนวณสูตรเมื่อบันทึก ตัวเขียนเคยตั้ง
grbit = 0x0002— bit 1 ซึ่ง MS-XLS §2.4.127 reserve และบอกให้ผู้อ่านละเว้น Excel ละเว้นมันอย่างสุภาพ, ถือ placeholder ค่าแคชของ 0 เป็นที่เชื่อถือได้ และแสดง 0 อย่างเงียบ ๆ แทนที่คำนวณใหม่ ตัวเขียนตอนนี้ตั้งgrbit = 0x0001(fAlwaysCalc, bit 0) จึง Excel รันสูตรใหม่บนการคำนวณใหม่ครั้งถัดไปและเซลล์แสดงผลลัพธ์ที่ถูกต้อง
เวอร์ชัน 2.88.8
แก้ไข
- PageSetup.PrintTitleColumns / PrintTitleRows ตอนนี้ยกเมื่ออินพุตเสีย การตั้งคุณสมบัติใดคุณสมบัติหนึ่งด้วยสตริงช่วงที่มีรูปแบบผิด (สิ่งใดก็ตาม
ColDiapasonToValues/RowDiapasonToValuesไม่สามารถแยกวิเคราะห์) ก่อนหน้านี้ทิ้งการกำหนดอย่างเงียบ ๆ — สมุดงานยังคงช่วง Print_Titles ที่ตั้งไว้แล้ว หรือไม่มีช่วงเลย และผู้เรียกไม่มีทางรู้ว่ามีบางอย่างผิดพลาด setter ตอนนี้ยกException.Createพร้อมข้อความ descriptive ที่ระบุค่าที่ไม่ถูกต้อง ให้ตรงกับสไตล์ raise ที่มีอยู่บนพาธ invalid-index ของTXLSRange
เวอร์ชัน 2.88.7
เพิ่มเติม
- บันทึก errata การตรวจสอบ BIFF8 spec round 2 ถูกเพิ่ม การตรวจสอบขอบเขตฟิลด์ [MS-XLS] ใหม่ ชี้แจงสองการค้นพบที่ถูก flag เป็น P2 ในรายงานเดิม (
dev-notes/XLS-BIFF8-Spec-Audit-Round2.md) ไม่ใช่ bug จริง: bit-15 ที่ตั้งใน BOF history flag $000080C9 เป็นของฟิลด์ verXLHigh (bits 14-17, value 2 = "Excel 2002") ไม่ใช่ tail reserved1 (bits 19-31); และการใช้ PtgExp token นำหน้าของ ParseFormula เพื่อตรวจจับสูตร shared / array ตรงกับสิ่งที่ spec หมายถึงและแยกแยะอย่างถูกต้องผ่านเรคคอร์ด ShrFmla / Array ที่ตามมา ทั้งสองรายการถูก annotate ว่าเลิกใช้แล้ว
ลบ
- ฟิลด์ miyRw ของ Row ตอนนี้ยังคงอยู่ภายในช่วง spec MS-XLS เวอร์ชัน pre-BIFF8 ของ Excel เข้ารหัส "use the workbook default row height" โดย OR bit 15 เข้าสู่ miyRw และ HotXLS นำ idiom นั้นไปข้างหน้าในตัวเขียน BIFF8 แม้ว่า MS-XLS §2.4.221 จำกัด miyRw ที่ 8192 twips Excel โมเดิร์นปล่อย 255 ธรรมดา (12.75 pt default) ในกรณีเดียวกันและใช้ grbit bit fUnsynced เพื่อส่งสัญญาณ override ด้วยมือ จึก hack bit-15 ทำให้เอาต์พุต HotXLS แตกต่างจากไฟล์ .xls ที่เชื่อถือได้ (ค่า 32 959 = 0x80FF สำหรับ "default" เป็น out-of-spec ทางเทคนิค) ตัวเขียนตอนนี้ทิ้ง OR และเขียน 255 โดยตรง; ตัวอ่านยังคง strip bit 15 ระหว่างทางเข้าเพื่อความเข้ากันได้แบบย้อนหลัง
เวอร์ชัน 2.88.6
แก้ไข
- แผ่นงาน macro และโมดูล VBA ตอนนี้ยังคง slot ordinal BoundSheet8 ของพวกมัน ตัวอ่านก่อนหน้านี้ทิ้งเรคคอร์ด BoundSheet8 ที่ฟิลด์
dtเป็น 1 (แผ่น macro) หรือ 6 (โมดูล VBA) จึง collection Sheets ของ HotXLS ขาด entry เหล่านั้น XTI cross-reference ใด ๆ ใน ExternSheet ที่ชี้ไปยังตำแหน่งแผ่นเลยแผ่น macro ตามลำดับไฟล์จึงแก้ไปยังแผ่นงาน HotXLS ผิดหลัง SaveAs ตัวอ่านตอนนี้เพิ่มแผ่นงาน placeholder สำหรับทุกเรคคอร์ด BoundSheet8 และจัดเก็ก bytedtดิบบนคุณสมบัติSheet.SheetTypeRawใหม่; ตัวเขียนปล่อย byte เดิมกลับ
เวอร์ชัน 2.88.5
ลบ
- เรคคอร์ด Row BIFF8 ตอนนี้ round-trip fCollapsed, fExAsc, fExDes และ fPhonetic ก่อนหน้านี้ตัวอ่านทิ้ง fCollapsed (grbit bit 4) — ตัวเขียนอนุมานมันจากการเปลี่ยน outline-level บนแถวข้างเคียง ซึ่งจำแนกแถวผิดที่ไฟล์ต้นทางยุบ explicit หรือทำเครื่องหมายเป็นขอบเขต bit สูงสามตัว (fExAsc ที่ 28, fExDes ที่ 29, fPhonetic ที่ 30) ไม่เคยถูกอ่านเช่นกัน และถูกปล่อยเป็นศูนย์เสมอเพราะตัวเขียนตัด grbit 4-ไบต์เป็น slot ixfe 16-bit เดียว ตัวอ่านตอนนี้บริโภค bit ทั้งสี่ตาม MS-XLS §2.4.221 และ pin fCollapsed เป็น explicit จึกการอนุมานฝั่งตัวเขียนไม่เขียนทับค่าที่ Excel ยืนยัน
เวอร์ชัน 2.88.4
แก้ไข
- bit fPaged ของ Window2 BIFF8 ตอนนี้ flag เฉพาะแผ่ง active release ก่อนหน้านี้ตั้ง
fPaged(MS-XLS §2.4.346 bit 10) บนทุกแผ่งที่มองเห็น ซึ่งทำให้เอาต์พุต HotXLS แตกต่างจากที่ Excel เองเขียน (ตาม spec bit หมายถึง "แผ่งนี้กำลังแสดงในหน้าต่างสมุดงาน" จึงควรมีเฉพาะ substream แผ่ง-active เท่านั้นที่ถือมัน) ตัวอ่าน Excel ตกไปยังWindow1.itabCurเพื่อระบุแผ่ง active จริงอยู่แล้ว จึกการใช้ผิดถูกทน แต่ Apache POI strict mode และ tooling อื่นที่เชื่อถือfPagedเป็นสัญญาณหลักตอนนี้เห็นแผ่งที่ถูกต้องถูก flag
เวอร์ชัน 2.88.3
ลบ
- ซูมและสี gridline ของ Window2 BIFF8 ตอนนี้ round-trip release ก่อนหน้านี้ทิ้งฟิลด์เรคคอร์ด WINDOW2 หลังออฟเซ็ต 6 เมื่ออ่านและปล่อยศูนย์ hard-coded เมื่อเขียน จึกซูมแผ่งที่ Excel บันทึกใด ๆ (75 เปอร์เซ็นต์, 125 เปอร์เซ็นต์ ฯลฯ) และการกำหนดสี gridline กลับเป็นค่าเริ่มต้นหลัง SaveAs ของ HotXLS ตัวอ่านตอนนี้บริโภค
icvHdr,wScaleSLVและwScaleNormalตาม MS-XLS §2.4.346: ซูม active-view feedSheet.Zoomและค่า opposite-view ลงใน slot cached จึกการสลับระหว่าง Normal และ Page Break Preview ใน Excel คืนค่าซูมเดิม ตัวเขียนปล่อยSheet.Zoomactive ใน slot view ที่ตรงกันและค่า cached ในอีกอัน บวก index สี gridline ที่รักษาไว้
เวอร์ชัน 2.88.2
แก้ไข
- แก้ opcode เรคคอร์ด HFPicture BIFF8 ไฟล์ .xls ที่บันทึกตอนนี้ปล่อยเรคคอร์ดภาพพื้นหลังส่วนหัว/ส่วนท้ายด้วย
rt = 0x0866ที่ถูกต้องตาม MS-XLS §2.4.138 release ก่อนหน้านี้ใช้0x086C— opcode สำหรับ CellWatch — จึก Excel พยายามแยกวิเคราะห์ BLIP OfficeArt ที่ฝังเป็นการอ้างอิง watched-cell และทิ้งภาพอย่างเงียบ ๆ สมุดงานที่ round-trip ภาพส่วนหัว/ส่วนท้ายผ่าน HotXLS ตอนนี้ยังคงภาพครบ
เวอร์ชัน 2.88.1
แก้ไข
- แก้ opcode เรคคอร์ด Theme BIFF8 ไฟล์ .xls ที่บันทึกตอนนี้ปล่อยเรคคอร์ด Theme ด้วย
frtHeader.rt = 0x0896ที่ถูกต้องตาม MS-XLS §2.4.326 release ก่อนหน้านี้ใช้0x0892— opcode สำหรับ StyleExt — จึก Excel ตีความเพย์โหลด theme OOXML ที่ฝังเป็นส่วนขยายสไตล์เซลล์และกลับเป็น theme Office built-in อย่างเงียบ ๆ สูญเสียสี theme ที่กำหนดเองใด ๆ เมื่อ round-trip สมุดงานผ่าน HotXLS
เวอร์ชัน 2.88.0
เพิ่มเติม
- แพ็กเกจ .xlsx ที่บันทึกตอนนี้รวมส่วน
xl/theme/theme1.xmlstyles.xml เคยปล่อยการอ้างอิง<color theme="N"/>สำหรับสีฟอนต์ / เติมเต็ม / เส้นขอบ / แท็บใด ๆ ที่ตั้งผ่านเส้นทาง theme-index (และสี theme ที่ส่งผ่านจาก .xlsx อินพุตที่แยกวิเคราะห์) แต่ไม่มีส่วน theme ถูกเขียน จึกการอ้างอิงค้าง Excel ทนการละเว้นโดยกลับไป theme “Office” built-in อย่างเงียบ ๆ แต่ Office File Validation flag ทุกการอ้างอิงเป็น “theme part missing” และ Apache POI strict mode ปฏิเสธสมุดงานSaveAsตอนนี้ปล่อย theme Office (2007+) canonical: สคีมสี 12-slot (systemwindowText/window, สีเริ่มต้น Excel สี่สี, accent หก, สีไฮเปอร์ลิงก์สอง), สคีมฟอนต์ Calibri Light / Calibri, สคีมรูปแบบ minimum-valid (สาม entry fill / line / effect / background-fill แต่ละอย่างตามCT_StyleMatrix)[Content_Types].xmlได้รับOverrideที่ตรงกัน;xl/_rels/workbook.xml.relsได้รับความสัมพันธ์theme/theme1.xmlที่ลงท้ายที่ท้ายช่วง rid จึก offsetXlsxFirstExternalLinkRidที่มีอยู่สำหรับ sheets / sst / styles / vba / externalLinks ไม่เปลี่ยนแปลง - การกำหนด
Sheet.Name := '...'โดยตรงตอนนี้ sanitize และ dedupe ด้วย Round 3 (v2.54.1) เพิ่มการบังคับกฎการตั้งชื่อ Excel ในTXLSXSheets.Add(AName)แต่ setter คุณสมบัติTXLSXWorksheet.Nameเป็นwrite FNameดิบ จึกพาธการเปลี่ยนแปลงที่พบบ่อยที่สุดที่ round ไม่ครอบคลุม —lxXlsxExport.pas:122 Target.Name := Source.Nameใน round-trip XLS → XLSX — ปล่อยชื่อใด ๆ ที่ต้นทาง BIFF8 เกิดมี (อักขระต้องห้าม: \ / ? * [ ], ความยาว > 31, single quote ล้อมรอบ,Historyที่ reserved, ซ้ำ case-insensitive ของแผ่งที่มีอยู่) setter คุณสมบัติตอนนี้กำหนดเส้นทางผ่านเมธอดSetNameใหม่ที่เล่นซ้ำ logic dedupXlsxSanitizeSheetName+ suffix' (N)'เดียวกัน (case-insensitive, exclude-self) เทียบกับ collection แผ่งของสมุดงาน parent แผ่นงาน detached (ยังไม่มี back-pointerFWorkbook) ข้ามขั้นตอน dedup และเพียง sanitize —TXLSXSheets.Addจะบังคับความไม่ซ้ำเมื่อแผ่งแนบ Idempotent บนชื่อที่ถูกต้องอยู่แล้ว จึกFSheets.Add(names[i])ฝั่งตัวอ่านยังคงเป็น round-trip บริสุทธิ์
แก้ไข
- การตรวจสอบข้าม [MS-XLSX] round 4 — theme part + setter ชื่อแผ่ง สองการแก้ติดตามกำหนดเป้าหมายปัญหาที่เหลือหลัง round 1–3 (v2.51.0 / v2.52.0 / v2.54.1) ไม่มีอันใดทำลาย call site ที่มีอยู่; หนึ่งขยายพฤติกรรมที่ setter, อีกหนึ่งเพิ่มส่วนใหม่ที่ปล่อยเสมอ
เวอร์ชัน 2.87.4
เปลี่ยนแปลง
- สูตร shared ของ XLS ตอนนี้เขียน body
ShrFmlaที่ถูกต้อง เอาต์พุต shared-formula BIFF8 ตอนนี้รวม bytecUseที่จำเป็นก่อนสูตร parsed shared จึกสมุดงานที่บันทึกด้วยUseSharedFormulasไม่เลื่อนสตรีมโทเค็นสูตรหนึ่งไบต์ - เมทาดาต้าสไตล์ตารางและ filter ของ XLS ตอนนี้ตรงกับเลย์เอาต์ MS-XLS ล่าสุด
AddTableตอนนี้เขียนLIST12เป็นList12TableStyleClientInfo, ตั้งแฟล็ก AutoFilter ตารางและฟิลด์ในFeature11และปล่อยบล็อกFeat11FdaAutoFilterรายคอลัมน์ที่ว่างที่ Excel คาดหวัง - กฎ CF12 Data Bar / Color Scale / Icon Set BIFF8 ตอนนี้ละเว้นเพย์โหลด DXF ต้องห้าม HotXLS ตามกฎ MS-XLS ที่ประเภท CF12 เหล่านี้ต้องถือบล็อก DXF ว่าง ขณะที่รักษาการตั้งค่ากฎจริงของพวกมันใน tail เฉพาะประเภท CF12
เวอร์ชัน 2.87.3
ลบ
- เมทาดาต้าตารางแผ่นงาน XLS ตอนนี้ตามเลย์เอาต์ตาราง
Feature11ของ MS-XLS เอาต์พุตAddTableสำหรับไฟล์ .xls ตอนนี้เขียนส่วนหัวตารางFeatHdr11บวกเพย์โหลดTableFeatureType/Feat11FieldDataItemของFeature11, นำ marker ตาราง$0867 FeatHdrlegacy ออก และจัดเก็กชื่อตารางและคอลัมน์เป็นค่าXLUnicodeString
แก้ไข
- การอ่านกลับตาราง XLS ตอนนี้เข้าใจเลย์เอาต์ฟิลด์ที่ถูกต้องตาม spec HotXLS แยกวิเคราะห์ชื่อตาราง, ช่วง, สถานะ totals-row และ caption ฟิลด์
TableFeatureTypeขณะที่ยังคง fallback สำหรับเรคคอร์ดตารางที่ HotXLS รุ่นเก่าสร้าง
เวอร์ชัน 2.87.2
แก้ไข
- เรคคอร์ด continuation BIFF8 ของ XLS ตอนนี้ถือความยาวฐานที่ถูกต้อง เรคคอร์ด XLS ขนาดใหญ่ที่ตัวเขียนแบ่งตอนนี้อัปเดตความยาวเรคคอร์ดแรกเป็น 8224 ไบต์แทนที่ทิ้งความยาวเดิมที่ใหญ่เกินในส่วนหัว BIFF
- ตารางแผ่นงาน XLS ขนาดใหญ่ตอนนี้ใช้ chunk
ContinueFrt11ที่ถูกต้องตาม spec เอาต์พุตAddTableกว้างที่มีเพย์โหลดFeature11ขนาดใหญ่ตอนนี้บันทึกด้วยเรคคอร์ด continuation$0875 ContinueFrt11และเปิดใหม่พร้อมเมทาดาต้าตารางที่รักษาไว้ ให้ตรงกับเลย์เอาต์Feature11/ContinueFrt11ของ [MS-XLS]
เวอร์ชัน 2.87.1
เปลี่ยนแปลง
- ขีดจำกัดกริดแผ่นงาน XLSX ตอนนี้รวมแถวและคอลัมน์ Excel สุดท้าย
TXLSXRange,RCRange,EntireRowและEntireColumnตอนนี้อนุญาตแถว 1048576 และคอลัมน์ 16384 (XFD) ให้ตรงกับขอบเขตเลขแถวและเลขคอลัมน์ [MS-XLSX] ก่อนหน้านี้ clamp ภายในใช้ค่าสูงสุด zero-based จึกXFD1048576และช่วงที่แตะแถวสุดท้ายหรือคอลัมน์สุดท้ายถูกตัดไปยังแถว/คอลัมน์ก่อนหน้าอย่างเงียบ ๆ
แก้ไข
- เอกสารและการทดสอบการเข้ารหัส XLSX ตอนนี้ตรงกับเส้นทางการเขียนที่ implement หน้า help และชุด regression ตอนนี้ระบุว่า
SaveAsEncryptedเขียนเอาต์พุต ECMA-376 Standard Encryption สำหรับรหัสผ่านที่ไม่ว่าง ขณะที่OpenEncryptedยังคงยกสำหรับแพ็กเกจที่เข้ารหัสและกลับไปสำหรับไฟล์ .xlsx ธรรมดา
เวอร์ชัน 2.87.0
แก้ไข
- การบันทึกที่ป้องกันด้วยรหัสผ่าน XLSX ตอนนี้ทำงาน (wave J phase 2, backlog #29)
TXLSXWorkbook.SaveAsEncrypted(FileName, Password)ตอนนี้เขียนไฟล์ .xlsx ที่ได้รับการป้องกัน ECMA-376 Standard Encryption จริง (รูปแบบ Office 2007+) ไปป์ไลน์ [MS-OFFCRYPTO] §2.3.4 ที่สมบูรณ์อยู่ในตำแหน่ง: phase 1 ของ SHA-1 50000-iteration password derivation + AES-128 verifier blocks + AES-CBC package body encryption + binaryEncryptionInfoserializer ตอนนี้ถูกเข้าร่วมโดย phase 2 ของสี่สตรีมเมทาดาต้า\005DataSpaces(Version / DataSpaceMap / DataSpaceInfo / TransformInfo) และตัวเขียน OLE Compound File Binary ที่วางทุกอย่างลงในคอนเทนเนอร์ CFB ที่ Excel เปิดด้วยรหัสผ่านผู้ใช้ เวิร์กโฟลว์: ผู้เรียกเรียกSaveAsEncryptedด้วยรหัสผ่านที่ไม่ว่าง → HotXLS serialize สมุดงานเข้าสู่ plaintext .xlsx zip ในหน่วยความจำ → เข้ารหัสผ่าน AES-128 CBC ด้วย salt 16-ไบต์สุ่มใหม่และ verifier → เขียนเอาต์พุต CFB ผ่านStgCreateDocfileเปิดใน Excel 2007+: ป้อนรหัสผ่าน → เนื้อหาเปิด รหัสผ่านผิด: ถูกปฏิเสธOpenEncrypted(ฝั่งถอดรหัส) ยังคงเป็นรายการ backlog แยกต่างหากและยังคงยกEXlsxEncryptionNotImplementedเมื่อได้รับไฟล์ที่เข้ารหัส
เวอร์ชัน 2.86.1
เพิ่มเติม
- XLSX Standard Encryption — พื้นฐานการเข้ารหัส (wave J phase 1, backlog #29) สอง unit ภายในใหม่วางการเข้ารหัสและครึ่ง key-derivation ของเส้นทางการเขียน ECMA-376 Standard Encryption
lxAES.pasห่อ AES ของ Brian Gladman (เชื่อมจากthirdparty/Win32/aes*.obj+thirdparty/Win64/aes*.obj) และเปิดเผย entry point การเข้ารหัส AES-128 ECB single-block และ AES-128 CBClxXlsxStdEncrypt.pasimplement SHA-1 pure-Pascal (FIPS-180-4), [MS-OFFCRYPTO] §2.3.4.10 50000-iteration password derivation, §2.3.4.7 verifier blocks (EncryptedVerifier+EncryptedVerifierHash), AES-CBC package body encryption (8-byte LE size prefix + zero-pad สู่ขอบเขต 16-ไบต์ + IV-of-zeros) และ binaryEncryptionInfoserializer §2.3.4.6TXLSXWorkbook.SaveAsEncryptedยังคงยกEXlsxEncryptionNotImplemented— wave J phase 2 จะเพิ่มตัวเขียน OLE Compound File Binary (สตรีมคอนเทนเนอร์\005DataSpaces) และเชื่อมไปป์ไลน์ไปยังSaveAsEncryptedจนกว่านั้น unit ใหม่เป็น scaffolding library-internal ที่ผู้เรียกไม่ควรพึ่งพา
เวอร์ชัน 2.86.0
ลบ
- round-trip QueryTable และ External Data Connection (wave I, backlog #28) QueryTables และ external data connections ที่ Excel สร้าง (Data → Get External Data จาก Web / SQL / OLEDB) ตอนนี้อยู่รอดผ่านวงจรบันทึก/เปิด HotXLS ก่อนหน้านี้ตัวอ่าน BIFF8 ข้าม
QsiSXTag($0802),QsiSXTagExt($0810) และDConn($0876) อย่างเงียบ ๆ จึกเมทาดาต้าที่อธิบาย query upstream ถูกทิ้งเมื่อบันทึกและตารางลดระดับเป็นค่าเซลล์ธรรมดา ตัวอ่านตอนนี้จับเรคคอร์ดเหล่านี้เป็นไบต์ทึบและตัวเขียนปล่อยพวกมันกลับเข้าสู่ substream แผ่นงานและ workbook globals HotXLS ยังคงไม่สร้างโมเดลโครงสร้าง typed QSI / DConn ทางโปรแกรม — แต่สมุดงานที่มีพวกมันอยู่แล้วไม่สูญเสียเมทาดาต้า refresh อีกต่อไป BIFF8 (.xls) เท่านั้น
เวอร์ชัน 2.85.1
เปลี่ยนแปลง
- คืนค่า library build Win32 / Win64 ตัวแปรตัวช่วย pivot-line-item สองตัวในตัวปล่อย SXLI multi-data-field wave H5.3 ถูกประกาศเป็น anonymous type
array of array of Wordแยกต่างหาก ซึ่งคอมไพเลอร์ Delphi ถือว่าเป็น type ไม่มีชื่อที่แตกต่างกันและปฏิเสธบนการกำหนดโดยตรงด้วยE2008 Incompatible typeslibrary HotXLS ไม่ได้ build ตั้งแต่ v2.84.1 บน RAD Studio 12.0 ถึง 37.0 ตัวแปรทั้งสองตอนนี้ถูกประกาศร่วมกันจึกพวกมันแชร์ anonymous type เดียว แก้การกำหนดและคืนค่าเอาต์พุต .dcu / .bpl สำหรับทั้งเป้าหมาย Win32 และ Win64 ไม่มีการเปลี่ยนแปลงพฤติกรรม runtime — ไบต์ SXLI ที่ปล่อยเหมือนกับ v2.85.0
เวอร์ชัน 2.85.0
เปลี่ยนแปลง
- API subtotal pivot แบบมีประเภท (wave H5.4)
TXLSPivotFieldแบบมีประเภทตอนนี้เปิดเผยคุณสมบัติ setSubtotals: TXLSPivotSubtotalsควบคู่กับSubtotalMask: Wordดิบที่มีอยู่ ผู้เรียกสามารถกำหนดเช่นField.Subtotals := [xlpsSum, xlpsAverage];แทนการ pack bit ฟิลด์grbitSubของ SXVD ด้วยมือ มี subtotal type สิบสองแบบถูกเปิดเผย แต่ละแบบแม็ปไปยัง bit เดียวตาม [MS-XLS] §2.4.279SubtotalMaskดิบยังคงเป็นแหล่งความจริงของ round-trip — bit 12-15 reserved ถูกรักษาเมื่อ read/write
เวอร์ชัน 2.84.1
เพิ่มเติม
- การขยาย SXLI multi data-field (wave H5.3) เมื่อตารางสาระสำคัญมีมากกว่าหนึ่ง data field และแกน data-field ตรงกับแกน SXLI ที่กำหนด (
DataFieldAxisIsRow = True&& แกนแถว หรือDataFieldAxisIsRow = False&& แกนคอลัมน์) ตัวเขียนตอนนี้จำลองแต่ละ combination cartesian-productDataFieldCountครั้งพร้อมiData = 0 .. DataFieldCount - 1บวกบรรทัด grand-totalDataFieldCountจึกแต่ละ data field ได้รับ total ของตัวเอง แกน non-hosting ไม่เปลี่ยนแปลง Excel และผู้อ่านอื่นตอนนี้เรนเดอร์ pivot multi-data-field ในเลย์เอาต์ที่ผู้เรียกตั้งใจแทนที่กลับไปใช้การประมาณ “singleiData = 0ต่อ combination” ก่อนหน้านี้ pivot single-data-field ปล่อยเอาต์พุต byte-identical กับ v2.84.0 delta compression (H5.1) พับ combination ซ้ำลงเหลือ ~8 ไบต์ต่อ replica จึกการขยายเพิ่ม byte overhead น้อยที่สุด ปิด known limit wave H4.3 “multi-data-field SXLI not correctly expanded”
เวอร์ชัน 2.84.0
เปลี่ยนแปลง
- API pre-selection page-axis pivot (wave H5.2)
TXLSPivotFieldแบบมีประเภทตอนนี้ถือคุณสมบัติPageItemIndexที่ pivot ที่สร้างทางโปรแกรมสามารถตั้งเพื่อ pre-select cache item เฉพาะบน filter page-axis ค่าเริ่มต้นxlPageItemAll(= $7FFD) ทิ้ง filter ที่ "(All)" จึกผู้เรียกที่ไม่เคยกำหนดPageItemIndexทำตัว byte-identical กับ v2.83.2 ตัวเขียน SXPI ($00B6) อ่านField.PageItemIndexแทนที่ hardcode $7FFD และตัวอ่านมีประเภทตอนนี้เติมPageItemIndexจาก SXPI บน Open
เวอร์ชัน 2.83.2
เปลี่ยนแปลง
- เรคคอร์ด SXLI pivot ที่เล็กลงผ่าน delta compression (wave H5.1) ตัวเขียน pivot ตอนนี้ delta-compress line item SXLI โดยใช้ฟิลด์ cSic ของ spec — cache-item index นำหน้าของแต่ละบรรทัดที่ตรงกับบรรทัดก่อนหน้าในเรคคอร์ด SXLI เดียวกันถูกพับเข้าสู่จำนวน shared-prefix และเฉพาะ index ต่อท้ายถูกปล่อย เรคคอร์ด row-axis SXLI ทั่วไปลดลง 30–60% โดยไม่เปลี่ยนเซแมนติก เอาต์พุตยังคงถูก chunk เพื่ออยู่ใต้ขีดจำกัดเรคคอร์ด BIFF 8224-ไบต์
เวอร์ชัน 2.83.1
แก้ไข
- สีเติมเต็ม, ฟอนต์ และเส้นขอบเซลล์ที่ตั้งผ่าน RGB ตอนนี้ round-trip ผ่านบันทึก/เปิด .xls ตัวเขียน XFExt BIFF8 ($087D) เคยปล่อยฟิลด์ ixfe ของแต่ละเรคคอร์ดโดยใช้ตำแหน่งอาร์เรย์ XF ในหน่วยความจำ แต่เรคคอร์ดเซลล์ที่ตรงกันบนดิสก์เขียน ixfe โดยใช้ลำดับ SaveIndex post-pruning เมื่อใดก็ตามที่ XF ก่อนหน้าในตารางถูก prune ระหว่างบันทึก ixfe ของ XFExt ทุกตัวกลายเป็น off ตามจำนวน slot ที่ prune และสี rich ที่เกี่ยวข้องกับแต่ละเซลล์เลื่อนไปยังเซลล์ข้างเคียงเมื่อโหลดใหม่ ตัวเขียนตอนนี้แก้ SaveIndex สำหรับแต่ละ XF rich-slot และปล่อย ixfe บนดิสก์ที่ตรงกัน จึกสีเซลล์ RGB ที่บันทึกโดย HotXLS — เติมเต็มภายใน, สีฟอนต์, สีเส้นขอบ — อยู่รอดผ่าน round-trip บันทึก/โหลดใหม่อย่างสะอาด
เวอร์ชัน 2.83.0
เปลี่ยนแปลง
- line item pivot + สถานะ page item (wave H4.3) ตารางสาระสำคัญที่สร้างทางโปรแกรมตอนนี้ปล่อย SXLI ([MS-XLS] §2.4.275, $00B5) สำหรับทั้งแกนแถวและคอลัมน์ บวก SXPI ($00B6) สำหรับแกน page นี่ให้ความเที่ยงตรงเลย์เอาต์กับมุมมอง pivot: ผู้อ่านที่ไม่ใช่ Excel เห็นลำดับการแสดงที่ตัวเขียนตั้งใจและ filter page ยังคงอยู่กับการเลือก "(All)" เริ่มต้นต่อ page field
- การแจงนับ Row + column SXLI ตัวเขียนแจงนับผลคูณ cartesian ของ cache item ของฟิลด์แกน (ฟิลด์ในสุดแปรผันเร็วที่สุด ให้ตรงกับเลย์เอาต์ nested-row ของ Excel) และปล่อยหนึ่งบรรทัดต่อ combination บวกบรรทัด grand-total ต่อท้ายที่ทำเครื่องหมายด้วย bit SXLI nTypes fGrandTotal เอาต์พุตถูก chunk เป็นเรคคอร์ด SXLI หลายตัวเมื่อจำนวนบรรทัดล้นขีดจำกัด BIFF 8224-ไบต์; safety cap 16384-บรรทัดป้องกันการขยายหลบหนีบนอินพุต pathological
- สถานะ SXPI page-axis ปล่อยเฉพาะเมื่ออย่างน้อยหนึ่งฟิลด์มี Axis = xlpfaPageField แต่ละ entry เป็น 10 ไบต์ (isxvd + iCache + ipos + objId) พร้อม iCache = $7FFD ส่งสัญญาณ "(All)" — พื้นผิว API สำหรับ pre-select page item เฉพาะเลื่อนไป wave H5
- ปิด known limit "SXLI / SXPI not emitted" ของ wave H3 รวมกับ H4.1 (รูปแบบตัวเลข DataField) และ H4.2 (สตรีม per-record SXDBB) wave H4 ปิด known limit ทั้งสามในตัวเขียน pivot-table wave H3 ตารางสาระสำคัญที่สร้างผ่าน
IXLSWorksheet.AddPivotTableตอนนี้ส่งแคช self-contained พร้อมเมทาดาต้าเลย์เอาต์เต็ม