Я нахожу это решение, и оно работает со мной,
для использования файла Excel, он должен уже существовать физически, поэтому я сохранил файл Excel как временный файл и использовал этот временный файл для чтения моих данных,
string sPath = System.IO.Path.GetTempFileName();
System.IO.File.WriteAllBytes(sPath, Properties.Resources.data_base);
примечание: Properties.Resources.data_base это мой файл Excel.
в конце я удаляю этот временный файл для большей безопасности
if (System.IO.File.Exists(sPath ))
{
System.IO.File.Delete(sPath );
}