Вступ
Керування електронними таблицями — це ядро крайта aspose-cells-foss-rust: об’єкти, які моделюють книгу, її листи та їхні клітинки, а також операції, що перетворюють дані Rust у придатні до перегляду файли XLSX. У цьому дописі розглядаються ці аспекти — від створення листів і запису типізованих значень до стилізації, розташування сторінки та структуральних функцій, які роблять книги зручними: коментарі, гіперпосилання, таблиці та визначені імена.
Все, що показано тут, є частиною відкритого, ліцензованого за MIT crate. Ніяка установка Microsoft Office ні на якому етапі не потрібна; бібліотека читає і записує формат пакету XLSX безпосередньо.
Цей розділ було перевірено відповідно до поточної моделі джерела щодо останньої поведінки продукту та охоплення API.
Ключові можливості
Листи та колекції клітинок
Листи керуються через колекції листів книги. Листи доступні за індексом або назвою, їх можна перейменувати за допомогою set_name, а їхні клітинки отримуються через get_cells (читання) або get_cells_mut (запис):
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")?;
}
}
Типізовані значення за ім’ям або індексом
Клітинки приймають рядки, цілі числа, булеві значення, десяткові числа та дати-часи через типізовані сеттери. Клітинки можна адресувати у стилі A1 (get("B3")) або чисельно (get_by_index(row, column)), що підходить для згенерованих макетів:
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))?;
}
Формули з кешованими значеннями
put_formula_with_cached_value зберігає текст формули разом зі значенням, яке Excel має відображати до першого перерахунку — це важливо, коли файл використовується іншими інструментами, які читають кешовані результати:
cells.get("F1")?.put_value_i32(10)?;
cells.get("G1")?
.put_formula_with_cached_value("=F1*2", CellValue::Number(20.0))?;
Стилізація та макет сторінки
CellStyle містить Font, Fill і Borders; StyleFlag визначає, які аспекти стилю застосовуються при оновленні. NumberFormat контролює відображення значень, а PageSetup керує PaperSizeType та PageOrientationType для друку. FreezePane і VisibilityType рядків/стовпців забезпечують зручну навігацію по великих листах.
Коментарі, гіперпосилання та імена
Робочі процеси рецензента та навігація охоплюються Comment і CommentCollection, Hyperlink з HyperlinkCollection, а також DefinedName з DefinedNameCollection для іменованих діапазонів.
Структуровані таблиці та фільтри
ListObject перетворює діапазон у структуровану таблицю зі стилізацією TableStyleType та рядками TotalsCalculation; AutoFilter додає фільтрацію за допомогою умов FilterColumn і FilterOperatorType.
Швидкий старт
Додайте crate у ваш Cargo.toml як git-залежність (crate ще не опубліковано на crates.io):
# Cargo.toml
[dependencies]
aspose-cells-foss-rust = { git = "https://github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Rust" }Мінімальна сесія керування електронними таблицями — створення, запис, збереження, перезавантаження:
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(())
}
Підтримувані формати
| Формат | Розширення | Читати | Записувати |
|---|---|---|---|
| XLSX | .xlsx | ✓ | ✓ |
Завантаження приймає прапорці відновлення LoadOptions (try_repair_package, try_repair_xml) зі структурованими LoadDiagnostics; збереження виконується через save, save_xlsx або save_with_format з перерахуванням SaveFormat.
Відкритий код і ліцензування
Aspose.Cells FOSS для Rust має ліцензію MIT. Вихідний код розміщений на GitHub; комерційне використання, модифікація та розповсюдження дозволені.
Початок роботи
- Початок роботи
- Посібник розробника
- Робота з керуванням електронними таблицями
- Статті Бази знань
- API Reference
- Сторінка продукту