מבוא

Aspose.Cells FOSS עבור Rust מביא את משפחת Aspose.Cells FOSS אל מערכת האקוסיסטם של Rust. החבילה aspose-cells-foss-rust מאפשרת ליישומי Rust ליצור חוברות Excel XLSX מאפס, לטעון קבצים קיימים, לשנות את תוכנם ולשמור את התוצאה — ללא צורך בהתקנת Microsoft Office, אוטומציית COM, או זמן ריצה חיצוני.

החבילה מורשית ברישיון MIT ומיועדת לגרסת Rust 2021. היא פועלת לפי הקונבנציות שהמפתחים ב-Rust מצפים להן: בוני-העצמים כמו Workbook::new, טיפול בשגיאות מבוסס Result דרך CellsError, וגישה מופרשת למשתנים באמצעות פונקציות כמו get_worksheets_mut ו-get_cells_mut השומרות על כללי ההשאלות. אם אתם בונים שירותי backend, כלים בקו פקודה (CLI), או צינוריות נתונים שצריכות לייצר או לצרוך גיליונות אלקטרוניים, הספרייה הזו מספקת לכם דרך מקומית לעשות זאת.

סעיף זה נבדק כנגד מודל המקור העדכני עבור ההתנהגות האחרונה של המוצר וכיסוי API.

Aspose.Cells FOSS זמין כבר עבור .NET, C++, Java, Python, ו-TypeScript; חבילת Rust מצטרפת למשפחה עם אותו מוקד: תמיכה כנה וניתנת לאימות ב-XLSX תחת רישיון מתיר.


מה נכלל

חוברות עבודה, גיליונות עבודה, וערכי תאים בטיפוסים

אובייקט Workbook מתחיל עם גיליון עבודה אחד ומתפתח באמצעות add_worksheet. תאים מקבלים ערכים מסוגים שונים — מחרוזות, שלמים, בוליאנים, מספרים עשרוניים ותאריכים-זמנים — דרך setters ייעודיים, כך שאין צורך בהמרות מבוססות מחרוזות:

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("Hello")?;
    cells.get("B1")?.put_value_i32(123)?;
    cells.get("C1")?.put_value_bool(true)?;
    cells.get("D1")?.put_value_decimal(12.5)?;
}
workbook.save("hello.xlsx")?;

נוסחאות עם תוצאות במטמון

נוסחאות נכתבות יחד עם ערך שמור במטמון, ולכן הקובץ השמור נפתח ב-Excel עם תוצאות נכונות מיידית — אין צורך במעבר חישוב מחדש:

cells.get("F1")?.put_value_i32(10)?;
cells.get("G1")?
    .put_formula_with_cached_value("=F1*2", CellValue::Number(20.0))?;

תרשימים מעוגנים לטווחי נתונים

סוגי עמודות, קווים וסוגי גרפים אחרים מה-enum ChartType יכולים להיות מעוגנים לטווחי תאים בגיליון העבודה, וצורת הגרף ניתנת לקריאה חזרה מקבצים שטענו:

let mut charts = sheet.get_charts();
charts.add(
    ChartType::Column,
    "Charts!$B$1:$B$13".to_string(),
    0,
    4,
    18,
    8,
)?;

עיצוב, הגדרת עמוד, ומבנה

עיצוב תאים מתבצע דרך CellStyle עם Font, Fill ו-Borders, המיושמים באופן סלקטיבי באמצעות StyleFlag. PageSetup שולט בגודל הדף והכיוון להדפסה, FreezePane משאיר את שורות הכותרת מוצגות, וטבלאות מובנות מגיעות דרך ListObject עם TableStyleType.

אימות, עיצוב מותנה, וסינונים

תכונות איכות הנתונים הן חלק מהממשק הליבה: Validation rules with OperatorType, conditional formatting through FormatCondition, auto-filters via AutoFilter, defined names via DefinedName, and workbook or worksheet protection through WorkbookProtection and WorksheetProtection.

טעינה הגנתית עם אבחון

קבצי XLSX בעולם האמיתי אינם תמיד מאורגנים בצורה תקינה. LoadOptions חושף דגלי תיקון, ו-LoadDiagnostics מדווחים על מה שהטוען נתקל בו:

let options = LoadOptions {
    try_repair_package: true,
    try_repair_xml: true,
    ..LoadOptions::default()
};

let loaded = Workbook::load_xlsx_with_options(&valid_path, &options)?;
println!(
    "Loaded workbook with {} worksheet(s) and {} diagnostic issue(s).",
    loaded.get_worksheets().count(),
    loaded.get_load_diagnostics().issues().len()
);

התחלה מהירה

הוסף את החבילה לקובץ Cargo.toml שלך כתלות git (החבילה עדיין לא פורסמה ב-crates.io):

# Cargo.toml
[dependencies]
aspose-cells-foss-rust = { git = "https://github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Rust" }

לאחר מכן צור, שמור וטען מחדש את חוברת העבודה הראשונה שלך:

use aspose_cells_foss_rust::{CellValue, Workbook};
use std::error::Error;

fn main() -> Result<(), Box<dyn Error>> {
    // Create a new workbook (starts with one sheet, "Sheet1").
    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("Hello")?;
        cells.get("B1")?.put_value_i32(123)?;
        cells.get("G1")?
            .put_formula_with_cached_value("=F1*2", CellValue::Number(20.0))?;
    }
    workbook.save("hello.xlsx")?;

    // Load it back.
    let loaded = Workbook::load_xlsx("hello.xlsx")?;
    let sheet = loaded.worksheet("Sheet1")?;
    let cells = sheet.get_cells();
    println!("A1 = {}", cells.get("A1")?.display_string_value());

    Ok(())
}

פורמטים נתמכים

עיצובהרחבהקריאהכתיבה
XLSX.xlsx

XLSX הוא מוקד השחרור הנוכחי: קריאה וכתיבה במעגל שלם דרך Workbook::load_xlsx ו-Workbook::save, עם האינומים LoadFormat ו-SaveFormat המוֹדִיעִים על בחירת פורמט מפורשת.


קוד פתוח & רישוי

Aspose.Cells FOSS עבור Rust הוא ברישיון MIT. קוד המקור המלא זמין ב-GitHub, והרישיון מאפשר שימוש מסחרי, שינוי והפצה מחדש.


התחלה

משאבים קשורים