Как уже говорили другие, вы почти наверняка захотите внедрить пейджинг на своем уровне доступа к данным, чтобы возвращать небольшие наборы данных из базы данных.
После того, как вы это сделаете, вы можете рассмотреть возможность реализации пользовательского пейджинга.(где они нажимают кнопку, чтобы показать следующую или предыдущую страницу - во многом как здесь, в StackOverflow) или автоматическое разбиение на страницы.
Для автоматического разбиения на страницы (как вы видите в Excel) вам необходимо реализовать виртуальный режим в DataGridView.В этом блоге .
есть хороший пример этого.