PASAR GRILLA a EXCEL EN VB.NET
Publicado por MANUEL (10 intervenciones) el 22/06/2005 00:14:57
Hola tengo un problema. resulta que quiero pasar los datos de una grilla a una planilla excel, este codigo lo hace pero solo para los registros visibles de la grilla y necesito pasar todos los registro, AYUDAAAAAAAAAAAAAAAAAA por favor. como lo debo hacer para pasar todos los registros no solos los visibles.
Try
Me.Cursor = Cursors.WaitCursor
If (DataGrid1.VisibleColumnCount) > 0 Then
'Export_Excel("Informe Documentos Cargados ", DataGrid1, (DataGrid1.VisibleRowCount), (DataGrid1.VisibleColumnCount))
Dim oExcel
Dim Fila, Columna, cont, iCol, XColumna As Integer
Dim Path, variable As String
Dim item As DataGridCell
Dim columnas As DataGridCell
oExcel = CreateObject("OWC.Spreadsheet")
Fila = 0
Columna = 0
While Columna < DataGrid1.VisibleColumnCount
oExcel.Cells(1, Columna + 1).Value = DataGrid1.RowHeaderWidth
oExcel.Columns(Columna + 1).AutoFitColumns()
Columna = Columna + 1
End While
' Se escriben valores de la variable cont en la hoja Excel, accediendo directamente a Filas y Columnas
Fila = 0
Columna = 0
Dim Fila_Excel As Integer = 2
While Fila < DataGrid1.VisibleRowCount
Columna = 0
XColumna = 0
While Columna < DataGrid1.VisibleColumnCount
Try
If IsNumeric(DataGrid1.Item(Fila, Columna).ToString) Then
variable = DataGrid1.Item(Fila, Columna).ToString
ElseIf IsNumeric(DataGrid1.Item(Fila, Columna).ToString) Then
variable = DataGrid1.Item(Fila, Columna).ToString
ElseIf IsDate(DataGrid1.Item(Fila, Columna).ToString) Then
variable = "'" & DataGrid1.Item(Fila, Columna).ToString
ElseIf IsDBNull(DataGrid1.Item(Fila, Columna).ToString) Then
variable = ""
Else
variable = DataGrid1.Item(Fila, Columna).ToString
End If
Catch ex As System.InvalidCastException
variable = ""
End Try
Try
oExcel.Cells(Fila_Excel, XColumna + 1).value = variable.ToString.Trim
Catch ex As Exception
Try
oExcel.Cells(Fila_Excel, XColumna + 1).value = "'" + variable.ToString + "'"
Catch exc As Exception
oExcel.Cells(Fila_Excel, XColumna + 1).value = "##Error##"
End Try
End Try
XColumna = XColumna + 1
Columna = Columna + 1
End While
Fila = Fila + 1
Fila_Excel = Fila_Excel + 1
End While
'Damos algo de formato a la primera línea de la hoja
cont = 1
Do While cont <= Columna
oExcel.Cells(1, cont).Font.Bold = True
oExcel.Cells(1, cont).Font.Size = 10
oExcel.Cells(1, cont).Font.Name = "Arial"
oExcel.Columns(cont).AutoFitColumns()
cont = cont + 1
Loop
'Se exporta la hoja Excel cargada en el objeto oExcel a un archivo .XLS
Dim SaveDialog = New SaveFileDialog
SaveDialog.DefaultExt = "*.xls"
SaveDialog.Filter = "(*.xls)|*.xls"
If SaveDialog.ShowDialog = DialogResult.OK Then
Try
oExcel.ActiveSheet.Export(SaveDialog.FileName, 0)
MessageBox.Show("Documento Guardado Como : " & SaveDialog.FileName, "Información", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MessageBox.Show("No se Puede Procesar, El Archivo puede que se encuentre abierto, Verifique")
End Try
End If
'----
End If
Me.Cursor = Cursors.Default
Catch ex As System.NullReferenceException
MsgBox(ex.Message)
Me.Cursor = Cursors.Default
Exit Sub
End Try
Try
Me.Cursor = Cursors.WaitCursor
If (DataGrid1.VisibleColumnCount) > 0 Then
'Export_Excel("Informe Documentos Cargados ", DataGrid1, (DataGrid1.VisibleRowCount), (DataGrid1.VisibleColumnCount))
Dim oExcel
Dim Fila, Columna, cont, iCol, XColumna As Integer
Dim Path, variable As String
Dim item As DataGridCell
Dim columnas As DataGridCell
oExcel = CreateObject("OWC.Spreadsheet")
Fila = 0
Columna = 0
While Columna < DataGrid1.VisibleColumnCount
oExcel.Cells(1, Columna + 1).Value = DataGrid1.RowHeaderWidth
oExcel.Columns(Columna + 1).AutoFitColumns()
Columna = Columna + 1
End While
' Se escriben valores de la variable cont en la hoja Excel, accediendo directamente a Filas y Columnas
Fila = 0
Columna = 0
Dim Fila_Excel As Integer = 2
While Fila < DataGrid1.VisibleRowCount
Columna = 0
XColumna = 0
While Columna < DataGrid1.VisibleColumnCount
Try
If IsNumeric(DataGrid1.Item(Fila, Columna).ToString) Then
variable = DataGrid1.Item(Fila, Columna).ToString
ElseIf IsNumeric(DataGrid1.Item(Fila, Columna).ToString) Then
variable = DataGrid1.Item(Fila, Columna).ToString
ElseIf IsDate(DataGrid1.Item(Fila, Columna).ToString) Then
variable = "'" & DataGrid1.Item(Fila, Columna).ToString
ElseIf IsDBNull(DataGrid1.Item(Fila, Columna).ToString) Then
variable = ""
Else
variable = DataGrid1.Item(Fila, Columna).ToString
End If
Catch ex As System.InvalidCastException
variable = ""
End Try
Try
oExcel.Cells(Fila_Excel, XColumna + 1).value = variable.ToString.Trim
Catch ex As Exception
Try
oExcel.Cells(Fila_Excel, XColumna + 1).value = "'" + variable.ToString + "'"
Catch exc As Exception
oExcel.Cells(Fila_Excel, XColumna + 1).value = "##Error##"
End Try
End Try
XColumna = XColumna + 1
Columna = Columna + 1
End While
Fila = Fila + 1
Fila_Excel = Fila_Excel + 1
End While
'Damos algo de formato a la primera línea de la hoja
cont = 1
Do While cont <= Columna
oExcel.Cells(1, cont).Font.Bold = True
oExcel.Cells(1, cont).Font.Size = 10
oExcel.Cells(1, cont).Font.Name = "Arial"
oExcel.Columns(cont).AutoFitColumns()
cont = cont + 1
Loop
'Se exporta la hoja Excel cargada en el objeto oExcel a un archivo .XLS
Dim SaveDialog = New SaveFileDialog
SaveDialog.DefaultExt = "*.xls"
SaveDialog.Filter = "(*.xls)|*.xls"
If SaveDialog.ShowDialog = DialogResult.OK Then
Try
oExcel.ActiveSheet.Export(SaveDialog.FileName, 0)
MessageBox.Show("Documento Guardado Como : " & SaveDialog.FileName, "Información", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MessageBox.Show("No se Puede Procesar, El Archivo puede que se encuentre abierto, Verifique")
End Try
End If
'----
End If
Me.Cursor = Cursors.Default
Catch ex As System.NullReferenceException
MsgBox(ex.Message)
Me.Cursor = Cursors.Default
Exit Sub
End Try
Valora esta pregunta


0