Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/01/2016, 09:42
Chily_Aleman
 
Fecha de Ingreso: enero-2016
Mensajes: 5
Antigüedad: 4 años, 2 meses
Puntos: 0
Problemas al Exportar un documento de Excel a Gridview

Hola Mi problema es el siguente :

Tengo una clase en la cual Tengo lo siguente


Las Librerias

Imports System.Data.OleDb
Imports System.IO

La funcion para detectar que tipo de Documento es el que tiene el Fileupload

Public Shared Function ChecarExtension(ByVal extension As String) As Boolean

Select Case extension.ToLower()
Case ".xlsx"
Return True
Case Else
Return False
End Select

End Function


la clase para eliminar el archivo despues de utilizarlo y si ya existe tambien lo borra


Public Shared Sub EliminarArchivos(ByVal instancia As HttpRequest)

Dim _carpeta As String = "/interfaz/documentos/"
Dim _directorioGral As String = instancia.PhysicalApplicationPath + _carpeta

Dim directorio As New DirectoryInfo(_directorioGral)
Dim archivos As FileInfo() = directorio.GetFiles()
Dim archivo As FileInfo

For Each archivo In archivos
archivo.Delete()
Next

End Sub


La función para mostrar el documento


Public Shared Function MostrarExcel(ByVal ruta As String) As DataTable

Dim _cadenaconexion As String = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;D ata Source={0};Extended Properties=Excel 12.0", ruta)
Dim _oledbConn As New OleDbConnection(_cadenaconexion)
Dim dt As New DataTable()

Try
_oledbConn.Open()
Dim _cmd As OleDbCommand = New OleDbCommand("SELECT * FROM [Hoja1$]", _oledbConn)
Dim _oleda As OleDbDataAdapter = New OleDbDataAdapter()
_oleda.SelectCommand = _cmd

_oleda.Fill(dt)

_oleda.Dispose()
_cmd.Dispose()
Catch ex As Exception

Finally

_oledbConn.Close()
_oledbConn.Dispose()
End Try
Return dt
End Function


La funcion para cargar el documento a la grid view


Public Shared Sub Cargar(ByVal archivo As FileUpload, ByVal instancia As HttpRequest, ByVal tabla As GridView)
Dim _carpeta As String = "/interfaz/documentos/"
Dim _directorioGral As String = instancia.PhysicalApplicationPath

Try
If archivo.HasFile Then
Dim _extension As String = Path.GetExtension(archivo.FileName)
If ChecarExtension(_extension) Then
Dim _directorioParaGuardar As String = _directorioGral + _carpeta + archivo.FileName
'----------------------Eliminar Archivos Existentes------------------------------
EliminarArchivos(instancia)

'-----------------------Guardar nuevo archivo------------------------------
archivo.SaveAs(_directorioParaGuardar)

tabla.DataSource = MostrarExcel(_directorioParaGuardar)



End If

Else

End If
Catch ex As Exception

End Try

End Sub




El problema sucede cuando ejecuto el codigo me borra varios archivos del sistema incluyendo archivos que no esten el la carpeta de la ruta "/interfaz/documentos/"