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
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US") Dim wapp As New Excel.Application() Dim wsheet As Microsoft.Office.Interop.Excel.Worksheet Dim wbook As Microsoft.Office.Interop.Excel.Workbook wapp = New Microsoft.Office.Interop.Excel.Application wbook = wapp.Workbooks.Add() wsheet = wbook.ActiveSheet Dim iX As Integer Dim iY As Integer Dim iC As Integer For iC = 0 To DataGridView.Columns.Count - 1 wsheet.Cells(1, iC + 1).Value = DataGridView.Columns(iC).HeaderText wsheet.Cells(1, iC + 1).Font.bold = True wsheet.Cells(1, iC + 1).Interior.ColorIndex = 15 Next For iX = 0 To DataGridView.Rows.Count - 1 For iY = 0 To DataGridView.Columns.Count - 1 wsheet.Cells(iX + 2, iY + 1).value = DataGridView(iY, iX).Value.ToString Next Next wsheet.Cells(1, 1).EntireColumn.AutoFit() wsheet.Cells(1, 2).EntireColumn.AutoFit() wsheet.Cells(1, 3).EntireColumn.AutoFit() wapp.Visible = True wapp.UserControl = True If DataGridView.Name = "DataGridView1" Then wapp.Dialogs(Excel.XlBuiltInDialog.xlDialogSaveAs).Show("Reporte de Ventas Area 1 Del Periodo " & validador.cbbperiod.Text & ".xls") ElseIf DataGridView.Name = "DataGridView2" Then wapp.Dialogs(Excel.XlBuiltInDialog.xlDialogSaveAs).Show("Reporte de Precios Area 1 Del Periodo " & validador.cbbperiod.Text & ".xls") ElseIf DataGridView.Name = "DataGridView3" Then wapp.Dialogs(Excel.XlBuiltInDialog.xlDialogSaveAs).Show("Reporte de Producto NO Valido Area 1 Del Periodo " & validador.cbbperiod.Text & ".xls") ElseIf DataGridView.Name = "DataGridView5" Then wapp.Dialogs(Excel.XlBuiltInDialog.xlDialogSaveAs).Show("Reporte de Barcode Area 1 Del Periodo " & validador.cbbperiod.Text & ".xls") ElseIf DataGridView.Name = "DataGridView6" Then wapp.Dialogs(Excel.XlBuiltInDialog.xlDialogSaveAs).Show("Reporte de Territorio Area 1 Del Periodo " & validador.cbbperiod.Text & ".xls") ElseIf DataGridView.Name = "DataGridViewR" Then wapp.Dialogs(Excel.XlBuiltInDialog.xlDialogSaveAs).Show("Reporte de Inventario Al Frio Area 1 Del Periodo " & validador.cbbperiod.Text & ".xls") End If
Trabajo con WindowsForm en Visual Studio 2005 y SQL 2008. Gracias a quienes me puedan ayudar
