把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(); |
这样能修改的幅度就比较大了!
转自:http://www.cnblogs.com/allan5204/archive/2012/08/09/2629869.html