Foros del Web » Programación para mayores de 30 ;) » .NET »

Insertar imagen ajustándola según la celda

Estas en el tema de Insertar imagen ajustándola según la celda en el foro de .NET en Foros del Web. Hola a todos. Estoy realizando una aplicación con WinForms y estoy exportando a Excel sin problemas. El insertar la imagen lo hago perfectamente, pero para ...
  #1 (permalink)  
Antiguo 19/04/2010, 09:59
 
Fecha de Ingreso: noviembre-2007
Mensajes: 15
Antigüedad: 16 años, 5 meses
Puntos: 0
Insertar imagen ajustándola según la celda

Hola a todos.

Estoy realizando una aplicación con WinForms y estoy exportando a Excel sin problemas.

El insertar la imagen lo hago perfectamente, pero para rizar el rizo, quiero ajustar el tamaño de la imagen y su anchura dependiendo del tamaño de la celda. Así que se me ha ocurrido hacer ésto.

Código:
                if (_imagen != null)
                {
                    Range onRng = xlWorkSheet.get_Range("A1", "A1");

                    Image imagen = ObtenerImagen();

                    int altura = 0;
                    int anchura = 0;

                    altura = imagen.Height;
                    anchura = imagen.Width;

                    onRng.RowHeight = altura;
                    onRng.ColumnWidth = anchura;


                    string identificador = Guid.NewGuid().ToString();
                    imagen.Save(Path.Combine(Path.GetTempPath(), identificador), System.Drawing.Imaging.ImageFormat.Jpeg);

                    xlWorkSheet.Shapes.AddPicture(Path.Combine(Path.GetTempPath(), identificador), Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, 1, 1, imagen.Width, imagen.Height);
                }
Al pasar por la parte de onRng.ColumnWidth, me salta una excepción. Con la parte de la altura sí lo hace correctamente, pero no con la columna...

¿Qué podría ser? La verdad es que no lo entiendo, yo pienso que no debería dar problemas y así podría ajustar...

Si alguien tiene alguna idea, lo agradeceré ;).

Saludos.

Etiquetas: celda
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:38.