之后,我试图在Excel工作表中(不插入/删除/更新)记录,而不使用按钮事件。我正在尝试在datagridview事件中执行此操作。
因此,我尝试使用一些事件,例如Rowsadded
,Rowsremoved
和CellEndEdit
。
例如:
要在Excel工作表中添加新记录,我使用了以下代码:
public void InsertnewRaw(string WorkBookPath, string qry) {
string constr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="
+ WorkBookPath + ";Extended Properties=Excel 12.0;";
using (OleDbConnection con = new OleDbConnection(constr))
{
con.Open();
System.Data.OleDb.OleDbCommand myCommand =
new System.Data.OleDb.OleDbCommand();
myCommand.Connection = con;
myCommand.CommandText = qry;
myCommand.ExecuteNonQuery();
con.Close();
}
}
,在datagridview的Rowsadded
事件中,我使用了以下代码:
private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
{
string qry = string.Format("Insert into [Sheet1$] ([id],[Student name])
values('" + dataGridView1[0, e.RowIndex].Value + "','" +
dataGridView1[1, e.RowIndex].Value + "')");
//Calling the insertnewraw function
InsertnewRaw(FirstYearData[1],qry);
}
但是会引发此异常:
是否有正确建议?
将“添加,删除,更新” Excel工作表添加到datagridview事件
谢谢。