Because you haven't said anything about how your code is written, I'm going to take an educated guess.
You used Office Interop to read data from an Excel sheet. This means setting a reference to the Microsoft Office Object Library and/or the Microsoft Excel Object Library.
This will NOT work in a web application. Yes, I know it worked on your dev machine. That means nothing. The reason for this is on your dev machine, you are one user hitting the website with single requests. This is fine for Office to handle. But when you have multiple users all hitting the production site at the same time, this is where Office/Excel is going to have problems. Office applications do not support re-entrancey. This means it cannot handle multiple requests simultaneously, which is what websites do all the time.
Office also does not support being run from a non-user desktop, which is what IIS and Windows Services do. Some stuff in Office can be triggered that requires user interaction to complete. Since services run under a desktop that the user cannot see, these operations will never complete because they are waiting for input that will never show up.
There are other ways of reading data from an Excel sheet without using Interop at all. "
Google: C# read data from excel using oledb[
^]"