Insertar imágenes y formas de archivos de Excel.
A veces necesitas insertar algunas formas necesarias en la hoja de cálculo. Puedes necesitar insertar la misma forma en diferentes posiciones de la hoja de cálculo. O necesitas insertar formas en lotes en la hoja de cálculo.
¡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 ejemplos. A través de estos ejemplos, aprenderás cómo usar Aspose.Cells para insertar la forma especificada en la hoja de cálculo.
Agregar imágenes en una hoja de cálculo de Excel en C#
Agregar imágenes a una hoja de cálculo es muy fácil. Solo toma unas pocas líneas de código: Simplemente llame al método Add de la colección Pictures (encapsulada en el objeto Worksheet). El método Add 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.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create directory if it is not already present. | |
bool IsExists = System.IO.Directory.Exists(dataDir); | |
if (!IsExists) | |
System.IO.Directory.CreateDirectory(dataDir); | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Adding a new worksheet to the Workbook object | |
int sheetIndex = workbook.Worksheets.Add(); | |
// Obtaining the reference of the newly added worksheet by passing its sheet index | |
Worksheet worksheet = workbook.Worksheets[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.Pictures.Add(5, 5, dataDir + "logo.jpg"); | |
// Saving the Excel file | |
workbook.Save(dataDir + "output.xls"); |
Insertar objetos OLE en una hoja de cálculo de Excel en C#
Aspose.Cells admite 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 colecciones. Otra clase, OleObject, representa un objeto OLE. Tiene algunos miembros importantes:
- La propiedad ImageData especifica los datos de imagen (icono) de tipo matriz de bytes. La imagen se mostrará para mostrar el objeto OLE en la hoja de cálculo.
- La propiedad ObjectData especifica los datos del objeto en forma de matriz 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.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create directory if it is not already present. | |
bool IsExists = System.IO.Directory.Exists(dataDir); | |
if (!IsExists) | |
System.IO.Directory.CreateDirectory(dataDir); | |
// Instantiate a new Workbook. | |
Workbook workbook = new Workbook(); | |
// Get the first worksheet. | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Define a string variable to store the image path. | |
string ImageUrl = dataDir + "logo.jpg"; | |
// Get the picture into the streams. | |
FileStream fs = File.OpenRead(ImageUrl); | |
// Define a byte array. | |
byte[] imageData = new Byte[fs.Length]; | |
// Obtain the picture into the array of bytes from streams. | |
fs.Read(imageData, 0, imageData.Length); | |
// Close the stream. | |
fs.Close(); | |
// Get an excel file path in a variable. | |
string path = dataDir + "book1.xls"; | |
// Get the file into the streams. | |
fs = File.OpenRead(path); | |
// Define an array of bytes. | |
byte[] objectData = new Byte[fs.Length]; | |
// Store the file from streams. | |
fs.Read(objectData, 0, objectData.Length); | |
// Close the stream. | |
fs.Close(); | |
// Add an Ole object into the worksheet with the image | |
// Shown in MS Excel. | |
sheet.OleObjects.Add(14, 3, 200, 220, imageData); | |
// Set embedded ole object data. | |
sheet.OleObjects[0].ObjectData = objectData; | |
// Save the excel file | |
workbook.Save(dataDir + "output.out.xls"); |
Insertar una línea en una hoja de cálculo de Excel en C#
La forma de la línea pertenece a la categoría de 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 utilizadas 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.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the line to the worksheet | |
sheet.Shapes.AddLine(2, 0, 2, 0, 100, 300);//method 1 | |
//sheet.Shapes.AddAutoShape(AutoShapeType.Line, 2, 0, 2, 0, 100, 300);//method 2 | |
//sheet.Shapes.AddShape(MsoDrawingType.Line, 2, 0, 2, 0, 100, 300);//method 3 | |
//Save.You can check your line in this way. | |
workbook.Save("sample.xlsx", 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 en C#
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, seleccione 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.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the line arrow to the worksheet | |
Shape s = sheet.Shapes.AddLine(2, 0, 2, 0, 100, 300);//method 1 | |
//Shape s = sheet.Shapes.AddAutoShape(AutoShapeType.Line, 2, 0, 2, 0, 100, 300);//method 2 | |
//Shape s = sheet.Shapes.AddShape(MsoDrawingType.Line, 2, 0, 2, 0, 100, 300);//method 3 | |
//add a arrow at the line begin | |
s.Line.BeginArrowheadStyle = MsoArrowheadStyle.Arrow;//arrow type | |
s.Line.BeginArrowheadWidth = MsoArrowheadWidth.Wide;//arrow width | |
s.Line.BeginArrowheadLength = MsoArrowheadLength.Short;//arrow length | |
//add a arrow at the line end | |
s.Line.EndArrowheadStyle = MsoArrowheadStyle.ArrowOpen;//arrow type | |
s.Line.EndArrowheadWidth = MsoArrowheadWidth.Narrow;//arrow width | |
s.Line.EndArrowheadLength = MsoArrowheadLength.Long;//arrow length | |
//Save.You can check your arrow in this way. | |
workbook.Save("sample.xlsx", SaveFormat.Xlsx); |
Ejecute el código anterior, obtendrá los siguientes resultados:
Insertar un rectángulo en la hoja de cálculo de Excel en C#
La forma del rectángulo pertenece a la categoría de 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.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the rectangle to the worksheet | |
sheet.Shapes.AddRectangle(2, 0, 2, 0, 100, 300); | |
//Save | |
workbook.Save("sample.xlsx", SaveFormat.Xlsx); |
Ejecute el código anterior, obtendrá los siguientes resultados:
Insertar un Cubo en la hoja de cálculo de Excel en C#
La forma del cubo pertenece a la categoría de 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 de 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.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the cube to the worksheet | |
sheet.Shapes.AddAutoShape(AutoShapeType.Cube, 2, 0, 2, 0, 100, 300); | |
//Save.You can check your cube in this way. | |
workbook.Save("sample.xlsx", SaveFormat.Xlsx); |
Ejecute el código anterior, obtendrá los siguientes resultados:
Insertar una flecha de cuadro de referencia a la hoja de cálculo de Excel en C#
La forma de la flecha de cuadro de referencia pertenece a la categoría Flechas de bloque.
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, seleccione la flecha de cuadro de referencia de Flechas de bloque
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 referencia en una hoja de cálculo.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the callout quad arrow to the worksheet | |
sheet.Shapes.AddAutoShape(AutoShapeType.QuadArrowCallout, 2, 0, 2, 0, 100, 100); | |
//Save | |
workbook.Save("sample.xlsx", SaveFormat.Xlsx); |
Ejecute el código anterior, obtendrá los siguientes resultados:
Insertar un signo de multiplicación a una hoja de cálculo de Excel en C#
La forma del signo de multiplicación pertenece a la categoría Formas de ecuaciones.
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, seleccione el signo de multiplicación de Formas de ecuaciones
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.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the multiplication sign to the worksheet | |
sheet.Shapes.AddAutoShape(AutoShapeType.MathMultiply, 2, 0, 2, 0, 100, 100); | |
//Save.You can check your multiplication in this way. | |
workbook.Save("sample.xlsx", SaveFormat.Xlsx); |
Ejecute el código anterior, obtendrá los siguientes resultados:
Insertar un multidocumento en una hoja de cálculo de Excel en C#
La forma del multidocumento pertenece a la categoría Flujogramas.
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 de Flujogramas
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.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the multidocument to the worksheet | |
sheet.Shapes.AddAutoShape(AutoShapeType.FlowChartMultidocument, 2, 0, 2, 0, 100, 100); | |
//Save | |
workbook.Save("sample.xlsx", 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 en C#
La forma de la estrella de cinco puntas pertenece a la categoría de 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 de 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.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the Five-pointed star to the worksheet | |
sheet.Shapes.AddAutoShape(AutoShapeType.Star5, 2, 0, 2, 0, 100, 100); | |
//Save.You can check your icon in this way. | |
workbook.Save("sample.xlsx", SaveFormat.Xlsx); |
Ejecute el código anterior, obtendrá los siguientes resultados:
Insertar un globo de pensamiento en una hoja de cálculo de Excel en C#
La forma de un globo de pensamiento pertenece a la categoría de Llamadas.
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, seleccione el globo de pensamiento de Llamadas
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 un globo de pensamiento en una hoja de cálculo.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// Create workbook from sample file | |
Workbook workbook = new Workbook(); | |
// Access first worksheet from the collection | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Add the thought bubble cloud to the worksheet | |
sheet.Shapes.AddAutoShape(AutoShapeType.CloudCallout, 2, 0, 2, 0, 100, 100); | |
//Save | |
workbook.Save("sample.xlsx", 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