elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  exportar datatable a excel
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: exportar datatable a excel  (Leído 6,445 veces)
almita

Desconectado Desconectado

Mensajes: 212


Ver Perfil
exportar datatable a excel
« en: 11 Agosto 2010, 04:23 am »

Hola buenas noches chavos estoy atorada al querer dar formato de tipo texto en el excel que estoy generando en vb.net 2005 con framework 2 y el codigo que encontre en internet es el siguiente, quisiera ver si alguien me puede ayudar para ver de que manera puedo hacer que me respete los zeros a la izquierda en las columnas que tienen numeros por ejemplo que en lugar de que deje en la celda 1 me deje 0001 que es lo que trae la columna de mi datatable que es de typo string.
Código
  1. ' asi llamo la funcion que genera el excel
  2. DataTableToExcel(CType(dt, DataTable))
  3.  
  4. 'funcion que genera el excel
  5.    Public Sub DataTableToExcel(ByVal pDataTable As DataTable)
  6.        Dim vFileName As String = Path.GetTempFileName()
  7.  
  8.        FileOpen(1, vFileName, OpenMode.Output)
  9.        Dim sb As String
  10.        Dim dc As DataColumn
  11.        For Each dc In pDataTable.Columns
  12.            sb = dc.Caption & Microsoft.VisualBasic.ControlChars.Tab
  13.        Next
  14.        PrintLine(1, sb)
  15.        Dim i As Integer = 0
  16.        Dim dr As DataRow
  17.        For Each dr In pDataTable.Rows
  18.            i = 0
  19.            sb = ""
  20.            For Each dc In pDataTable.Columns
  21.                If Not IsDBNull(dr(i)) Then
  22.                    sb &= CStr(dr(i)) & Microsoft.VisualBasic.ControlChars.Tab
  23.                Else
  24.                    sb &= Microsoft.VisualBasic.ControlChars.Tab
  25.                End If
  26.                i += 1
  27.            Next
  28.            PrintLine(1, sb)
  29.        Next
  30.        FileClose(1)
  31.        TextToExcel(vFileName)
  32.    End Sub
  33.  
  34.  
  35. 'funcion que guarda el archivo
  36.    Public Sub TextToExcel(ByVal pFileName As String)
  37.        Dim vFormato As Excel.XlRangeAutoFormat
  38.        Dim vCultura As System.Globalization.CultureInfo = System.Threading.Thread.CurrentThread.CurrentCulture
  39.        System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US")
  40.  
  41.        Dim Exc As Excel.Application = New Excel.Application
  42.        Exc.Workbooks.OpenText(pFileName, , , , Excel.XlTextQualifier.xlTextQualifierNone, , True)
  43.  
  44.        Dim Wb As Excel.Workbook = Exc.ActiveWorkbook
  45.        Dim Ws As Excel.Worksheet = Wb.ActiveSheet
  46.  
  47.        vFormato = Excel.XlApplicationInternational.xlGeneralFormatName
  48.        Ws.Range(Ws.Cells(1, 1), Ws.Cells(Ws.UsedRange.Rows.Count, Ws.UsedRange.Columns.Count)).AutoFormat(vFormato)
  49.        pFileName = Path.GetTempFileName.Replace("tmp", "xls")
  50.        File.Delete(pFileName)
  51.        Dim Nombre As String = InputBox("Ingrese el nombre del archivo:", "Guardar Archivo", "C:\")
  52.        If Nombre <> "" Then
  53.            Exc.ActiveWorkbook.SaveAs(Nombre, Excel.XlTextQualifier.xlTextQualifierNone - 1)
  54.        End If
  55.        Exc.ActiveWorkbook.SaveAs(pFileName, _
  56.          Excel.XlTextQualifier.xlTextQualifierNone - 1)
  57.        Exc.Quit()
  58.        Ws = Nothing
  59.        Wb = Nothing
  60.        Exc = Nothing
  61.        GC.Collect()
  62.        If valor > -1 Then
  63.            Dim p As System.Diagnostics.Process = New System.Diagnostics.Process
  64.            p.EnableRaisingEvents = False
  65.            'p.Start("Excel.exe", pFileName)
  66.        End If
  67.        System.Threading.Thread.CurrentThread.CurrentCulture = vCultura
  68.        limpia()
  69.    End Sub
  70.  

este codigo funciona perfecto el problema son los zeros a la izquierda que son requerido por cierto importe los siguientes espacios de nombres.
Código:
Imports System.IO
Imports Microsoft.Office.Interop

y hago uso de las siguientes librerias Microsoft.Office.Interop.Excel.dll y Microsoft.Vbe.Interop.dll


« Última modificación: 11 Agosto 2010, 05:21 am por [D4N93R] » En línea

[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: exportar datatable a excel
« Respuesta #1 en: 11 Agosto 2010, 05:27 am »

Como no me gusta vb.net xD te paso éste enlace, está dentro del foro, y es muy bueno, http://foro.elhacker.net/net/aporte_exportar_datagridview_a_excel_pdf_y_html-t299075.0.html

No estoy muy seguro de cual puede ser el error en el código, probablemente sea el formato de la celda, tendrías que formatear todas las celdas de esa columna para que rellene con 0.

Un saludo!


En línea

almita

Desconectado Desconectado

Mensajes: 212


Ver Perfil
Re: exportar datatable a excel
« Respuesta #2 en: 11 Agosto 2010, 05:46 am »

ok muchas gracias deja lo checo pero de entrada no veo que tenga una columna donde pudieran tener esa bronca de los zeros a la izquierda pero deja lo veo mejor y de cualquier manera muchas gracias por responder
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Equivalente a DataTable de .Net
Java
elmaro 2 5,072 Último mensaje 2 Diciembre 2010, 14:48 pm
por elmaro
Ayuda datatable Asp.netC#
.NET (C#, VB.NET, ASP)
evicar 8 8,466 Último mensaje 25 Marzo 2011, 16:43 pm
por [D4N93R]
Ayuda con exportar a Excel
.NET (C#, VB.NET, ASP)
dark_one88 2 2,803 Último mensaje 6 Mayo 2011, 21:59 pm
por dark_one88
exportar a excel
PHP
kakashi20 4 3,748 Último mensaje 18 Junio 2012, 10:11 am
por robertito_prado
exportar hasmap a excel
Java
matimarco 0 1,466 Último mensaje 1 Noviembre 2016, 16:04 pm
por matimarco
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines