我使用此代码段从radGrid导出数据:
protected void ExpExcel_Click(object sender, EventArgs e)
{
foreach (GridColumn col in RadGrid1.MasterTableView.Columns)
{
if (col.UniqueName.Contains("notes") || (col.UniqueName.Contains("EditCommandColumn")) ||
(col.UniqueName.Contains("column1")))
{
col.Display = false;
}
else
{
col.Display = true;
}
}
foreach (GridFilteringItem item in RadGrid1.MasterTableView.GetItems(GridItemType.FilteringItem))
item.Visible = false;
RadGrid1.ExportSettings.ExportOnlyData = true;
RadGrid1.MasterTableView.ExportToExcel();
}
它工作正常。我的问题是我需要替换列中的一个字符,我有点迷失。导出为excel数据时,如何替换特定列中的特定字符?
答案 0 :(得分:0)
如果您确切知道要删除哪种字符,则可以使用替换方法:
string a = "Example1";
a.Replace("1",string.Empty);
您的案例中的一个例子是:
col.UniqueName.Replace("[what you want to remove]", "[what you want it to replace with]");
答案 1 :(得分:0)
我重写了你的方法,并为“notes”栏中的所有单元格添加了带下划线('_')的任何空格('')的替换:
protected void ExpExcel_Click(object sender, EventArgs e)
{
foreach (GridColumn col in rgTest.MasterTableView.Columns)
{
col.Display = !(col.UniqueName.Contains("notes") || col.UniqueName.Contains("EditCommandColumn") || col.UniqueName.Contains("column1"));
}
List<Telerik.Web.UI.GridItem> items = rgTest.MasterTableView.GetItems(Telerik.Web.UI.GridItemType.FilteringItem).ToList();
foreach (GridFilteringItem item in items)
{
item.Visible = false;
// Replace any space character with an underscore:
if (item.OwnerTableView.DataKeyNames[0] == "notes")
{
var c = item.Controls[0] as System.Web.UI.WebControls.TextBox;
if (c != null)
{
c.Text.Replace(' ', '_');
}
}
}
rgTest.ExportSettings.ExportOnlyData = true;
rgTest.MasterTableView.ExportToExcel();
}