איך לטעון גליון אלקטרוני ב-Rust
Aspose.Cells FOSS עבור Rust טוען חוברות Excel XLSX ישירות מתצורת החבילה — אין צורך ב-Microsoft Office. מדריך זה מתקין את הקרט aspose-cells-foss-rust דרך Cargo, טוען חוברת עם Workbook::load_xlsx, ומטפל בקבצים לא מושלמים עם דגלוני תיקון LoadOptions ו-LoadDiagnostics.
מדריך שלב-אחר-שלב
שלב 1: התקנת החבילה
הוסף את הקרט ל-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 ו-load דרך Workbook::load_xlsx_with_options — Excel מתיר כמה אי-סדירות בחבילה שהטעינה הקפדנית דוחה.
worksheet("Sheet1") נכשל לאחר הטעינה. ייתכן שלגיליון שם שונה. ערוך מונה דרך get_worksheets או קבל לפי אינדקס דרך אוסף גיליונות העבודה במקום זאת.
הערכים נקראו חזרה כמחרוזות ריקות. השתמש ב- display_string_value על התא עבור טקסט התצוגה שלו ובדוק value_type כדי לראות מה בפועל נשמר.
הנוסחאות מציגות תוצאות מיושנות. המטען שומר על הערכים המטמון שנשמרים בקובץ; חישוב מחדש הוא באחריות הצרכן. בעת כתיבה, תמיד העבר ערך מטמון נכון ל put_formula_with_cached_value.
שאלות נפוצות
אילו פורמטים ניתן לטעון?
XLSX בלבד בגרסה הנוכחית. הא enum LoadFormat מכסה את Auto ו-Xlsx.
האם אני צריך להתקין את Microsoft Office?
לא. החבילה מנתחת את חבילת XLSX ישירות; אין צורך ב-Office, COM, או זמן ריצה חיצוני.
איך אני יודע אם הטוען תיקן משהו?
קרא get_load_diagnostics במחברת שהוטענה — LoadDiagnostics מציג את הבעיות שהתגלו במהלך הטעינה.