C# 获取表“\u xlnm\u FilterDatabase”已存在

C# 获取表“\u xlnm\u FilterDatabase”已存在,c#,excel,oledb,C#,Excel,Oledb,我正在尝试使用oledb数据提供程序将excel导入sql server。在我的本地计算机上,代码运行正常,但当我在live server上测试代码时,我得到的错误表“\u xlnm\u FilterDatabase”已经存在 我在本地调试代码,没有找到任何xlnm_FilterDatabase。我无法理解为什么会出现这个错误以及如何处理它。请帮忙 以下是我的excel导入操作代码: public ActionResult Upload(ImportExcel importExcel)

我正在尝试使用oledb数据提供程序将excel导入sql server。在我的本地计算机上,代码运行正常,但当我在live server上测试代码时,我得到的错误表“\u xlnm\u FilterDatabase”已经存在

我在本地调试代码,没有找到任何xlnm_FilterDatabase。我无法理解为什么会出现这个错误以及如何处理它。请帮忙

以下是我的excel导入操作代码:

public ActionResult Upload(ImportExcel importExcel)
        {
            HospitalModel objModel = new HospitalModel();
            List<HospitalsViewModel> objViewModelList = new List<HospitalsViewModel>();
            //int sampleCollectionHospitalId = 0;
            //int sampleTestingHospitalId = 0;
            if (ModelState.IsValid)
            {
                string path = Server.MapPath("~/Content/Upload/" + importExcel.file.FileName);
                importExcel.file.SaveAs(path);

                //string excelConnectionString = @"Provider='Microsoft.ACE.OLEDB.12.0';Data Source='" + path + "';Extended Properties='Excel 12.0 Xml;IMEX=1'";
                string excelConnectionString = @"Provider='Microsoft.ACE.OLEDB.12.0';Data Source='" + path + "';Mode=ReadWrite;Extended Properties='Excel 12.0 Xml;HDR=Yes'";


                OleDbConnection excelConnection = new OleDbConnection(excelConnectionString);

                excelConnection.Open();
                string tableName = excelConnection.GetSchema("Tables").Rows[0]["TABLE_NAME"].ToString();

                if (tableName.ToString().Contains("FilterDatabase"))
                {
                    tableName = excelConnection.GetSchema("Tables").Rows[0]["TABLE_NAME"].ToString();
                    return RedirectToAction("Add");
                }

                excelConnection.Close();

                string sSqlCreateTable = "Create Table [" + tableName + "] ([SerialNumber] Int, [SampleId] nvarchar(100), [Name] nvarchar(100), [Age] decimal(5, 2), [Sex] nvarchar(50), [Area] nvarchar(100), [Address] nvarchar(100), [MobileNumber] nvarchar(50), [State] nvarchar(50), [DateofSampleCollection] date, [DateofSampleTesting] date, [SampleCollectionHospital] nvarchar(50), [SampleTestingHospital] nvarchar(50), [Result] nvarchar(50), [DateofDischarge] date, [DateofDeceased] date)";
                excelConnection.Open();
                OleDbCommand cmd1 = new OleDbCommand(sSqlCreateTable, excelConnection);
                cmd1.ExecuteNonQuery();

                OleDbCommand cmd = new OleDbCommand("Select * from [" + tableName + "]", excelConnection);

                

                OleDbDataReader dReader;
                dReader = cmd.ExecuteReader();
                SqlBulkCopy sqlBulk = new SqlBulkCopy(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);

                


                //Give your Destination table name
                sqlBulk.DestinationTableName = "PositiveCasesMaster";
                //Mapping

                sqlBulk.ColumnMappings.Add("SerialNumber", "SerialNumber");
                sqlBulk.ColumnMappings.Add("Sampleid", "SampleId");
                sqlBulk.ColumnMappings.Add("Name", "Name");
                sqlBulk.ColumnMappings.Add("Age", "Age");
                sqlBulk.ColumnMappings.Add("Sex", "Sex");
                sqlBulk.ColumnMappings.Add("Area", "Area");
                sqlBulk.ColumnMappings.Add("Address", "Address");
                sqlBulk.ColumnMappings.Add("MobileNumber", "MobileNumber");
                sqlBulk.ColumnMappings.Add("State", "State");
                sqlBulk.ColumnMappings.Add("DateofSampleCollection", "DateofSampleCollection");
                sqlBulk.ColumnMappings.Add("DateofSampletesting", "DateofSampleTesting");
                sqlBulk.ColumnMappings.Add("Samplecollectionhospital", "SampleCollectionHospital");
                sqlBulk.ColumnMappings.Add("Sampletestinghospital", "SampleTestingHospital");
                sqlBulk.ColumnMappings.Add("Result", "Result");
                sqlBulk.ColumnMappings.Add("DateofDischarge", "DateofDischarge");
                sqlBulk.ColumnMappings.Add("DateofDeceased", "DateofDeceased");

                sqlBulk.WriteToServer(dReader);
                excelConnection.Close();

                ViewBag.Result = "Successfully Imported";
            }
            return View();
        }