כיצד ליצור מודל Cells FOSS ב-Rust

כיצד ליצור מודל Cells FOSS ב-Rust

Aspose.Cells FOSS for Rust מודלים חוברת עבודה כעץ של אובייקטים מסוגים — גיליונות עבודה, אוספי תאים, ואובייקטי כללים כגון אימותים. מדריך זה בונה מודל חוברת עבודה שלם מאפס: ערכי תאים מסוגים, כללי אימות נתונים על גבי תחומי CellArea, וקובץ XLSX שמור בסוף.

מדריך שלב-אחר-שלב

שלב 1: התקנת החבילה

הוסף את הקרט לCargo.toml שלך כתלות Cargo git:

# 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::{
    CellArea, OperatorType, ValidationAlertType, ValidationType, Workbook,
};
use std::error::Error;

שלב 3: צור את חוברת העבודה ונתוני התא

התחל את המודל עם Workbook, שם את הגיליון, וכתוב ערכים מסוג:

let mut workbook = Workbook::new();
{
    let mut worksheets = workbook.get_worksheets_mut();
    let sheet = worksheets.get(0)?;
    sheet.set_name("Validation Sheet")?;
    let mut cells = sheet.get_cells_mut();
    cells.get("A1")?.put_value_string("Open")?;
    cells.get("B2")?.put_value_i32(5)?;
    cells.get("G1")?.put_value_string("ABCDE")?;
}

שלב 4: הוסף אימות רשימה

כללי האימות מצורפים לטווחי CellArea דרך אוסף האימות של הגיליון. אימות רשימה מגביל תאים לבחירות קבועות עם תפריט נפתח בתא:

let mut validations = sheet.get_validations();
let list_index = validations.add(CellArea::create_cell_area_a1("A1", "A3")?)?;
let mut list_validation = validations
    .get(list_index)
    .expect("validation should exist");
list_validation.set_type(ValidationType::List);
list_validation.set_formula1("\"Open,Closed\"");
list_validation.set_in_cell_drop_down(true);
list_validation.set_show_input(true);
list_validation.set_input_title("Status");
list_validation.set_input_message("Pick a status");

שלב 5: הוסף טווח וכללים מותאמים

OperatorType מניע כללי טווח מספריים, ו-ValidationType::Custom מקבל נוסחה; ValidationAlertType בוחר את דרגת החומרה של ההתראה:

let decimal_index = validations.add(CellArea::create_cell_area_a1("B2", "C3")?)?;
let mut decimal_validation = validations
    .get(decimal_index)
    .expect("validation should exist");
decimal_validation.set_type(ValidationType::Decimal);
decimal_validation.set_operator(OperatorType::Between);
decimal_validation.set_formula1("1.5");
decimal_validation.set_formula2("9.5");
decimal_validation.set_show_error(true);

let custom_index = validations.add(CellArea::create_cell_area_a1("G1", "G1")?)?;
let mut custom_validation = validations
    .get(custom_index)
    .expect("validation should exist");
custom_validation.set_type(ValidationType::Custom);
custom_validation.set_alert_style(ValidationAlertType::Warning);
custom_validation.set_formula1("LEN(G1)<=5");

שלב 6: שמור את המודל

workbook.save("validations-sample.xlsx")?;

הקובץ השמור נפתח באקסל עם רשימות נפתחות, בדיקות טווח, והכלל המותאם אישית פעיל.

בעיות נפוצות ותיקונים

האימות אינו משפיע בצורה נראית באקסל. הפעל את ההודעות: set_show_input / set_show_error שלוט אם רמז הקלט והתראת השגיאה יופיעו.

כלל צריך לכסות כמה טווחים נפרדים. הוסף טווחים נוספים לכלל קיים עם add_area ו נוספים CellArea::create_cell_area_a1 טווחים.

השתמש בשגיאות בזמן הוספת אימותים. שמור על תחום ההשאלת worksheet: fetch get_validations בתוך אותו block כמו ה-mutations, ושמור את ה-workbook אחרי שה-block מסתיים.

ה-List choices מפורשים בטעות כ-formula. עטוף את ה-choices במירכאות מוצלות בדיוק כפי שמוצג: set_formula1("\"Open,Closed\"").

שאלות נפוצות

אילו סוגי אימות זמינים?

ValidationType כולל את List, Decimal ו-Custom כפי שמוצג כאן — רשימות נפתחות, טווחים מספריים דרך OperatorType, וכללים מבוססי נוסחה.

האם אימותים יכולים להציג הודעות מותאמות?

כן — set_input_title / set_input_message שולטות בתצוגה, ו-set_error_title / set_error_message שולטות בהתראה על כשל.

האם המודל שורד נסיעה הלוך-חזור?

כן. שמור באמצעות Workbook::save וטען מחדש באמצעות Workbook::load_xlsx; חוקי האימות נשמרים בקובץ XLSX.

ראה גם

 עברית