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:
Funciona bien, pero quisiera agregarle un par de cosas. primero seleccionar solo algunas celdas para copiar y pegar (un rango).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
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!!