En este artículo, le mostraré cómo implementar la automatización de Excel y crear un archivo Excel XLSX/XLS en aplicaciones Node.js mediante programación.

crear archivo de Excel en nodejs - logotipo

Las hojas de cálculo han hecho posible almacenar una gran cantidad de datos en forma de filas, columnas y hojas. Además, puede realizar una variedad de operaciones en los datos, como ordenar, aplicar fórmulas matemáticas, generar tablas y gráficos, y mucho más. En la era actual del mundo digital, la automatización ha tomado el lugar del trabajo manual. Como resultado, la automatización de Excel también se ha convertido en una herramienta para generar documentos de hoja de cálculo sin ningún software de terceros. Teniendo eso en cuenta, le haré saber cómo crear un archivo de Excel e insertar varios objetos en hojas de trabajo en Node.js.

Crear archivo de Excel con la API de Node.js

Aspose.Cells para Node.js a través de Java es una poderosa API de manipulación de hojas de cálculo que le permite crear, editar o convertir archivos de Excel dentro de las aplicaciones de Node.js. Los métodos fáciles de usar de la API le permiten realizar funciones de automatización de Excel sin problemas en unas pocas líneas de código. Puede descargar el paquete de la API e integrarlo en su aplicación Node.js. Para obtener más detalles, puede visitar la guía Instalación y uso.

Crear archivo Excel XLSX en Node.js

Los siguientes son pasos para crear un archivo de Excel simple usando Aspose.Cells para Node.js a través de Java:

  • Cree una instancia de la clase Workbook.
  • Acceda a la hoja de trabajo deseada desde el Workbook usando el método Workbook.getWorksheets.get().
  • Coloque el valor en la celda deseada en la hoja de trabajo usando el identificador de la celda, como A1, B3, etc.
  • Guarde el Workbook como un archivo de Excel usando el método Workbook.save().

El siguiente ejemplo de código muestra cómo crear un archivo de Excel en Node.js.

var aspose = aspose || {};
aspose.cells = require("aspose.cells");
// crear un nuevo Workbook
var workbook = new aspose.cells.Workbook(aspose.cells.FileFormatType.XLSX);
// agregar valor en la celda
workbook.getWorksheets().get(0).getCells().get("A1").putValue("Hello World!");
// guardar como archivo Excel XLSX
workbook.save("Excel.xlsx");
console.log("done...");
crear archivo de Excel en node.js

Insertar datos en un Excel XLSX en Node.js

También puede cargar un archivo de Excel existente para actualizar su contenido. Lo único que tendrá que hacer es proporcionar la ruta del archivo de Excel en el constructor del Workbook. El siguiente ejemplo de código muestra cómo actualizar el contenido de un archivo de Excel existente en Node.js.

var aspose = aspose || {};
aspose.cells = require("aspose.cells");
// crear un nuevo Workbook
var wokbook = aspose.cells.Wokbook("Excel.xlsx");
// Obtenga la referencia de la celda "A1" de las celdas de una hoja de trabajo
var cell = wokbook.getWoksheets().get(0).getCells().get("A1");
// Configure el "¡Hola mundo!" valo en la celda "A1"
cell.setValue("updated cell value.");
// Escribir el archivo de Excel
wokbook.save("Excel.xls", aspose.cells.FileFomatType.EXCEL_97_TO_2003);
// o
//wokbook.save("Excel.xlsx");

Cree un archivo de Excel que tenga una imagen en Node.js

Los siguientes son los pasos para insertar una imagen en una hoja de cálculo de Excel en Node.js.

El siguiente ejemplo de código muestra cómo insertar una imagen en la hoja de cálculo de Excel en Node.js.

var aspose = aspose || {};
aspose.cells = require("aspose.cells"); 
// crear un nuevo Workbook
var workbook = aspose.cells.Workbook("Excel.xlsx");
// Obtenga la referencia de la celda "A1" de las celdas de una hoja de trabajo
var worksheet = workbook.getWorksheets().get(0);
//Insertar un valor de cadena en una celda
worksheet.getCells().get("C2").setValue("Image"); 
//Establecer la altura de la cuarta fila
worksheet.getCells().setRowHeight(3, 150); 
//Establecer el ancho de la columna C
worksheet.getCells().setColumnWidth(3,50); 
//Agregar una imagen a la celda D4
var index = worksheet.getPictures().add(3, 3, "aspose-logo.png"); 
//Obtener el objeto de imagen
var pic = worksheet.getPictures().get(index); 
//Establecer el color de fondo de una celda
var cell= worksheet.getCells().get("D4");
var style = cell.getStyle(); 
style.setBackgroundColor(aspose.cells.Color.getBlack()); 
style.setPattern(aspose.cells.BackgroundType.VERTICAL_STRIPE);
cell.setStyle(style);
// Escribir el archivo de Excel 
workbook.save("Excel_with_Image.xlsx");
Insertar imagen en Excel en node.js

Insertar Cuadros o Gráficos en Excel en Node.js

Los cuadros y gráficos son componentes importantes de los archivos de Excel que se utilizan para representar visualmente los datos. Aspose.Cells para Node.js a través de Java le permite dibujar y manipular una variedad de gráficos que incluyen rayos solares, mapas de árboles, histogramas, pirámides, etc. Los siguientes son los pasos simples para dibujar un gráfico en la hoja de cálculo de Excel.

  • Cree un nuevo archivo de Excel o cargue uno existente usando la clase Workbook.
  • Agregue datos a la hoja de cálculo como fuente de datos para los gráficos.
  • Acceda a la colección de gráficos de la hoja de trabajo utilizando el método Worksheet.getCharts().
  • Agregue un nuevo gráfico usando el método Worksheet.getCharts().add().
  • Acceda al gráfico recién creado de la colección en una nueva variable.
  • Especifique el rango de celdas para configurar NSeries para el gráfico.
  • Guarde el Workbook como un archivo .xlsx de Excel.

