excel导入到网页上,并通过动态生成的gridview显示

来源:百度知道 编辑:UC知道 时间:2024/05/14 13:01:56
public DataSet ExcelDataSource( string filepath , string sheetname )
{
string strConn;
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties=Excel 8.0;";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
OleDbDataAdapter oada = new OleDbDataAdapter("select * from [" + sheetname + "]", conn);
DataSet ds = new DataSet ();
try
{
oada.Fill(ds);//填充DataSet
//动态生成gridview
GridView getgv = new GridView(); //for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
//{
// BoundField bc = new BoundField();
// bc.DataField = ds.Tables[0].Columns[i].ColumnName.ToString();
// bc.HeaderText = ds.Ta

页面每次重新提交,页面的控件都需要进行重新加载。
代码中的GridView 是动态产生,如果页面每次提交时,不调用ExcelDataSource()方法,那么页面将不会保存动态产生的控件。
你可以试一试将GRIDEVIEW保存在VIEWSTATE中,每次页面加载的时候,再去获得这个GRIDEVIEW