把EXCEL文件导入到GridView,GridView根据要求动态的增加列!
做一个小网页,要把EXCEL中的内容导入到GridView中,而起还并不是单纯的显示出来就OK了,还要根据要求动态的在GridView显示
因为GridView的每一列绑定于哪一个数据字段,根本不清楚!还好有前人留下的点点滴滴,终于完成了!!
此段代码是吧EXCEL的数据导入到一个数据集中!
这点相对简单,各个地方都有代码可COPY
string mystring = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + savePath + "';Extended properties=Excel 8.0"; OleDbConnection conn = new OleDbConnection(mystring); conn.Open(); OleDbDataAdapter myDa = new OleDbDataAdapter("select * from [Sheet1$]", conn); DataSet myDs = new DataSet(); myDa.Fill(myDs, "xls"); DataTable dt_test = myDs.Tables[0];
如果是原封不动的单纯的显示excel文件的内容,绑定数据源就OK了!
GridView1.DataSource = dt; GridView1.DataBind();
但是我们的目标不是这个,是要动态的显示,动态的绑定
int icols = dt_test.Columns.Count; gv_content.DataSource = dt_test; BoundField f; for (int i = 0; i < icols; i++) { f = new BoundField(); f.HeaderText = "列标题"; f.DataField = dt_test.Columns[i].ColumnName;//绑定的字段 gv_content.Columns.Add(f); } gv_content.DataBind();
这样能修改的幅度就比较大了!