Buenas, yo diria q lo mejor es comprar una licencia de alguna libreria para que no tengas que sufrir con la generacion de los archivos excel. Pero si aun asi deseas armar un doc en excel puedes utilizar los componentes COM de Office que se te instalan junto a la instalacion de estos programas y los cuales puedes utilizar desde cualquier lenguaje que interprete COM desde el VB6 hasta los mas nuevos de .NET, la documentacion que hay sobre este tipo de cosa en la red es lo basico de como armar una hoja y mandarle informacion en ellas pero por lo menos en mi caso nunca puede encontrar mucha info al respecto. Otra forma no muy elegante de hacer algo similar es crear un html con toda la informacion en tablas y luego con algunas modificaciones a sus datos MIME guardarlo como un .xsl lo cual hara que excel habra el documento solo para lectura. Tambien estan las herramientas que te brinda Visual Studio para office aunque no recuerdo en que version estan, creo que era a partir de las profesional en adelante lo cual significa mucha $$$.
Tambien hay algunas herramientas libres pero para java, y por desgracia nadie tuvo tiempo como para transformarlas a version .NET sino ya seria algo. Pero bueno ese es el panorama que te puedo brindar ya que en tu caso lo mas dificil seria crear el documento en cuestion ya que despues para enviarlo por mail no hay tantos contratiempos y hay muchos tutoriales que cuentan como enviar mails por .NET asi que de ahi seria solo de investigar un poco mas