Foros del Web » Programación para mayores de 30 ;) » .NET »

download File tipo Xls

Estas en el tema de download File tipo Xls en el foro de .NET en Foros del Web. Necesito bajar un archivo tipo excel y el problema es que el IE en vez de bajarlo me abre la ventana mostrandomelo. Como puedo hacer ...
  #1 (permalink)  
Antiguo 07/04/2004, 16:34
Avatar de martinArgentino  
Fecha de Ingreso: diciembre-2002
Mensajes: 157
Antigüedad: 21 años, 4 meses
Puntos: 1
download File tipo Xls

Necesito bajar un archivo tipo excel y el problema es que el IE
en vez de bajarlo me abre la ventana mostrandomelo.
Como puedo hacer para forzar al IE a bajarme el archivo.

Actualmetne lo estoy haciendo mediante un botón

y el codigo al presionar el botón es

Private Sub BtnExcelFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnExcelFile.Click
...
Response.Redirect(file)
...
End Sub

Saludos
__________________
Martin
  #2 (permalink)  
Antiguo 13/04/2004, 08:11
 
Fecha de Ingreso: abril-2004
Mensajes: 43
Antigüedad: 20 años
Puntos: 0
Pruebe con los dialogbox
  #3 (permalink)  
Antiguo 13/04/2004, 08:53
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Te paso una funcion (espero que les sirva a alguien mas )para que tu eligas si quieres descargarlo o que se muestre en el browser...

Voy a hacer el ejemplo con archivos de excel,txt y de word.

Es importante que hagan referencia al namespace System.IO


VB.Net

Cita:
Private Sub DownloadFile(ByVal fname As String, ByVal forceDownload As Boolean)
Dim path As Path
Dim fullpath = path.GetFullPath(fname)
Dim name = path.GetFileName(fullpath)
Dim ext = path.GetExtension(fullpath)
Dim type As String = ""

If Not IsDBNull(ext) Then
ext = LCase(ext)
End If

Select Case ext
Case ".txt"
type = "text/plain"
Case ".doc", ".rtf"
type = "Application/msword"
Case ".csv", ".xls"
type = "Application/x-msexcel"
Case Else
type = "text/plain"
End Select

If (forceDownload) Then
Response.AppendHeader("content-disposition", _
"attachment; filename=" + name)
End If
If type <> "" Then
Response.ContentType = type
End If

Response.WriteFile(fullpath)
Response.End()

End Sub
Y para llamarlo:
Cita:
DownloadFile("c:\miarchivo.doc", True)
Donde True indica que lo pueda guardar y false que lo descarge sin que salga la ventana de confirmación.

Espero les sea útil... (éste ejemplo lo hice con IE y me funciona sibn problemas, pero no se si tambien funcione en otros browsers.

Saludos
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #4 (permalink)  
Antiguo 13/04/2004, 09:10
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Bueno... tambien se los dejo en C#

C#

Cita:
private void DownloadFile(string fname, bool forceDownload)
{
string path = fname;
string name = Path.GetFileName( path );
string ext = Path.GetExtension( path );
string type = "";

if ( ext != null )
{
switch( ext.ToLower() )
{
case ".txt":
type = "text/plain";
break;

case ".doc":
case ".rtf":
type = "Application/msword";
break;

case ".xls": type = "Application/x-msexcel";
break;
}
}

if ( forceDownload )
{
Response.AppendHeader( "content-disposition","attachment; filename=" + name );
}
if ( type != "" )
Response.ContentType = type;

Response.WriteFile( path );
Response.End();
}
Y para mandarlo a llamar:

Cita:
DownloadFile(@"c:\miarchivo.doc",true);
Saludos
  #5 (permalink)  
Antiguo 24/08/2004, 13:21
Avatar de martinArgentino  
Fecha de Ingreso: diciembre-2002
Mensajes: 157
Antigüedad: 21 años, 4 meses
Puntos: 1
Muy bueno, Gracias
__________________
Martin
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:54.