下面的是大家常用的 DataSet读取excel的方法,但在检查结果时发现表格里的纯数字数据没有读出来,其他字符串就正常,考虑到是数据类型问题,就又改了代码,发现还是一样,后来网上找方法说是修改注册表,结果问题依旧,后来找到个方法,把xls保存为xlsx格式,即2007的文件格式,结果就能读出来了,微软这玩意真是坑爹......
DataSet ds;
string no = "";
string strCon = "Provider=Microsoft.Ace.OleDb.12.0; data source= aaa.xlsx;Extended Properties='Excel 12.0; HDR=YES; IMEX=1'";
OleDbConnection myConn = new OleDbConnection(strCon);
string strCom = " SELECT * FROM [Sheet1$]";
myConn.Open();
OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
ds = new DataSet();
myCommand.Fill(ds);