Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将excel文件上载到数据库时出错_C#_Mysql_Asp.net_Excel - Fatal编程技术网

C# 将excel文件上载到数据库时出错

C# 将excel文件上载到数据库时出错,c#,mysql,asp.net,excel,C#,Mysql,Asp.net,Excel,我正在开发一个webform,它有一个文件上传、一个按钮和一个gridview。用户可以将excel文件上传到数据库,也可以在gridview中查看预览。它工作正常。 我的代码是 string filename = Path.GetFileName(FileUpload1.FileName); FileUpload1.SaveAs(Server.MapPath("~/Publisher/ExcelFiles/") + filename); DataSet ds = new Dat

我正在开发一个webform,它有一个文件上传、一个按钮和一个gridview。用户可以将excel文件上传到数据库,也可以在gridview中查看预览。它工作正常。 我的代码是

string filename = Path.GetFileName(FileUpload1.FileName);
    FileUpload1.SaveAs(Server.MapPath("~/Publisher/ExcelFiles/") + filename);
    DataSet ds = new DataSet();
    string path = @"~/Publisher/ExcelFiles/" + filename;
    OleDbConnection myCon = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;");
    OleDbCommand myComm = new OleDbCommand("select * from [GIRLS$] ", myCon);
    OleDbDataAdapter da = new OleDbDataAdapter(myComm);
    da.Fill(ds);
    GridView1.DataSource = ds;
    GridView1.DataBind();
但我的问题是excel文件的路径,它在da.Fill(ds)处给了我一个错误

“C:\Program Files\Common Files\Microsoft Shared\DevServer\10.0\~\Publisher\ExcelFiles\glist.xls”不是有效路径。确保路径名拼写正确,并且已连接到文件所在的服务器。 excel文件位于我的网站目录中。如果我将路径更改为,则不会出现此错误

任何帮助都将不胜感激。 提前谢谢。

试试这个

string filename = Path.GetFileName(FileUpload1.FileName);

DataSet ds = new DataSet();
string path = Server.MapPath("~/Publisher/ExcelFiles/" + filename);
        FileUpload1.SaveAs(path);
OleDbConnection myCon = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;
DataSource=" + path + ";Extended Properties=Excel 12.0;");
OleDbCommand myComm = new OleDbCommand("select * from [GIRLS$] ", myCon);
OleDbDataAdapter da = new OleDbDataAdapter(myComm);
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
如果上载.xls文件,请使用此

 Provider=Microsoft.Jet.OLEDB.4.0;Data Source=path(which you prefer);Extended Properties="Excel 8.0;HDR=YES;IMEX=1;"
 Provider=Microsoft.ACE.OLEDB.12.0;Data Source=path(which you prefer);Extended Properties="Excel 12.0;HDR=YES;IMEX=1;"
如果上载.xlsx文件,请使用此

 Provider=Microsoft.Jet.OLEDB.4.0;Data Source=path(which you prefer);Extended Properties="Excel 8.0;HDR=YES;IMEX=1;"
 Provider=Microsoft.ACE.OLEDB.12.0;Data Source=path(which you prefer);Extended Properties="Excel 12.0;HDR=YES;IMEX=1;"
我是说

 OleDbConnection myCon = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;
  DataSource=" + path + ";Extended Properties=Excel 8.0;HDR=YES;IMEX=1;");

此错误与您提供的提供程序有关。如果您使用.xls文件,请选择.xls文件或任何其他(.xlsx文件)。请使用此错误。最后,我通过更改工作表名称并使用相同的代码来解决此问题