Я импортирую файл Excel с кодом
public partial class GeneralVehicle : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string FilePath;
string Extension;
if (Session["FilePath"] != null && Session["Extension"] != null)
{
FilePath = Convert.ToString(Session["FilePath"]);
Extension = Convert.ToString(Session["Extension"]);
Import_To_Grid(FilePath, Extension);
}
}
private void Import_To_Grid(string FilePath, string Extension)
{
string conStr = "";
switch (Extension)
{
case ".xls": //Excel 97-03
conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}; Extended Properties='Excel 8.0;HDR={1}'";
break;
case ".xlsx": //Excel 07
conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}; Extended Properties='Excel 8.0;HDR={1}'";
break;
}
conStr = String.Format(conStr, FilePath, "Yes");
OleDbConnection connExcel = new OleDbConnection(conStr);
OleDbCommand cmdExcel = new OleDbCommand();
OleDbDataAdapter oda = new OleDbDataAdapter();
DataTable dt = new DataTable();
cmdExcel.Connection = connExcel;
//Get the name of First Sheet
connExcel.Open();
DataTable dtExcelSchema;
dtExcelSchema = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string SheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString();
connExcel.Close();
//Read Data from First Sheet
connExcel.Open();
cmdExcel.CommandText = "SELECT * From [" + SheetName + "] where Print = 'No' ";
oda.SelectCommand = cmdExcel;
oda.Fill(dt);
connExcel.Close();
//Bind Data to GridView
// GridView1.Caption = Path.GetFileName(FilePath);
GridView1.DataSource = dt;
GridView1.DataBind();
}
Excel загружается в первый раз, но когда я пытаюсь загрузить тот же Excel снова, он выдает ошибку.
Процесс не может получить доступ к файлу 'D: \ INETPUB \ VHOSTS \ rajseva.com \ httpdocs \ Files \ passfile_generalvh.xlsx', поскольку он используется другим процессом
Пожалуйста, помогите .
Спасибо.