/// <summary> /// 导出xls /// </summary> /// <param name="ds">数据源DataSet</param> /// <param name="columns1">表列名称</param> /// <param name="columns2">列中文注释名称</param> /// <param name="FileName">导出文件名称(例如:*****.xls)</param> public void ToExcel(DataSet ds, string[] columns1, string[] columns2, string FileName) { DataTable dt = ds.Tables[0]; //bool b = t.Columns.Contains("bbb"); dt = dt.DefaultView.ToTable(false, columns1); for (int i = 0; i < dt.Columns.Count; i++) { if (columns2 != null) { if (columns2[i] != null && columns2[i] != "") { dt.Columns[i].ColumnName = columns2[i]; } } } //HttpContext.Current.Response.Charset = "UTF-8"; HttpContext.Current.Response.Charset = "GB2312"; //HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;//设置输出流为简体中文 System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); HttpContext.Current.Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件 FileName = System.Web.HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8); HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + "" + FileName); //设置数字为文本格式 string strStyle = "<style>td{mso-number-format:\"\\@\";}</style>"; System.IO.StringWriter tw = new System.IO.StringWriter();//定义StringWriter输出对象 HtmlTextWriter hw = new HtmlTextWriter(tw);//定义HtmlTextWriter对象 //ctl.RenderControl(hw);//用RenderControl方法输出excel //DataGrid dg = new DataGrid(); //dg.DataSource = ds.Tables[0]; //dg.DataBind(); //dg.RenderControl(hw); hw.WriteLine(strStyle); GridView gv = new GridView(); gv.DataSource = dt; gv.DataBind(); gv.RenderControl(hw); HttpContext.Current.Response.Write(tw.ToString());//输出 HttpContext.Current.Response.Flush(); HttpContext.Current.Response.End(); }
调用例子:
//sql字段
string[] strName1 = "protype,pro,cdpro,date,fytype,lcname,km,bxje,bxr,ftbm,bz,slh,sta".Split(',');
//导出的Excel所对应的中文列名
string[] strName2 = "项目费用类型,发生项目,承担项目,日期,费用类型,流程名称,科目,报销金额,报销人,分摊部门,备注,实例号,流程状态".Split(',');
ToExcel(ds, strName1, strName2, DateTime.Now.ToString() + "部门项目费用统计表.xls");
浙公网安备 33010602011771号