Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/03/2010, 13:25
rubencho5413
 
Fecha de Ingreso: agosto-2008
Mensajes: 20
Antigüedad: 16 años, 4 meses
Puntos: 0
GUARDAR UN ARCHIVO DE EXCEL CON SaveFileDialog

Hola amigos, estoy realizando una aplicacion en .net que me exporta lo que tengo en un datagridview a excel, el problema es que cuando le doy gererar el me abre un libro de excel con la informacion exportada, pero lo que necesito es que ese libro me quede guardado con la ruta que le de con el SaveFileDialog, este es el codigo que estoy uitilizando:

Private Sub BtnGenerar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnGenerar.Click
'Creamos las variables
Dim exApp As New Microsoft.Office.Interop.Excel.Application
Dim exLibro As Microsoft.Office.Interop.Excel.Workbook
Dim exHoja As Microsoft.Office.Interop.Excel.Worksheet
Try
Dim MyDialog As New SaveFileDialog()
MyDialog.Filter = ("Archivos de Excel (*.xls)|*.xls| All Files (*.*)|*.*")
MyDialog.ShowDialog()



'Añadimos el Libro al programa, y la hoja al libro
exLibro = exApp.Workbooks.Add
exHoja = exLibro.Worksheets.Add()



' ¿Cuantas columnas y cuantas filas?
Dim NCol As Integer = DGVdatos.ColumnCount
Dim NRow As Integer = DGVdatos.RowCount

'Aqui recorremos todas las filas, y por cada fila todas las columnas y vamos escribiendo.
For i As Integer = 1 To NCol
exHoja.Cells.Item(1, i) = DGVdatos.Columns(i - 1).Name.ToString
'exHoja.Cells.Item(1, i).HorizontalAlignment = 3


Next

For Fila As Integer = 0 To NRow - 1
For Col As Integer = 0 To NCol - 1
exHoja.Cells.Item(Fila + 2, Col + 1) = DGVdatos.Rows(Fila).Cells(Col).Value


Next
Next
'Titulo en negrita, Alineado al centro y que el tamaño de la columna se ajuste al texto
exHoja.Rows.Item(1).Font.Bold = 1
exHoja.Rows.Item(1).HorizontalAlignment = 3
exHoja.Columns.AutoFit()
exHoja.Columns.ColumnWidth = 14.14


'Aplicación visible
exApp.Application.Visible = True

exHoja = Nothing
exLibro = Nothing
exApp = Nothing
exLibro.SaveAs(MyDialog.FileName)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error al exportar a Excel")

End Try
End Sub

Si me pueden ayudar a poner un progress bar les agradeceria muchisisimo
Espero me puedan ayudar, muchas gracias