Часто задаваемые вопросы

Часто задаваемые вопросы

Лицензирование и открытый исходный код

Какая лицензия используется в Aspose.Cells FOSS для Rust?

Пакет выпущен под лицензией MIT. Полный текст поставляется в репозитории как LICENSE.txt.

Могу ли я использовать его в коммерческих продуктах?

Да. Лицензия MIT разрешает коммерческое использование, модификацию и перераспространение. Единственное требование — сохранять уведомление об авторских правах и лицензионное сообщение в копиях или значительных частях программного обеспечения.


Установка и требования

Как установить crate?

Добавьте aspose-cells-foss-rust в ваш Cargo.toml в виде git-зависимости:

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

Смотрите руководство по установке для пошагового прохождения.

Какие версии Rust поддерживаются?

Крейт нацелен на издание Rust 2021.

Требует ли он Microsoft Office или нативные библиотеки?

Нет. Библиотека читает и записывает формат пакета XLSX напрямую — не требуется установка Microsoft Office, автоматизация COM или внешние среды выполнения.


Поддержка форматов

Какие форматы могут быть прочитаны и записаны?

XLSX является поддерживаемым форматом в текущем релизе: полный круговой процесс чтения и записи. Загрузка проходит через Workbook::load_xlsx (перечисление LoadFormat охватывает Auto и Xlsx), а сохранение происходит через save, save_xlsx или save_with_format с перечислением SaveFormat.

Может ли он восстанавливать повреждённые файлы XLSX?

LoadOptions предоставляет флаги try_repair_package и try_repair_xml, а LoadDiagnostics сообщает о проблемах, возникших во время загрузки:

let options = LoadOptions {
    try_repair_package: true,
    try_repair_xml: true,
    ..LoadOptions::default()
};
let loaded = Workbook::load_xlsx_with_options(&path, &options)?;

API Usage

Каков типичный шаблон создания рабочей книги?

Создайте Workbook, ограничьте область изменяемых заимствований, запишите значения, затем сохраните:

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")?;
}
workbook.save("hello.xlsx")?;

Как записать различные типы значений в ячейки?

Используйте типизированные сеттеры для изменяемой ячейки: put_value_string, put_value_i32, put_value_bool, put_value_decimal и put_value_date_time.

Как написать формулу?

Используйте put_formula_with_cached_value, задав значение, которое Excel должен отобразить до первой перерасчёта:

cells.get("G1")?
    .put_formula_with_cached_value("=F1*2", CellValue::Number(20.0))?;

Как прочитать значения из загруженной рабочей книги?

Получите лист с помощью worksheet (или коллекции листов), затем читайте ячейки через get_cells; display_string_value возвращает отображаемый текст, а value_type сообщает сохранённый тип.


Известные ограничения

Находится ли crate на crates.io?

Пока нет — установите его как git-зависимость Cargo из репозитория GitHub. Cargo фиксирует точный коммит в Cargo.lock, поэтому сборки остаются воспроизводимыми.

Поддерживаются ли форматы, отличные от XLSX?

Нет. Текущий релиз сосредоточен на круговом проходе XLSX; другие форматы электронных таблиц не читаются и не записываются.

См. также:

 Русский