[英]How connect the uploaded excel file using OLEDB?
我只想檢查是否可以連接到我最近上傳的Excel文件,這里我使用的是OLE DB。 我想檢查是否可以正確連接到該文件並返回一條消息。 但是,當我嘗試連接到OLE DB時,它將再次上傳相同的文件。 你能幫我解決這個問題嗎
我正在使用C#MVC和OLE DB,在檢查其Excel文件與否之前,我已經上傳了該文件。
呼叫業務並保存文件的控制器
if (_dataExchangeBusiness.IsExcelFile(fname)==true)
{
file.SaveAs(fname);
bool connectioncheck;
connectioncheck = _dataExchangeBusiness.CheckConnection(fname);
return Json(new { Result = "true", Message = "" });
}
else
{
return Json(new { Result = "false", Message = "" });
}
這是檢查Excel文件的業務
public bool IsExcelFile(string fname)
{
string extension = Path.GetExtension(fname);
try
{
if(extension== ".xls" || extension== ".xlsx")
{
return true;
}
else
{
return false;
}
}
catch(Exception ex)
{
throw ex;
}
}
這是檢查業務中的OLE DB連接的方法
public bool CheckConnection(string fname)
{
string extension = Path.GetExtension(fname);
try
{
string connstring = string.Empty;
switch (extension)
{
case ".xls":
connstring = string.Format(ConfigurationManager.ConnectionStrings["Excel03ConString"].ConnectionString, fname);
break;
case ".xlsx":
connstring = string.Format(ConfigurationManager.ConnectionStrings["Excel07+ConString"].ConnectionString, fname);
break;
}
OleDbConnection connExcel = new OleDbConnection(connstring);
OleDbCommand cmdExcel = new OleDbCommand();
cmdExcel.Connection = connExcel;
try
{
connExcel.Open();
DataTable dtExcelSchema;
dtExcelSchema = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
// cmdExcel.ExecuteNonQuery();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
connExcel.Close();
}
}
catch(Exception ex)
{
throw ex;
}
return true;
}
在這里,我期望結果為true或false,即是否可以建立連接
public bool CheckConnection(string fname)
{
string extension = Path.GetExtension(fname);
try
{
string connstring = string.Empty;
switch (extension)
{
case ".xls":
connstring = string.Format(ConfigurationManager.ConnectionStrings["Excel03ConString"].ConnectionString, fname);
break;
case ".xlsx":
connstring = string.Format(ConfigurationManager.ConnectionStrings["Excel07+ConString"].ConnectionString, fname);
break;
}
OleDbConnection connExcel = new OleDbConnection(connstring);
OleDbCommand cmdExcel = new OleDbCommand();
cmdExcel.Connection = connExcel;
//bool canconnect = false;
try
{
connExcel.Open();
return true;
//DataTable dtExcelSchema;
//dtExcelSchema = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
// cmdExcel.ExecuteNonQuery();
}
catch
{
return false;
}
finally
{
connExcel.Close();
}
}
catch(Exception ex)
{
throw ex;
}
}
只是在connExcel.Open();
之后返回true connExcel.Open();
如果可以連接則返回true,否則返回false
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.