Empezando

Descripción del producto

Aspose.Cells for JavaScript a través de C++ es una biblioteca de alto rendimiento y con muchas funciones para manipular y convertir archivos de hojas de cálculo, incluyendo formatos Excel (XLS, XLSX, XLSB, XLSM), ODS, CSV y HTML. Proporciona un conjunto completo de características para crear, editar, convertir y renderizar hojas de cálculo en entornos de navegador y Node.js. Con soporte completo para todos los formatos principales de Excel, Aspose.Cells for JavaScript vía C++ garantiza máxima compatibilidad y flexibilidad en diversos casos de uso. Construido con WebAssembly para desbloquear un rendimiento cercano a nativo directamente en el navegador, Aspose.Cells for JavaScript vía C++ permite un procesamiento rápido y eficiente de hojas de cálculo sin necesidad de un servidor. Su huella ligera en tiempo de ejecución lo hace perfecto para aplicaciones web sin servidor que requieren funciones avanzadas de Excel. Ya sea que estés creando paneles de control, pipelines de procesamiento de datos o herramientas de generación de documentos, Aspose.Cells for JavaScript vía C++ ofrece una solución completa, confiable y de alto rendimiento. Aspose.Cells for JavaScript vía C++ soporta navegadores y Node.js, principalmente navegadores.

Funciones clave

  1. Creación y Edición de Archivos: Crea nuevas hojas de cálculo desde cero o edita existentes con facilidad. Esto incluye agregar o modificar datos, formatear celdas, gestionar hojas y más.
  2. Procesamiento de Datos: Realizar manipulaciones complejas de datos como ordenar, filtrar y validar. La biblioteca también soporta fórmulas y funciones avanzadas para facilitar análisis y cálculos de datos.
  3. Conversión de Archivos: Convertir archivos de Excel a varios formatos como PDF, HTML, ODS y formatos de imagen como PNG y JPEG. Esta función es útil para compartir y distribuir datos de hojas de cálculo en diferentes formatos.
  4. Gráficos y Visualizaciones: Crear y personalizar una amplia gama de gráficos y visualizaciones para representar datos visualmente. La biblioteca soporta gráficos de barras, líneas, tartas y muchos más, junto con opciones de personalización de diseño y disposición.
  5. Renderizado y Impresión: Renderizar hojas de Excel en imágenes de alta fidelidad y PDFs, asegurando que la representación visual sea precisa. La biblioteca también ofrece opciones para imprimir hojas de cálculo con control preciso sobre el diseño y formato de página.
  6. Protección Avanzada y Seguridad: Proteger hojas de cálculo con contraseñas, encriptar archivos y gestionar permisos de acceso para garantizar la seguridad e integridad de los datos.
  7. Rendimiento y Escalabilidad: Diseñado para manejar grandes conjuntos de datos y hojas de cálculo complejas de manera eficiente, Aspose.Cells for JavaScript vía C++ asegura un alto rendimiento y escalabilidad para aplicaciones empresariales.

Requisitos Previos

