创建一个excel文件并自动扩展列宽
Posted
技术标签:
【中文标题】创建一个excel文件并自动扩展列宽【英文标题】:creating an excel file and automatically expanding column widths 【发布时间】: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 无效,对于初学者来说,它永远不会起作用。 【参考方案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 文件。
我已经在很多项目中成功使用了它。它提供了您需要的自动调整功能。
【讨论】:
以上是关于创建一个excel文件并自动扩展列宽的主要内容,如果未能解决你的问题,请参考以下文章