Rust'ta Cells FOSS Modeli Nasıl Oluşturulur

Rust'ta Cells FOSS Modeli Nasıl Oluşturulur

Aspose.Cells FOSS for Rust, bir çalışma kitabını tiplenmiş nesneler ağacı olarak modeller — worksheets, cell collections, and rule objects such as validations. Bu kılavuz, sıfırdan tam bir çalışma kitabı modeli oluşturur: tiplenmiş hücre değerleri, CellArea aralıkları üzerindeki veri doğrulama kuralları ve sonunda kaydedilmiş bir XLSX dosyası.

Adım Adım Kılavuz

Adım 1: Paketi Yükleyin

Crate’i Cargo.toml dosyanıza bir Cargo git bağımlılığı olarak ekleyin:

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

Ardından projeyi derleyin:

cargo build

Adım 2: Gerekli Sınıfları İçeri Aktarın

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

Adım 3: Çalışma Kitabını ve Hücre Verilerini Oluşturun

Modeli bir Workbook ile başlatın, sayfayı adlandırın ve tiplenmiş değerleri yazın:

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")?;
}

Adım 4: Liste Doğrulaması Ekle

Doğrulama kuralları, sayfanın doğrulama koleksiyonu aracılığıyla CellArea aralıklarına eklenir. Bir liste doğrulaması, hücreleri hücre içi açılır menü ile sabit seçeneklerle sınırlar:

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");

Adım 5: Aralık ve Özel Kurallar Ekle

OperatorType sayısal aralık kurallarını yönlendirir ve ValidationType::Custom bir formül kabul eder; ValidationAlertType uyarı şiddetini seçer:

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");

Adım 6: Modeli Kaydedin

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

Kaydedilen dosya, açılır menüler, aralık kontrolleri ve özel kural etkin olarak Excel’de açılır.

Yaygın Sorunlar ve Çözümler

Doğrulamanın Excel’de görünür bir etkisi yok. İstemleri etkinleştir: set_show_input / set_show_error giriş ipucu ve hata uyarısının görünüp görünmeyeceğini kontrol eder.

Bir kural, birkaç ayrı aralığı kapsamalıdır. Mevcut bir kurala daha fazla aralık ekleyin add_area ve ek CellArea::create_cell_area_a1 aralıklar.

Doğrulama eklerken hataları ödünç al. Çalışma sayfası ödünç alımını kapsam içinde tut: fetch get_validations mutasyonlarla aynı blok içinde ve blok sona erdiğinde çalışma kitabını kaydedin.

Liste seçenekleri bir formül olarak yanlış okunuyor. Seçenekleri gösterildiği gibi kaçışlı tırnak işaretleri içinde sarın: set_formula1("\"Open,Closed\"").

Sıkça Sorulan Sorular

Hangi doğrulama türleri mevcuttur?

ValidationType şunları içerir: List, Decimal ve Custom burada gösterildiği gibi — liste açılır menüler, OperatorType aracılığıyla sayısal aralıklar ve formül tabanlı kurallar.

Doğrulamalar özel mesajlar gösterebilir mi?

Evet — set_input_title / set_input_message istemi kontrol eder, set_error_title / set_error_message ise başarısızlık uyarısını kontrol eder.

Model bir gidiş-dönüşte ayakta kalıyor mu?

Evet. Workbook::save ile kaydedin ve Workbook::load_xlsx ile yeniden yükleyin; doğrulama kuralları XLSX dosyasında korunur.

Ayrıca Bakınız

 Türkçe