private void ExportExcelFromDataGrid( string filename , System.Web.UI.WebControls.DataGrid ToExcelGrid )
{
Response.Clear();
Response.Buffer= true;
Response.Charset="utf-8";
Response.AppendHeader("Content-Disposition","attachment;filename="+Server.UrlEncode ( filename ) );
Response.ContentEncoding=System.Text.Encoding.Default;//设置输出流为简体中文
Response.ContentType = "application/ms-excel";//Bearbeiten Sie die Datei mit der Excel-Datei.
this.EnableViewState = false;
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN",true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
ToExcelGrid.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
}
private void Button4_Click(object sender, System.EventArgs e)
{
this.Panel1.Visible = false;
string filename = "内训师.xls";
this.DataGrid1.Columns[6].Visible = true;
this.DataGrid1.Columns[7].Visible = true;
this.DataGrid1.Columns[this.DataGrid1.Columns.Count-1].Visible = false;
this.DataGrid1.Columns[this.DataGrid1.Columns.Count-2].Visible = false;
this.DataGrid1.AllowSorting = false;
this.DataGrid1.AllowPaging = false;
this.DataGrid1.SelectedIndex = -1;
this.BindGrid();
this.ExportExcelFromDataGrid (Dateiname, this.DataGrid1);
Die neue Version von DataGrid (die neueste Version von Control) und RenderControl sind die neueste Version von DataGrid und die HTML-Version区, 同时设置一下 ContentType, 让Excel自己的自动纠错功能将这个
输出
存为一个Excel ist
die neueste Version Sachverhalt:
„LinkButton必须放在一个具有runat=server的标签的Form“
Verwenden Sie DataGrid und runat=server
如下:
通常使用这种代码的人他/她的DataGrid,最起码已经能用了, 所以必定放在那个具有runat=server 的form标签里了.
Sie können LinkButton verwenden, um DataGrid zu verwenden.
其实真正的问题是,上面的代码没有加了 // * 的那几行代码引起的.
当然如果你的DataGrid, 没有排序, 没有使用那种按钮列的话, 是不会出问题的.
LinkButtion hat die Funktion „DataGrid“ verwendet und die Funktion „DataGrid“ ist falsch.
同样得到上面的其实, 那些按钮列, 什么"编辑"、„删除“等等这些,也是用了LinkButton,把他设为不可见就Nein.
Weitere Informationen finden Sie unter