page_load()
{
if(!ispostback)
{
//生成table
}
}button_click()
{
DataSet ds=new DataSet();
da.Fill(ds,"table1");
DataTable dt=ds.Tables["table1"];
StringWriter sw=new StringWriter();
sw.WriteLine("自动编号,姓名,年龄");
foreach(DataRow dr in dt.Rows)
{
sw.WriteLine(dr["ID"]+","+dr["vName"]+","+dr["iAge"]);
}
sw.Close();
SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]);
SqlDataAdapter da=new SqlDataAdapter("select * from tb1",conn);
DataSet ds=new DataSet();
da.Fill(ds,"table1");
DataTable dt=ds.Tables["table1"];
StringWriter sw=new StringWriter();
foreach(DataRow dr in dt.Rows)
{
sw.WriteLine(dr["ID"]+","+dr["vName"]+","+dr["iAge"]);
}
sw.Close();
Response.AddHeader("Content-Disposition", "attachment; filename=test.csv");
Response.ContentType = "application/ms-excel";
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
Response.Write(sw);
Response.End();
Response.ContentType = "application/ms-excel";
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
Response.Write(sw);
Response.End();
}
我现在是用table做显示的,用了这种方法导excel,在执行了导出后,table能保持显示状态,但是如果这个导出的click事件里面什么也不做的话,table就不显示了,经分析,发现是Response.AddHeader("Content-Disposition", "attachment; filename=test.csv"); 这一句话的效果,请问,为什么这句话能保持table的状态呢? 我的table是动态生成的。
这么一个过程:
进入这个界面—〉table生成了并显示-〉点击导出button->excel导出,如果这个button事件里面什么也不做,则table不见了 。
哪位大哥大姐帮忙讲讲为何这个导出事件后,table能够保持显示?????
{
if(!ispostback)
{
//生成table
}
}button_click()
{
DataSet ds=new DataSet();
da.Fill(ds,"table1");
DataTable dt=ds.Tables["table1"];
StringWriter sw=new StringWriter();
sw.WriteLine("自动编号,姓名,年龄");
foreach(DataRow dr in dt.Rows)
{
sw.WriteLine(dr["ID"]+","+dr["vName"]+","+dr["iAge"]);
}
sw.Close();
SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]);
SqlDataAdapter da=new SqlDataAdapter("select * from tb1",conn);
DataSet ds=new DataSet();
da.Fill(ds,"table1");
DataTable dt=ds.Tables["table1"];
StringWriter sw=new StringWriter();
foreach(DataRow dr in dt.Rows)
{
sw.WriteLine(dr["ID"]+","+dr["vName"]+","+dr["iAge"]);
}
sw.Close();
Response.AddHeader("Content-Disposition", "attachment; filename=test.csv");
Response.ContentType = "application/ms-excel";
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
Response.Write(sw);
Response.End();
Response.ContentType = "application/ms-excel";
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");
Response.Write(sw);
Response.End();
}
我现在是用table做显示的,用了这种方法导excel,在执行了导出后,table能保持显示状态,但是如果这个导出的click事件里面什么也不做的话,table就不显示了,经分析,发现是Response.AddHeader("Content-Disposition", "attachment; filename=test.csv"); 这一句话的效果,请问,为什么这句话能保持table的状态呢? 我的table是动态生成的。
这么一个过程:
进入这个界面—〉table生成了并显示-〉点击导出button->excel导出,如果这个button事件里面什么也不做,则table不见了 。
哪位大哥大姐帮忙讲讲为何这个导出事件后,table能够保持显示?????
解决方案 »
- vs2005 注释语句 为什么还执行
- ASP修改密码,输入相同的密码提示密码不同
- [求助]ASP.NET集成活动目录管理
- 请教:利用C#,如何讲dbf格式的文件导入Oracle数据库中
- 谁个能给一个Repeater 中的AspNetPager1分页功能??适合马上给分?
- .NET开发资源精华收集,欢迎访问及推荐资源
- 一个基础问题,急,在线等
- 问一个从Sql Server转换到 Access遇到的问题?
- 50分:异常详细信息: System.Web.HttpException: 请求在此上下文中不可用
- 关于switch case
- 关于datalist怎么做
- window.confirm弹出的是 确认 取消 对话框,如何弹出 是 否 对话框?谢谢!!
void SubmitBtn_Click(object sender, System.EventArgs e)
{
// 获取Excep文件的完整路径
string source = File1.Value; string ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + source + ";Extended Properties=Excel 8.0";
string query = "SELECT * FROM [Sheet1$]"; OleDbCommand oleCommand = new OleDbCommand(query, new OleDbConnection(ConnStr));
OleDbDataAdapter oleAdapter = new OleDbDataAdapter(oleCommand);
DataSet myDataSet = new DataSet(); // 将 Excel 的[Sheet1]表内容填充到 DataSet 对象
oleAdapter.Fill(myDataSet, "[Sheet1$]"); // 数据绑定
DataGrid1.DataSource = myDataSet;
DataGrid1.DataMember = "[Sheet1$]";
DataGrid1.DataBind();
}