SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: Serj en Domingo 13 de Junio de 2010, 11:27

Título: Ancho columna Excel
Publicado por: Serj en Domingo 13 de Junio de 2010, 11:27
Hola a todos!

Tengo una aplicacion en la que creo una hoja excel, pero no se ajustar el ancho de columna.
Hago esto, pero me da errores:

xlWorkSheet.Columns[3].Width = 100;

Un saludo!
Título: Re: Ancho columna Excel
Publicado por: gerloxxx en Martes 15 de Junio de 2010, 01:25
prueba con esto:

Código: C#
  1.  
  2. xlWorkSheet.Range("D1").EntireColumn.ColumnWidth = 100;
  3.  
  4.  

saludos
Título: Re: Ancho columna Excel
Publicado por: Serj en Martes 15 de Junio de 2010, 11:00
buenas!
Gracias por tu atencion, pero no me funciona lo que me has puesto.
Las palabras Range, EntireColumn y ColumnWidth no se me ponen en azul, y me da error.
Título: Re: Ancho columna Excel
Publicado por: Xaos en Martes 15 de Junio de 2010, 11:37
Estas usando la libreria de controles de excel?

using Excel = Microsoft.Office.Interop.Excel;
Título: Re: Ancho columna Excel
Publicado por: Serj en Martes 15 de Junio de 2010, 12:00
si si, esta libreria si la tengo incluida
Título: Re: Ancho columna Excel
Publicado por: gerloxxx en Martes 15 de Junio de 2010, 17:03
podrias poner parte de tu codigo? donde creas tu objeto de excel, tu hoja, para ver de que forma lo haces?....  la línea que te pase yo la uso muy amenudo en vb.net, (no se si sean corchetes en lugar de parentesis [] en C#)....

saludos
Título: Re: Ancho columna Excel
Publicado por: Serj en Martes 15 de Junio de 2010, 22:55
Ahi os lo pongo:


                    Excel.Application xlApp_1;
                    Excel.Workbook xlWorkBook_1;
                    Excel.Worksheet xlWorkSheet_1;
                    object misValue_1 = System.Reflection.Missing.Value;

                    xlApp_1 = new Excel.ApplicationClass();
                    xlWorkBook_1 = xlApp_1.Workbooks.Add(misValue_1);

                    xlWorkSheet_1 = (Excel.Worksheet)xlWorkBook_1.Worksheets.get_Item(1);


                    xlWorkSheet_1.Cells[1, 1] = "Fecha";
                    xlWorkSheet_1.Cells[1, 2] = "Hora";
                    xlWorkSheet_1.Cells[1, 3] = "Trama Recibida";
                    xlWorkSheet_1.Cells[1, 4] = "Temperatura";
                    xlWorkSheet_1.Cells[1, 5] = "Humedad";
                    xlWorkSheet_1.Cells[1, 6] = "Tª max";
                    xlWorkSheet_1.Cells[1, 7] = "Tª min";
                    xlWorkSheet_1.Cells[1, 8] = "Tª med";

                    xlWorkBook_1.SaveAs(@sexplorar_1 + "\" + "S" + @ssala + "_" + @saño_mes, Excel.XlFileFormat.xlWorkbookNormal, misValue_1, misValue_1, misValue_1, misValue_1, Excel.XlSaveAsAccessMode.xlExclusive, misValue_1, misValue_1, misValue_1, misValue_1, misValue_1);
                    xlWorkBook_1.Close(true, misValue_1, misValue_1);
                    xlApp_1.Quit();

                    releaseObject(xlWorkSheet_1);
                    releaseObject(xlWorkBook_1);
                    releaseObject(xlApp_1);
                }
            }
Título: Re: Ancho columna Excel
Publicado por: gerloxxx en Miércoles 16 de Junio de 2010, 17:17
hola, el ancho de la columna lo puedes modificar de la siguiente forma:

Código: C#
  1.  
  2.             Excel.Range oRange = xlWorkSheet_1.get_Range("C1", "C1");
  3.             oRange.ColumnWidth = 14;
  4.  
  5. //   ó
  6.  
  7.             xlWorkSheet_1.get_Range("D1", "D1").ColumnWidth = 14;
  8.  
  9.  

saludos