¿Cómo puedo abrir un archivo excel en un grid de visual basic para guardarlo después en sql?
Hola sabes necesito abrir un archivo excel en un grid de visual basic, luego lo debo guardar en sql pero primero lo primero... Gracias...
Respuesta de denciso
1
1
denciso, Soy una persona multifacética, tanto manejo la informática,...
Puedes intentar primero con un enlace de excel, Checa la siguiente rutina y adáptala para que funcione en visual basic para editar el archivo. Private Sub Exporta_Excel() Dim oObjetoExcel As Object Dim iCol As Integer Dim iContRengDatos As Integer Dim iContRengExcel As Integer Dim iResult As Integer Dim pszCelda As Variant On Local Error GoTo Muestra_Error 'Titulo del diálogo mdiPrincipal!dlgPrinter.DialogTitle = "Exportar Archivo..." 'Se inicializa el Nombre del Archivo mdiPrincipal!dlgPrinter.FileName = NULL_STRING mdiPrincipal!dlgPrinter.CancelError = False 'Tamaño Máximo del Archivo mdiPrincipal!dlgPrinter.MaxFileSize = 30000 'Tipos de Archivos mdiPrincipal!dlgPrinter.Filter = "Excel (*.xls)|*.xls" 'Extensión por Default mdiPrincipal!dlgPrinter.DefaultExt = ".xls" 'Banderas mdiPrincipal!dlgPrinter.FLAGS = cdlOFNHideReadOnly Or cdlOFNPathMustExist Or cdlOFNCreatePrompt Or cdlOFNOverwritePrompt Or cdlOFNNoReadOnlyReturn mdiPrincipal.stsBarMdi.Panels(1).Text = "Salvar archivo..." 'Acción de Salvar el Archivo mdiPrincipal!dlgPrinter.ShowSave If (mdiPrincipal!dlgPrinter.FileName <> NULL_STRING) Then mdiPrincipal.stsBarMdi.Panels(1).Text = "Estableciendo Comunicación con Microsoft Excel..." 'Se crea el Objeto Set oObjetoExcel = CreateObject("Excel.sheet") mdiPrincipal.stsBarMdi.Panels(1).Text = "Comunicación Establecida" 'Se posiciona al Spred de Datos en el primer renglón sprDatos.Row = NULL_INTEGER 'Se asigna el ancho de las columnas For iCol = 1 To sprDatos.MaxCols oObjetoExcel.worksheets(1).Cells(iCol).ColumnWidth = sprDatos.ColWidth(iCol) Next mdiPrincipal.stsBarMdi.Panels(1).Text = "Exportando Datos..." 'Se exportan los datos del Spread de Parámetros iContRengExcel = 1 For iContRengDatos = 1 To sprParametros.MaxRows For iCol = 1 To sprParametros.MaxCols iResult = sprParametros.GetText(iCol, iContRengDatos, pszCelda) oObjetoExcel.worksheets(1).Cells(iContRengExcel, iCol).Value = pszCelda Next iContRengExcel = iContRengExcel + 1 Next 'Se exportan los datos del Spread de Datos For iContRengDatos = NULL_INTEGER To sprDatos.MaxRows For iCol = 1 To sprDatos.MaxCols iResult = sprDatos.GetText(iCol, iContRengDatos, pszCelda) oObjetoExcel.worksheets(1).Cells(iContRengExcel, iCol).Value = pszCelda Next iContRengExcel = iContRengExcel + 1 Next mdiPrincipal.stsBarMdi.Panels(1).Text = "Exportación Finalizada" 'Se salva a un Archivo el Objeto oObjetoExcel.SaveAs mdiPrincipal!dlgPrinter.FileName End If mdiPrincipal.stsBarMdi.Panels(1).Text = "Listo" Exit Sub Muestra_Error: Call Muestra_Error_OLE Exit Sub End Sub