Introducción
Aspose.Cells FOSS for TypeScript ofrece un conjunto completo de funciones de gestión de hojas de cálculo más allá de la lectura/escritura básica de celdas. Los desarrolladores pueden aplicar estilos detallados, establecer reglas de validación de datos, configurar filtros automáticos, agregar formato condicional, crear gráficos, insertar formas y proteger libros de trabajo – todo desde código TypeScript sin dependencia de Microsoft Office.
Esta publicación recorre las principales capacidades de gestión de hojas de cálculo disponibles en la biblioteca, con ejemplos de código funcionales para cada área de funcionalidad.
Características clave
Validación de datos
Agregue reglas de validación a los rangos de celdas usando la clase DataValidation. Los tipos de validación compatibles incluyen lista, rango numérico y fórmulas personalizadas. Aplique la validación a cualquier rango con worksheet.addDataValidation().
const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
const validation = new DataValidation();
validation.type = "list";
validation.formula1 = '"Option1,Option2,Option3"';
worksheet.addDataValidation(validation, "B1:B10");
await workbook.save("validated.xlsx");
Auto-filtro
Habilitar encabezados de auto‑filtro en un rango de datos con worksheet.setAutoFilter(). Esto agrega controles de filtro desplegables a los encabezados de columna en el archivo XLSX de salida. Eliminar filtros con worksheet.removeAutoFilter().
const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
worksheet.putValue("A1", "Name");
worksheet.putValue("B1", "Age");
worksheet.putValue("C1", "City");
worksheet.putValue("A2", "Alice");
worksheet.putValue("B2", "25");
worksheet.putValue("C2", "New York");
worksheet.putValue("A3", "Bob");
worksheet.putValue("B3", "30");
worksheet.putValue("C3", "London");
worksheet.setAutoFilter("A1:C4");
await workbook.save("filtered.xlsx");
Formato condicional
Aplicar reglas visuales a rangos de celdas usando ConditionalFormatCollection. La biblioteca admite ColorScaleRule, DataBarRule y IconSetRule para resaltar celdas según sus valores.
const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
for (let i = 1; i <= 10; i++) {
worksheet.putValue(`A${i}`, i * 10);
}
await workbook.save("conditional.xlsx");
Hipervínculos y Comentarios
Adjunte hipervínculos a celdas con cell.setHyperlink() que admitan URL, direcciones de correo electrónico y referencias internas a hojas. Añada comentarios con worksheet.addComment() usando objetos Comment.
const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
worksheet.putValue("A1", "Click here");
worksheet.getCell2("A1").setHyperlink("https://www.example.com");
worksheet.putValue("A3", "Send email");
worksheet.getCell2("A3").setHyperlink("mailto:test@example.com");
await workbook.save("hyperlinks.xlsx");
Protección de libro de trabajo y celda
Proteja libros de trabajo completos con una contraseña usando workbook.protect(). Bloquee celdas individuales con style.setLocked(true) y controle la visibilidad de fórmulas con style.setHidden().
const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
worksheet.putValue("A1", "Protected Cell");
const style = new Style();
style.setLocked(true);
style.setHidden(false);
worksheet.getCell2("A1").setStyle(style);
workbook.protect(true, "password");
await workbook.save("protected.xlsx");
Dimensionamiento de columnas y filas
Establezca el ancho de las columnas con worksheet.setColumnWidth() y la altura de las filas con worksheet.setRowHeight(). Oculte filas con worksheet.setRowHidden(). Estos ajustes persisten en el archivo XLSX guardado.
const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
worksheet.putValue("A1", "Wide Column");
worksheet.setColumnWidth(0, 30);
worksheet.setRowHeight(0, 25);
await workbook.save("sized.xlsx");
Inicio rápido
Instalar con npm:
npm install @aspose/cells@1.0.0
Crear un libro de trabajo con estilo, validación y filtro automático:
import { Workbook, Style, DataValidation } from "@aspose/cells";
const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
worksheet.putValue("A1", "Status");
worksheet.putValue("B1", "Value");
const headerStyle = new Style();
headerStyle.setBold(true);
worksheet.getCell2("A1").setStyle(headerStyle);
worksheet.getCell2("B1").setStyle(headerStyle);
const validation = new DataValidation();
validation.type = "list";
validation.formula1 = '"Active,Inactive,Pending"';
worksheet.addDataValidation(validation, "A2:A20");
worksheet.setAutoFilter("A1:B20");
await workbook.save("managed.xlsx");
Código abierto y licencias
Aspose.Cells FOSS para TypeScript se publica bajo la licencia MIT. El código fuente está disponible en GitHub. El uso comercial está permitido bajo los términos de la licencia MIT.