C# 如何调整网格的列宽';什么是Excel?

C# 如何调整网格的列宽';什么是Excel?,c#,asp.net,vb.net,excel,telerik,C#,Asp.net,Vb.net,Excel,Telerik,我们将Telerik的网格组件与ASP.net一起使用(该包称为ASP.net AJAX)。 网格非常舒适,它提供了导出到Excel的功能。 不幸的是,定制Excel的方法似乎很有限。 问题是: 如何使生成的excel的列宽适合最宽单元格的内容? Public Sub ExportGridToExcel(vGrid As RadGrid) mIsExporting = True vGrid.Rebind() vGrid.ExportSettings.Excel.For

我们将Telerik的网格组件与ASP.net一起使用(该包称为ASP.net AJAX)。 网格非常舒适,它提供了导出到Excel的功能。 不幸的是,定制Excel的方法似乎很有限。 问题是:

如何使生成的excel的列宽适合最宽单元格的内容?

  Public Sub ExportGridToExcel(vGrid As RadGrid)
    mIsExporting = True
    vGrid.Rebind()
    vGrid.ExportSettings.Excel.Format = GridExcelExportFormat.Biff
    vGrid.MasterTableView.ExportToExcel()
  End Sub

请参见或了解如何在导出前访问和修改列。在获取最长字符串时-我认为您需要查询数据源并遍历它才能知道。控件将无法知道它将接收哪些数据。如果您希望导出是公共的,则可以考虑在数据绑定网格时只进行一次计算,并将列的首选WHHTT存储在VIEW状态、会话或某些内容中。当然,如果您的数据相当静态,您可以考虑将该信息存储在数据库本身的数据库字段内容中。

但没有自动拟合选项吗?由于无法正确计算单元格的宽度(字体大小、字体类型、单元格中的换行符),因此可以使用一些Excel规则,请参见和