Autor Tema: Exportar datos de un MSFlexGrid a Excel  (Leído 3404 veces)

0 Usuarios y 1 Visitante están viendo este tema.

ale_xi

  • Bytes
  • *
  • Mensajes: 30
  • Reputación: +3/-1
    • Ver Perfil
Exportar datos de un MSFlexGrid a Excel
« en: Marzo 24, 2016, 03:45:31 pm »
Hola buenas tardes a todos...mi problema es el siguiente:

Tengo un MSFLEXGRID que contiene datos que estoy extrayendo de una tabla mediante una consulta de SQL......en la columna número 4 del MSFLEXGRID están todas las numero de los productos que son los valore

pero cuando hago la exportación del contenido del MSFLEXGRID a EXCEL.....la columna correspondiente a los valore me las pone en EXCEL como números, es decir, si yo tengo un valor asi  23,800  al exportarla a Excel me la pone así 23,8 .

Como  puedo hacer para que al exportar a Excel no me altere los valore y me las ponga tal cual......no sé si desde visual basic se pueda dar formato de texto a una columna especifica de una hoja de Excel….de antemano gracias por la ayuda..

Aquí  os dejo el código

Código: (VB) [Seleccionar]
Private Sub ChaExporta_Click()
 Dim Fila As Long, Columna   As Long
 Dim F As Long
 Dim objExcel As Object
 Dim objWorkbook As Object
 On Error Resume Next ' por si se cierra Excel antes de cargar los datos
 Set objExcel = CreateObject("Excel.Application")
 objExcel.Visible = True
 Set objWorkbook = objExcel.Workbooks.Add
 For Fila = 0 To Grid.Rows - 1
 Grid.Row = Fila
     For Columna = 1 To 4
     Grid.Col = Columna
          objWorkbook.ActiveSheet.Cells(Fila + 1, Columna + 0).Value = Grid.Text
     Next Columna
 Next Fila
 
 'Opcional : colocamos en negrita y de color rojo los enbezados en la hoja
 objExcel.Rows(1).Font.Bold = True
 objExcel.Rows(1).Font.Color = vbRed

 objExcel.Cells.Select
 objExcel.Selection.EntireColumn.AutoFit ' Ancho de columna
 objExcel.Range("A1").Select
 
 Set objWorkbook = Nothing
 Set objExcel = Nothing
End Sub

adjunto una imagen:



GRACIAS!!!
« última modificación: Marzo 24, 2016, 06:59:40 pm por ale_xi »

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Exportar datos de un MSFlexGrid a Excel
« Respuesta #1 en: Marzo 25, 2016, 01:50:54 am »
Veintitrés mil ochocientos te lo convierte a veintitrés punto ocho ¿correcto?
Algunas ideas:
- Quizá es un tema que se pueda resolver con la configuración regional.
- Quizá es un tema que se pueda corregir usando Replace.
- Quizá mandarlo el numero convertido
De esto ultimo:

Código: (VB) [Seleccionar]
For Fila = 0 To Grid.Rows - 1
 Grid.Row = Fila
     For Columna = 1 To 4
     Grid.Col = Columna
         If Columna = 4 then
           objWorkbook.ActiveSheet.Cells(Fila + 1, Columna + 0).Value = Cdbl(Grid.Text)  '<--
         Else
            objWorkbook.ActiveSheet.Cells(Fila + 1, Columna + 0).Value = Grid.Text
         End If
     Next Columna
 Next Fila

Y 23,800 se enviara como 23800

Saludos
Me encuentras en YAcosta.com

ale_xi

  • Bytes
  • *
  • Mensajes: 30
  • Reputación: +3/-1
    • Ver Perfil
Re:Exportar datos de un MSFlexGrid a Excel
« Respuesta #2 en: Marzo 26, 2016, 12:58:40 am »
Muchas gracias por la respuesta