[英]Pass empty cell value from datagridview
我有14列的datagridview,大多數情況下會部分/全部填充數字和字符。
我要做的是將這些值傳遞到.csv文件中。 問題是,我編寫的代碼沒有通過空單元格而崩潰。 我希望每個單元格值都用逗號分隔,並且在掃描了該行的所有列后,傳遞到下一行直到網格的末尾。
數據應如下所示:1945.9,1260.4,P3.P4,``,,,,,,, 2018-07-17 08:17:27
到目前為止,我的代碼如下所示:
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim date_rapport As Date = Date.Today
Format(date_rapport, "dd-MM-yyyy")
Dim filePath As String = "C:\Rapport_punch" & date_rapport & "\" & ".csv"
Dim delimeter As String = ","
Dim sb As New StringBuilder
For i As Integer = 0 To data_punched.Rows.Count - 1
Dim array As String() = New String(data_punched.Columns.Count - 1) {}
If i.Equals(0) Then
For j As Integer = 0 To data_punched.Columns.Count - 1
array(j) = data_punched.Columns(j).HeaderText
Next
sb.AppendLine(String.Join(delimeter, array))
End If
For j As Integer = 0 To data_punched.Columns.Count - 1
If Not data_punched.Rows(i).IsNewRow Then
array(j) = data_punched(j, i).Value.ToString
End If
Next
If Not data_punched.Rows(i).IsNewRow Then
sb.AppendLine(String.Join(delimeter, array))
End If
Next
File.WriteAllText(filePath, sb.ToString)
'Opens the file immediately after writing
Process.Start(filePath)
End Sub
我認為我需要處理代碼的這一部分,但不知道如何做。
For j As Integer = 0 To data_punched.Columns.Count - 1
If Not data_punched.Rows(i).IsNewRow Then
array(j) = data_punched(j, i).Value.ToString
End If
Next
任何想法
首先嘗試檢查它是否為空(因為我在這台機器上沒有設置,所以無法檢查),這可能是問題所在。
For j As Integer = 0 To data_punched.Columns.Count - 1
If Not data_punched.Rows(i).IsNewRow Then
If (data_punched(j, i).Value == null) Then
array(j) = ""
Else
array(j) = data_punched(j, i).Value.ToString
End If
End If
Next
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.