Hi,
Since there are no 64-bit OleDb drivers for anything other than SQL Server, therefore, we cannot write 64-bit apps which interface with databases directly.
What you need to do is split your application into a 32 bit part and a 64 bit part, use COM interop to cross the 64/32 bit boundary. For instance, drop the code (just a simple class library compiled as 32 bit) that retrieves the Excel data into a COM+ (System.EnterpriseServices) as a "server type" application, and call that server methods from your 64 bit Windows service. This is exactly why System.EnterpriseServices are made for.
There is already request sent to the product group to ask for 64-bit JET provider for x64 OS. You can check the following link for more information.
https://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=125117
If this does not answer your question, please feel free to mark the post as Not Answered and reply. Thank you!