2012-03-20 50 views
5

Tengo una tabla HTML normal:crear un archivo de Excel y expandir automáticamente ancho de las columnas

<table> 
<tr>hello</tr> 
<tr>world</tr> 
</table> 

y estoy creando un archivo XLS fuera de él:

string randomname = @"C:\attachmentsfolder\" + System.IO.Path.GetRandomFileName() + ".xls"; 
System.IO.File.WriteAllText(randomname, message); 

Al abrir el archivo XLS generado, necesito expandir MANUALMENTE las columnas para ver datos largos.

Mi pregunta es: ¿cómo puedo generar este archivo XLS de modo que las columnas ya tengan el tamaño correcto?

+2

Su HTML no es válida, para empezar , entonces nunca funcionará –

+0

mi culpa solo arreglarlo –

Respuesta

1

En Excel VBA, puede lograr el efecto que busca con Rng.Columns.AutoFit. Creo que el equivalente de C# es Rng.Columns.AutoFit();.

Sin embargo, estoy de acuerdo con Diodeus, primero tendrá que arreglar su html.

0

También puede utilizar una herramienta de otro fabricante, como p. Ej. Aspose.Cells para crear el archivo de Excel.

Lo he usado con éxito en muchos proyectos. Proporciona la función de ajuste automático que necesita.

3

Usted podría hacerlo fácilmente con EPPlus (Open Source .NET Excel 2007+ biblioteca), y usted tendrá un archivo de Excel válida, aquí es el código de ejemplo:

public static void FitAndSaveToExcel(FileInfo excelFile, string sheetName) 
{ 
    ExcelPackage pack = new ExcelPackage(); 
    ExcelWorksheet ws = pack.Workbook.Worksheets.Add(sheetName); 
    ws.Cells[1, 1].Value = "Some Long text that needs fitting!"; 
    ws.Cells[1, 2].Value = "Short one"; 
    ws.Column(1).AutoFit(); 
    pack.SaveAs(excelFile); 
} 
Cuestiones relacionadas