Como Carregar uma Planilha em Rust

Como Carregar uma Planilha em Rust

Aspose.Cells FOSS para Rust carrega livros de trabalho Excel XLSX diretamente do formato de pacote — sem necessidade do Microsoft Office. Este guia instala a crate aspose-cells-foss-rust via Cargo, carrega um livro de trabalho com Workbook::load_xlsx, e lida com arquivos imperfeitos usando as flags de reparo LoadOptions e LoadDiagnostics.

Guia Passo a Passo

Passo 1: Instalar o Pacote

Adicione a crate ao seu Cargo.toml como uma dependência git do Cargo:

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

Em seguida, compile o projeto:

cargo build

Etapa 2: Importar classes necessárias

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

Etapa 3: Criar um arquivo de exemplo para carregar

Se ainda não tiver uma pasta de trabalho no disco, crie uma primeiro:

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

Etapa 4: Carregar a pasta de trabalho

Workbook::load_xlsx abre um arquivo XLSX bem formado:

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());

Etapa 5: Carregar de forma defensiva com opções de reparo

Para arquivos de terceiros, habilite as bandeiras de reparo e inspecione os diagnósticos coletados pelo carregador:

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()
);

Problemas Comuns e Soluções

A chamada de carga retorna um erro para um arquivo que abre no Excel. Enable try_repair_package and try_repair_xml in LoadOptions e carregue via Workbook::load_xlsx_with_options — O Excel tolera algumas irregularidades de pacote que o carregamento estrito rejeita.

worksheet("Sheet1") falha após o carregamento. A planilha pode ter um nome diferente. Enumere via get_worksheets ou recupere por índice através da coleção de planilhas, em vez disso.

Valores lidos de volta como strings vazias. Use display_string_value na célula para seu texto de exibição e verifique value_type para ver o que realmente está armazenado.

As fórmulas exibem resultados desatualizados. O carregador preserva os valores em cache armazenados no arquivo; o recálculo é responsabilidade do consumidor. Ao gravar, sempre passe um valor em cache correto para put_formula_with_cached_value.

Perguntas Frequentes

Quais formatos podem ser carregados?

Apenas XLSX na versão atual. O enum LoadFormat cobre Auto e Xlsx.

Preciso do Microsoft Office instalado?

Não. A crate analisa o pacote XLSX diretamente; nenhum Office, COM ou runtime externo está envolvido.

Como sei se o loader reparou algo?

Leia get_load_diagnostics na pasta de trabalho carregada — LoadDiagnostics lista os problemas encontrados durante o carregamento.

Ver também

 Português