1. Продукти
  2.   Aspose.Cells
  3.   Aspose.Cells FOSS for Rust

Aspose.Cells FOSS для Rust

Відкритий Rust crate для створення, читання, редагування та збереження електронних таблиць Excel XLSX без залежностей від Office.

Aspose.Cells FOSS — бібліотека Rust з відкритим вихідним кодом

Aspose.Cells FOSS for Rust — це бібліотека з відкритим кодом для роботи з Excel
XLSX-таблицями у застосунках на Rust. Вона надає системним програмістам
рідний, безпечний щодо пам’яті спосіб створювати книги з нуля, завантажувати існуючі
файли XLSX, змінювати їх вміст і зберігати результат — без Microsoft
Office, автоматизації COM чи будь-якого зовнішнього середовища виконання.

Пакет моделює повне дерево об’єктів електронної таблиці: Workbook, Worksheet та колекції клітинок з типізованими встановлювачами значень (put_value_string, put_value_i32, put_value_bool, put_value_decimal), формули з кешованими значеннями через put_formula_with_cached_value, діаграми (Chart, ChartType), умовне форматування (FormatCondition), перевірку даних (Validation), автофільтри (AutoFilter), стилізацію клітинок (CellStyle, Font, Fill, Borders), налаштування сторінки (PageSetup), зображення, форми, коментарі, гіперпосилання, таблиці (ListObject), спарклайни (SparklineGroup), визначені імена та захист книги/аркуша.

Aspose.Cells FOSS for Rust має ліцензію MIT і орієнтована на випуск Rust 2021.
Вона встановлюється як стандартна залежність Cargo з репозиторію GitHub — дивіться посібник з встановлення для точного запису у Cargo.toml.
Помилки відображаються через звичні типи Result (CellsError), а завантаження XLSX пропонує варіанти виправлення (LoadOptions) зі структурованою діагностикою (LoadDiagnostics).
Для корпоративного сімейства продуктів дивіться Aspose.Cells — Enterprise Product Family.

Управління робочою книгою та аркушами

  • Створюйте порожні робочі книги за допомогою Workbook::new або завантажуйте існуючі файли за допомогою Workbook::load_xlsx
  • Додавайте та отримуйте доступ до листів за допомогою add_worksheet, worksheet та змінних колекцій листів
  • Зберігайте на диск за допомогою save, save_xlsx або явно вказуючи формат save_with_format
  • Керуйте виглядом робочих книг, налаштуваннями та властивостями документа

Де це підходить

  • Сервіси бекенду, що генерують XLSX звіти без встановленого Office
  • CLI-інструменти, які пакетно створюють або пост-обробляють електронні таблиці
  • Rust-конвеєри даних, що експортують табличні результати для бізнес-користувачів

Дані комірок, формули та типи

  • Типізовані сеттери: put_value_string, put_value_i32, put_value_bool, put_value_decimal, put_value_date_time
  • Записуйте формули з кешованими результатами за допомогою put_formula_with_cached_value
  • Читайте значення назад за допомогою display_string_value і value_type
  • Звертайтеся до клітинок за назвою A1 або індексом рядка/стовпця (get, get_by_index)

Практичне використання

  • Фінансові експорти, де формули повинні відкриватися з правильними кешованими значеннями
  • Шаблони введення даних з типізованими колонками
  • Двостороннє редагування робочих книг, наданих користувачем

Стилізація та макет

  • Стилізація клітинок за допомогою CellStyle з Font, Fill та Borders
  • Застосування цільових оновлень стилю за допомогою StyleFlag
  • Форматування чисел за допомогою NumberFormat
  • Друк та макет сторінки за допомогою PageSetup (розмір паперу, орієнтація, поля)
  • Заморожування панелей за допомогою FreezePane; керування видимістю рядків/стовпців

Чому це важливо

  • Брендовані, готові до друку звіти безпосередньо з Rust-сервісів
  • Зручні для читання експорти з правильними форматами чисел і дат
  • Великі листи, які залишаються навігаційними завдяки закріпленим рядкам заголовків

