C# 创建excel文件并自动扩展列宽
我有一个常规html表:C# 创建excel文件并自动扩展列宽,c#,html,winforms,excel,C#,Html,Winforms,Excel,我有一个常规html表: <table> <tr>hello</tr> <tr>world</tr> </table> 打开生成的XLS文件时,需要手动展开列以查看长数据 我的问题是:如何生成此XLS文件,以使列的大小已正确调整?在Excel VBA中,您可以使用Rng.columns.AutoFit实现所需的效果。我相信C#等价物是Rng.Columns.AutoFit() 但是,我同意Diodeus的观点,您必须首先
<table>
<tr>hello</tr>
<tr>world</tr>
</table>
打开生成的XLS文件时,需要手动展开列以查看长数据
我的问题是:如何生成此XLS文件,以使列的大小已正确调整?在Excel VBA中,您可以使用
Rng.columns.AutoFit实现所需的效果。我相信C#等价物是Rng.Columns.AutoFit()代码>
但是,我同意Diodeus的观点,您必须首先修复html。您还可以使用第三方工具(如Aspose.Cells)来创建Excel文件
我已经在很多项目中成功地使用了它。它提供您需要的自动调整功能 您可以使用(开源.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);
}
首先,你的HTML是无效的,所以它永远不会工作。
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);
}