คลาส TXLSForwardReader
TXLSForwardReader นำเสนอพื้นผิวที่ขับเคลื่อนด้วยการเรียกกลับแบบฉายภาพเดียวสำหรับ XLS แบบคลาสสิก, XLSX แบบใหม่, CSV และ TSV โดยไม่ต้องสร้างโมเดลออบเจกต์สมุดงานที่สมบูรณ์
รูปแบบอินพุต
TXLSForwardFormat เลือกการตรวจจับอัตโนมัติหรือบังคับการแยกวิเคราะห์ XLS, XLSX, CSV หรือ TSV
ReadFile เปิดแหล่งที่ตั้งชื่อและ ReadStream อ่านจากตำแหน่งสตรีมปัจจุบันของผู้เรียกในขณะที่คืนตำแหน่งนั้นเมื่อส่งคืน
การฉายภาพและขอบเขตแถว
IncludeColumn เพิ่มคอลัมน์แบบศูนย์-based ลงในชุดการฉายภาพแบบเวลาคงที่, ClearColumnProjection คืนค่าเอาต์พุตทุกคอลัมน์ และ HasColumnProjection รายงานว่าการผลักลงมาเปิดใช้งานอยู่หรือไม่
FirstRow และ LastRow ใช้ขอบเขตแถวแบบหนึ่ง-based ก่อนการส่งเรียกกลับ ทำให้ตัวแยกวิเคราะห์สามารถหยุดหลังช่วงที่ร้องขอ
การเรียกกลับและการแปลงค่า
| OnSheet | รับชื่อเวิร์กชีตแต่ละตัวและอาจข้ามชีตหรือยกเลิกการอ่านทั้งหมด |
| OnCell | รับแถว, คอลัมน์, ดัชนีสไตล์, ชนิดที่ทำให้เป็นมาตรฐาน, ค่าดิบ และข้อความสูตรสำหรับทุกเซลล์ที่ฉายภาพ |
| DetectDates | ใช้รูปแบบตัวเลขของสมุดงานเพื่อระบุค่าเวลาและวันที่ |
| DetectTextTypes | แปลงฟิลด์ CSV และ TSV เป็นชนิดสเกลาร์ที่รองรับเมื่อไม่กำกวม |
| PreserveRichText | คงรันที่จัดรูปแบบและเพย์โหลดสัทศาสตร์ไว้เมื่อรูปแบบต้นทางรองรับ |
| ValueSeparator | แทนที่ตัวคั่นฟิลด์ข้อความเมื่อการตรวจจับรูปแบบไม่เหมาะสม |
สถานะการเสร็จสิ้น
CellCount รายงานเซลล์ที่ส่ง และ Aborted แยกความแตกต่างระหว่างการยกเลิกของผู้เรียกกับการเสร็จสิ้นปกติ
ตัวอย่าง
Reader := TXLSForwardReader.Create;
try
Reader.FirstRow := 2;
Reader.IncludeColumn(0);
Reader.IncludeColumn(4);
Reader.OnSheet := ReadSheet;
Reader.OnCell := ReadCell;
Reader.ReadFile('large-input.xlsx', xffAuto);
finally
Reader.Free;
end;
การเลือก API การสตรีม
ใช้ TXLSForwardReader เมื่อเส้นทางแอปพลิเคชันหนึ่งต้องรองรับหลายรูปแบบ, ใช้ TXLSDirectReader สำหรับเค้าโครงเฉพาะ XLSX, rich text และอีเวนต์เวิร์กชีตแบบขนาน หรือใช้ TXLSRowCursor สำหรับการวนซ้ำแถว XLSX แบบ pull-driven