Microsoft Jet 数据库引擎找不到对象'D:\ss.xls'。请确定对象是否存在,并正确地写出它的名称和路径。
C# code
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 = FileUpload1.PostedFile.FileName.ToString();
//获取Execle文件路径
string filename = FileUpload1.FileName;
//获取Execle文件名
DataSet ds = ExecleDs(strpath,filename);
连接不上exeel,在本机上没问题,在服务器上就有问题了,,服务器已装excel2003
------解决方案--------------------
首先要确定d盘下有没有ss.xls这个文件,其实可用d:\\ss.xls看下,或者也有可能你用的是office 2007版的,如果是的话,可能你的数据库连接字符串得稍修修改下了,怎么修改可以网上搜索下
------解决方案--------------------
看看这个帖子 你换种方式试试?
http://kb.cnblogs.com/a/1523479/
------解决方案--------------------
检查路径是否具有相关操作权限
用 Excel 的工作簿名称替换 SQL 语句中的 Sheet1
Server.MapPath("~/")
------解决方案--------------------
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
using(OleDbConnection OleConn = new OleDbConnection(strConn))
{
OleConn.Open();
String sql = "SELECT * FROM [Sheet1$]";
OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
DataSet ds= new DataSet();
OleDaExcel.Fill(ds);
OleConn.Close();
}