Home All Groups Group Topic Archive Search About

Content of Datagridview to Excel

Author
5 Apr 2006 1:03 PM
Morten Snedker
Hi folks,

I'm trying to get the actual content of a datagridview into Excel. It
seems to me that the most easy way is to use the WriteXML property of
a dataset.

So that's what I'm trying, but I'm getting it wrong when trying to get
the grids datasource into the dataset.

Firstly, is using the DataSet.WriteXML an okay approach?

And anyhow, what I'm I doing wrong:

  Dim ds As New DataSet
  ds = Me.DataGridView1.DataSource

        Dim fs As New System.IO.FileStream("d:\test.xml",
IO.FileMode.CreateNew)

        ds.WriteXml(fs)

        fs.Close()
        fs.Dispose()
        ds.Dispose(



The problem is that the original dataset that puts data to the grid
has been disposed at this current time...

Thanks in advance for any help.


Regards /Snedker

Author
5 Apr 2006 3:22 PM
Cor Ligthert [MVP]
Morten,

Is this an ASPNET application, otherwise is this impossible.

Show quoteHide quote
> The problem is that the original dataset that puts data to the grid
> has been disposed at this current time...
>
Cor
Author
6 Apr 2006 7:28 AM
Morten Snedker
On Wed, 5 Apr 2006 17:22:34 +0200, "Cor Ligthert [MVP]"
<notmyfirstn***@planet.nl> wrote:

It is not, it's an VB app. Nice just to know if it is doable or not.
I've changed the code letting the dataset live. It was disposed to
keep memory overhead down. Thanks for your reply.

/Snedker

Show quoteHide quote
>Is this an ASPNET application, otherwise is this impossible.
>
>> The problem is that the original dataset that puts data to the grid
>> has been disposed at this current time...
>>
>Cor
>
Author
6 Apr 2006 7:45 AM
Cor Ligthert [MVP]
Morten,

A datagridview is only a view on an bindable collection as a datatable.

Therefore it needs a reference. As long as that reference exist the
datasource cannot be disposed.  Just the way as the Garbage Collector is
working. And if not, it is not anymore referenced by (in view of) the
DataGridView.

I hope this helps,

Cor