要生成的效果如下:
现在已经可以生成这样了!
现在的代码如下:
就我要在表格的前面加个一行
编号: F0001 日期:22009-01-01
GridView gridview = new GridView();
gridview.DataSource = dt;
gridview.DataBind();
string filename = LevelSupBaseInfoDropDownList.SelectedItem.Text;
Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlPathEncode(filename + ".xls"));
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.ContentType = "application/ms-excel";
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
gridview.RenderControl(oHtmlTextWriter);
Response.Output.Write(oStringWriter.ToString());
Response.Flush();
Response.End();
从gridview的HEADER入手可以解决,GRIDVIEW可以对他的列头处理,你可以让列分为两行N列,然后第一行的所有列都合并,就达到效果了。
使用向客户端输出的js的方式,这个也可以任意指定样式和格式。这个需要ie允许ActiveX
mark...
学习中。。。。
这个用服务端,并且还必须GridView,基本上不可能的。
换种思路!
用gridview的话可能会有点问题,,你需要重载表格显现之前的一个方法来实现。
用repeater吧..它支持header的模板编辑,为header部分设定好样子,绑定就ok了啊,
试试"要有好的心情"的做法
repeater datalist 控制起来都很方便的