I want to read already open excel file with C#. I am using this method but it can't read the excel file while the file is open in Microsoft excel.
FileStream stream = File.Open("myfile.xlsx", FileMode.Open, FileAccess.Read);
It gives IOException: The process cannot access the file 'myfile.xlsx' because it is being used by another process.
I hope you understands what I mean. I want to keep excel file open and while file is open at Microsoft excel i want to read it from C#. I am using C# net framework 4.0
You can try the File.Open with a fourth parameter - fileShare.
You may need to specify write access also.
I think you can still copy the file while excel has it open, so you could make a copy of the file and then open that. Just make sure you clean up after yourself when you are done with the copy.
To open the same file more than once at the same time, it needs to be opened in shared mode.
Hope this may help others.
You could use the Interop library to use the already opened instance of Excel.
You need to open it with FileShare.ReadWrite:
See this answer.
To ensure that correct opening and closing of the file please look at using the c# using statements