调试代码时一直出现这个问题
static void Main(string[] args) { Program p = new Program(); DataTable dt = p.LoadDataFromExcel(System.Environment.CurrentDirectory+"\H2.csv"); Console.WriteLine(dt.Rows[1][1]); Console.ReadLine(); } public DataTable LoadDataFromExcel(string Path) { //string strConn = "Provider=Microsoft.Ace.OleDb.12.0;" + "data source=" + Path + ";Extended Properties="Excel 12.0; HDR=Yes; IMEX=1""; string strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Excel 8.0"; OleDbConnection conn = new OleDbConnection(strConn); conn.Open(); string strExcel = ""; OleDbDataAdapter myCommand = null; DataTable dt = null; strExcel = "select * from [sheet1$]"; myCommand = new OleDbDataAdapter(strExcel, strConn); dt = new DataTable(); myCommand.Fill(dt); return dt; }
“Microsoft Jet 数据库引擎找不到对象”sheet1$”。请确定对象能否存在,并正确地写出它的名称和路径。“确实是word 2003的,不知道该修改哪里
解决方案
10
[sheet1$]是指excel的工作页,就是底下的分页,默认是[sheet1], 不知道你的文件是不是写了本人的名称.
10
ole和jet访问方式不同,驱动也不同,建议你去看看www dot connectionstrings dot com