เอกสาร HotXLS

คลาส 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

ดูเพิ่มเติม