Я работаю над приложением Windows в c # .net, где мне нужно импортировать лист Excel в базу данных Access с использованием кода в C #.Я нашел следующий код в сети и попытался использовать:
string path = @"D:\project_excel";
OleDbConnection con;
System.Data.DataTable dt = null;
//Connection string for oledb
string conn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + path + "; Extended Properties=Excel 8.0;";
con = new OleDbConnection(conn);
try
{
con.Open();
dt = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
String[] excelsheets = new String[dt.Rows.Count];
int i = 0;
foreach (DataRow dr in dt.Rows)
{
excelsheets[i] = dr["TABLE_NAME"].ToString();
i++;
}
// here i manaually give the sheet number in the string array
DataSet ds = new DataSet();
foreach (string temp in excelsheets)
{
// Query to get the data for the excel sheet
//temp is the sheet name
string query = "select * from [" + temp + "]";
OleDbDataAdapter adp = new OleDbDataAdapter(query, con);
adp.Fill(ds, temp);//fill the excel sheet data into a dataset ds
}
}
catch (Exception ex)
{
}
finally
{
con.Close();
}
Однако он дает исключение, которое упоминается ниже:
Ядро базы данных Microsoft Jet не может открыть файл'D: \ project_excel.Он уже открыт исключительно другим пользователем, или вам необходимо разрешение на просмотр его данных.
Кроме того, я не знаю значения расширенных свойств.Я использую пакет Microsoft Office 2007. Если я установил Расширенные свойства = 7.0, выдается следующая ошибка:
Не удалось найти устанавливаемый ISAM.
Пожалуйста, помогите, предоставив некоторый кодобразец.
Заранее спасибо ..