Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Problema al exportar datagrid a excel

Estas en el tema de Problema al exportar datagrid a excel en el foro de Visual Basic clásico en Foros del Web. Buen Dia; Mi problema es el siguiente: Tengo un datagridview que lleno desde una consulta sql a un dataset, aqui todo va bien... el problema ...
  #1 (permalink)  
Antiguo 15/08/2012, 09:00
Avatar de yamiblancoc  
Fecha de Ingreso: agosto-2011
Mensajes: 103
Antigüedad: 12 años, 8 meses
Puntos: 4
Pregunta Problema al exportar datagrid a excel

Buen Dia;

Mi problema es el siguiente:

Tengo un datagridview que lleno desde una consulta sql a un dataset, aqui todo va bien... el problema esta en que cuando mi datagridview tiene 25.000 filas o mas de 1.000 filas cuando voy a exportar a excel el datagrid mi pc se guinda y tardaaaaaa toda una vida que a la fina lo que tengo que hacer es cerrar la aplicacion desde el administrador de tarea, pero cuando el datagrid tiene 500 filas el carga normal.

Mi pregunta es abra algun procedimiento que pueda exportar rapido y sin problema.

mi codigo es el siguiente:
Código VS:
Ver original
  1. System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US")
  2.  
  3.         Dim wapp As New Excel.Application()
  4.         Dim wsheet As Microsoft.Office.Interop.Excel.Worksheet
  5.         Dim wbook As Microsoft.Office.Interop.Excel.Workbook
  6.  
  7.         wapp = New Microsoft.Office.Interop.Excel.Application
  8.  
  9.         wbook = wapp.Workbooks.Add()
  10.         wsheet = wbook.ActiveSheet
  11.  
  12.         Dim iX As Integer
  13.         Dim iY As Integer
  14.         Dim iC As Integer
  15.  
  16.  
  17.         For iC = 0 To DataGridView.Columns.Count - 1
  18.  
  19.             wsheet.Cells(1, iC + 1).Value = DataGridView.Columns(iC).HeaderText
  20.             wsheet.Cells(1, iC + 1).Font.bold = True
  21.             wsheet.Cells(1, iC + 1).Interior.ColorIndex = 15
  22.  
  23.         Next
  24.  
  25.         For iX = 0 To DataGridView.Rows.Count - 1
  26.  
  27.             For iY = 0 To DataGridView.Columns.Count - 1
  28.  
  29.                 wsheet.Cells(iX + 2, iY + 1).value = DataGridView(iY, iX).Value.ToString
  30.  
  31.             Next
  32.  
  33.         Next
  34.  
  35.         wsheet.Cells(1, 1).EntireColumn.AutoFit()
  36.         wsheet.Cells(1, 2).EntireColumn.AutoFit()
  37.         wsheet.Cells(1, 3).EntireColumn.AutoFit()
  38.  
  39.         wapp.Visible = True
  40.         wapp.UserControl = True
  41.  
  42.         If DataGridView.Name = "DataGridView1" Then
  43.             wapp.Dialogs(Excel.XlBuiltInDialog.xlDialogSaveAs).Show("Reporte de Ventas Area 1 Del Periodo  " & validador.cbbperiod.Text & ".xls")
  44.         ElseIf DataGridView.Name = "DataGridView2" Then
  45.             wapp.Dialogs(Excel.XlBuiltInDialog.xlDialogSaveAs).Show("Reporte de Precios Area 1 Del Periodo  " & validador.cbbperiod.Text & ".xls")
  46.         ElseIf DataGridView.Name = "DataGridView3" Then
  47.             wapp.Dialogs(Excel.XlBuiltInDialog.xlDialogSaveAs).Show("Reporte de Producto NO Valido Area 1 Del Periodo  " & validador.cbbperiod.Text & ".xls")
  48.         ElseIf DataGridView.Name = "DataGridView5" Then
  49.             wapp.Dialogs(Excel.XlBuiltInDialog.xlDialogSaveAs).Show("Reporte de Barcode Area 1 Del Periodo  " & validador.cbbperiod.Text & ".xls")
  50.         ElseIf DataGridView.Name = "DataGridView6" Then
  51.             wapp.Dialogs(Excel.XlBuiltInDialog.xlDialogSaveAs).Show("Reporte de Territorio Area 1 Del Periodo  " & validador.cbbperiod.Text & ".xls")
  52.         ElseIf DataGridView.Name = "DataGridViewR" Then
  53.             wapp.Dialogs(Excel.XlBuiltInDialog.xlDialogSaveAs).Show("Reporte de Inventario Al Frio Area 1 Del Periodo  " & validador.cbbperiod.Text & ".xls")
  54.         End If


Trabajo con WindowsForm en Visual Studio 2005 y SQL 2008. Gracias a quienes me puedan ayudar

Etiquetas: basic, datagridview, excel, studio, visual
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:32.