rrswa
rrswa

Reputation: 1050

VB.net | Save data from DataGridView to text file (Line per line)

The application I designed so far has a DataGridView which loads data from a text file line per line.

All I want is for the code to save the (first row, first column) on the first line as a string, then (first row, second column) on the second line, etc.

Here is an example of what my table looks like:

|-------------------------------------------------------|
|  ID  |  Date  |  Height  |  Weight  |  BMI  |  Units  |
|-------------------------------------------------------|
|  01  | 16/06  |   1.74   |    64    | 20.9  | Metric  |
|  02  | 17/06  |   1.74   |    63    | 20.6  | Metric  |
|-------------------------------------------------------|

So from this example, after the data has been saved to the text file it should look exactly like this:

01
16/06
1.74
64
20.9
Metric
02
17/06
1.74
63
20.6
Metric

I came across some excellent code which does this with tabs, instead of a next line, here it is:

dgvMeasures.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithoutHeaderText
dgvMeasures.SelectAll()
IO.File.WriteAllText(fileName, dgvMeasures.GetClipboardContent.GetText.TrimEnd)
dgvMeasures.ClearSelection()

NOTE: The DataGridView is called dgvMeasures

Also please note that I cannot provide anything that I have already tried since there is nothing I can do, I have no idea what to do.

So if there is anyone who could help, it would be greatly appreciated

Upvotes: 2

Views: 7810

Answers (1)

Sastreen
Sastreen

Reputation: 597

To do this, you just need to use a writer, and go through it in the way you want.

Using writer As New System.IO.StreamWriter(filePath)
    For row As Integer = 0 To dgvMeasures.RowCount - 1
        For col As Integer = 0 To dgvMeasures.ColumnCount - 1
            writer.WriteLine(dgvMeasures.Rows(row).Cells(col).Value.ToString)
        Next
    Next
End Using

This will go through each column for each row (as you describe), and then go to the next row.

I am sure you have a reason for writing the text file like this, but if you want to read it back in at some point, I would really recommend using a tab-delimited (or similar) format.

Upvotes: 2

Related Questions