Aspose.Cells FOSS for Rust é uma biblioteca de código aberto para trabalhar com planilhas Excel XLSX em aplicações Rust. Ela oferece aos programadores de sistemas uma forma nativa e segura em memória de criar pastas de trabalho do zero, carregar arquivos XLSX existentes, modificar seu conteúdo e salvar o resultado — sem Microsoft Office, automação COM ou qualquer runtime externo.
A crate modela a árvore completa de objetos da planilha: Workbook, Worksheet e coleções de células com definidores de valor tipados (put_value_string, put_value_i32, put_value_bool, put_value_decimal), fórmulas com valores em cache via put_formula_with_cached_value, gráficos (Chart, ChartType), formatação condicional (FormatCondition), validação de dados (Validation), auto-filtros (AutoFilter), estilo de célula (CellStyle, Font, Fill, Borders), configuração de página (PageSetup), imagens, formas, comentários, hyperlinks, tabelas (ListObject), sparklines (SparklineGroup), nomes definidos e proteção de pasta de trabalho/planilha.
Aspose.Cells FOSS for Rust tem licença MIT e tem como alvo a edição 2021 do Rust. Ela é instalada como uma dependência padrão do Cargo a partir do repositório GitHub — veja o guia de instalação para a entrada exata em Cargo.toml. Erros são expostos através dos tipos convencionais Result (CellsError), e o carregamento de XLSX oferece opções de reparo (LoadOptions) com diagnósticos estruturados (LoadDiagnostics). Para a família de produtos empresariais, veja Aspose.Cells — Enterprise Product Family.
Workbook::new ou carregue arquivos existentes com Workbook::load_xlsxadd_worksheet, worksheet e coleções mutáveis de planilhassave, save_xlsx ou save_with_format com formato explícitoput_value_string, put_value_i32, put_value_bool, put_value_decimal, put_value_date_timeput_formula_with_cached_valuedisplay_string_value e value_typeget, get_by_index)CellStyle com Font, Fill e BordersStyleFlagNumberFormatPageSetup (tamanho do papel, orientação, margens)FreezePane; controlar a visibilidade de linhas/colunasChartType na coleção de gráficos de uma planilhaChart, ChartCollection)Picture e formas de desenho com ShapeSparklineGroupFormatConditionValidation com OperatorTypeAutoFilter; tabelas estruturadas via ListObjectDefinedName; proteção via WorkbookProtection e WorksheetProtectionLoadOptions flags de reparo e LoadDiagnosticsCrie uma pasta de trabalho, escreva valores tipados e uma fórmula com um resultado em cache, salve-a como XLSX e carregue-a novamente:
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(())
}
Abra as pastas de trabalho de forma defensiva com as flags de reparo do LoadOptions e inspecione os diagnósticos de carregamento estruturados:
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()
);
Preencha um intervalo de dados e, em seguida, ancore os gráficos de coluna e linha a ele:
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,
)?;
O crate é distribuído sob a Licença MIT; o texto completo está incluído no repositório como LICENSE.txt.
Sim. A MIT License permite uso comercial, modificação e redistribuição, desde que o aviso de direitos autorais e a licença sejam preservados.
Adicione aspose-cells-foss-rust ao seu Cargo.toml como uma dependência git do repositório do GitHub.
XLSX, com leitura e escrita de ida e volta completas via Workbook::load_xlsx e save. Outros formatos de planilha não são suportados na versão atual.
Não. A biblioteca lê e grava o formato de pacote XLSX diretamente — não há instalação do Office, automação COM ou runtime externo envolvido.