Як завантажити електронну таблицю в Rust

Як завантажити електронну таблицю в Rust

Aspose.Cells FOSS для Rust завантажує робочі книги Excel XLSX безпосередньо з формату пакету — без потреби у Microsoft Office. Цей посібник встановлює crate aspose-cells-foss-rust через Cargo, завантажує робочу книгу за допомогою Workbook::load_xlsx, та обробляє недосконалі файли за допомогою прапорців відновлення LoadOptions та LoadDiagnostics.

Покроковий посібник

Крок 1: Встановити пакет

Додайте crate до вашого Cargo.toml як git-залежність Cargo:

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

Потім зберіть проєкт:

cargo build

Крок 2: Імпорт необхідних класів

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

Крок 3: Створити зразковий файл для завантаження

Якщо у вас ще немає робочої книги на диску, спочатку створіть її:

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")?;

Крок 4: Завантажити робочу книгу

Workbook::load_xlsx відкриває коректний файл 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());

Крок 5: Завантажити захисно з параметрами відновлення

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

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

let loaded = Workbook::load_xlsx_with_options("inventory.xlsx", &options)?;
println!(
    "Loaded workbook with {} worksheet(s) and {} diagnostic issue(s).",
    loaded.get_worksheets().count(),
    loaded.get_load_diagnostics().issues().len()
);

Типові проблеми та виправлення

Виклик load повертає помилку для файлу, який відкривається в Excel. Enable try_repair_package and try_repair_xml in LoadOptions і load через Workbook::load_xlsx_with_options — Excel допускає деякі нерегулярності пакету, які суворе завантаження відкидає.

worksheet("Sheet1") завершується невдачею після завантаження. Лист може мати іншу назву. Перерахуйте через get_worksheets або отримайте за індексом через колекцію worksheets замість цього.

Значення читаються назад як порожні рядки. Використовуйте display_string_value у клітинці для її відображуваного тексту та перевірте value_type щоб побачити, що насправді зберігається.

Формули показують застарілі результати. Завантажувач зберігає кешовані значення, що збережені у файлі; повторний розрахунок — це питання споживача. При записі завжди передавайте правильне кешоване значення до put_formula_with_cached_value.

Поширені запитання

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

XLSX лише у поточному випуску. Перелічення LoadFormat охоплює Auto та Xlsx.

Чи потрібно встановлювати Microsoft Office?

Ні. Пакет безпосередньо аналізує XLSX-пакет; жодного Office, COM чи зовнішнього середовища виконання не використовується.

Як дізнатися, чи щось виправив завантажувач?

Прочитайте get_load_diagnostics у завантаженій робочій книзі — LoadDiagnostics перераховує проблеми, які виникли під час завантаження.

Дивіться також

 Українська