Insertar imágenes y formas en archivos de Excel con Node.js mediante C++
¡No te preocupes! Aspose.Cells soporta todas estas operaciones.
Las formas en Excel se dividen principalmente en los siguientes tipos:
- Imágenes
- OleObjects
- Líneas
- Rectángulos
- Formas Básicas
- Flechas en Bloque
- Formas de Ecuaciones
- Diagramas de Flujo
- Estrellas y Banderas
- Llamadas
Este documento guía seleccionará una o dos formas de cada tipo para hacer muestras. A través de estos ejemplos, aprenderá cómo usar Aspose.Cells para insertar la forma especificada en la hoja de cálculo.
Agregar imágenes en la hoja de cálculo de Excel usando Node.js
Agregar imágenes a una hoja de cálculo es muy fácil. Solo toma unas pocas líneas de código:
Simplemente llama al método PictureCollection.add(number, number, number, number, Uint8Array) de la colección Pictures (encapsulado en el objeto Worksheet). El método PictureCollection.add(number, number, number, number, Uint8Array) toma los siguientes parámetros:
- Índice de fila superior izquierda, el índice de la fila superior izquierda.
- Índice de columna superior izquierda, el índice de la columna superior izquierda.
- Nombre del archivo de imagen, el nombre del archivo de imagen, completo con la ruta.
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
// Instantiating a Workbook object
const workbook = new AsposeCells.Workbook();
// Adding a new worksheet to the Workbook object
const sheetIndex = workbook.getWorksheets().add();
// Obtaining the reference of the newly added worksheet by passing its sheet index
const worksheet = workbook.getWorksheets().get(sheetIndex);
// Adding a picture at the location of a cell whose row and column indices
// Are 5 in the worksheet. It is "F6" cell
worksheet.getPictures().add(5, 5, path.join(dataDir, "logo.jpg"));
// Saving the Excel file
workbook.save(path.join(dataDir, "output.xls"));
Insertar objetos OLE en la hoja de cálculo de Excel usando Node.js
Aspose.Cells soporta agregar, extraer y manipular objetos OLE en hojas de cálculo. Por esta razón, Aspose.Cells tiene la clase OleObjectCollection, utilizada para agregar un nuevo objeto OLE a la lista de colección. Otra clase, OleObject, representa un objeto OLE. Tiene algunos miembros importantes:
- La propiedad OleObject.getImageData() especifica los datos de la imagen (ícono) de tipo arreglo de bytes. La imagen se mostrará para mostrar el objeto OLE en la hoja de cálculo.
- La propiedad OleObject.getObjectData() especifica los datos del objeto en forma de un arreglo de bytes. Estos datos se mostrarán en su programa relacionado cuando hagas doble clic en el ícono del objeto OLE.
El siguiente ejemplo muestra cómo agregar un objeto(s) OLE a una hoja de cálculo.
const path = require("path");
const fs = require("fs");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
// Instantiate a new Workbook.
const workbook = new AsposeCells.Workbook();
// Get the first worksheet.
const sheet = workbook.getWorksheets().get(0);
// Define a string variable to store the image path.
const imageUrl = path.join(dataDir, "logo.jpg");
// Get the picture into the streams.
const imageData = fs.readFileSync(imageUrl);
// Get an excel file path in a variable.
const excelFilePath = path.join(dataDir, "book1.xls");
// Get the file into the streams.
const objectData = fs.readFileSync(excelFilePath);
// Add an Ole object into the worksheet with the image
// Shown in MS Excel.
sheet.getOleObjects().add(14, 3, 200, 220, imageData);
// Set embedded ole object data.
sheet.getOleObjects().get(0).setObjectData(objectData);
// Save the excel file
workbook.save(path.join(dataDir, "output.out.xls"));
Insertar una línea en la hoja de cálculo de Excel usando Node.js
La forma de la línea pertenece a la categoría líneas.
En Microsoft Excel (por ejemplo, 2007):
- Selecciona la celda donde deseas insertar la línea
- Haga clic en el menú Insertar y luego en Formas.
- Luego, selecciona la línea de ‘Formas usadas recientemente’ o ‘Líneas’
Usando Aspose.Cells
Puedes utilizar el siguiente método para insertar una línea en la hoja de cálculo.
El método devuelve un objeto LineShape.
El siguiente ejemplo muestra cómo insertar una línea en una hoja de cálculo.
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Create workbook from sample file
const workbook = new AsposeCells.Workbook(filePath);
// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);
// Add the line to the worksheet
sheet.getShapes().addLine(2, 0, 2, 0, 100, 300); // method 1
// sheet.getShapes().addAutoShape(AutoShapeType.Line, 2, 0, 2, 0, 100, 300); // method 2
// sheet.getShapes().addShape(MsoDrawingType.Line, 2, 0, 2, 0, 100, 300); // method 3
// Save. You can check your line in this way.
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);
Ejecute el código anterior, obtendrá los siguientes resultados:
Insertar una flecha de línea en la hoja de cálculo de Excel usando Node.js
La forma de la flecha de línea pertenece a la categoría Líneas. Es un caso especial de línea.
En Microsoft Excel (por ejemplo, 2007):
- Seleccione la celda donde desea insertar la flecha de línea
- Haga clic en el menú Insertar y luego en Formas.
- Luego, selecciona la flecha de línea de ‘Formas usadas recientemente’ o ‘Líneas’
Usando Aspose.Cells
Puede utilizar el siguiente método para insertar una flecha de línea en la hoja de cálculo.
El método devuelve un objeto LineShape.
El siguiente ejemplo muestra cómo insertar una flecha de línea en una hoja de cálculo.
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Loads the workbook which contains hidden external links
const workbook = new AsposeCells.Workbook(filePath);
// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);
// Add the line arrow to the worksheet
let s = sheet.getShapes().addLine(2, 0, 2, 0, 100, 300); // method 1
// let s = sheet.getShapes().addAutoShape(AsposeCells.AutoShapeType.Line, 2, 0, 2, 0, 100, 300); // method 2
// let s = sheet.getShapes().addShape(AsposeCells.MsoDrawingType.Line, 2, 0, 2, 0, 100, 300); // method 3
// add a arrow at the line begin
s.getLine().setBeginArrowheadStyle(AsposeCells.MsoArrowheadStyle.Arrow); // arrow type
s.getLine().setBeginArrowheadWidth(AsposeCells.MsoArrowheadWidth.Wide); // arrow width
s.getLine().setBeginArrowheadLength(AsposeCells.MsoArrowheadLength.Short); // arrow length
// add a arrow at the line end
s.getLine().setEndArrowheadStyle(AsposeCells.MsoArrowheadStyle.ArrowOpen); // arrow type
s.getLine().setEndArrowheadWidth(AsposeCells.MsoArrowheadWidth.Narrow); // arrow width
s.getLine().setEndArrowheadLength(AsposeCells.MsoArrowheadLength.Long); // arrow length
// Save. You can check your arrow in this way.
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);
Ejecute el código anterior, obtendrá los siguientes resultados:
Insertar un rectángulo en la hoja de cálculo de Excel usando Node.js
La forma del rectángulo pertenece a la categoría Rectángulos.
En Microsoft Excel (por ejemplo, 2007):
- Selecciona la celda donde deseas insertar el rectángulo
- Haga clic en el menú Insertar y luego en Formas.
- Luego, selecciona el rectángulo de ‘Formas usadas recientemente’ o ‘Rectángulos’
Usando Aspose.Cells
Puedes utilizar el siguiente método para insertar un rectángulo en la hoja de cálculo.
El método devuelve un objeto RectangleShape.
El siguiente ejemplo muestra cómo insertar un rectángulo en una hoja de cálculo.
const AsposeCells = require("aspose.cells.node");
const path = require("path");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Create workbook from sample file
const workbook = new AsposeCells.Workbook(filePath);
// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);
// Add the rectangle to the worksheet
sheet.getShapes().addRectangle(2, 0, 2, 0, 100, 300);
// Save
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);
Ejecute el código anterior, obtendrá los siguientes resultados:
Insertar un Cubo en la hoja de cálculo de Excel usando Node.js
La forma del cubo pertenece a la categoría Formas Básicas.
En Microsoft Excel (por ejemplo, 2007):
- Selecciona la celda donde deseas insertar el cubo
- Haga clic en el menú Insertar y luego en Formas.
- Luego, selecciona el Cubo en Formas Básicas
Usando Aspose.Cells
Puede utilizar el siguiente método para insertar un cubo en la hoja de cálculo.
El método devuelve un objeto Forma.
El siguiente ejemplo muestra cómo insertar un cubo en una hoja de cálculo.
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Loads the workbook which contains hidden external links
const workbook = new AsposeCells.Workbook(filePath);
// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);
// Add the cube to the worksheet
sheet.getShapes().addAutoShape(AsposeCells.AutoShapeType.Cube, 2, 0, 2, 0, 100, 300);
// Save. You can check your cube in this way.
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);
Ejecute el código anterior, obtendrá los siguientes resultados:
Insertar una flecha de cuadro de llamada en la hoja de cálculo de Excel usando Node.js
La forma de la flecha de cuadro de llamada pertenece a la categoría Flechas de Bloques.
En Microsoft Excel (por ejemplo, 2007):
- Seleccione la celda donde desea insertar la flecha de cuadro de referencia
- Haga clic en el menú Insertar y luego en Formas.
- Luego, selecciona la flecha de cuadro de llamada en Flechas de Bloques
Usando Aspose.Cells
Puede utilizar el siguiente método para insertar una flecha de cuadro de referencia en la hoja de cálculo.
El método devuelve un objeto Forma.
El siguiente ejemplo muestra cómo insertar una flecha de cuadro de llamada en una hoja de cálculo.
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Loads the workbook which contains hidden external links
const workbook = new AsposeCells.Workbook(filePath);
// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);
// Add the callout quad arrow to the worksheet
sheet.getShapes().addAutoShape(AsposeCells.AutoShapeType.QuadArrowCallout, 2, 0, 2, 0, 100, 100);
//Save
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);
Ejecute el código anterior, obtendrá los siguientes resultados:
Insertar un signo de multiplicación en la hoja de cálculo de Excel usando Node.js
La forma del signo de multiplicación pertenece a la categoría Formas de Ecuación.
En Microsoft Excel (por ejemplo, 2007):
- Seleccione la celda donde desea insertar el signo de multiplicación
- Haga clic en el menú Insertar y luego en Formas.
- Luego, selecciona el signo de multiplicación en Formas de Ecuación
Usando Aspose.Cells
Puede utilizar el siguiente método para insertar un signo de multiplicación en la hoja de cálculo.
El método devuelve un objeto Forma.
El siguiente ejemplo muestra cómo insertar un signo de multiplicación en una hoja de cálculo.
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Loads the workbook which contains hidden external links
const workbook = new AsposeCells.Workbook(filePath);
// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);
// Add the multiplication sign to the worksheet
sheet.getShapes().addAutoShape(AsposeCells.AutoShapeType.MathMultiply, 2, 0, 2, 0, 100, 100);
// Save. You can check your multiplication in this way.
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);
Ejecute el código anterior, obtendrá los siguientes resultados:
Insertar un multidocumento en la hoja de cálculo de Excel usando Node.js
La forma del multidocumento pertenece a la categoría Diagramas de Flujo.
En Microsoft Excel (por ejemplo, 2007):
- Seleccione la celda donde desea insertar el multidocumento
- Haga clic en el menú Insertar y luego en Formas.
- Luego, selecciona el multidocumento en Diagramas de Flujo
Usando Aspose.Cells
Puedes usar el siguiente método para insertar un multidocumento en la hoja de cálculo.
El método devuelve un objeto Forma.
El siguiente ejemplo muestra cómo insertar un multidocumento en una hoja de cálculo.
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Create workbook from sample file
const workbook = new AsposeCells.Workbook(filePath);
// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);
// Add the multidocument to the worksheet
sheet.getShapes().addAutoShape(AsposeCells.AutoShapeType.FlowChartMultidocument, 2, 0, 2, 0, 100, 100);
// Save
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);
Ejecute el código anterior, obtendrá los siguientes resultados:
Insertar una estrella de cinco puntas en la hoja de cálculo de Excel usando Node.js
La forma de la estrella de cinco puntas pertenece a la categoría Estrellas y Banderas.
En Microsoft Excel (por ejemplo, 2007):
- Selecciona la celda donde desees insertar la estrella de cinco puntas
- Haga clic en el menú Insertar y luego en Formas.
- Luego, selecciona la estrella de cinco puntas en Estrellas y Banderas
Usando Aspose.Cells
Puedes usar el siguiente método para insertar una estrella de cinco puntas en la hoja de cálculo.
El método devuelve un objeto Forma.
El siguiente ejemplo muestra cómo insertar una estrella de cinco puntas en una hoja de cálculo.
const AsposeCells = require("aspose.cells.node");
const path = require("path");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Create workbook from sample file
const workbook = new AsposeCells.Workbook(filePath);
// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);
// Add the Five-pointed star to the worksheet
sheet.getShapes().addAutoShape(AsposeCells.AutoShapeType.Star5, 2, 0, 2, 0, 100, 100);
// Save. You can check your icon in this way.
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);
Ejecute el código anterior, obtendrá los siguientes resultados:
Insertar una nube de burbuja de pensamiento en la hoja de cálculo de Excel usando Node.js
La forma de la nube de burbuja de pensamiento pertenece a la categoría Comentarios.
En Microsoft Excel (por ejemplo, 2007):
- Seleccione la celda donde desea insertar el globo de pensamiento
- Haga clic en el menú Insertar y luego en Formas.
- Luego, selecciona la nube de burbuja de pensamiento en Comentarios
Usando Aspose.Cells
Puede utilizar el siguiente método para insertar un globo de pensamiento en la hoja de cálculo.
El método devuelve un objeto Forma.
El siguiente ejemplo muestra cómo insertar una nube de burbujas en un globo de pensamiento en una hoja de cálculo.
const AsposeCells = require("aspose.cells.node");
const path = require("path");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Loads the workbook which contains hidden external links
const workbook = new AsposeCells.Workbook(filePath);
// Access first worksheet from the collection
const sheet = workbook.getWorksheets().get(0);
// Add the thought bubble cloud to the worksheet
sheet.getShapes().addAutoShape(AsposeCells.AutoShapeType.CloudCallout, 2, 0, 2, 0, 100, 100);
// Save
workbook.save("sample.xlsx", AsposeCells.SaveFormat.Xlsx);
Ejecute el código anterior, obtendrá los siguientes resultados:
Temas avanzados
- Cambiar los valores de ajuste de la forma
- Copiar formas entre hojas de cálculo
- Datos en Forma No Primitiva
- Encontrar la Posición Absoluta de la Forma dentro de la Hoja de Trabajo
- Obtener Puntos de Conexión de la Forma
- Gestionar Controles
- Agregar Iconos a la Hoja de Trabajo
- Gestionar Objetos OLE
- Gestionar Imágenes
- Gestionar SmartArt
- Gestionar Cuadro de Texto
- Agregar WordArt como Marca de Agua a la Hoja de Trabajo
- Actualizar Valores de Formas Vinculadas
- Enviar Forma al Frente o Atrás Dentro de la Hoja de Trabajo
- Gestionar Opciones de la Forma
- Gestionar Opciones de Texto de la Forma
- Extensiones Web - Complementos de Office