Pendahuluan
Manajemen spreadsheet adalah inti dari crate aspose-cells-foss-rust: objek-objek yang memodelkan workbook, lembar-lembarnya, dan sel-selnya, serta operasi yang mengubah data Rust menjadi file XLSX yang dapat dipresentasikan. Posting ini menelusuri permukaan tersebut — mulai dari membuat lembar dan menulis nilai bertipe hingga styling, tata letak halaman, dan fitur struktural yang membuat workbook dapat digunakan: komentar, hyperlink, tabel, dan nama yang didefinisikan.
Semua yang ditampilkan di sini merupakan bagian dari crate sumber terbuka dengan lisensi MIT. Tidak ada instalasi Microsoft Office yang terlibat pada tahap mana pun; perpustakaan ini membaca dan menulis format paket XLSX secara langsung.
Bagian ini telah ditinjau terhadap model sumber terkini untuk perilaku produk terbaru dan cakupan API.
Fitur Utama
Lembar Kerja dan Koleksi Sel
Worksheet dikelola melalui koleksi worksheet pada workbook. Lembar diakses dengan indeks atau nama, dapat diubah namanya dengan set_name, dan sel-selnya dapat diakses melalui get_cells (baca) atau get_cells_mut (tulis):
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")?;
}
}
Nilai Tipe berdasarkan Nama atau Indeks
Sel menerima string, integer, boolean, desimal, dan tanggal-waktu melalui setter bertipe. Sel dapat diakses dengan gaya A1 (get("B3")) atau secara numerik (get_by_index(row, column)), yang cocok untuk tata letak yang dihasilkan:
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))?;
}
Formula dengan Nilai Tersimpan
put_formula_with_cached_value menyimpan teks formula bersama nilai yang harus ditampilkan Excel sebelum perhitungan ulang pertama — penting ketika file dikonsumsi oleh alat lain yang membaca hasil cache:
cells.get("F1")?.put_value_i32(10)?;
cells.get("G1")?
.put_formula_with_cached_value("=F1*2", CellValue::Number(20.0))?;
Gaya dan Tata Letak Halaman
CellStyle memuat Font, Fill, dan Borders; StyleFlag memilih aspek gaya mana yang diterapkan pada pembaruan. NumberFormat mengontrol rendering nilai, dan PageSetup mengelola PaperSizeType serta PageOrientationType untuk pencetakan. FreezePane dan VisibilityType pada baris/kolom menjaga agar lembar besar tetap dapat dinavigasi.
Komentar, Tautan Hiper, dan Nama
Alur kerja peninjau dan navigasi dicakup oleh Comment dan CommentCollection, Hyperlink dengan HyperlinkCollection, serta DefinedName dengan DefinedNameCollection untuk rentang bernama.
Tabel Terstruktur dan Filter
ListObject mengubah rentang menjadi tabel terstruktur dengan styling TableStyleType dan baris TotalsCalculation; AutoFilter menambahkan penyaringan dengan kondisi FilterColumn dan FilterOperatorType.
Mulai Cepat
Tambahkan crate ke Cargo.toml Anda sebagai dependensi git (crate belum dipublikasikan di crates.io):
# Cargo.toml
[dependencies]
aspose-cells-foss-rust = { git = "https://github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Rust" }Sesi manajemen spreadsheet minimal — buat, tulis, simpan, muat ulang:
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(())
}
Format yang Didukung
| Format | Ekstensi | Baca | Tulis |
|---|---|---|---|
| XLSX | .xlsx | ✓ | ✓ |
Pemuatan menerima flag perbaikan LoadOptions (try_repair_package, try_repair_xml) dengan LoadDiagnostics terstruktur; penyimpanan dilakukan melalui save, save_xlsx, atau save_with_format dengan enum SaveFormat.
Sumber Terbuka & Lisensi
Aspose.Cells FOSS untuk Rust dilisensikan di bawah MIT. Kode sumber berada di GitHub; penggunaan komersial, modifikasi, dan redistribusi diizinkan.