如何导入Excel....在页面上有绑定的gridview,然后下面有上传文件,导入Excel...如何实现呢?
打比方..我有30辆车.每辆车上运的东西,都在Excel中写好了.一个一个输入太过繁琐,怎么样可以我上传一个Excel,,,把所有车上需要运的东西.都存储起来呢?来个帮忙的,例子最好了....
protected DataTable ExcelToDT(string fileName) { string str = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + ";Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1\"";
OleDbConnection conn = new OleDbConnection(str); DataTable exceldt = new DataTable(); try { conn.Open(); DataTable tableschema = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);//获取excel表中的标题 string sheetname = tableschema.Rows[0][2].ToString().Trim();//获取excel表中第一个Sheet的名称 string oledbstr = "select * from [" + sheetname + "]"; OleDbCommand com = new OleDbCommand(oledbstr, conn); OleDbDataAdapter adp = new OleDbDataAdapter(com); adp.Fill(exceldt); conn.Close(); File.Delete(fileName); exceltodata = true; } catch { //显示错误信息 //throw(e); exceltodata = false; } finally { if (conn.State == ConnectionState.Open) { conn.Close(); } } return exceldt; }
上面的代码实现的是将excel中的内容导入datatable中。将这个作为GV的数据源就OK了。注意GV中每列的列名要与datatable中的一致。另外,代码中使用的是ACE接口,需要你的电脑上安装有office2007(你自己安装了ACE组件也行)。
谢谢噢!明天来了继续,明天联系噢!
hi guy.
我觉得楼主问问题的方式不对。按照你的需求,你应该依次解决以下几个问题:
然后再对每一步进行解决,这样相信楼主不需要别人的帮助也能搞定,即使遇到一些困难,也是具体问题,再来发问会更有针对性。这样大家也更容易帮助你。:)
恩恩,谢谢了.
NPOI操作excel的利器。