questa è la pagina di prova che crea il file excel. La directory ha permessi di scrittura
codice:
Option Strict On
Partial Class CorsoApogeo_crea_excel_creaexcel
    Inherits System.Web.UI.Page

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Inserire qui il codice utente necessario per inizializzare la pagina

        Const xlNormal% = -4143
        Dim NomeFile$ = "prova.xls"

        Dim x As Excel.Application
        Dim w As Excel.Workbook
        Dim s As Excel.Worksheet
        Dim range As Excel.Range


        'cancello il file se esiste
        File.Delete(Server.MapPath(NomeFile))

        'creo una istanza di excel
        x = New Excel.Application

        x.Visible = False

        'aggiungo un nuovo documento
        x.Workbooks.Add()

        'recupero il documento attivo ed il foglio di calcolo attivo
        w = x.ActiveWorkbook
        s = DirectCast(x.ActiveSheet, Excel.Worksheet)

        'cambio il nome del foglio attivo
        s.Name = "Nuovo foglio"

        'scrivo nella cella A1
        s.Range("A1").Select()
        x.ActiveCell.FormulaR1C1 = "Pietro"

        'metto una formula nella cella B2
        s.Range("B2").Select()
        x.ActiveCell.FormulaR1C1 = Now()

        'allargo la colonna B
        range = DirectCast(x.Columns("B:B"), Excel.Range)
        range.EntireColumn.AutoFit()

        'salvo il file
        w.SaveAs(Me.MapPath(NomeFile), xlNormal)

        'esco da excel
        x.Quit()

        'reindirizzo verso il file creato
        Response.Clear()
        Response.Redirect(NomeFile)


    End Sub
End Class