创建Excel文件并自动扩展列宽

时间:2012-03-20 21:10:01

标签: c# html winforms excel

我有一个常规的html表:

<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文件以使列的大小已正确?

3 个答案:

答案 0 :(得分: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);
}

答案 1 :(得分:1)

在Excel VBA中,您可以使用Rng.Columns.AutoFit实现效果。我相信C#的等价物是Rng.Columns.AutoFit();

但是,我同意Diodeus,你必须先修复你的HTML。

答案 2 :(得分:0)

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

我在很多项目中成功使用了这个。它提供您需要的自动调整功能。