2012-03-20 45 views
5

我有一个普通的HTML表:创建一个Excel文件,并自动扩展列宽

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

和我创建一个XLS文件出来吧:

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

当我打开XLS文件生成,我需要手动扩展列以查看长数据。

我的问题是:如何生成这个XLS文件,以便列已经正确调整大小?

+2

你的HTML是无效的,对于初学者,所以它永远不会工作。 – 2012-03-20 21:19:53

+0

我的错只是修复它 – 2012-03-21 02:33:02

回答

1

在Excel VBA中,您可以通过Rng.Columns.AutoFit实现您寻求的效果。我相信C#相当于Rng.Columns.AutoFit();

但是,我同意Diodeus,你将不得不先修复你的html。

0

您也可以使用第三方工具,如Aspose.Cells创建Excel文件。

我已经在很多项目中成功地使用了它。它提供了您需要的自适应功能。

3

你可以做到这一点很容易与EPPlus(开源.NET的Excel 2007+库),你将有一个有效的Excel文件,这里是示例代码:

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); 
}