C# OleDbConnection在任何打开的Excel窗口中以只读方式打开工作表
这是一个非常准确的问题: ,但没有答案 如果打开多个Excel窗口,我的程序将在任何Excel窗口中打开只读工作表。也就是说,如果我打开了Test.xlsx,并且在另一个窗口中有一张空白表(假设我的程序想要写入Test.xlsx);当我这样做时:C# OleDbConnection在任何打开的Excel窗口中以只读方式打开工作表,c#,.net,excel,oledb,C#,.net,Excel,Oledb,这是一个非常准确的问题: ,但没有答案 如果打开多个Excel窗口,我的程序将在任何Excel窗口中打开只读工作表。也就是说,如果我打开了Test.xlsx,并且在另一个窗口中有一张空白表(假设我的程序想要写入Test.xlsx);当我这样做时: OleDbConnection myConn=新的OleDbConnection(conn) myConn.Open() 一个只读副本Test.xLSX将在空白窗口中打开,程序将在该窗口上运行。有没有办法确保myConn使用已经打开的Test.xlsx
OleDbConnection myConn=新的OleDbConnection(conn)代码>
myConn.Open()代码>
一个只读副本Test.xLSX将在空白窗口中打开,程序将在该窗口上运行。有没有办法确保myConn使用已经打开的Test.xlsx
如果有帮助,我的conn
变量为:
“Provider=Microsoft.Jet.OLEDB.4.0;数据源=C:\temp\Test.xlsx;扩展属性=“Excel 8.0;HDR=No”“连接字符串中是否需要“扩展属性”?这是一个非常奇怪的问题…我删除了“扩展属性”部分,同样的问题仍然出现。如果我先打开Test.xlsx,然后打开一个空白窗口,我的程序就会工作。我假设这意味着连接将作用于最近打开的工作表(如从池中获取第一个连接?)。。也许我只是需要一种方法来强制它使用某个连接。我猜OLEDB连接根本不应该使用Excel,所以我很惊讶它会影响现有的Excel实例,即使同一个文件正在使用中……连接字符串中是否需要“扩展属性”?这是一个非常奇怪的问题…我删除了“扩展属性”部分,同样的问题仍然出现。如果我先打开Test.xlsx,然后打开一个空白窗口,我的程序就会工作。我假设这意味着连接将作用于最近打开的工作表(如从池中获取第一个连接?)。。也许我只是需要一种方法来强制它使用某个连接我猜OLEDB连接根本不应该使用Excel,所以我很惊讶它会影响现有的Excel实例,即使相同的文件正在使用。。。