Две вещи:
Если вы не возражаете против реализации MS GUI, попробуйте OpenFileDialog, чтобы позволить вашему пользователю (если это уместно) выбрать правильный файл:
var openFileDialog1 = new OpenFileDialog();
openFileDialog1.InitialDirectory = "c:\\";
openFileDialog1.Filter = "xlsx files (*.xlsx)|*.xlsx|All files (*.*)|*.*";
openFileDialog1.FilterIndex = 1;
openFileDialog1.RestoreDirectory = true;
Edit:
Затем используйте openFileDialog1.Filename
, чтобы получить имя файла.
OR
Используйте относительный путь, если файл всегда находится в одном и том же реляционном каталоге:
StreamReader reader = new StreamReader("..\\'folder'\\'file'");
Я считаю, что один из этих двух способов всегда будет работать; зависит от того, хочу ли я выбрать файл или нет.
Edit:
Если у вас есть имя файла, используйте Microsoft.Office.Interop.Excel
пространство имен, чтобы получить контроль над файлом в Excel, если это необходимо.
Надеюсь, это поможет!