/// <summary>
/// 绑定数据
/// </summary>
public void bingdata()
{
string str = ConfigurationManager.AppSettings["SqlConnection"];
using (SqlConnection sqlcnn = new SqlConnection(str))
{
using (SqlCommand sqlcmm = sqlcnn.CreateCommand())
{
sqlcmm.CommandText = "select * from dbo.AnimalType";
SqlDataAdapter da = new SqlDataAdapter(sqlcmm);
DataSet ds = new DataSet();
da.Fill(ds);
this.gridTest.DataSource = ds.Tables[0];
this.gridTest.DataBind();
}
}
}
/// <summary>
/// 把gridview里的数据填充到excel 指定格式
/// </summary>
public void FillExcel()
{
Response.Clear();
Response.Buffer = false;
Response.Charset = "GB2312";
Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(Encoding.UTF8.GetBytes("基本情况表")) + DateTime.Now.ToShortDateString() + ".xls");
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
Response.ContentType = "application/ms-excel";
Response.Write("<meta http-equiv=Content-Type content=\"text/html; charset=GB2312\">");
Response.Write("<style type='text/css'>td{text-align:center;border:solid 1px black;}</style>");
// Response.Write(AddExcelHead()); //显示网格线-- 加上这句后excel的背景网格出现,但是内容黑线就没有了
this.EnableViewState = false;
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
HtmlTextWriter oHtmlTextWriter = new HtmlTextWriter(oStringWriter);
BindGrid();
grdList.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
// Response.Write(AddExcelbottom());//显示网格线 //加上这句后excel的背景网格出现,但是内容黑线就没有了
Response.End();
//Response.Clear();
//System.Web.HttpContext curContext = System.Web.HttpContext.Current;
//Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(Encoding.UTF8.GetBytes("基本情况表")) + DateTime.Now.ToShortDateString() + ".xls");
//Response.Charset = "UTF-8";//设置字符集
//curContext.Response.ContentEncoding = System.Text.Encoding.UTF8;//设置编码集
//Response.ContentType = "application/vnd.xls";
//System.IO.StringWriter stringWrite = new System.IO.StringWriter();
//System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
写到Excel的数据不用分页
//bingdata();
//gridTest.RenderControl(htmlWrite);
//Response.Write(stringWrite.ToString());//向客户端写数据
//Response.End();
}
/// <summary>
/// 重写Load
/// </summary>
/// <param name="control"></param>
public override void VerifyRenderingInServerForm(Control control)
{
//if (!control.GetType().Equals(gridTest.GetType())) //可加可不加
//{
// base.VerifyRenderingInServerForm(control);
//}
}
/// <summary>
/// 多行表头
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void gridTest_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
TableCellCollection tcHeader = e.Row.Cells;
tcHeader.Clear();
tcHeader.Add(new TableHeaderCell());
tcHeader[0].ColumnSpan=3;
tcHeader[0].Text = "疫苗来源</th></tr><tr>";
tcHeader.Add(new TableHeaderCell());
tcHeader[1].ColumnSpan = 3;
tcHeader[1].Text = "c测试而已</th></tr><tr>";
tcHeader.Add(new TableHeaderCell());
tcHeader[2].Text = "疫苗来源";
tcHeader.Add(new TableHeaderCell());
tcHeader[3].Text = "来源";
tcHeader.Add(new TableHeaderCell());
tcHeader[4].Text = "疫苗";
}
}
/// <summary>
/// 导出数据到excek
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{
FillExcel();
}