Cómo cargar una hoja de cálculo en Rust

Cómo cargar una hoja de cálculo en Rust

Aspose.Cells FOSS para Rust carga libros de trabajo Excel XLSX directamente desde el formato de paquete — no se requiere Microsoft Office. Esta guía instala la crate aspose-cells-foss-rust vía Cargo, carga un libro de trabajo con Workbook::load_xlsx, y maneja archivos imperfectos con banderas de reparación LoadOptions y LoadDiagnostics.

Guía paso a paso

Paso 1: Instalar el paquete

Añade la crate a tu Cargo.toml como una dependencia git de Cargo:

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

Luego construye el proyecto:

cargo build

Paso 2: Importar clases requeridas

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

Paso 3: Crear un archivo de muestra para cargar

Si aún no tienes un libro de trabajo en el disco, escribe uno primero:

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

Paso 4: Cargar el libro de trabajo

Workbook::load_xlsx abre un archivo XLSX bien 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());

Paso 5: Cargar de forma defensiva con opciones de reparación

Para archivos de terceros, habilita las banderas de reparación e inspecciona los diagnósticos que el cargador recopiló:

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 comunes y soluciones

La llamada load devuelve un error para un archivo que se abre en Excel. Enable try_repair_package and try_repair_xml in LoadOptions y cargar mediante Workbook::load_xlsx_with_options — Excel tolera algunas irregularidades del paquete que la carga estricta rechaza.

worksheet("Sheet1") falla después de la carga. La hoja puede tener un nombre diferente. Enumere mediante get_worksheets o recupérela por índice a través de la colección de hojas de cálculo en su lugar.

Los valores se leen de vuelta como cadenas vacías. Usar display_string_value en la celda para su texto de visualización y comprobar value_type para ver lo que realmente está almacenado.

Las fórmulas muestran resultados obsoletos. El cargador conserva los valores en caché almacenados en el archivo; la recalculación es responsabilidad del consumidor. Al escribir, siempre pasa un valor en caché correcto a put_formula_with_cached_value.

Preguntas frecuentes

¿Qué formatos se pueden cargar?

Solo XLSX en la versión actual. El enum LoadFormat cubre Auto y Xlsx.

¿Necesito Microsoft Office instalado?

No. El crate analiza el paquete XLSX directamente; no se involucra Office, COM, ni tiempo de ejecución externo.

¿Cómo sé si el cargador reparó algo?

Lea get_load_diagnostics en el libro de trabajo cargado — LoadDiagnostics enumera los problemas encontrados durante la carga.

Ver también

 Español