Giriş

Elektronik tablo yönetimi, aspose-cells-foss-rust crate’inin çekirdeğidir: bir çalışma kitabını, sayfalarını ve hücrelerini modelleyen nesneler ve Rust verilerini sunulabilir XLSX dosyalarına dönüştüren işlemler. Bu gönderi bu yüzeyi adım adım inceliyor — sayfalar oluşturmak ve tiplenmiş değerler yazmaktan stil, sayfa düzeni ve çalışma kitaplarını kullanılabilir kılan yapısal özelliklere: yorumlar, köprüler, tablolar ve tanımlı adlar.

Burada gösterilen her şey açık kaynaklı, MIT lisanslı crate’in bir parçasıdır. Hiçbir noktada Microsoft Office kurulumu gerektirmez; kütüphane XLSX paket formatını doğrudan okur ve yazar.

Bu bölüm, en son ürün davranışı ve API kapsamı için mevcut kaynak modeliyle gözden geçirilmiştir.


Ana Özellikler

Çalışma Sayfaları ve Hücre Koleksiyonları

Çalışma sayfaları, çalışma kitabının çalışma sayfası koleksiyonları aracılığıyla yönetilir. Sayfalara indeks veya isimle erişilir, set_name ile yeniden adlandırılır ve hücrelerine get_cells (okuma) veya get_cells_mut (yazma) ile ulaşılır:

let mut workbook = Workbook::new();
{
    let mut worksheets = workbook.get_worksheets_mut();
    let sheet = worksheets.get(0)?;
    sheet.set_name("Charts")?;
    {
        let mut cells = sheet.get_cells_mut();
        cells.get("A1")?.put_value_string("Month")?;
        cells.get("B1")?.put_value_string("Sales")?;
    }
}

İsim veya İndeks ile Tiplenmiş Değerler

Hücreler, tiplenmiş ayarlayıcılar aracılığıyla string, tam sayı, boolean, ondalık ve tarih-zaman değerlerini kabul eder. Hücrelere A1 stili (get("B3")) ya da sayısal (get_by_index(row, column)) biçiminde erişilebilir; bu, oluşturulan düzenlere uygundur:

for month in 1..=12_u32 {
    cells
        .get_by_index(month, 0)
        .put_value_string(format!("Month {month}"))?;
    cells
        .get_by_index(month, 1)
        .put_value_i32((month as i32 * 1000) + (month as i32 * 50))?;
}

Önbelleğe Alınmış Değerli Formüller

put_formula_with_cached_value formül metnini, Excel’in ilk yeniden hesaplamasından önce göstermesi gereken değerle birlikte saklar — önbelleğe alınmış sonuçları okuyan diğer araçlar dosyayı tükettiğinde önemli olur:

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

Stil ve Sayfa Düzeni

CellStyle Font, Fill ve Borders içerir; StyleFlag bir güncellemeye hangi stil yönlerinin uygulanacağını seçer. NumberFormat değer render’ını kontrol eder ve PageSetup yazdırma için PaperSizeType ve PageOrientationType yönetir. FreezePane ve satır/sütun VisibilityType büyük sayfaların gezinilebilir olmasını sağlar.

Yorumlar, Köprüler ve Adlar

Yorumlayan iş akışları ve gezinme, adlandırılmış aralıklar için Comment ve CommentCollection, Hyperlink ile HyperlinkCollection ve DefinedName ile DefinedNameCollection tarafından kapsanır.

Yapılandırılmış Tablolar ve Filtreler

ListObject, bir aralığı TableStyleType stiline ve TotalsCalculation satırlarına sahip yapılandırılmış bir tabloya dönüştürür; AutoFilter ise FilterColumn ve FilterOperatorType koşullarıyla filtreleme ekler.


Hızlı Başlangıç

Kütüphaneyi Cargo.toml dosyanıza bir git bağımlılığı olarak ekleyin (kütüphane henüz crates.io’da yayınlanmadı):

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

Minimal bir elektronik tablo yönetim oturumu — oluştur, yaz, kaydet, yeniden yükle:

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

fn main() -> Result<(), Box<dyn Error>> {
    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")?;

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

    Ok(())
}

Desteklenen Biçimler

BiçimUzantıOkumaYazma
XLSX.xlsx

Yükleme, yapılandırılmış LoadDiagnostics ile birlikte LoadOptions onarım bayraklarını (try_repair_package, try_repair_xml) kabul eder; kaydetme ise save, save_xlsx veya save_with_format fonksiyonları aracılığıyla SaveFormat enum’ı ile yapılır.


Açık Kaynak & Lisanslama

Aspose.Cells FOSS for Rust MIT lisanslıdır. Kaynak kodu GitHub‘da bulunur; ticari kullanım, değiştirme ve yeniden dağıtım izinlidir.


Başlarken

İlgili Kaynaklar