Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/04/2010, 09:59
Kurace
 
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.