Aspose.Cells FOSS for Rust — это открытая библиотека для работы с электронными таблицами Excel XLSX в приложениях на Rust. Она предоставляет системным программистам нативный, безопасный по памяти способ создавать книги с нуля, загружать существующие файлы XLSX, изменять их содержимое и сохранять результат — без Microsoft Office, автоматизации COM или какого-либо внешнего runtime.
Крейт моделирует полное дерево объектов таблицы: 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_xlsxadd_worksheet, worksheet и изменяемые коллекции листовsave, save_xlsx или явно указывая формат save_with_formatput_value_string, put_value_i32, put_value_bool, put_value_decimal, put_value_date_timeput_formula_with_cached_valuedisplay_string_value и value_typeget, get_by_index)CellStyle с Font, Fill и BordersStyleFlagNumberFormatPageSetup (размер бумаги, ориентация, поля)FreezePane; управление видимостью строк/столбцовChartType в коллекции диаграмм листаChart, ChartCollection)Picture и рисуйте фигуры с помощью ShapeSparklineGroupFormatConditionValidation с OperatorTypeAutoFilter; структурированные таблицы через ListObjectDefinedName; защита через WorkbookProtection и WorksheetProtectionLoadOptions и LoadDiagnosticsСоздайте рабочую книгу, запишите типизированные значения и формулу с кэшированным результатом, сохраните её как 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(())
}
Открывайте книги защитно с флагами восстановления 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,
)?;
Крейт выпускается под лицензией MIT; полный текст доступен в репозитории как LICENSE.txt.
Да. Лицензия MIT разрешает коммерческое использование, модификацию и распространение, при условии сохранения уведомления об авторских правах и лицензии.
Добавьте aspose-cells-foss-rust в ваш Cargo.toml в качестве git-зависимости из репозитория GitHub.
XLSX, с полным циклическим чтением и записью через Workbook::load_xlsx и save. Другие форматы электронных таблиц не поддерживаются в текущем выпуске.
Нет. Библиотека читает и записывает формат пакета XLSX напрямую — нет установки Office, автоматизации COM или внешней среды выполнения.