Hogyan hozzunk létre egy Cells FOSS modellt Rustban

Hogyan hozzunk létre egy Cells FOSS modellt Rustban

Aspose.Cells FOSS for Rust modellezi a munkafüzetet típusos objektumok fájként — munkalapok, cellagyűjtemények és szabályobjektumok, például érvényesítések. Ez az útmutató egy teljes munkafüzet-modellt épít fel a semmiből: típusos cellaértékek, adatérvényesítési szabályok CellArea tartományokon, és a végén egy elmentett XLSX fájl.

Lépésről lépésre útmutató

1. lépés: A csomag telepítése

Adja hozzá a crate-et a Cargo.toml projektjéhez Cargo git függőségként:

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

Ezután építse fel a projektet:

cargo build

2.lépés: Szükséges osztályok importálása

use aspose_cells_foss_rust::{
    CellArea, OperatorType, ValidationAlertType, ValidationType, Workbook,
};
use std::error::Error;

3.lépés: A munkafüzet és a cellaadatok létrehozása

Indítsa el a modellt egy Workbook használatával, nevezze el a lapot, és írjon típusos értékeket:

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.lépés: Listaellenőrzés hozzáadása

Az érvényesítési szabályok a CellArea tartományokhoz kapcsolódnak a lap érvényesítési gyűjteményén keresztül. A listaellenőrzés a cellákat rögzített választásokra korlátozza egy cellán belüli legördülő menüvel:

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.lépés: Tartomány- és egyéni szabályok hozzáadása

A OperatorType számérték tartomány szabályokat irányít, a ValidationType::Custom képletet fogad; a ValidationAlertType kiválasztja a riasztás súlyosságát:

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.lépés: A modell mentése

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

A mentett fájl az Excelben a legördülő menükkel, tartomány-ellenőrzésekkel és az aktív egyéni szabállyal nyílik meg.

Gyakori problémák és megoldások

Az érvényesítésnek nincs látható hatása az Excelben. Engedélyezze a felkéréseket: set_show_input / set_show_error szabályozza, hogy megjelenjen-e a bemeneti tipp és a hibaüzenet.

Egy szabálynak több különálló tartományt kell lefednie. További tartományokat adhat egy meglévő szabályhoz a add_area és további CellArea::create_cell_area_a1 tartományok.

Kölcsönözzen hibákat a validálások hozzáadása közben. Tartsd a munkalap kölcsönzését hatókörben: fetch get_validations ugyanabban a blokkban, mint a módosítások, és mentsd el a munkafüzetet a blokk befejezése után.

A lista lehetőségeit képletként értelmezi. Tedd a lehetőségeket idézőjelek közé, escape-elve, pontosan úgy, ahogy látható: set_formula1("\"Open,Closed\"").

Gyakran ismételt kérdések

Milyen validációs típusok érhetők el?

ValidationType tartalmazza a List, Decimal és Custom elemeket, amint itt látható — legördülő listákat, numerikus tartományokat a OperatorType segítségével, és képletalapú szabályokat.

Megjeleníthetnek a validációk egyedi üzeneteket?

Igen — set_input_title / set_input_message vezérli a promptot, és set_error_title / set_error_message vezérli a hibaértesítést.

A modell túléli a körutazást?

Igen. Mentse el a Workbook::save használatával, és töltse be a Workbook::load_xlsx segítségével; a validációs szabályok megmaradnak az XLSX fájlban.

Lásd még:

 Magyar