Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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# 查找文件是否正在使用-特别是xls文件_C#_Oledb - Fatal编程技术网

C# 查找文件是否正在使用-特别是xls文件

C# 查找文件是否正在使用-特别是xls文件,c#,oledb,C#,Oledb,查看下面的链接,并尝试使用此处提出的方法,但没有结果。我的问题与使用OLEDB提供程序从Excel文件导入有关,出于某些我不理解的原因,当文件在Excel中打开时,导入会将某些列(例如日期)显示为文本,而当文件未使用时不会发生这种情况。我的问题可以通过检查xls文件是否已打开/正在使用来暂时解决,因此我可以发布一条消息,要求用户关闭该文件 谢谢, 米哈伊尔 .一种方法是以独占模式打开文件。如果文件在任何其他进程中打开,则此操作将失败,并且在关闭句柄之前,它还将阻止其他进程打开该文件。例如: Fi

查看下面的链接,并尝试使用此处提出的方法,但没有结果。我的问题与使用OLEDB提供程序从Excel文件导入有关,出于某些我不理解的原因,当文件在Excel中打开时,导入会将某些列(例如日期)显示为文本,而当文件未使用时不会发生这种情况。我的问题可以通过检查xls文件是否已打开/正在使用来暂时解决,因此我可以发布一条消息,要求用户关闭该文件

谢谢, 米哈伊尔


.

一种方法是以独占模式打开文件。如果文件在任何其他进程中打开,则此操作将失败,并且在关闭句柄之前,它还将阻止其他进程打开该文件。例如:

File.Open("worksheet.xls", FileMode.Open, FileAccess.Read, FileShare.None); 

一种方法是以独占模式打开文件。如果文件在任何其他进程中打开,则此操作将失败,并且在关闭句柄之前,它还将阻止其他进程打开该文件。例如:

File.Open("worksheet.xls", FileMode.Open, FileAccess.Read, FileShare.None); 

这是谷歌搜索“stackoverflow”的链接。我们这里的所有人都已经找到了。我认为你包含了错误的链接。问题不是重复,但Emmanuel链接是正确的,当文件被Excel打开时,那里的代码对我不起作用。这是指向Google搜索“stackoverflow”的链接。我们这里的所有人都已经找到了。我认为你包含了错误的链接。问题不是重复,但Emmanuel链接是正确的,当文件用Excel打开时,那里的代码对我不起作用。这正是我正在做的,以独占模式打开。该文件在运行我的程序时在Excel中打开,但我能够打开它,结果流不是空的,因此我的问题。这对Excel本身来说是特别的吗?我已经进行了更多的测试,不确定是什么原因导致,有时打开的Excel文件会以独占方式打开,如上面的代码所示,所以我会认为答案是正确的,看看是否能找出Excel的具体内容。谢谢你的帮助!这正是我正在做的,以独占模式打开。该文件在运行我的程序时在Excel中打开,但我能够打开它,结果流不是空的,因此我的问题。这对Excel本身来说是特别的吗?我已经进行了更多的测试,不确定是什么原因导致,有时打开的Excel文件会以独占方式打开,如上面的代码所示,所以我会认为答案是正确的,看看是否能找出Excel的具体内容。谢谢你的帮助!