Giriş
Aspose.Cells FOSS for Rust, Rust ekosistemine Aspose.Cells FOSS ailesini getiriyor. aspose-cells-foss-rust crate’i, Rust uygulamalarının sıfırdan Excel XLSX çalışma kitapları oluşturmasını, mevcut dosyaları yüklemesini, içeriklerini değiştirmesini ve sonucu kaydetmesini sağlar — Microsoft Office kurulumu, COM otomasyonu veya harici bir çalışma zamanı gerektirmez.
Bu crate MIT lisanslıdır ve Rust 2021 sürümünü hedefler. Rust geliştiricilerinin beklediği geleneklere uyar: Workbook::new gibi yapıcılar, CellsError aracılığıyla Result tabanlı hata yönetimi ve borç verme kurallarını net tutan get_worksheets_mut ve get_cells_mut gibi açık değiştirilebilir erişiciler. Eğer arka uç servisleri, CLI araçları veya elektronik tablo üretip tüketmesi gereken veri işlem hatları oluşturuyorsanız, bu kütüphane size yerel bir yol sunar.
Bu bölüm, en son ürün davranışı ve API kapsamı için mevcut kaynak modeline karşı gözden geçirilmiştir.
Aspose.Cells FOSS, zaten .NET, C++, Java, Python ve TypeScript için mevcut; Rust crate’i aynı odakla aileye katılıyor: izin verici bir lisans altında dürüst, doğrulanabilir XLSX desteği.
Neler Dahildir
Çalışma Kitapları, Çalışma Sayfaları ve Tiplenmiş Hücre Değerleri
Workbook, bir çalışma sayfası ile başlar ve add_worksheet ile büyür. Hücreler, özel ayarlayıcılar aracılığıyla tiplenmiş değerleri — metinler, tam sayılar, boolean değerler, ondalık sayılar ve tarih-zaman — kabul eder, bu sayede string tabanlı dönüşümlere ihtiyaç kalmaz:
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")?;
Önbelleğe Alınmış Sonuçlu Formüller
Formüller, önbelleğe alınmış bir değerle birlikte yazılır, böylece kaydedilen dosya Excel’de hemen doğru sonuçlarla açılır — yeniden hesaplama gerekmez:
cells.get("F1")?.put_value_i32(10)?;
cells.get("G1")?
.put_formula_with_cached_value("=F1*2", CellValue::Number(20.0))?;
Veri Aralıklarına Bağlı Grafikler
ChartType enum’undaki sütun, çizgi ve diğer grafik türleri, bir çalışma sayfasındaki hücre aralıklarına bağlanabilir ve grafik geometrisi, yüklenen dosyalardan geri okunabilir:
let mut charts = sheet.get_charts();
charts.add(
ChartType::Column,
"Charts!$B$1:$B$13".to_string(),
0,
4,
18,
8,
)?;
Stil, Sayfa Ayarı ve Yapı
Hücre biçimlendirme, Font, Fill ve Borders içeren CellStyle üzerinden akar ve StyleFlag ile seçici olarak uygulanır. PageSetup, baskı için kağıt boyutu ve yönünü kontrol eder, FreezePane başlık satırlarının görünür kalmasını sağlar ve yapılandırılmış tablolar, TableStyleType içeren ListObject aracılığıyla gelir.
Doğrulama, Koşullu Biçimlendirme ve Filtreler
Veri kalitesi özellikleri temel yüzeyin bir parçasıdır: OperatorType ile Validation kuralları, FormatCondition aracılığıyla koşullu biçimlendirme, AutoFilter üzerinden otomatik filtreler, DefinedName ile tanımlı adlar ve WorkbookProtection ve WorksheetProtection aracılığıyla çalışma kitabı veya çalışma sayfası koruması.
Tanılamalarla Savunmacı Yükleme
Gerçek dünyadaki XLSX dosyaları her zaman iyi biçimlendirilmiş değildir. LoadOptions onarım bayraklarını ortaya çıkarır ve LoadDiagnostics yükleyicinin neyle karşılaştığını rapor eder:
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()
);
Hızlı Başlangıç
Cargo.toml dosyanıza crate’i bir git bağımlılığı olarak ekleyin (crate 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" }Ardından ilk çalışma kitabınızı oluşturun, kaydedin ve yeniden yükleyin:
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(())
}
Desteklenen Formatlar
| Biçim | Uzantı | Oku | Yaz |
|---|---|---|---|
| XLSX | .xlsx | ✓ | ✓ |
XLSX, mevcut sürümün odak noktasıdır: Workbook::load_xlsx ve Workbook::save aracılığıyla tam tur okuma ve yazma, LoadFormat ve SaveFormat enumlarıyla açık format seçimini yöneten.
Açık Kaynak & Lisanslama
Aspose.Cells FOSS for Rust MIT lisanslıdır. Tam kaynak kodu GitHub üzerinde mevcuttur ve lisans ticari kullanım, değiştirme ve yeniden dağıtımı izin verir.