Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# OleDbConnection在任何打开的Excel窗口中以只读方式打开工作表_C#_.net_Excel_Oledb - Fatal编程技术网

C# OleDbConnection在任何打开的Excel窗口中以只读方式打开工作表

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

这是一个非常准确的问题: ,但没有答案

如果打开多个Excel窗口,我的程序将在任何Excel窗口中打开只读工作表。也就是说,如果我打开了Test.xlsx,并且在另一个窗口中有一张空白表(假设我的程序想要写入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实例,即使相同的文件正在使用。。。