2012-03-20 32 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); 
}