Часто задаваемые вопросы
Лицензирование и открытый исходный код
Какая лицензия используется в 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; другие форматы электронных таблиц не читаются и не записываются.