Antes de comenzar, asegúrate de tener:

  • Node.js instalado en tu sistema (Descarga de https://nodejs.org/)
  • Un archivo de licencia Aspose válido (por ejemplo, Aspose.Total.lic, Aspose.Cells.lic, o aspose.cells.js.lic) para un uso completo
  • Conocimientos básicos de HTML y JavaScript

Paso 1: Instalación

Instalar Aspose.Cells for JavaScript

Crear un nuevo directorio de proyecto e instalar el paquete:

# Create a new project directory
mkdir my-excel-project
cd my-excel-project

# Install Aspose.Cells for JavaScript
npm install aspose.cells.js

Instalar servidor HTTP (Requerido para configuración de licencia)

Instalar un servidor HTTP simple globalmente:

npm install -g http-server

O usar el servidor integrado de Python (si Python está instalado):

# Python 3
python -m http.server

# Python 2
python -m SimpleHTTPServer

Paso 2: Configuración de la Licencia (Requerido para funciones completas)

Encriptar tu archivo de licencia

  1. Inicia el servidor HTTP en el directorio de tu proyecto:

       http-server -p 8080
       

  2. Abre la herramienta de encriptación de licencias en tu navegador:

    http://localhost:8080/node_modules/aspose.cells.js/encrypt_lic.html
    
  3. Sube tu archivo de licencia:

    • Haz clic en “Elegir archivo” y selecciona tu archivo de licencia (por ejemplo, Aspose.Total.lic, Aspose.Cells.lic, o aspose.cells.js.lic)
    • El proceso de encriptación se completará automáticamente (muy rápido)
  4. Descarga la licencia encriptada:

    • Haz clic en “Descargar archivo procesado” para descargar aspose.cells.enc
    • Guarda este archivo en el directorio de tu proyecto

Coloca la licencia encriptada

Mueve el archivo aspose.cells.enc al raíz de tu proyecto o a una carpeta específica donde tu aplicación pueda acceder a él.

Paso 3: Ejemplos de uso

Uso del Navegador

Crea un archivo index.html en el directorio de tu proyecto:

<!DOCTYPE html>
<html>
<head>
    <title>Aspose.Cells Browser Example</title>
</head>
<body>
    <h1>Excel Processing with Aspose.Cells</h1>
    <button id="createExcel">Create Excel File</button>
    <div id="output"></div>

    <script src="./node_modules/aspose.cells.js/aspose.cells.js.min.js"></script>
    <script type="text/javascript">
        const { Workbook, FileFormatType, SaveFormat } = AsposeCells;

        // Initialize with license (optional, remove for trial mode)
        AsposeCells.onReady({
            license: "aspose.cells.enc"  // Path to your encrypted license
        }).then(() => {
            console.log("Aspose.Cells is ready!");

            document.getElementById('createExcel').onclick = function() {
                // Create a new workbook
                var workbook = new Workbook(FileFormatType.Xlsx);

                // Get the first worksheet
                var worksheet = workbook.worksheets.get(0);

                // Add some data
                worksheet.cells.get("A1").putValue("Hello World");
                worksheet.cells.get("A2").putValue("Created with Aspose.Cells for JavaScript");
                worksheet.cells.get("B1").putValue(42);

                // Save as Excel file
                const outputData = workbook.save(SaveFormat.Xlsx);

                // Create download link
                const blob = new Blob([outputData]);
                const downloadLink = document.createElement('a');
                downloadLink.href = URL.createObjectURL(blob);
                downloadLink.textContent = 'Download Excel File';
                downloadLink.download = "my-excel-file.xlsx";
                downloadLink.style.display = 'block';

                const output = document.getElementById('output');
                output.innerHTML = '';
                output.appendChild(downloadLink);
            };
        }).catch(error => {
            console.error("Error initializing Aspose.Cells:", error);
        });
    </script>
</html>

Para ejecutar el ejemplo del navegador:

# Start HTTP server
http-server -p 8080

# Open browser and visit:
# http://localhost:8080

Uso de Node.js

Crea un archivo node-example.js:

const { AsposeCells, Workbook, SaveFormat, FileFormatType } = require("aspose.cells.js");
const fs = require('fs');

// Initialize Aspose.Cells with license
AsposeCells.onReady({
    license: "aspose.cells.enc",  // Path to your encrypted license
    fontPath: "./fonts/"         // Optional: path to system fonts
}).then(() => {
    console.log("Aspose.Cells initialized successfully!");

    // Create a new workbook
    const workbook = new Workbook(FileFormatType.Xlsx);

    // Get the first worksheet
    const worksheet = workbook.worksheets.get(0);

    // Add data to cells
    worksheet.cells.get("A1").putValue("Product");
    worksheet.cells.get("B1").putValue("Price");
    worksheet.cells.get("A2").putValue("Apple");
    worksheet.cells.get("B2").putValue(1.99);
    worksheet.cells.get("A3").putValue("Orange");
    worksheet.cells.get("B3").putValue(2.49);

    // Save as Excel file
    const excelData = workbook.save(SaveFormat.Xlsx);
    fs.writeFileSync('output.xlsx', Buffer.from(excelData));
    console.log('Excel file saved as output.xlsx');

    // Save as PDF
    const pdfData = workbook.save(SaveFormat.Pdf);
    fs.writeFileSync('output.pdf', Buffer.from(pdfData));
    console.log('PDF file saved as output.pdf');

}).catch(error => {
    console.error("Error:", error);
});

Para ejecutar el ejemplo de Node.js:

node node-example.js

Operaciones comunes con archivos

Leer un archivo de Excel existente

// Browser (using File input)
const fileInput = document.getElementById('fileInput');
fileInput.addEventListener('change', (e) => {
    const file = e.target.files[0];
    const reader = new FileReader();
    reader.onload = (e) => {
        const arrayBuffer = e.target.result;
        const workbook = new Workbook(new Uint8Array(arrayBuffer));
        // Process the workbook...
    };
    reader.readAsArrayBuffer(file);
});

// Node.js
const fs = require('fs');
const fileBuffer = fs.readFileSync('input.xlsx');
const workbook = new Workbook(fileBuffer);

Convertir entre formatos

// Convert Excel to PDF
const pdfData = workbook.save(SaveFormat.Pdf);

// Convert Excel to HTML
const htmlData = workbook.save(SaveFormat.Html);

// Convert Excel to CSV
const csvData = workbook.save(SaveFormat.Csv);

// Convert Excel to JSON
const jsonData = workbook.save(SaveFormat.Json);

Solución de problemas

Problemas y soluciones comunes

  1. Error “Módulo no encontrado”

    • Asegúrate de que estás ejecutando el servidor HTTP desde el directorio correcto
    • Verifica que la ruta del src del script apunte a la ubicación correcta
  2. Licencia no funciona

    • Asegúrate de que el archivo aspose.cells.enc esté en la ubicación correcta
    • Verifica que el archivo de licencia encriptado fue generado correctamente
    • Verifica que el archivo de licencia original sea válido y no esté caducado
  3. Problemas CORS en el navegador

    • Usa siempre un servidor HTTP, nunca abras archivos HTML directamente
    • Use http-server o herramientas similares para desarrollo local

Obtener ayuda

Si encuentras problemas:

Próximos pasos

  • Explora la Referencia de la API para documentación detallada
  • Aprende sobre funciones avanzadas como gráficos, fórmulas y formateo
  • Consulta más ejemplos y tutoriales en la documentación
  • Considera integrar con tus aplicaciones web existentes o herramientas de construcción