Excel n'est vraiment pas fait pour cela (d'ailleurs une feuille Excel ce ne'st pas une base de donnée)... utilise plutot Access et si besoin est d'exporter des données vers Excel utilise le format CSV (données séparées par une virgule et retour à la ligne pour chaque record).
Pour ce faire le plus simple est d'utiliser un langage de script côté serveur. Le plus facile à apprendre est sans contestation possible le couple VBScript/ASP, mais ce ne sera valable que pour des hébergements NT/2000 avec ASP. Sinon tu peux utiliser PHP, qui est relativement simple et utilise une syntaxe proche du C. PHP est supporté surtout sur les hébergements Unix.
Les deux dernières solutions font appelle à des script en Perl ou carément des exécutable (CGI), mais la c'est une autre paire de manches.
Pour revenir à ton problème Excel, il faut définir manuellement une zone, mais il me semble que le provider ODBC d'Excel autorise uniquement les accès en lecture.
Si tu as besoin d'un bête fichier que tu pourras ouvrir avec Excel, utilise plutot FSO (File System Object) depuis ASP et écrit directement un fichier au format CSV ce sera plus simple que de passer par des provider ODBC (je suppose que tu as un hébergement NT/2000).