调试代码时一直出现这个问题
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