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

5

我有一个普通的 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文件,使得列已经正确调整大小?

2
你的HTML无效,首先需要修复它,否则它永远不会起作用。 - Diodeus - James MacFarlane
3个回答

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
在Excel VBA中,您可以使用 Rng.Columns.AutoFit 实现所需的效果。我相信C#的等效方法是 Rng.Columns.AutoFit();
但是,我同意Diodeus的看法,您首先需要修复HTML。

0

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接