Hallo,
ich habe in Form1 2 DGV, von DGV1 kopiere ich die markierte Zeile in DGV2.
DGV1 ist gebunden, Daten kommen von einer Access Datenbank, DGV2 ist ungebunden.
Alles wird richtig angezeigt in DGV2 auch die 2 Spalten " E-Preise u. Summe " mit Währungen € und 2 Decimal stellen.
Nun, wenn ich die Daten von DGV2 zu Word exportiere passiert folgendes:
1) in DGV2 stehen zum Beispiel in Spalte E-Preise der Betrag 133,60 € in Word kommt das raus 133,6 es fehlt die 0 .
2) "" "" "" "" "" "" "" "" "" "" 10,00 € "" "" "" "" "" 10 es fehlt das komma und die zwei 00 .
Es fehlt immer die Null dahinter ....
Habe es mit 2 verschiede Code's zum Testen versucht zum Exportieren nach Word aber immer das selbe.
Hier der erste Code:
Hier der zweite Code :
Wie gesagt in DGV1 und DGV2 wird alles richtig angezeigt, finde den Fehler nicht.
Gruß Andi
ich habe in Form1 2 DGV, von DGV1 kopiere ich die markierte Zeile in DGV2.
DGV1 ist gebunden, Daten kommen von einer Access Datenbank, DGV2 ist ungebunden.
Alles wird richtig angezeigt in DGV2 auch die 2 Spalten " E-Preise u. Summe " mit Währungen € und 2 Decimal stellen.
Nun, wenn ich die Daten von DGV2 zu Word exportiere passiert folgendes:
1) in DGV2 stehen zum Beispiel in Spalte E-Preise der Betrag 133,60 € in Word kommt das raus 133,6 es fehlt die 0 .
2) "" "" "" "" "" "" "" "" "" "" 10,00 € "" "" "" "" "" 10 es fehlt das komma und die zwei 00 .
Es fehlt immer die Null dahinter ....
Habe es mit 2 verschiede Code's zum Testen versucht zum Exportieren nach Word aber immer das selbe.
Hier der erste Code:
Visual Basic-Quellcode
- Private Sub Button7_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
- Dim r As Integer, c As Integer
- Dim oTable As Word.Table = objDoc.Tables.Add(objDoc.Bookmarks.Item("\endofdoc").Range,
- Datagridview2.RowCount, Datagridview2.ColumnCount, Datagridview2.ColumnHeadersVisible = True)
- For r = 0 To Datagridview2.RowCount - 2
- For c = 0 To Datagridview2.Columns.Count - 1
- If Datagridview2.Rows(r).Cells(4).Value IsNot DBNull.Value Then
- sum += Datagridview2.Rows(r).Cells(4).Value
- End If
- objDoc.Tables(1).Cell(r + 1, c + 1).Range.Text = Datagridview2(c, r).Value.ToString
- Next
- Next
- Dim oCell As Cell
- oTable = objDoc.Tables(1)
- For Each oCell In oTable.Range.Cells
- If oCell.RowIndex > 0 Then
- Select Case oCell.ColumnIndex
- Case 1
- oCell.Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter
- oCell.Range.Font.Color = WdColor.wdColorBrown
- oCell.Range.Font.Bold = False
- oCell.Range.Columns.Width = 65
- Case 2
- oCell.Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter
- oCell.Range.Font.Color = WdColor.wdColorDarkYellow
- oCell.Range.Font.Bold = False
- oCell.Range.Columns.Width = 35
- Case 3
- oCell.Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphLeft
- oCell.Range.Font.Color = WdColor.wdColorDarkTeal
- oCell.Range.Font.Bold = False
- oCell.Range.Columns.Width = 280
- Case 4
- oCell.Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphRight
- oCell.Range.Font.Color = WdColor.wdColorBrown
- oCell.Range.Font.Bold = False
- oCell.Range.Columns.Width = 70
- Case 5
- oCell.Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphRight
- oCell.Range.Font.Color = WdColor.wdColorRed
- oCell.Range.Font.Bold = False
- oCell.Range.Columns.Width = 70
- End Select
- End If
- Next
- End Sub
Hier der zweite Code :
Visual Basic-Quellcode
- Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click
- Dim objWord As Word.Application
- Dim objDoc As Word.Document
- objWord = CreateObject("Word.Application")
- objWord.Visible = True
- objWord.WindowState =
- Word.WdWindowState.wdWindowStateNormal
- objDoc = objWord.Documents.Add
- Dim objPara As Word.Paragraph
- Dim i As Integer
- 'For i = 1 To 5
- For i = 0 To DataGridView1.ColumnCount - 1
- objPara = objDoc.Paragraphs.Add
- objPara.Range.Text = DataGridView1.Rows(i).Cells(0).Value & " " & DataGridView1.Rows(i).Cells(1).Value & " " & DataGridView1.Rows(i).Cells(2).Value & " " & DataGridView1.Rows(i).Cells(3).Value & " " & DataGridView1.Rows(i).Cells(4).Value & " " & DataGridView1.Rows(i).Cells(5).Value & " " & DataGridView1.Rows(i).Cells(6).Value & " " & DataGridView1.Rows(i).Cells(7).Value & " " & DataGridView1.Rows(i).Cells(8).Value
- objPara.Range.InsertParagraphAfter()
- Next
- End Sub
Wie gesagt in DGV1 und DGV2 wird alles richtig angezeigt, finde den Fehler nicht.
Gruß Andi