السلام عليكم
حاولت استيراد البيانات من اكسيل الى data table لغرض تصديرها الى قاعدة بيانات اكسيس
المشكلة التي واجهتني في عملية الاستيراد من اكسيل وتعبئة data table
حيث ظهرت لي رسالة تفيد
System.InvalidOperationException: 'إن الموفر 'Microsoft.ACE.OLEDB.12.0' غير مسجل على الجهاز المحلي.'
للتوضيح تم ارفاق صورة
حاولت استيراد البيانات من اكسيل الى data table لغرض تصديرها الى قاعدة بيانات اكسيس
كود :
private void cmdExcel_Click(object sender, EventArgs e)
{
{
OpenFileDialog op = new OpenFileDialog();
op.Filter = "Excel 97 - 2003|*.xls|Excel 2007|*.xlsx";
if (op.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
if (File.Exists(op.FileName))
{
string[] Arr = null;
Arr = op.FileName.Split('.');
if (Arr.Length > 0)
{
if (Arr[Arr.Length - 1] == "xls")
{
sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + op.FileName + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\";";
}
else if (Arr[Arr.Length - 1] == "xlsx")
sConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + op.FileName + ";Extended Properties='Excel 12.0 XML;HDR=YES;';";
}
}
FillData();
}
}
}
public string sConnectionString;
private void FillData()
{
if (sConnectionString.Length > 0)
{
OleDbConnection cn = new OleDbConnection(sConnectionString);
cn.Open();
DataTable dt = new DataTable();
OleDbDataAdapter Adpt = new OleDbDataAdapter("selsct * from [tblBlackList]", cn);
Adpt.Fill(dt);
}
{
OleDbConnection con = new OleDbConnection(sConnectionString);
da = new OleDbDataAdapter("selsct * from [tblBlackList]", con);
dt = new DataTable();
da.Fill(dt);
}
{المشكلة التي واجهتني في عملية الاستيراد من اكسيل وتعبئة data table
حيث ظهرت لي رسالة تفيد
System.InvalidOperationException: 'إن الموفر 'Microsoft.ACE.OLEDB.12.0' غير مسجل على الجهاز المحلي.'
للتوضيح تم ارفاق صورة