Діаграми, зображення та фігури

  • Додайте стовпчикові, лінійні та інші типи діаграм за допомогою ChartType у колекції діаграм листа
  • Читайте прив’язки діаграм і їх типи з завантажених файлів (Chart, ChartCollection)
  • Вбудовуйте зображення за допомогою Picture та малюйте форми за допомогою Shape
  • Компактно відображайте внутрішньоклітинні тенденції за допомогою SparklineGroup

Випадки використання

  • Панелі приладів і робочі книги KPI, створені за розкладом
  • Візуальні резюме, вбудовані поруч із необробленими даними
  • Автоматичне розміщення діаграм з діапазонів даних

Аналіз даних та захист

  • Правила умовного форматування через FormatCondition
  • Правила перевірки даних через Validation з OperatorType
  • Автофільтри через AutoFilter; структуровані таблиці через ListObject
  • Визначені імена через DefinedName; захист через WorkbookProtection та WorksheetProtection
  • Надійне завантаження XLSX з прапорцями відновлення LoadOptions та LoadDiagnostics

Хто отримує вигоду

  • Команди, що доставляють перевірені робочі книги для вводу даних
  • Служби, що обробляють сторонні файли XLSX, які можуть потребувати ремонту
  • Аналітики, що отримують попередньо відфільтровані захищені звіти

Створити, зберегти та перезавантажити робочу книгу

Створіть робочий зошит, запишіть значення різних типів та формулу з кешованим результатом, збережіть його як XLSX і завантажте назад:

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("C1")?.put_value_bool(true)?;
        cells.get("D1")?.put_value_decimal(12.5)?;
        cells.get("F1")?.put_value_i32(10)?;
        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(())
}

Завантаження файлів XLSX з параметрами відновлення

Відкривайте книги у захисному режимі з прапорцями відновлення LoadOptions та перевіряйте структурну діагностику завантаження:

let options = LoadOptions {
    try_repair_package: true,
    try_repair_xml: true,
    ..LoadOptions::default()
};

let loaded = Workbook::load_xlsx_with_options(&valid_path, &options)?;
let sheet = loaded.worksheet("Sheet1")?;
let cells = sheet.get_cells();

println!("Saved: {}", valid_path.display());
println!(
    "Loaded workbook with {} worksheet(s) and {} diagnostic issue(s).",
    loaded.get_worksheets().count(),
    loaded.get_load_diagnostics().issues().len()
);

Додати діаграми з діапазонів даних

Заповніть діапазон даних, а потім прив’яжіть до нього стовпчикову та лінійну діаграми:

let mut charts = sheet.get_charts();
charts.add(
    ChartType::Column,
    "Charts!$B$1:$B$13".to_string(),
    0,
    4,
    18,
    8,
)?;
charts.add(
    ChartType::Line,
    "Charts!$C$1:$C$13".to_string(),
    0,
    9,
    18,
    13,
)?;

Часті Питання

Яка ліцензія використовується Aspose.Cells FOSS for Rust?

Цей crate випущений під ліцензією MIT License; повний текст постачається в репозиторії як LICENSE.txt.

Чи можу я використовувати його у комерційних продуктах?

Так. MIT License дозволяє комерційне використання, модифікацію та розповсюдження, за умови збереження повідомлення про авторські права та ліцензійне повідомлення.

Як встановити crate?

Додайте aspose-cells-foss-rust у ваш Cargo.toml як git-залежність з репозиторію GitHub.

Які формати можна читати та записувати?

XLSX, з повним циклом читання та запису через Workbook::load_xlsx та save. Інші формати електронних таблиць не підтримуються у поточному випуску.

Чи потрібен Microsoft Office?

Ні. Бібліотека читає та записує формат пакету XLSX безпосередньо — без встановлення Office, автоматизації COM або зовнішнього середовища виконання.

  

Ресурси Підтримки та Навчання

 Українська