合并excel多个工作表至一个dataset时遇到的奇怪有关问题
合并excel多个工作表至一个dataset时遇到的奇怪问题
在将excel数据导入数据库时遇到的问题,如图所示
有些excel表中数据并没有写入dataset中,有些直接为为感叹号
excel中的三个sheet格式相同,后2个sheet是第一个sheet复制过去的,如图
我的代码如下
------解决方案--------------------
另外参见
http://dotnet.aspx.cc/file/ADO.NET-Excel-IMEX=1.aspx
再不行,就发excel给我
在将excel数据导入数据库时遇到的问题,如图所示
有些excel表中数据并没有写入dataset中,有些直接为为感叹号
excel中的三个sheet格式相同,后2个sheet是第一个sheet复制过去的,如图
我的代码如下
- C# code
public DataSet ExcelDS(string filenameurl,string tablename) { string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filenameurl + ";Extended Properties=\"Excel 12.0;HDR=YES\""; OleDbConnection conn = new OleDbConnection(strConn); conn.Open(); //這段Code的用意是在取得所有的SheetName DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "table" }); DataSet ds = new DataSet(); try { for (int i = 0; i < dt.Rows.Count; i++) { //這段Code是在檢查sheet的名字後面有沒有加上$,沒有的話,就補上. if (dt.Rows[i]["TABLE_Name"].ToString().IndexOf("$") < 0) { dt.Rows[i]["TABLE_Name"] += "$"; } OleDbDataAdapter odda = new OleDbDataAdapter("Select * From [" + dt.Rows[i]["TABLE_Name"].ToString() + "] ", conn); //读取第i个sheet odda.Fill(ds, tablename); } } catch (Exception ex) { throw; } return ds; }
------解决方案--------------------
另外参见
http://dotnet.aspx.cc/file/ADO.NET-Excel-IMEX=1.aspx
再不行,就发excel给我