2017-11-26 6 views
-1

파일 난 그냥 내가 DataGridView를 읽을 수됩니다 CSV 파일을 저장하기 위해 노력하고있어 쓰기 CSV는 VB.NET

VB.NET

코드를 저장하는 CSV 파일에 문제가 있어요. 방금 "독서"코드를 만들었습니다. 완벽하게 작동합니다! 파일을 저장하는 데 문제가 있습니까?

Public Class Builder 

Sub Create_Records() 
    Dim i As Integer 
    For i = 0 To Manager.Grid.Rows.Count - 1 
     Manager.Grid.Rows.Add("ciao;", "comestai") 
    Next 
End Sub 

Sub Write() 
    If (Not System.IO.Directory.Exists("C:\MyPCBuilder")) Then 
     System.IO.Directory.CreateDirectory("C:\MyPCBuilder") 
    End If 

    Dim Write As New System.IO.StreamWriter("C:\MyPCBuilder\builds.csv") 
    For i = 0 To Manager.Grid.Rows.Count - 1 
     Text = "" 
     For j = 0 To 1 
      If Text = Text & Manager.Grid.Rows(i).Cells(j).Value & ";" Then 
      Else 
       Text = Text & Manager.Grid.Rows(i).Cells(j).Value 
      End If 
     Next 
     Write.WriteLine(Text) 
    Next 
    Write.Close() 
End Sub 

Private Sub btn_Confirm_Click(sender As Object, e As EventArgs) Handles btn_Confirm.Click 
    Create_Records() 
    Write() 
End Sub 

최종 클래스

+0

당신은 이것을 디버깅하지 않았습니까? [ask]를 읽고 [tour] – Plutonix

답변

1

당신의 내부 루프의 경우, 문이 잘못되었습니다. Then 부분이 비어 있고 상태가 이상합니다. 만 2 열이 있기 때문에 당신이 대신 인덱스에 대한 시험 (외부 루프는 도시하지 않음) (경우에 당신이 더 많은 열 또는 열 변수 번호가)이 내부 루프를 유지하려면, 단순히

For i = 0 To Manager.Grid.Rows.Count - 1 
    Text = Manager.Grid.Rows(i).Cells(0).Value & ";" & Manager.Grid.Rows(i).Cells(1).Value 
    Write.WriteLine(Text) 
Next 

쓰기

Text = "" 
For j = 0 To 1 
    If j > 0 Then 
     Text = Text & ";" 
    End If 
    Text = Text & Manager.Grid.Rows(i).Cells(j).Value 
Next