protected void Button3_Click(object sender, EventArgs e)
{
string Year = System.DateTime.Now.Year.ToString();
string Month = System.DateTime.Now.Month.ToString();
string Day = System.DateTime.Now.Day.ToString();
string HH = System.DateTime.Now.Hour.ToString();
string mm = System.DateTime.Now.Minute.ToString();
string DateString ="人员报表"+ Year + "-" + Month + "-" + Day + "-" + HH + "-" + mm;
FarmerDA da = new FarmerDA();
DataSet ds = new DataSet();
DataTable dt = new DataTable();
ds = da.QQ_Farmer_Search_excleDA(Sessionid);
if (ds != null)
{
dt = ds.Tables[0];
if (dt != null && dt.Rows.Count > 0)
{
//dt.Columns.Add("style", "vnd.ms-excel.numberformat:@");
//dt.Rows[0]["Birthday"].Add("style", "vnd.ms-excel.numberformat:@");
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Charset = "";
HttpContext.Current.Response.ContentType = "application/vnd.ms-xls";
HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(DateString + ".xls"));
StringBuilder table = new StringBuilder();
table.Append("<table style='border:1px solid #000000'><tr>");
for (int i = 0; i < dt.Columns.Count; i++)
{
table.Append("<td>");
table.Append(dt.Columns[i].Caption.ToString()); //标格的标题
table.Append("</td>");
}
table.Append("</tr>");
for (int i = 0; i < dt.Rows.Count; i++)
{
table.Append("<tr>");
for (int j = 0; j < dt.Columns.Count; j++)
{
table.Append("<td style='vnd.ms-excel.numberformat:@'>");
table.Append(dt.Rows[i][j].ToString());
table.Append("</td>");
}
table.Append("</tr>");
}
table.Append("</table>");
HttpContext.Current.Response.Write(table);
HttpContext.Current.Response.End();
}
}
DataTable thisTable = dt;
DataTableExcel(dt, DateString,"a|b|c|d");
}
#region DataTable导出到Excel
/// <summary>
/// DataTable导出到Excel
/// </summary>
/// <param name="pData">DataTable</param>
/// <param name="pFileName">导出文件名</param>
/// <param name="pHeader">导出标题以|分割</param>
public static void DataTableExcel(System.Data.DataTable pData, string pFileName, string pHeader)
{
System.Web.UI.WebControls.DataGrid dgExport = null;
// 当前对话
System.Web.HttpContext curContext = System.Web.HttpContext.Current;
// IO用于导出并返回excel文件
System.IO.StringWriter strWriter = null;
System.Web.UI.HtmlTextWriter htmlWriter = null;
if (pData != null)
{
string UserAgent = curContext.Request.ServerVariables["http_user_agent"].ToLower();
if (UserAgent.IndexOf("firefox") == -1)//火狐浏览器
pFileName = HttpUtility.UrlEncode(pFileName, System.Text.Encoding.UTF8);
curContext.Response.AddHeader("Content-Disposition", "attachment; filename=" + pFileName + ".xls");
curContext.Response.ContentType = "application/vnd.ms-excel";
strWriter = new System.IO.StringWriter();
htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter);
// 为了解决dgData中可能进行了分页的情况,需要重新定义一个无分页的DataGrid
dgExport = new System.Web.UI.WebControls.DataGrid();
dgExport.DataSource = pData.DefaultView;
dgExport.AllowPaging = false;
dgExport.ShowHeader = false;//去掉标题
dgExport.DataBind();
string[] arrHeader = pHeader.Split('|');
string strHeader = "<table border=\"1\" style=\"background-color:Gray;font-weight:bold;\"><tr>";
foreach (string j in arrHeader)
{
strHeader += "<td>" + j.ToString() + "</td>";
}
strHeader += "</tr></table>";
// 返回客户端
dgExport.RenderControl(htmlWriter);
string strMeta = "<meta http-equiv=\"content-type\" content=\"application/ms-excel; charset=UTF-8\"/>";
curContext.Response.Write(strMeta + strHeader + strWriter.ToString());
curContext.Response.End();
}
}
#endregion
public override void VerifyRenderingInServerForm(Control control)
{
// Confirms that an HtmlForm control is rendered for
}