Gestión de imágenes
Aspose.Cells permite a los desarrolladores agregar imágenes a hojas de cálculo en tiempo de ejecución. Además, el posicionamiento de estas imágenes se puede controlar en tiempo de ejecución, lo cual se analiza con más detalle en las próximas secciones.
Este artículo explica cómo agregar imágenes y cómo insertar una imagen que muestre el contenido de ciertas celdas.
Adición de imágenes
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"); |
Imágenes de posicionamiento
Hay dos formas posibles de controlar el posicionamiento de las imágenes usando Aspose.Cells:
- Posicionamiento proporcional: defina una posición proporcional a la altura y el ancho de la fila.
- Posicionamiento absoluto: define la posición exacta en la página donde se insertará la imagen, por ejemplo, 40 píxeles a la izquierda y 20 píxeles por debajo del borde de la celda.
Posicionamiento proporcional
Los desarrolladores pueden posicionar las imágenes proporcionalmente a la altura de la fila y el ancho de la columna usando elUpperDeltaX yUpperDeltaY propiedades de laAspose.Cells.Drawing.Picture objeto. AFotografía El objeto se puede obtener de laFotoscolección pasando su índice de imágenes. Este ejemplo coloca una imagen en la celda F6.
// 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 | |
int pictureIndex = worksheet.Pictures.Add(5, 5, dataDir + "logo.jpg"); | |
// Accessing the newly added picture | |
Aspose.Cells.Drawing.Picture picture = worksheet.Pictures[pictureIndex]; | |
// Positioning the picture proportional to row height and colum width | |
picture.UpperDeltaX = 200; | |
picture.UpperDeltaY = 200; | |
// Saving the Excel file | |
workbook.Save(dataDir + "book1.out.xls"); |
Posicionamiento absoluto
Los desarrolladores también pueden posicionar las imágenes de forma absoluta utilizando elIzquierda yParte superior propiedades de laFotografíaobjeto. Este ejemplo coloca una imagen en la celda F6, 60 píxeles desde la izquierda y 10 píxeles desde la parte superior de la celda.
// 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); | |
// 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 | |
int pictureIndex = worksheet.Pictures.Add(5, 5, dataDir + "logo.jpg"); | |
// Accessing the newly added picture | |
Aspose.Cells.Drawing.Picture picture = worksheet.Pictures[pictureIndex]; | |
// Absolute positioning of the picture in unit of pixels | |
picture.Left = 60; | |
picture.Top = 10; | |
// Saving the Excel file | |
workbook.Save(dataDir + "book1.out.xls"); |
Insertar una imagen basada en la referencia Cell
Aspose.Cells le permite mostrar el contenido de una celda de la hoja de cálculo en forma de imagen. Puede vincular la imagen a la celda que contiene los datos que desea mostrar. Dado que la celda o el rango de celdas está vinculado al objeto gráfico, los cambios que realice en los datos de esa celda o rango de celdas aparecerán automáticamente en el objeto gráfico.
Agregue una imagen a la hoja de trabajo llamando alAñade una foto metodo de laShapeCollection colección (encapsulada en elHoja de cálculo objeto). Especifique el rango de celdas usando elFórmula atributo de laFotografíaobjeto.
// 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); | |
// Instantiate a new Workbook | |
Workbook workbook = new Workbook(); | |
// Get the first worksheet's cells collection | |
Cells cells = workbook.Worksheets[0].Cells; | |
// Add string values to the cells | |
cells["A1"].PutValue("A1"); | |
cells["C10"].PutValue("C10"); | |
// Add a blank picture to the D1 cell | |
Picture pic = workbook.Worksheets[0].Shapes.AddPicture(0, 3, 10, 6, null); | |
// Specify the formula that refers to the source range of cells | |
pic.Formula = "A1:C10"; | |
// Update the shapes selected value in the worksheet | |
workbook.Worksheets[0].Shapes.UpdateSelectedValue(); | |
// Save the Excel file. | |
workbook.Save(dataDir + "output.out.xls"); |