Autor Tema: [HOW TO] Exportar a Excel resultado de un Query  (Leído 3418 veces)

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

Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
[HOW TO] Exportar a Excel resultado de un Query
« : marzo 14, 2008, 10:27:06 am »
bueno, hace mucho tiempo vi una herramienta echa en vb 6.0 en donde podias ejecutar script y exportar los resultados a excel....

ahora tengo casi 8 meses de haber creado my app para lo mismo pero en vb.Net.... y aún no habia podido superar el problema de exportar los resultados a excel de forma rápida..... al exportar un query con al menos 5000 registros de casi 20 campos se tardaba un revergo..... casi 20 minutos...... ahora solo 5 segundos


ironicamente hasta hace +/- 1 mes gracias a un auditor y con un poco de ingenio encontre lo que necesitaba XD.... ahora no exporto a base de código, leyendo el gridView, sino, hago que excel exporte por mi....

Citar
Imports Microsoft.Office.Interop

Public Class exportaExcel

    Private myExcelFile As Excel.Application
    Private myExcelBook As Excel.Workbook
    Private myExcelSheet As Excel.Worksheet

    Public Sub New()
       Try
        myExcelFile = New Excel.Application
        myExcelBook = myExcelFile.Workbooks.Add

        myExcelSheet = New Excel.Worksheet
        myExcelSheet = CType(myExcelBook.Worksheets(1), Excel.Worksheet)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

    Public Function exportarExcel(ByVal StringConex As String, ByVal sqlScript As String) as Boolean
        Try
            myExcelSheet.Cells.Font.Size = 8
            myExcelFile.Visible = True

            ' mireme la seña........
            With myExcelSheet.QueryTables.Add(StringConex, myExcelSheet.Range("A1"))
                .CommandText = sqlScript
                .Name = "tkun-exportaExcel"
                .Refresh()
            End With
            Return True
        Catch ex As Exception
            MsgBox(ex.Message)
            Return False
        End Try
    End Sub

End Class

solo setea la clase como una nueva y utiliza la Función exportarExcel(tuConexion, tuQuery) y mireme la seña.... :azn:

pd: se pueden hacer otro par de cosillas mas en esta clase, pero creo que basta con lo que tiene...
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito

Desconectado Juancho

  • The Communiter-
  • *
  • Mensajes: 1311
Re: [HOW TO] Exportar a Excel resultado de un Query
« Respuesta #1 : marzo 15, 2008, 03:18:32 pm »
Si vs si es bn sencillo cabla con el VBA podias utilizar tambien eso o sino recorrer todas las filas e irlas llenando en las celdas d Excel y ya lo tenias eso tambn hic yo bn poco pero si habias manejado macros en excel no t iba a costar!
<a href="http://www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/" target="_blank">
<img src="http://cache.www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/b_560x95.png" border="0" width="560" height="95" alt="" />
</a>