Introducción
La gestión de hojas de cálculo es el núcleo del crate aspose-cells-foss-rust: los objetos que modelan un libro de trabajo, sus hojas y sus celdas, y las operaciones que convierten datos de Rust en archivos XLSX presentables. Esta publicación recorre esa superficie — desde crear hojas y escribir valores tipados hasta el estilo, el diseño de página y las características estructurales que hacen que los libros de trabajo sean utilizables: comentarios, hipervínculos, tablas y nombres definidos.
Todo lo que se muestra aquí forma parte del crate de código abierto bajo licencia MIT. En ningún momento se requiere una instalación de Microsoft Office; la biblioteca lee y escribe directamente el formato de paquete XLSX.
Esta sección ha sido revisada contra el modelo fuente actual para el comportamiento más reciente del producto y la cobertura de API.
Características clave
Hojas de cálculo y colecciones de celdas
Las hojas de cálculo se gestionan a través de las colecciones de hojas del libro de trabajo. Las hojas se acceden por índice o nombre, se renombran con set_name, y sus celdas se obtienen mediante get_cells (lectura) o get_cells_mut (escritura):
let mut workbook = Workbook::new();
{
let mut worksheets = workbook.get_worksheets_mut();
let sheet = worksheets.get(0)?;
sheet.set_name("Charts")?;
{
let mut cells = sheet.get_cells_mut();
cells.get("A1")?.put_value_string("Month")?;
cells.get("B1")?.put_value_string("Sales")?;
}
}
Valores tipados por nombre o índice
Las celdas aceptan cadenas, enteros, booleanos, decimales y fechas/horas mediante setters tipados. Las celdas pueden dirigirse al estilo A1 (get("B3")) o numéricamente (get_by_index(row, column)), lo que se adapta a diseños generados:
for month in 1..=12_u32 {
cells
.get_by_index(month, 0)
.put_value_string(format!("Month {month}"))?;
cells
.get_by_index(month, 1)
.put_value_i32((month as i32 * 1000) + (month as i32 * 50))?;
}
Fórmulas con valores en caché
put_formula_with_cached_value almacena el texto de la fórmula junto con el valor que Excel debe mostrar antes de su primer recálculo — importante cuando el archivo es consumido por otras herramientas que leen resultados en caché:
cells.get("F1")?.put_value_i32(10)?;
cells.get("G1")?
.put_formula_with_cached_value("=F1*2", CellValue::Number(20.0))?;
Estilos y diseño de página
CellStyle contiene Font, Fill y Borders; StyleFlag selecciona qué aspectos de estilo se aplican en una actualización. NumberFormat controla la representación del valor, y PageSetup gestiona PaperSizeType y PageOrientationType para la impresión. FreezePane y el VisibilityType de filas/columnas mantienen navegables las hojas grandes.
Comentarios, hipervínculos y nombres
Los flujos de trabajo del revisor y la navegación están cubiertos por Comment y CommentCollection, Hyperlink con HyperlinkCollection, y DefinedName con DefinedNameCollection para rangos con nombre.
Tablas estructuradas y filtros
ListObject convierte un rango en una tabla estructurada con estilo TableStyleType y filas de TotalsCalculation; AutoFilter agrega filtrado con condiciones FilterColumn y FilterOperatorType.
Inicio rápido
Agrega el crate a tu Cargo.toml como una dependencia git (el crate aún no está publicado en crates.io):
# Cargo.toml
[dependencies]
aspose-cells-foss-rust = { git = "https://github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Rust" }Una sesión mínima de gestión de hojas de cálculo — crear, escribir, guardar, recargar:
use aspose_cells_foss_rust::{CellValue, Workbook};
use std::error::Error;
fn main() -> Result<(), Box<dyn Error>> {
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")?;
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());
Ok(())
}
Formatos compatibles
| Formato | Extensión | Leer | Escribir |
|---|---|---|---|
| XLSX | .xlsx | ✓ | ✓ |
La carga acepta banderas de reparación LoadOptions (try_repair_package, try_repair_xml) con LoadDiagnostics estructurado; el guardado se realiza mediante save, save_xlsx o save_with_format con el enumerado SaveFormat.
Código abierto y licencias
Aspose.Cells FOSS para Rust tiene licencia MIT. El código fuente se encuentra en GitHub; el uso comercial, la modificación y la redistribución están permitidos.
Primeros pasos
- Primeros pasos
- Guía del desarrollador
- Trabajando con la gestión de hojas de cálculo
- Artículos de la base de conocimientos
- API Reference
- Página del producto