El truco está en meter el excel dentro de un TDataSet, que es lo que necesita un dbgrid para poder trabajar.
Tal y como dice Neftali, con ADO tenés el problema resuelto, ya que hay cierta cadena de conexión que te permite usar el archivo excel con componentes TADOQuery, que es el dataset que necesitas
Si buscas por el foro, vas a encontrar ejemplos y las distintas cadenas de conexión, hay algunas que agregan u omiten las cabeceras, etc
Yo dispongo de una unidad que implementa este acceso a excel usando una clase Delphi:
RTL.Excel
Es necesario que instales
Spring4D o que modifiques un poquito de código
También por como fue diseñado, espera una interface IDataSetCloner que realiza una copia de un TDataSet. Esto lo hacíamos para dejar el excel original intacto y poder cerrar el archivo y que no quede en uso.
Podes implementar tu versión de IDataSetCloner o bien proveer una implementación que no hace ninguna copia y devuelve el TDataSet original. La interface esta en la unidad RTL.DB