如何检查由外部进程打开的Excel文件

时间:2018-09-19 06:58:21

标签: c# excel

如何检查由外部进程打开的excel文件,如果打开则如何在c#中关闭它。如何在打开状态下更新文件? 例如,data.xlsx是我的excel文件。 我已经尝试过了。

Process[] excelProcess = Process.GetProcessesByName("excel");
foreach (Process process in excelProcess)
{
    if (process.MainWindowTitle.ToLower() == "data" || process.MainWindowTitle == "Microsoft Excel - data")
    {
        if (!process.HasExited)
        {
            process.Kill();
        }
     }
}  

1 个答案:

答案 0 :(得分:0)

只需打开文件并尝试捕获并处理finally块中的关闭

    try
    {
        fStream = file.Open(FileMode.Open, FileAccess.Read, FileShare.None);
    }
    catch (IOException)
    {
        //File is being used
        return true;
    }
    finally
    {
        if (fStream != null)
            fStream.Close();
    }