public DataSet ExecleDs(string filenameurl, string table)
{
string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + filenameurl + ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";
OleDbConnection conn = new OleDbConnection(strConn);
OleDbDataAdapter odda = new OleDbDataAdapter("select * from [Sheet1$]", conn);
DataSet ds = new DataSet();
odda.Fill(ds, table);
return ds;
}
////////
真正上传操作
string strpath = fu_Input.PostedFile.FileName.ToString(); ; //获取Execl文件路径
string filename = fu_Input.FileName; //获取Execl文件名
DataSet ds = ExecleDs(strpath, filename);
就在这儿出现错误,
会提示
Microsoft Jet 数据库引擎找不到对象'C:\Program Files\Common Files\Microsoft Shared\DevServer\10.0\书法教材征订单.xls'。请确定对象是否存在,并正确地写出它的名称和路径。
不管你选择什么地方的东西上传,都会提示'C:\Program Files\Common Files\Microsoft Shared\DevServer\10.0\'目录下没有,确实没有呀,他的路径怎么老出错呢,不是我选择的上传文件的地址??
代码参考的这里的:http://www.cnblogs.com/boss504/articles/1182600.html
10 个解决方案
#1
string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + filenameurl + ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";
改为
string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + server.mappath(filenameurl)+ ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";
改为
string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + server.mappath(filenameurl)+ ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";
#2
或将filenameurl指定为绝对定位路径:如F:\bak\a.cvs
#3
先上传到服务器上,然后在读取服务器上的内容,然后再把服务器上的文件删除。你那没有上传到服务器上吧。
#4
你先把
string strpath = fu_Input.PostedFile.FileName.ToString(); ; //获取Execl文件路径
string filename = fu_Input.FileName; //获取Execl文件名
这两个写死。
然后跑程序 如果不行的话 就是程序有问题。
上传是excel导入DataTable中的。
前台调用的时候
UploadInventoryData("sheet名字", @"E:全路径");
试试
string strpath = fu_Input.PostedFile.FileName.ToString(); ; //获取Execl文件路径
string filename = fu_Input.FileName; //获取Execl文件名
这两个写死。
然后跑程序 如果不行的话 就是程序有问题。
上传是excel导入DataTable中的。
public void UploadInventoryData(string sheetName, string excelFile)
{
string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + excelFile + ";" + "Extended Properties=Excel 12.0;";
string strExcel = "select * from [" + sheetName + "$]";
DataSet ds = new DataSet();
OleDbConnection conns = new OleDbConnection(strConn);
conns.Open();
OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, conns);
adapter.Fill(ds, "res");
conns.Close();
}
前台调用的时候
UploadInventoryData("sheet名字", @"E:全路径");
试试
#5
Microsoft Jet 数据库引擎找不到对象'D:\web\上传照片,
有出现这个错误,我是要上传EXCEL
然后把EXCEL数据导入数据库:(
有出现这个错误,我是要上传EXCEL
然后把EXCEL数据导入数据库:(
#6
可能是这问题,我全参考那网站上的内容,运行不起来:(
#7
代码参考的这里的:http://www.cnblogs.com/boss504/articles/1182600.html
没有需要上传:(怎么把选择的EXCEL文件先上传到服务器,再导入呀,最后导入成功再删除?
没有需要上传:(怎么把选择的EXCEL文件先上传到服务器,再导入呀,最后导入成功再删除?
#8
fu_Input.SaveAs(path)这个函数是上传到服务器上的,path是上传到服务器上的路径。
#9
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();//打开
OleDbDataAdapter odda = new OleDbDataAdapter("select * from [Sheet1$]", conn);
DataSet ds = new DataSet();
odda.Fill(ds, table);
conn.Close();
conn.Open();//打开
OleDbDataAdapter odda = new OleDbDataAdapter("select * from [Sheet1$]", conn);
DataSet ds = new DataSet();
odda.Fill(ds, table);
conn.Close();
#10
我要如何知道我自己的Sheet1$是什么名字啊?这个sheet1$是什么意思呢?
#1
string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + filenameurl + ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";
改为
string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + server.mappath(filenameurl)+ ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";
改为
string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + server.mappath(filenameurl)+ ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";
#2
或将filenameurl指定为绝对定位路径:如F:\bak\a.cvs
#3
先上传到服务器上,然后在读取服务器上的内容,然后再把服务器上的文件删除。你那没有上传到服务器上吧。
#4
你先把
string strpath = fu_Input.PostedFile.FileName.ToString(); ; //获取Execl文件路径
string filename = fu_Input.FileName; //获取Execl文件名
这两个写死。
然后跑程序 如果不行的话 就是程序有问题。
上传是excel导入DataTable中的。
前台调用的时候
UploadInventoryData("sheet名字", @"E:全路径");
试试
string strpath = fu_Input.PostedFile.FileName.ToString(); ; //获取Execl文件路径
string filename = fu_Input.FileName; //获取Execl文件名
这两个写死。
然后跑程序 如果不行的话 就是程序有问题。
上传是excel导入DataTable中的。
public void UploadInventoryData(string sheetName, string excelFile)
{
string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + excelFile + ";" + "Extended Properties=Excel 12.0;";
string strExcel = "select * from [" + sheetName + "$]";
DataSet ds = new DataSet();
OleDbConnection conns = new OleDbConnection(strConn);
conns.Open();
OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, conns);
adapter.Fill(ds, "res");
conns.Close();
}
前台调用的时候
UploadInventoryData("sheet名字", @"E:全路径");
试试
#5
Microsoft Jet 数据库引擎找不到对象'D:\web\上传照片,
有出现这个错误,我是要上传EXCEL
然后把EXCEL数据导入数据库:(
有出现这个错误,我是要上传EXCEL
然后把EXCEL数据导入数据库:(
#6
可能是这问题,我全参考那网站上的内容,运行不起来:(
#7
代码参考的这里的:http://www.cnblogs.com/boss504/articles/1182600.html
没有需要上传:(怎么把选择的EXCEL文件先上传到服务器,再导入呀,最后导入成功再删除?
没有需要上传:(怎么把选择的EXCEL文件先上传到服务器,再导入呀,最后导入成功再删除?
#8
fu_Input.SaveAs(path)这个函数是上传到服务器上的,path是上传到服务器上的路径。
#9
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();//打开
OleDbDataAdapter odda = new OleDbDataAdapter("select * from [Sheet1$]", conn);
DataSet ds = new DataSet();
odda.Fill(ds, table);
conn.Close();
conn.Open();//打开
OleDbDataAdapter odda = new OleDbDataAdapter("select * from [Sheet1$]", conn);
DataSet ds = new DataSet();
odda.Fill(ds, table);
conn.Close();
#10
我要如何知道我自己的Sheet1$是什么名字啊?这个sheet1$是什么意思呢?