Αν κατάλαβα καλά, αυτό που περιγράφεις ουσιαστικά είναι να δημιουργείς ένα word ή excel αρχείο και να το στέλνεις στον client και αφού αυτός το συμπληρώσει να το κάνει upload? Όλα αυτά μπορούν να γίνουν από την web εφαρμογή που έχεις φτιάξει, είτε σε ASP είτε σε ASP.NET. Δεν καταλαβαίνω όμως που θέλεις να χρησιμοποιήσεις visual basic?
Έτσι όπως το περιγράφεις, το πρόβλημα έχει να κάνει με web εφαρμογές και όχι με Visual Basic. Αν είναι έτσι, θα το μεταφέρω στην κατάλληλη περιοχή για να μπορέσουν να απαντήσουν όσοι ασχολούνται με web εφαρμογές.
Γενικά πάντως είναι πιο εύκολο να κάνεις export και import δεδομένα σε Excel παρά σε word. Δες και το thread "Export Datagrid to Excel", όπου αναφέρονται διάφοροι τρόποι να δημιουργήσει κανείς ένα αρχείο Excel χωρίς να έχει το Excel εγκατεστημένο στο server (κάτι που οδηγεί σε προβλήματα).
Τα πράγματα με το Word είναι πιο δύσκολα. Αν μπορείς να εξασφαλίσεις ότι οι clients έχουν μια από τις πιο πρόσφατες εκδόσεις του Word (π.χ. XP, 2003) μπορείς να δημιουργήσεις αρχεία word σε μορφή XML. Αν το αρχείο πρέπει να ανοιχτεί σε οποιαδήποτε έκδοση του word, μπορείς να χρησιμοποιήσεις αρχεία rtf αντί για doc.
Ένας εύκολος τρόπος να δουλέψεις με σχετικά απλά rtf αρχεία είναι να δημιουργήσεις ένα αρχείο με τη μορφή που θέλεις στο word και να το σώσεις σαν rtf. Αυτό το αρχείο μπορείς να το διαβάσεις μετά σαν απλό αρχείο κειμένου και να προσθέσεις ή να τροποποιήσεις το κείμενο. Αν μάλιστα θέλεις να κάνεις τροποποιήσεις σε συγκεκριμμένα σημεία, μπορείς να βάλεις κάποια δικά σου tags στο πρότυπο και μετά να κάνεις replace όπου χρειάζεται. Για παράδειγμα, μπορείς να φτιάξεις ένα πρότυπο με το κείμενο "Τίτλος: MyTitleHere" και όταν δημιουργείς το κείμενο που θα στείλεις στους χρήστες να αντικαταστήσεις το MyTitleHere με τον τίτλο που θέλεις.
Τέλος, δες το "How To Export Data in a DataGrid on an ASP . NET WebForm to Microsoft Excel" για να δεις πως μπορείς να στείλεις ένα αρχείο στον client. Τα σημαντικά σημεία είναι ότι θέτεις το Response.ContentType = "application/vnd.ms-excel" και ότι στέλνεις το string ή το περιεχόμενο του αρχείου που θέλεις να στείλεις μέσω του Response.Write απευθείας στον client.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos