2012-10-03 18 views
5

cuando convierto tabla de datos a .csv mis hojas de Excel se generan de la siguiente manera: enter image description hereExcel mediante programación células para ser adecuada automática anchura y altura

y trató como a continuación:

sw.Write(string.Format("=\"{0}\"", drow[i].ToString())); 

entonces mis hojas de Excel eran como:

enter image description here

nota que las células tienen ="" caracteres;

Estoy tratando de hacer como auto ajuste de ancho & altura de cada celda mediante programación. ¿Cómo?

+2

¿Has probado 'Excel.Rows.AutoFit' y' Excel.Columns.AutoFit'? – paul

+1

¿Está creando un archivo .csv o está utilizando Microsoft.Office.Interop.Excel para crear un archivo de Excel real? – VoltaicShock

+0

@paul a partir de ahora solo estoy creando el xl por transmisión; ¿Debo cargar ese xl en interoperabilidad? gracias por su respuesta .... –

Respuesta

1

I encontraron esta en otra página:

C#

http://www.spreadsheetgear.com/support/help/spreadsheetgear.net.3.0/SpreadsheetGear~SpreadsheetGear.IRange~AutoFit.html

// establecer automáticamente el ancho de las columnas B y C. worksheet.Cells. [ "B: C"] Columnas .AutoFit();

// Establecer la altura de la fila en automático en las filas 7 a 9. hoja de cálculo.Cellas ["7: 9"]. Rows.AutoFit();

+0

gracias por tu respuesta. ya lo he hecho –

+0

Eso ("xlWorkSheet.Cells [" 1:10 "]. Rows.AutoFit();") lanza un error para mí, más específicamente, "System.Runtime.InteropServices.COMException no fue controlado" –

9

intentar conseguir el rango y luego hacer Autofit

Range.Rows.AutoFit(); 
Range.Columns.AutoFit(); 
2

Esta pregunta sólo me ayudó a resolver parte de un problema. Tuve que copiar los datos a una hoja auxiliar secundaria, y luego enviarlos a la cuadrícula de datos, pero cuando lo hiciera, mostraría en la cuadrícula de datos la secuencia de ######### para algunos de mis datos que era más grande que el campo en sí. Así que usé **sheets.UsedRange.Columns.AutoFit();** para resolver el problema cada vez que se crea una nueva columna. Donde hojas es mi variable que recibió el **Microsoft.Office.Interop.Excel.Worksheet**.

Muchas gracias muchachos.

Cuestiones relacionadas