[.Net码农]EXCEL变DataTable
来源:互联网 发布:盟军敢死队2 for mac 编辑:程序博客网 时间:2024/06/14 00:59
//Excel导入 public DataTable ExcelImportTotImportSequenceNo(string filePath, string ExtensionName) { OleDbConnection olecon = null; OleDbDataAdapter oleda = null; string con = ""; try { if (ExtensionName == ".xls") con = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;IMEX=1'"; else con = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties='Excel 12.0;HDR=Yes;IMEX=1'"; olecon = new OleDbConnection(con); olecon.Open(); //返回Excel的架构,包括各个sheet表的名称,类型,创建时间和修改时间等 DataTable dtSheetName = olecon.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "Table" }); oleda = new OleDbDataAdapter(string.Format("select * from [Sheet1$]"), olecon); DataTable dt = new DataTable(); oleda.Fill(dt); //对列名 进行空格处理 for (int i = 0; i < dt.Columns.Count; i++) { dt.Columns[i].ColumnName = dt.Columns[i].ColumnName.Trim(); } return dt; } catch (Exception ex) { oleda.Dispose(); olecon.Dispose(); olecon.Close(); throw ex; } finally { oleda.Dispose(); olecon.Dispose(); olecon.Close(); }
[Sheet1$]
这个名字为Excel内的表名