una volta ho dovuto fare una cosa del genere
per un file .csv

prova a vedere se ti è utile

codice:
Set objFSO = CreateObject("Scripting.FileSystemObject")
		set objFile = objFSO.OpenTextFile(strPercorso, 2,true)
		objFile.Write strTesto
		objFile.Close
		
		Dim Stream 
		Dim Contents 
		Dim FileName 
		FileName = "Contatti.csv" 
		Response.ContentType = "application/octet-stream" 
		Response.AddHeader "content-disposition", "attachment; filename=" & FileName 
		Set Stream = server.CreateObject("ADODB.Stream") 
		Stream.Open 
		Stream.LoadFromFile strPercorso'Server.MapPath(FileName) 
		Contents = Stream.ReadText 
		Response.BinaryWrite Contents 
		Stream.Close 
		Set Stream = Nothing