Я размышляю, потому что я только что попробовал это на обычном проекте взаимодействия, но если вы получаете доступ к Sheets из рабочей книги вместо объекта приложения, похоже, это работает нормально. В качестве теста я запустил его, чтобы убедиться, что имя менялось, чтобы каждый раз иметь правильный объект листа.
Этот может не быть вашей проблемой. Я упомянул в своем комментарии, что ваш read_Excel_File_into_DataGridView
метод может принимать, но игнорировать параметр рабочей таблицы, которую вы передаете.
Однако попробуйте это и посмотрите, будет ли лучше.
Microsoft.Office.Interop.Excel.Application excel =
(Microsoft.Office.Interop.Excel.Application)Marshal.GetActiveObject("Excel.Application");
Workbook wb = (Workbook)excel.ActiveWorkbook;
for (int i = 1; i < wb.Worksheets.Count; i++)
{
MessageBox.Show(wb.Worksheets[i].Name);
}