Guten NachmittagNach unten verschieben Zellen, weil die Daten überschrieben wurden in Excel schreiben
Ich habe eine Excel-Datei das ist, was es aussieht.
und ich habe ein VB.Net Programm, das wie folgt aussieht.
nun nach dem Print Transmittal Form
die Daten von Datagridview klicken, wird der Excel-Format übertragen in die ich erstellt, aber Theres etwas falsch, und hier ist der Ausgang.
Die Daten überschreiben diesen Teil.
Wie ich das verhindern kann? Anstatt die Zellen zu überschreiben, bewegt sich der überschriebene Teil nach unten, basierend auf der Anzahl der Daten in der Datagrid-Ansicht.
Hier ist mein Code.
If DataGridView1.Rows.Count = 0 Then
MsgBox("Nothing to Export")
Else
Dim ExcelApp As Object, ExcelBook As Object
Dim ExcelSheet As Object
Dim rowIndex As Integer = 1
Dim total As Double = 0
ExcelApp = CreateObject("Excel.Application")
ExcelBook = ExcelApp.Workbooks.Open("c:\SR Transmittal.xlsx")
ExcelSheet = ExcelBook.WorkSheets("Transmittal Form")
rowIndex += 11
With ExcelSheet
For i As Integer = 0 To DataGridView1.Rows.Count - 1
Dim columnIndex As Integer = 0
Do Until columnIndex
ExcelSheet.Cells(i + 12, columnIndex + 2).Value = DataGridView1.Item("ItemCode", i).Value.ToString
ExcelSheet.Cells(i + 12, columnIndex + 3).Value = DataGridView1.Item("Description", i).Value.ToString
ExcelSheet.Cells(i + 12, columnIndex + 4).Value = DataGridView1.Item("RequestedQty", i).Value.ToString
ExcelSheet.Cells(i + 12, columnIndex + 5).Value = DataGridView1.Item("UOM", i).Value.ToString
ExcelSheet.Cells(i + 12, columnIndex + 6).Value = DataGridView1.Item("UnitPrice", i).Value.ToString
ExcelSheet.Cells(i + 12, columnIndex + 7).Value = DataGridView1.Item("Total", i).Value.ToString
ExcelSheet.Cells(i + 12, columnIndex + 8).Value = DataGridView1.Item("Remarks", i).Value.ToString
.cells(i + 12, columnIndex + 4).NumberFormat = "#,##0.00"
.cells(i + 12, columnIndex + 6).NumberFormat = "#,##0.00"
.cells(i + 12, columnIndex + 7).NumberFormat = "#,##0.00"
columnIndex += rowIndex
.Columns("A:Z").EntireColumn.AutoFit()
.Columns("A:Z").EntireColumn.Font.Size = 9
Loop
Next
End With
ExcelApp.Visible = True
ExcelSheet = Nothing
ExcelBook = Nothing
ExcelApp = Nothing
End If
TYSM Hilfe
Darauf hingewiesen TY –
@NyxAssasin Gern geschehen! Funktioniert der vorgeschlagene Code? Wenn ja, würde ich die Antwort zu schätzen wissen als richtig markiert – idodev
Sorry, ich habe es vergessen Ich hoffe, wir sehen uns wieder, als ich ein Problem in Excel hatte, denn das ist eines meiner Probleme heute TYSM –