如何调整网格导出的Excel的列宽?

我们在ASP.net中使用Telerik的Grid组件(该软件包称为ASP.NET AJAX)。 网格非常舒适,它提供了“导出到Excel”function。 不幸的是,自定义Excel的方式似乎是有限的。 问题是:

我怎样才能使所得的excel拟合的列宽度最宽的单元格的内容?

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

在这里或这里看到如何在导出之前访问和修改列。 在获得最长的string – 我想你会需要查询数据源并遍历它知道。 控制将无法知道它会收到什么数据。 如果期望导出是常见的,那么当数据绑定网格时,可以考虑只进行一次计算,并在ViewState,Session或其他东西中存储列的首选widhts。 当然,如果你的数据是相当静态的,你可以考虑把这个信息存储在数据库本身的数据库字段内容中。