导出Datagrid到excelasp什么是Datagrid导出到excel最好的方法?我没有任何将数据网格导出到excel的经验,所以我想知道你们如何将数据网格导出到excel。我读到有很多方法,但我想简单地将excel导出到数据网格函数。我正在使用asp.netC#Cheers..最简单的方法是简单地将csv或html(特别是.....)转换为写入输出,只是通过传递内容类型标头假装它是excel格式。Excel将愉快地加载;csv更简单......这是一个类似的例子(它实际上需要一个IEnumerable,但它类似于任何源(例如DataTable,遍历行)。publicstaticvoidWriteCsv(string[]headers,IEnumerabledata,stringfilename){if(data==null)thrownewArgumentNullException("data");如果(string.IsNullOrEmpty(文件名))文件名="export.csv";HttpResponseresp=System.Web.HttpContext.Current.Response;resp.Clear();//如果不想提示用户保存文件,请删除此行resp.AddHeader("Content-Disposition","attachment;filename="+filename);//如果不保存,尝试:"application/ms-excel"resp.ContentType="text/csv";字符串csv=GetCsv(标题,数据);byte[]buffer=resp.ContentEncoding.GetBytes(csv);resp.AddHeader("Content-Length",buffer.Length.ToString());resp.BinaryWrite(缓冲区);响应结束();}staticvoidWriteRow(string[]row,StringBuilderdestination){if(row==null)return;intfields=row.Length;对于(inti=0;i0){destination.Append(',');}如果(string.IsNullOrEmpty(field))继续;//空字段boolquote=false;如果(字段。包含(“”)){//如果包含引号,则需要引号和转义quote=true;field=field.Replace(""","""");}else{//逗号、换行符和前导空格也需要引号if(field.Contains(",")||field.Contains("n")||field.Contains("r")||field.StartsWith("")||field.EndsWith("")){quote=true;}}if(quote){destination.Append('"');目的地追加(字段);destination.Append('"');}else{destination.Append(field);}}destination.AppendLine();}staticstringGetCsv(string[]headers,IEnumerabledata){StringBuildersb=newStringBuilder();如果(data==null)thrownewArgumentNullException("data");WriteRow(headers,sb);foreach(string[]rowindata){WriteRow(row,sb);}returnsb.ToString();}你可以这样做:privatevoidExportButton_Click(objectsender,System.EventArgse){Response.Clear();Response.Buffer=true;Response.ContentType="application/vnd.ms-excel";Response.Charset="";this.EnableViewState=假;System.IO.StringWriteroStringWriter=newSystem.IO.StringWriter();System.Web.UI.HtmlTextWriteroHtmlTextWriter=newSystem.Web.UI.HtmlTextWriter(oStringWriter);this.ClearControls(dataGrid);dataGrid.RenderControl(oHtmlTextWriter);Response.Write(oStringWriter.ToString());响应.End();此处的完整示例将值导出到Excel或Word或PDF检查http://techdotnets.blogspot.com/SpreadsheetGearfor.NET将这样做。您可以在此处查看带有C#和VB源代码的实时ASP.NET示例。其中一些示例演示了将DataSet或DataTable转换为Excel-您可以轻松地从DataGrid获取DataSet或DataTable。如果您想自己尝试,可以在此处下载免费试用版。免责声明:我拥有SpreadsheetGearLLC。以上就是C#学习教程:导出Datagrid到excelasp全部内容分享。如果对大家有用,需要了解更多C#学习教程,希望大家多加关注——本文来自网络收藏,不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
