检查了下面的链接并尝试使用那里提出的方法没有结果。我的问题涉及使用OLEDB提供程序从Excel文件导入,由于某些我无法理解的原因,当文件在Excel中打开时,导入显示一些列(例如日期)作为文本,它不会发生在文件未被使用。我的问题可以通过检查xls文件是否打开/正在使用来暂时解决,因此我可以发布一条消息,要求用户关闭该文件。
谢谢, 米哈伊尔
答案 0 :(得分:5)
一种方法是以独占模式打开文件。如果文件在任何其他进程中打开,这将失败,并且它还将阻止其他进程打开它,直到您关闭句柄。例如:
File.Open("worksheet.xls", FileMode.Open, FileAccess.Read, FileShare.None);