Visual Basic.NET - DataGridView a Hoja de calculo

   
Vista:

DataGridView a Hoja de calculo

Publicado por Alejandro Jiménez Ramos (15 intervenciones) el 26/10/2009 20:25:09
Buenas tardes, tengo un problema que no he podido resolver, se trata de lo siguiente:

Tengo un DataGridView que quiero pasar a cualquier hoja de calculo al dar click en un botón, no solo a excel, puede ser calc, lotus u otra, tambien debo poder mandarlo a word y a pdf, tiene que ser, como veran, muy generico, saben alguna forma de hacerlo ?, me ayudarian muchisimo, espero tengan una respuesta para mi, les agradeceré mucho su ayuda, por su atención, gracias.

Buen dia.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:DataGridView a Hoja de calculo

Publicado por A.ND (Alien .Net Developers) (47 intervenciones) el 27/10/2009 10:53:38
Hola, te paso un codigo que emplee para una aplicacion que tenia que pasar los datos de un datagridview a una hoja excel.
Solo lo pasa a excel pero a lo mejor te puede servir de guia para otras cosas.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Me.SaveFileDialog1.FileName = "Reporte.xls"
SaveFileDialog1.DefaultExt = "xls"
SaveFileDialog1.Title = "Guardar el reporte"
SaveFileDialog1.Filter = "Reporte (Reporte.xls)|Reporte.xls"

If Me.SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.Cancel Then
Else
Call Exportar()
End If

End Sub



Function Exportar()
Dim sRutaReporte As String
Dim strStreamW As Stream
Dim strStreamWriter As StreamWriter
Dim Filas = Me.DataGridView1.Rows.Count
Dim Columnas = Me.DataGridView1.Columns.Count

sRutaReporte = SaveFileDialog1.FileName

Dim Archivo As String = sRutaReporte
Dim Linea
Dim f, c

File.Delete(Archivo)
strStreamW = File.OpenWrite(Archivo)

strStreamWriter = New StreamWriter(strStreamW, System.Text.Encoding.UTF8)

Linea = "<?xml version='1.0'encoding='ISO-8859-1'?>"
Linea = Linea & "<Workbook xmlns='urn:schemas-microsoft-com:office:spreadsheet'>"
Linea = Linea & "<ExcelWorkbook xmlns='urn:schemas-microsoft-com:office:excel'/>"
Linea = Linea & "<Worksheet ss:Name='Hoja 1'>"
Linea = Linea & "<Table>"
Linea = Linea & "<Column ss:Width='100'/>"
Linea = Linea & "<Row>"

For c = 0 To Columnas - 1
Linea = Linea & " <Cell><Data ss:Type=""String""> " & Me.DataGridView1.Columns(c).Name & " </Data></Cell> "
Next
Linea = Linea & "</Row>"

For f = 0 To Filas - 1
Linea = Linea & "<Row>"
For c = 0 To Columnas - 1
Linea = Linea & "<Cell><Data ss:Type=""String"">" & Me.DataGridView1.Item(c, f).Value & " </Data></Cell> "

Next
Linea = Linea & "</Row>"
Next

Linea = Linea & "</Table>"
Linea = Linea & "</Worksheet>"
Linea = Linea & "</Workbook>"

strStreamWriter.WriteLine(Linea)
strStreamWriter.Close()

Try
Process.Start(Archivo)
Catch Ex As Exception
MsgBox(Ex.Message, MsgBoxStyle.Critical, Ex.Source)
End Try

End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DataGridView a Hoja de calculo

Publicado por Alejandro Jiménez Ramos (15 intervenciones) el 27/10/2009 17:09:36
Gracias
A.ND (Alien .Net Developers)

Creo que me será de gran ayuda, ustedes sí saben.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar