Hello guys,
Ik probeer dus een .db3 bestand uit te lezen en deze te laten zien in een datagridview (werkt).
Maar ik wil hem opslaan als een CSV file. Ik heb daarvoor onderstaande code 'gevonden':
Maar hij geeft een NullPointerException bij regel 27 (op het einde) zodra hij op het einde van de grid is. Maar ondertussen is mijn CSV file toch goed geschreven en bestaat (en kan geopend worden). Daarom even de foute Try-Catch. Maar wat kan het zijn?
Tevens dan de vraag, kan ik dit ook uitschrijven naar een HTML bestand? Zodanig dus dat hij HTML tags print en daarin de waardes van de grid zet?
Bedankt alvast! Ik zoek ondertussen ook verder...
EDIT:
Heb even de hele code gedaan die relevant is.
EDIT2:
Kan het al opgelost worden met een HTML als ik gewoon kies voor laat zeggen:
Enzovoort...
EDIT3:
HTML support is ondertussen ook zogoed als klaar. Als interesse erin is dan post ik het wel even
.
Ik probeer dus een .db3 bestand uit te lezen en deze te laten zien in een datagridview (werkt).
Maar ik wil hem opslaan als een CSV file. Ik heb daarvoor onderstaande code 'gevonden':
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
| Public Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click Dim type As String = cboxType.SelectedItem() If type Is Nothing Then MessageBox.Show("Gelieve een opslag formaat te kiezen.", "Error", MessageBoxButtons.OK) Else If type.Contains("CSV") Then exportDGVToCSV(dir & "\exported_csv_db3.csv", Me.dgvMain, xboxHeaders.CheckState, txtTeken.Text) End If End If End Sub Public Sub exportDGVToCSV(ByVal strExportFileName As String, ByVal DataGridView As DataGridView, Optional ByVal blnWriteColumnHeaderNames As Boolean = False, Optional ByVal strDelimiterType As String = ",") Try Dim sr As StreamWriter = File.CreateText(strExportFileName) Dim strDelimiter As String = strDelimiterType Dim intColumnCount As Integer = DataGridView.Columns.Count - 1 Dim strRowData As String = "" If blnWriteColumnHeaderNames Then For intX As Integer = 0 To intColumnCount strRowData += Replace(DataGridView.Columns(intX).Name, strDelimiter, "") & IIf(intX < intColumnCount, strDelimiter, "") Next intX sr.WriteLine(strRowData) End If For intX As Integer = 0 To DataGridView.Rows.Count - 1 strRowData = "" For intRowData As Integer = 0 To intColumnCount strRowData += Replace(DataGridView.Rows(intX).Cells(intRowData).Value.ToString, strDelimiter, "") & IIf(intRowData < intColumnCount, strDelimiter, "") Next intRowData sr.WriteLine(strRowData) Next intX sr.Close() Catch ex As Exception '... MsgBox("Klaar met schrijven!") End Try End Sub |
Maar hij geeft een NullPointerException bij regel 27 (op het einde) zodra hij op het einde van de grid is. Maar ondertussen is mijn CSV file toch goed geschreven en bestaat (en kan geopend worden). Daarom even de foute Try-Catch. Maar wat kan het zijn?
Tevens dan de vraag, kan ik dit ook uitschrijven naar een HTML bestand? Zodanig dus dat hij HTML tags print en daarin de waardes van de grid zet?
Bedankt alvast! Ik zoek ondertussen ook verder...
EDIT:
Heb even de hele code gedaan die relevant is.
EDIT2:
Kan het al opgelost worden met een HTML als ik gewoon kies voor laat zeggen:
Visual Basic:
1
| exportDGVToHTML(dir & "\exported_csv_db3.html", Me.dgvMain, xboxHeaders.CheckState, "<td>") |
Enzovoort...
EDIT3:
HTML support is ondertussen ook zogoed als klaar. Als interesse erin is dan post ik het wel even
[ Voor 23% gewijzigd door 430xlkod op 07-05-2011 20:36 ]