在Excel中,在插入/更新操作期间,数据不会被保存到Excel文件,直到OLEDB连接打开。当我关闭OLEDB连接时,数据被保存到Excel。如何在不关闭OLEDB连接的情况下反映对excel文件的更改?
示例:向excel写入数据
OledbConnection olecon=new OledbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=filepath;Extended Properties='Excel 12.0;HDR=YES;'");
olecon.open();
OledbCommand cmd=new OledbCommand("Insert into..;",olecon);
cmd.ExecuteNonQuery();
olecon.close();
这段代码可以正常工作。但是如果oledb连接没有关闭(如果您跳过olecon.close();
),插入的数据将不会在excel文件上看到,直到您关闭连接。所以我的问题是,我们如何在不关闭旧连接的情况下保存数据到excel。
一些代码会很有帮助。
而且,如果我没记错的话,c#与moffice产品的集成可以通过它们的互操作汇编来实现,而与旧的连接无关。