hola a todos
estoy buscando una forma de,a traves de codigo, poder crear un excel y poder descargarlo
Esto en un mismo boton. Tengo un codigo que me crea un excel a partir de un template que tengo guardado, pero al momento de intentar descargar el archivo este me da un error.
Agradeceria ayuda por favor.
Adjunto el codigo, espero que les pueda ayudar a poder iluminarme con una solucion
Código:
Dim FileToCopy As String
Dim NewCopy As String
Dim nombre As String
Dim Libro As Excel.Workbook ' Libro de trabajo
Dim Hoja As New Excel.Worksheet
Dim MiClase As New ClassOrganizacion
Dim dv As New Data.DataView
dv = MiClase.TraeOrganizaciones(chkDesabilitados.Checked)
Try
If Not (Session.Item("filtro") = Nothing) Then
dv.RowFilter = Session.Item("filtro").ToString
End If
Catch
End Try
Dim row As Integer
If dv.Count > 0 Then
nombre = "Folderpublic" & Now.Year & Now.Month & Now.Day & Now.Hour & Now.Minute & Now.Second & ".xls"
Try
FileToCopy = rutaExcel & "plantillas\" & "Organizaciones.xls"
NewCopy = rutaExcel & "impresos\Org_" & nombre
System.IO.File.Copy(FileToCopy, NewCopy)
oApp = New Excel.Application
Libro = oApp.Workbooks.Open(NewCopy)
Hoja = CType(Libro.Sheets("Hoja1"), Excel.Worksheet)
Hoja.Cells(2, 2) = "Listado de Organizaciones"
Dim fila As Integer = 5
For row = 0 To dv.Count - 1
Hoja.Cells(fila + row, 1) = dv.Item(row).Item("run")
Hoja.Cells(fila + row, 2) = dv.Item(row).Item("nombre")
Hoja.Cells(fila + row, 3) = dv.Item(row).Item("mail")
Hoja.Cells(fila + row, 4) = dv.Item(row).Item("FONO_CONTACTO")
Hoja.Cells(fila + row, 5) = dv.Item(row).Item("rubro")
Hoja.Cells(fila + row, 6) = dv.Item(row).Item("direccion")
Hoja.Cells(fila + row, 7) = dv.Item(row).Item("estado")
Hoja.Cells(fila + row, 8) = dv.Item(row).Item("habilitado")
Next
Catch ex As Exception
Finally
'oApp.Visible = True
Libro.Save()
Hoja = Nothing
Libro.Close(False)
Libro = Nothing
oApp.Quit()
oApp = Nothing
Response.AddHeader("Content-Disposition", "attachment; filename=" & NewCopy)
Response.WriteFile(NewCopy)
End Try
Else
Me.LbMsjs.Visible = True
End If
Agradesco desde ya sus sugerencias e ideas