通过上传控件把EXECL表导入到GridView后能显示,但分页的事件那么写不行,请高手帮忙看下应该怎么改
protected void Button1_Click(object sender, EventArgs e)
{
//判断是否上传了文件
if (fileUpload.HasFile)
{
//指定上传文件在服务器上的保存路径
string savePath = Server.MapPath("~/upload/");
//检查服务器上是否存在这个物理路径,如果不存在则创建
if (!System.IO.Directory.Exists(savePath))
{
System.IO.Directory.CreateDirectory(savePath);
}
string fileName = savePath + "\\" + fileUpload.FileName;
fileUpload.SaveAs(fileName);//保存文件
GridView1.DataSource = ImportExcel(fileName).Tables[0].DefaultView;
GridView1.DataBind();
} }
public DataSet ImportExcel(string strFileName)
{
if (strFileName != "")
{
string conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strFileName + ";Extended Properties=Excel 8.0";
string sql = "select * from [sheet1$]";
OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);
DataSet ds = new DataSet();
try
{
da.Fill(ds);
}
catch { } return ds;
}
else
{
return null;
}
}
protected void GridView1_PageIndexChanging1(object sender, GridViewPageEventArgs e)
{
// GridView1.DataSource = ImportExcel(fileName).Tables[0].DefaultView;
GridView1.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)
{
//判断是否上传了文件
if (fileUpload.HasFile)
{
//指定上传文件在服务器上的保存路径
string savePath = Server.MapPath("~/upload/");
//检查服务器上是否存在这个物理路径,如果不存在则创建
if (!System.IO.Directory.Exists(savePath))
{
System.IO.Directory.CreateDirectory(savePath);
}
string fileName = savePath + "\\" + fileUpload.FileName;
fileUpload.SaveAs(fileName);//保存文件
GridView1.DataSource = ImportExcel(fileName).Tables[0].DefaultView;
GridView1.DataBind();
} }
public DataSet ImportExcel(string strFileName)
{
if (strFileName != "")
{
string conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strFileName + ";Extended Properties=Excel 8.0";
string sql = "select * from [sheet1$]";
OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);
DataSet ds = new DataSet();
try
{
da.Fill(ds);
}
catch { } return ds;
}
else
{
return null;
}
}
protected void GridView1_PageIndexChanging1(object sender, GridViewPageEventArgs e)
{
// GridView1.DataSource = ImportExcel(fileName).Tables[0].DefaultView;
GridView1.DataBind();
}
GridView1.DataSource = ImportExcel(fileName).Tables[0].DefaultView;
GridView1.DataBind();
//绑定数据
参考
http://www.cnblogs.com/xdotnet/archive/2006/09/29/gridview_paging_myself.html
{
//判断是否上传了文件
if (fileUpload.HasFile)
{
//指定上传文件在服务器上的保存路径
string savePath = Server.MapPath("~/upload/");
//检查服务器上是否存在这个物理路径,如果不存在则创建
if (!System.IO.Directory.Exists(savePath))
{
System.IO.Directory.CreateDirectory(savePath);
}
string fileName = savePath + "\\" + fileUpload.FileName;
fileUpload.SaveAs(fileName);//保存文件
GridView1.DataSource = ImportExcel(fileName).Tables[0].DefaultView;
GridView1.DataBind();
} }
public DataSet ImportExcel(string strFileName)
{
if (strFileName != "")
{
string conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strFileName + ";Extended Properties=Excel 8.0";
string sql = "select * from [sheet1$]";
OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);
DataSet ds = new DataSet();
try
{
da.Fill(ds);
}
catch { } return ds;
}
else
{
return null;
}
}
protected void GridView1_PageIndexChanging1(object sender, GridViewPageEventArgs e)
{
//先设PageSize,AllowPaging
this.GridView1.PageIndex = e.NewPageIndex;
GridView1.DataBind();
}
我是这么写的,上传第一次能正常显示,但是点分页的时候就不显示了,请高手帮忙看下
或者protected void GridView1_PageIndexChanging1(object sender, GridViewPageEventArgs e)
{
//先设PageSize,AllowPaging
this.GridView1.PageIndex = e.NewPageIndex;
GridView1.DataSource = ImportExcel(fileName).Tables[0].DefaultView;
GridView1.DataBind();
}
//再给数据源重新赋值
改成
//先设PageSize,AllowPaging
this.GridView1.PageIndex = e.NewPageIndex;
string savePath = Server.MapPath("~/upload/");
//检查服务器上是否存在这个物理路径,如果不存在则创建
if (!System.IO.Directory.Exists(savePath))
{
System.IO.Directory.CreateDirectory(savePath);
}
string fileName = savePath + "\\" + fileUpload.FileName;
GridView1.DataSource = ImportExcel(fileName).Tables[0].DefaultView;
GridView1.DataBind();
的话就运行就会显示不存在表0,怎么回事啊~~~求助中~~~~~~