วิธีโหลดสเปรดชีตใน Rust
Aspose.Cells FOSS สำหรับ Rust โหลดไฟล์ Excel XLSX โดยตรงจากรูปแบบแพคเกจ — ไม่ต้องใช้ Microsoft Office คู่มือฉบับนี้ติดตั้ง crate aspose-cells-foss-rust ผ่าน Cargo, โหลดเวิร์กบุ๊กด้วย Workbook::load_xlsx, และจัดการไฟล์ที่ไม่สมบูรณ์ด้วยแฟล็กการซ่อมแซม LoadOptions และ LoadDiagnostics.
คู่มือทีละขั้นตอน
ขั้นตอนที่ 1: ติดตั้งแพคเกจ
เพิ่ม crate ไปยัง Cargo.toml ของคุณเป็นการพึ่งพา git ของ Cargo:
# Cargo.toml
[dependencies]
aspose-cells-foss-rust = { git = "https://github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Rust" }จากนั้นสร้างโปรเจค:
cargo buildขั้นตอนที่ 2: นำเข้าคลาสที่จำเป็น
use aspose_cells_foss_rust::{LoadOptions, Workbook};
use std::error::Error;ขั้นตอนที่ 3: สร้างไฟล์ตัวอย่างเพื่อโหลด
หากคุณยังไม่มีเวิร์กบุ๊กบนดิสก์, ให้เขียนหนึ่งไฟล์ก่อน:
let mut workbook = Workbook::new();
{
let mut worksheets = workbook.get_worksheets_mut();
let sheet = worksheets.get(0)?;
let mut cells = sheet.get_cells_mut();
cells.get("A1")?.put_value_string("Item")?;
cells.get("B1")?.put_value_string("Quantity")?;
cells.get("A2")?.put_value_string("Apples")?;
cells.get("B2")?.put_value_i32(12)?;
}
workbook.save("inventory.xlsx")?;ขั้นตอนที่ 4: โหลดเวิร์กบุ๊ก
Workbook::load_xlsx เปิดไฟล์ XLSX ที่จัดรูปแบบอย่างถูกต้อง:
let loaded = Workbook::load_xlsx("inventory.xlsx")?;
let sheet = loaded.worksheet("Sheet1")?;
let cells = sheet.get_cells();
println!("A2 = {}", cells.get("A2")?.display_string_value());ขั้นตอนที่ 5: โหลดอย่างระมัดระวังพร้อมตัวเลือกการซ่อมแซม
สำหรับไฟล์จากบุคคลที่สาม, ให้เปิดใช้แฟล็กการซ่อมแซมและตรวจสอบการวินิจฉัยที่ตัวโหลดเก็บรวบรวมไว้:
let options = LoadOptions {
try_repair_package: true,
try_repair_xml: true,
..LoadOptions::default()
};
let loaded = Workbook::load_xlsx_with_options("inventory.xlsx", &options)?;
println!(
"Loaded workbook with {} worksheet(s) and {} diagnostic issue(s).",
loaded.get_worksheets().count(),
loaded.get_load_diagnostics().issues().len()
);ปัญหาทั่วไปและการแก้ไข
การเรียก load ส่งคืนข้อผิดพลาดสำหรับไฟล์ที่เปิดใน Excel. Enable try_repair_package and try_repair_xml in LoadOptions และโหลดผ่าน Workbook::load_xlsx_with_options — Excel ยอมรับความไม่เป็นระเบียบบางอย่างของแพคเกจที่การโหลดแบบเข้มงวดปฏิเสธ.
worksheet("Sheet1") ล้มเหลวหลังจากการโหลด. แผ่นงานอาจมีชื่อแตกต่างกัน. แสดงรายการผ่าน get_worksheets หรือดึงโดยใช้ดัชนีผ่านคอลเลกชัน worksheet แทน.
ค่าที่อ่านกลับมาเป็นสตริงว่าง. ใช้ display_string_value บนเซลล์เพื่อข้อความที่แสดงและตรวจสอบ value_type เพื่อดูว่าจริงๆ แล้วมีอะไรถูกเก็บไว้.
สูตรแสดงผลลัพธ์ที่ล้าสมัย. ตัว loader รักษา cached values ที่เก็บไว้ในไฟล์; การ recalculation เป็นความกังวลของ consumer. เมื่อเขียน, ควร always pass a correct cached value ไปให้ put_formula_with_cached_value.
คำถามที่พบบ่อย
รูปแบบใดบ้างที่สามารถโหลดได้?
ในรุ่นปัจจุบันรองรับเฉพาะ XLSX เท่านั้น. enum LoadFormat ครอบคลุม Auto และ Xlsx.
ฉันต้องติดตั้ง Microsoft Office หรือไม่?
ไม่. crate จะวิเคราะห์แพคเกจ XLSX โดยตรง; ไม่ได้ใช้ Office, COM หรือ runtime ภายนอกใดๆ.
ฉันจะรู้ได้อย่างไรว่า loader ได้ซ่อมอะไรบ้าง?
อ่าน get_load_diagnostics บน workbook ที่โหลดแล้ว — LoadDiagnostics แสดงรายการปัญหาที่พบระหว่างการโหลด.