Hola a todos, tengo la siguiente funcion para exportar un datagridview, en VB 2005, a Excel.
La forma de operar, es copiar en memoria el contendio de todo el datagrid y pegarlo en una nueva hoja de excel.
El código es el siguiente.
Código:
Private Sub ButtonExp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
System.Threading.Thread.CurrentThread.CurrentCulture = _
System.Globalization.CultureInfo.CreateSpecificCulture("en-US")
DataGridView1.SelectAll()
DataGridView1.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText
Clipboard.SetDataObject(DataGridView1.GetClipboardContent())
appExcel = New Excel.Application
appExcel.SheetsInNewWorkbook = 1
wbExcel = appExcel.Workbooks.Add
appExcel.Visible = True
wbExcel.Worksheets(1).range("A1").Select()
wbExcel.Worksheets(1).Paste()
End Sub
Funciona bien, pero quisiera agregarle un par de cosas. primero seleccionar solo algunas celdas para copiar y pegar (un rango).
Y segundo, y lo mas importante, es que quisiera que la hoja se grabara automaticamente, lo he hecho agregando esta linea
appExcel.SaveWorkspace()
con esa linea se abre el cuadro de dialogo para grabar, pero si el usuario no guarda el doc y pone "cancelar", el programa se cae.
Necesito solucionar ese par de cosas, he buscado bastante antes de consultar aca, espero que me puedan ayudar.
Les agradezco, de antemano, su valiosa ayuda.
Muchas Gracias!!