Когда я вставляю значения в excel с помощью windows forms.
private void btn_save_Click(object sender, EventArgs e) { DataTable sheet1 = new DataTable("StockTaking"); OleDbConnectionStringBuilder csbuilder = new OleDbConnectionStringBuilder(); csbuilder.Provider = "Microsoft.ACE.OLEDB.12.0"; csbuilder.DataSource = "D:\\Anwesh\\New Microsoft Excel Worksheet.xls"; csbuilder.Add("Extended Properties", "Excel 12.0 Xml;HDR=YES"); string selectSql = @"SELECT * FROM [New Microsoft Excel Worksheet$]"; using (OleDbConnection con = new OleDbConnection(csbuilder.ConnectionString)) using (OleDbDataAdapter adapter = new OleDbDataAdapter(selectSql, con)) { con.Open(); adapter.Fill(sheet1); } //Insert System.Data.OleDb.OleDbConnection MyConnection; System.Data.OleDb.OleDbCommand myCommand = new System.Data.OleDb.OleDbCommand(); string sql = null; MyConnection = new System.Data.OleDb.OleDbConnection("provider=Microsoft.ACE.OLEDB.12.0;Data Source='C:\\Users\\557546\\Downloads\\New Microsoft Excel Worksheet.xls';Extended Properties=Excel 8.0;"); MyConnection.Open(); myCommand.Connection = MyConnection; myCommand.Parameters.AddWithValue("@col1", txt_warehousNo.Text); myCommand.Parameters.AddWithValue("@col2", txt_barcd.Text); myCommand.Parameters.AddWithValue("@col3", txt_batchnum.Text); myCommand.Parameters.AddWithValue("@col4", txt_itmcode.Text); myCommand.Parameters.AddWithValue("@col5", txt_qty.Text); sql = "Insert into [New Microsoft Excel Worksheet$] (WareHouse No,Barcode,BatchNumber,ItemCode,Quantity) values(@col1,@col2,@col3,@col4,@col5)"; myCommand.CommandText = sql; myCommand.ExecuteNonQuery(); MyConnection.Close(); }
Что я уже пробовал:
Компонент Microsoft Office Access database engine не смог найти объект " новый рабочий лист Microsoft Excel$". Убедитесь, что объект существует и что вы правильно пишете его имя и путь.