如何将DataGrid中的数据导出为excel文件?
请大哥们指点,给出代码!
请大哥们指点,给出代码!
解决方案 »
- form验证,如何获取用户的role(非UserData)
- Request.QueryString
- GridView如何绑定不带属性的XML元素
- 在接受QueryString["XX"]的时候,如何放到一个函数里判断,在判断失败的时候终止Page_Load和不进行相关的事件处理程序!
- MessageBox.Show 问题
- 怎样设置输入法?
- 高难几何问题,饼图内显示数据值,孟子的饼图!!!
- 关于web.config文件中的sessionState配置问题?
- 看看,什么样子的分数不给分?是20分的吗?
- 请斑竹帮忙解答,如何在C#里调用原来的.dll文件中函数和方法???
- 学习.net后编写的第一个小程序,购物车
- 听听大家的意见!
Response.Charset = "";
EnableViewState= false;
System.IO.StringWriter tw= new System.IO.String.Writer();
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw); Datagrid.RenerControl(hw);
Response.Writer(tw.ToString());
Response.End();
/// 将DataTable中的数据导出到指定的Excel文件中
/// </summary>
/// <param name="tab">包含被导出数据的DataTable对象</param>
/// <param name="FileName">Excel文件的名称</param>
/// <param name="mTitle">标题</param>
/// <param name="mColumns">需要导出的列和对应的说明文字</param>
private void Export(System.Data.DataTable tab,string mFileName,string mTitle,string[][] mColumns)
{
System.Web.HttpResponse httpResponse = Page.Response; System.Web.UI.WebControls.DataGrid dataGrid=new System.Web.UI.WebControls.DataGrid(); #region 绑定一个DataGrid
dataGrid.DataSource=tab.DefaultView;
dataGrid.AllowPaging = false;
//dataGrid.HeaderStyle.BackColor = System.Drawing.Color.Green;
dataGrid.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
dataGrid.HeaderStyle.Font.Bold = true;
dataGrid.HeaderStyle.BackColor = Color.LightCyan;
dataGrid.ItemStyle.HorizontalAlign = HorizontalAlign.Left;
dataGrid.AlternatingItemStyle.BackColor = Color.AliceBlue;
dataGrid.AutoGenerateColumns = false;
for(int i=0;i<mColumns.Length;i++)
{
string[] mCol = mColumns[i];
BoundColumn boundCol = new BoundColumn();
boundCol.DataField = mCol[0];
boundCol.HeaderText = mCol[1];
dataGrid.Columns.Add(boundCol);
}
dataGrid.DataBind();
#endregion httpResponse.AppendHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlEncode(mFileName,System.Text.Encoding.UTF8)); //filename="*.xls";
httpResponse.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
httpResponse.ContentType ="application/ms-excel";
System.IO.StringWriter tw = new System.IO.StringWriter() ;
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw);
dataGrid.RenderControl(hw);
string fileUrl = @"\XsExam\Tq_Manager\UpLoad\" +mFileName;
string filePath = Page.Server.MapPath(fileUrl);
System.IO.StreamWriter sw = System.IO.File.CreateText(filePath);
//写文件
//写入文件标题
sw.WriteLine("<table><tr><td align='center' colspan='" + mColumns.Length.ToString() + "'><font face='宋体' size=12px><b>"
+ mTitle + "</b></font></td></tr>");
//写入制表时间
sw.WriteLine("<tr><td colspan='" + mColumns.Length.ToString() + "' align='right'><font face='宋体' size=10px>制表时间:"
+ DateTime.Now.ToString("yyyy年MM月dd日") + "</font></td></tr></table>");
sw.Write(tw.ToString());
sw.Close(); httpResponse.Redirect(fileUrl);
httpResponse.End();
}
Response.Charset = "";
EnableViewState= false;
System.IO.StringWriter tw= new System.IO.String.Writer();
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw); Datagrid.RenerControl(hw);
Response.Writer(tw.ToString());
Response.End();