我用条件得到GV,条件有选择的时间。我选择某个时间,得到该时间下对应的列表数据,但是每次导出EXCEL后,EXCEL中关于时间的数据总是1990年,也就是我时间的下拉列表的第一个时间,但是我选择的是2008年啊,GV里面生成的数据也是2008,导出到EXCEL后,2008就变成了1990了,怎么搞的啊。我用的方法是
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment; filename=MyExcelFile.xls");
Response.ContentType = "application/excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
gv_searchlist.RenderControl(htw);
Response.Output.Write(sw.ToString());
Response.Flush();
Response.End();另外,显示时间的地方是GV的表头,我在表头里面做了处理,也就是合并了表头的,代码如下:
protected void gv_searchlist_RowCreated(object sender, GridViewRowEventArgs e)
{
switch (e.Row.RowType)
{
case DataControlRowType.Header:
//第一行表头
TableCellCollection tcHeader = e.Row.Cells;
tcHeader.Clear(); tcHeader.Add(new TableHeaderCell());
tcHeader[0].Attributes.Add("colspan", "7");
tcHeader[0].Attributes.Add("bgcolor", "white");
tcHeader[0].Text = "<font color='#000000'>" + ddl_time.SelectedValue + "年" + ddl_halfyear.SelectedItem.Text.Trim() + "结算清单</font></th></tr><tr>"; tcHeader.Add(new TableHeaderCell());
tcHeader[1].Attributes.Add("colspan", "7");
tcHeader[1].Attributes.Add("bgcolor", "white");
tcHeader[1].Attributes.Add("align", "left");
tcHeader[1].Text = "承修单位:123</th></tr><tr>"; tcHeader.Add(new TableHeaderCell());
tcHeader[2].Attributes.Add("bgcolor", "#838485");
tcHeader[2].Text = "<font color='#ffffff'>序号</font>"; tcHeader.Add(new TableHeaderCell());
tcHeader[3].Attributes.Add("bgcolor", "#838485");
tcHeader[3].Text = "<font color='#ffffff'>装备名称</font>"; tcHeader.Add(new TableHeaderCell());
tcHeader[4].Attributes.Add("bgcolor", "#838485");
tcHeader[4].Text = "<font color='#ffffff'>单位</font>"; tcHeader.Add(new TableHeaderCell());
tcHeader[5].Attributes.Add("bgcolor", "#838485");
tcHeader[5].Text = "<font color='#ffffff'>单价</font>"; tcHeader.Add(new TableHeaderCell());
tcHeader[6].Attributes.Add("bgcolor", "#838485");
tcHeader[6].Text = "<font color='#ffffff'>数量</font>"; tcHeader.Add(new TableHeaderCell());
tcHeader[7].Attributes.Add("bgcolor", "#838485");
tcHeader[7].Text = "<font color='#ffffff'>金额小计</font>"; tcHeader.Add(new TableHeaderCell());
tcHeader[8].Attributes.Add("bgcolor", "#838485");
tcHeader[8].Text = "<font color='#ffffff'>备注</font>"; break;
}
}就是在表头的tcHeader[0].Text的地方写得是我选择时间,但是生成EXCEL后,这里的时间就变成了时间下拉列表的第一个时间1990了,怎么搞的啊
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment; filename=MyExcelFile.xls");
Response.ContentType = "application/excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
gv_searchlist.RenderControl(htw);
Response.Output.Write(sw.ToString());
Response.Flush();
Response.End();另外,显示时间的地方是GV的表头,我在表头里面做了处理,也就是合并了表头的,代码如下:
protected void gv_searchlist_RowCreated(object sender, GridViewRowEventArgs e)
{
switch (e.Row.RowType)
{
case DataControlRowType.Header:
//第一行表头
TableCellCollection tcHeader = e.Row.Cells;
tcHeader.Clear(); tcHeader.Add(new TableHeaderCell());
tcHeader[0].Attributes.Add("colspan", "7");
tcHeader[0].Attributes.Add("bgcolor", "white");
tcHeader[0].Text = "<font color='#000000'>" + ddl_time.SelectedValue + "年" + ddl_halfyear.SelectedItem.Text.Trim() + "结算清单</font></th></tr><tr>"; tcHeader.Add(new TableHeaderCell());
tcHeader[1].Attributes.Add("colspan", "7");
tcHeader[1].Attributes.Add("bgcolor", "white");
tcHeader[1].Attributes.Add("align", "left");
tcHeader[1].Text = "承修单位:123</th></tr><tr>"; tcHeader.Add(new TableHeaderCell());
tcHeader[2].Attributes.Add("bgcolor", "#838485");
tcHeader[2].Text = "<font color='#ffffff'>序号</font>"; tcHeader.Add(new TableHeaderCell());
tcHeader[3].Attributes.Add("bgcolor", "#838485");
tcHeader[3].Text = "<font color='#ffffff'>装备名称</font>"; tcHeader.Add(new TableHeaderCell());
tcHeader[4].Attributes.Add("bgcolor", "#838485");
tcHeader[4].Text = "<font color='#ffffff'>单位</font>"; tcHeader.Add(new TableHeaderCell());
tcHeader[5].Attributes.Add("bgcolor", "#838485");
tcHeader[5].Text = "<font color='#ffffff'>单价</font>"; tcHeader.Add(new TableHeaderCell());
tcHeader[6].Attributes.Add("bgcolor", "#838485");
tcHeader[6].Text = "<font color='#ffffff'>数量</font>"; tcHeader.Add(new TableHeaderCell());
tcHeader[7].Attributes.Add("bgcolor", "#838485");
tcHeader[7].Text = "<font color='#ffffff'>金额小计</font>"; tcHeader.Add(new TableHeaderCell());
tcHeader[8].Attributes.Add("bgcolor", "#838485");
tcHeader[8].Text = "<font color='#ffffff'>备注</font>"; break;
}
}就是在表头的tcHeader[0].Text的地方写得是我选择时间,但是生成EXCEL后,这里的时间就变成了时间下拉列表的第一个时间1990了,怎么搞的啊
解决方案 »
- 奇怪,每次点击QQ网页上的一个链接,都会先跳出这样一个网址:http://?扭摥楤杮/
- GridView的HeaderRow问题,在线等
- vs 2008 中两种新建 :新建-网站-asp.net web 应用程序和新建-项目-asp.net web 应用程序 区别的
- 我在游标里面要用rollback怎么写呢?
- 请问:安装完SQL2005,不见Management Studio,何解?
- 一个累计时间的问题,急!!!各位大侠帮帮忙吧!
- 求asp.net的防刷新记数器代码
- web.config使用问题!===在线等===
- 急!!!checkbox的问题~(在线)
- 为什么我把SQL的连接字符串放到Web.config里的ApplicationSetting里去会出现配置错误
- 如何实现GridView动态增加行,动态编辑行
- 导出非文字信息(如chart)到excel
这样应该可以解决了。
ViewState["bt"] = ddl_time.SelectedValue + "年" + ddl_halfyear.SelectedItem.Text.Trim() + "结算清单" ;GV表头事件:
tcHeader[0].Text = "<font color='#000000'>" + ViewState["bt"].ToString() + "</font></th></tr><tr>";这样问题就解决了,但是我一直不知道为什么以前那样就不行,会出现问题,虽然解决了,但是还是很郁闷的。