【问题标题】:creating an excel file and automatically expanding column widths创建一个excel文件并自动扩展列宽
【发布时间】:2012-04-05 09:42:59
【问题描述】:

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

【问题讨论】:

  • 您的 HTML 无效,对于初学者来说,它永远不会起作用。

标签: c# html winforms excel


【解决方案1】:

您可以使用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);
}

【讨论】:

    【解决方案2】:

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

    但是,我同意 Diodeus,您必须先修复您的 html。

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-03
        • 1970-01-01
        • 2019-12-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多