Inserte imágenes y formas de archivos de Excel.
A veces, necesita insertar algunas formas necesarias en la hoja de trabajo. Es posible que deba insertar la misma forma en diferentes posiciones de la hoja de trabajo. O necesita insertar formas por lotes en la hoja de trabajo.
¡No te preocupessoporta todas estas operaciones.
Las formas en Excel se dividen principalmente en los siguientes tipos:
- Fotos
- OleObjetos
- Líneas
- Rectángulos
- Formas básicas
- flechas de bloque
- Formas de ecuación
- diagramas de flujo
- estrellas y pancartas
- Rótulos
Este documento guía seleccionará una o dos formas de cada tipo para hacer muestras. A través de estos ejemplos, aprenderá a usarAspose.Cells para insertar la forma especificada en la hoja de cálculo.
Adición de imágenes en la hoja de cálculo de Excel en C#
Agregar imágenes a una hoja de cálculo es muy fácil. Solo se necesitan unas pocas líneas de código: Simplemente llame alAgregar metodo de laFotos colección (encapsulada en elHoja de cálculo objeto). ÉlAgregarmétodo toma los siguientes parámetros:
- Índice de la fila superior izquierda, el índice de la fila superior izquierda.
- Índice de la 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 la hoja de cálculo de Excel en C#
Aspose.Cells admite agregar, extraer y manipular objetos OLE en hojas de trabajo. Por esta razón, Aspose.Cells tiene laOleObjectCollectionOleObjectCollection clase, utilizada para agregar un nuevo objeto OLE a la lista de recopilación. Otra clase,Objeto OLE, representa un objeto OLE. Tiene algunos miembros importantes:
- ÉlDatos de imagenLa propiedad especifica los datos de la imagen (icono) del tipo de matriz de bytes. La imagen se mostrará para mostrar el objeto OLE en la hoja de trabajo.
- ÉlObjetoDatosLa propiedad especifica los datos del objeto en forma de una matriz de bytes. Estos datos se mostrarán en su programa relacionado cuando haga doble clic en el icono Objeto OLE.
El siguiente ejemplo muestra cómo agregar objetos 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 la hoja de cálculo de Excel en C#
La forma de la línea pertenece a lalíneas categoría.
En Microsoft Excel (por ejemplo 2007):
- Seleccione la celda donde desea insertar la línea
- Haga clic en el menú Insertar y haga clic en Formas.
- Luego, seleccione la línea de ‘Formas usadas recientemente’ o ‘Líneas’
Usando Aspose.Cells
Puede usar el siguiente método para insertar una línea en la hoja de cálculo.
El método devuelve unLíneaForma objeto.
El siguiente ejemplo muestra cómo insertar una línea en una hoja de trabajo.
// 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 flecha de línea pertenece a laLíneas categoría. 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 haga clic en Formas.
- Luego, seleccione la flecha de línea de ‘Formas usadas recientemente’ o ‘Líneas’
Usando Aspose.Cells
Puede usar el siguiente método para insertar una flecha de línea en la hoja de trabajo.
El método devuelve unLíneaForma objeto.
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 una hoja de cálculo de Excel en C#
La forma de rectángulo pertenece a laRectángulos categoría.
En Microsoft Excel (por ejemplo 2007):
- Seleccione la celda donde desea insertar el rectángulo
- Haga clic en el menú Insertar y haga clic en Formas.
- Luego, seleccione el rectángulo de ‘Formas usadas recientemente’ o ‘Rectángulos’
Usando Aspose.Cells
Puede usar el siguiente método para insertar un rectángulo en la hoja de cálculo.
El método devuelve unForma rectangular objeto.
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 una hoja de cálculo de Excel en C#
La forma de cubo pertenece a laFormas básicas categoría.
En Microsoft Excel (por ejemplo 2007):
- Seleccione la celda donde desea insertar el cubo
- Haga clic en el menú Insertar y haga clic en Formas.
- Luego, seleccione el Cubo deFormas básicas
Usando Aspose.Cells
Puede usar el siguiente método para insertar un cubo en la hoja de cálculo.
El método devuelve unForma objeto.
El siguiente ejemplo muestra cómo insertar un cubo en una hoja de trabajo.
// 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 cuádruple de llamada en la hoja de cálculo de Excel en C#
La forma de la flecha cuádruple de llamada pertenece a laflechas de bloque categoría.
En Microsoft Excel (por ejemplo 2007):
- Seleccione la celda donde desea insertar la flecha cuádruple de llamada
- Haga clic en el menú Insertar y haga clic en Formas.
- Luego, seleccione la flecha cuádruple de llamada deflechas de bloque
Usando Aspose.Cells
Puede usar el siguiente método para insertar una flecha cuádruple de llamada en la hoja de trabajo.
El método devuelve unForma objeto.
El siguiente ejemplo muestra cómo insertar una flecha cuádruple de llamada 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 en la hoja de cálculo de Excel en C#
La forma del signo de multiplicación pertenece a laFormas de ecuación categoría.
En Microsoft Excel (por ejemplo 2007):
- Seleccione la celda donde desea insertar el signo de multiplicación
- Haga clic en el menú Insertar y haga clic en Formas.
- Luego, seleccione el signo de multiplicación deFormas de ecuación
Usando Aspose.Cells
Puede usar el siguiente método para insertar un signo de multiplicación en la hoja de cálculo.
El método devuelve unForma objeto.
El siguiente ejemplo muestra cómo insertar el 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:
Inserción de un multidocumento a la hoja de cálculo de Excel en C#
La forma de multidocumento pertenece a ladiagramas de flujo categoría.
En Microsoft Excel (por ejemplo 2007):
- Seleccione la celda donde desea insertar el multidocumento
- Haga clic en el menú Insertar y haga clic en Formas.
- Luego, seleccione el multidocumento dediagramas de flujo
Usando Aspose.Cells
Puede usar el siguiente método para insertar un multidocumento en la hoja de trabajo.
El método devuelve unForma objeto.
El siguiente ejemplo muestra cómo insertar varios documentos 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 estrella de cinco puntas pertenece a laestrellas y pancartas categoría.
En Microsoft Excel (por ejemplo 2007):
- Seleccione la celda donde desea insertar la estrella de cinco puntas
- Haga clic en el menú Insertar y haga clic en Formas.
- Luego, seleccione la estrella de cinco puntas deestrellas y pancartas
Usando Aspose.Cells
Puede usar el siguiente método para insertar una estrella de cinco puntas en la hoja de trabajo.
El método devuelve unForma objeto.
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 una nube de burbujas de pensamiento en la hoja de cálculo de Excel en C#
La forma de la nube de burbujas de pensamiento pertenece a laRótulos categoría.
En Microsoft Excel (por ejemplo 2007):
- Seleccione la celda donde desea insertar la nube de burbujas de pensamiento
- Haga clic en el menú Insertar y haga clic en Formas.
- Luego, seleccione la nube de burbujas de pensamiento deRótulos
Usando Aspose.Cells
Puede usar el siguiente método para insertar una nube de burbujas de pensamiento en la hoja de trabajo.
El método devuelve unForma objeto.
El siguiente ejemplo muestra cómo insertar una nube de burbujas 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 trabajo
- 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
- Gestión de controles
- Agregar iconos a la hoja de trabajo
- Gestión de objetos OLE
- Gestión de imágenes
- Administrar arte inteligente
- Gestión de cuadro de texto
- Agregar marca de agua de WordArt a la hoja de trabajo
- Actualizar valores de formas vinculadas
- Enviar forma al frente o al reverso dentro de la hoja de trabajo
- Administrar opciones de forma
- Administrar opciones de texto de forma
- Extensiones web: complementos de Office