El siguiente ejemplo de código muestra cómo dibujar gráficos en Excel en Node.js.

var aspose = aspose || {};
aspose.cells = require("aspose.cells");
// crear un nuevo Workbook
var workbook = aspose.cells.Workbook("Excel.xlsx");
// Obtención de la referencia de la primera hoja de cálculo
var worksheets = workbook.getWorksheets();
var sheet = worksheets.get(0);
// Agregar algún valor de muestra a las celdas
var cells = sheet.getCells();
var cell = cells.get("A1");
cell.setValue(50);
cell = cells.get("A2");
cell.setValue(100);
cell = cells.get("A3");
cell.setValue(150);
cell = cells.get("B1");
cell.setValue(4);
cell = cells.get("B2");
cell.setValue(20);
cell = cells.get("B3");
cell.setValue(50);
// obtener gráficos en la hoja de trabajo
var charts = sheet.getCharts();
// Adición de un gráfico a la hoja de cálculo
var chartIndex = charts.add(aspose.cells.ChartType.PYRAMID, 5, 0, 15, 5);
var chart = charts.get(chartIndex);
// Agregar NSeries (fuente de datos del gráfico) al gráfico que va desde "A1"
// celda a "B3"
var serieses = chart.getNSeries();
serieses.add("A1:B3", true);
// Escribir el archivo de Excel 
workbook.save("Excel_with_Chart.xlsx");
insertar gráfico en excel en node.js

Crear una tabla dinámica en Excel en Node.js

Los archivos de Excel también le permiten crear tablas dinámicas basadas en un rango de celdas para resumir una gran cantidad de datos. Los siguientes son los pasos para crear una tabla dinámica dentro de una hoja de cálculo de Excel.

  • Cree un nuevo Workbook o cargue un archivo de Excel existente.
  • Insertar datos en la hoja de cálculo (opcional).
  • Acceda a la colección de tablas dinámicas mediante el método Worksheet.getPivotTables().
  • Agregue una nueva tabla dinámica en la hoja de trabajo usando el método Worksheet.getPivotTables().add().
  • Proporcionar datos a la tabla dinámica.
  • Guarde el Workbook como archivo de Excel.

El siguiente ejemplo de código muestra cómo crear una tabla dinámica en Excel en Node.js.


var aspose = aspose || {};
aspose.cells = require("aspose.cells");

// crear un nuevo Workbook
var workbook = aspose.cells.Workbook("Excel.xlsx");
// obtener la referencia de la hoja de trabajo recién agregada
var sheetIndex = workbook.getWorksheets().add();
var sheet = workbook.getWorksheets().get(sheetIndex);
var cells = sheet.getCells();

// establecer el valor de las celdas
var cell = cells.get("A1");
cell.setValue("Sport");
cell = cells.get("B1");
cell.setValue("Quarter");
cell = cells.get("C1");
cell.setValue("Sales");

cell = cells.get("A2");
cell.setValue("Golf");
cell = cells.get("A3");
cell.setValue("Golf");
cell = cells.get("A4");
cell.setValue("Tennis");
cell = cells.get("A5");
cell.setValue("Tennis");
cell = cells.get("A6");
cell.setValue("Tennis");
cell = cells.get("A7");
cell.setValue("Tennis");
cell = cells.get("A8");
cell.setValue("Golf");

cell = cells.get("B2");
cell.setValue("Qtr3");
cell = cells.get("B3");
cell.setValue("Qtr4");
cell = cells.get("B4");
cell.setValue("Qtr3");
cell = cells.get("B5");
cell.setValue("Qtr4");
cell = cells.get("B6");
cell.setValue("Qtr3");
cell = cells.get("B7");
cell.setValue("Qtr4");
cell = cells.get("B8");
cell.setValue("Qtr3");

cell = cells.get("C2");
cell.setValue(1500);
cell = cells.get("C3");
cell.setValue(2000);
cell = cells.get("C4");
cell.setValue(600);
cell = cells.get("C5");
cell.setValue(1500);
cell = cells.get("C6");
cell.setValue(4070);
cell = cells.get("C7");
cell.setValue(5000);
cell = cells.get("C8");
cell.setValue(6430);

var pivotTables = sheet.getPivotTables();
// agregar una tabla dinámica a la hoja de trabajo
var index = pivotTables.add("=A1:C8", "E3", "PivotTable2");
// acceder a la instancia de la tabla dinámica recién agregada
var pivotTable = pivotTables.get(index);
// no mostrar los totales generales de las filas.
pivotTable.setRowGrand(false);
// arrastrando el primer campo al área de la fila.
pivotTable.addFieldToArea(aspose.cells.PivotFieldType.ROW, 0);
// arrastrando el segundo campo al área de la columna.
pivotTable.addFieldToArea(aspose.cells.PivotFieldType.COLUMN, 1);
// arrastrando el tercer campo al área de datos.
pivotTable.addFieldToArea(aspose.cells.PivotFieldType.DATA, 2);

// escribir el archivo de Excel 
workbook.save("Excel_with_PivotTable.xlsx");
crear tabla dinámica en excel en node.js

Conclusión

En este artículo, ha aprendido a crear un archivo Excel XLSX o XLS desde cero en aplicaciones Node.js. También hemos visto cómo insertar datos, imágenes, gráficos y tablas dinámicas en hojas de cálculo de Excel. Puede obtener más información sobre las funciones avanzadas de Aspose.Cells para Node.js a través de Java utilizando la documentación.

Ver también