Kamis, 11 April 2013

VB.net Txt to datagrid

Ada tugas dari kantor baru meng-convert txt dari SAP ke sdf, tapi saya melalui datagrid, karena sdf setahu saya harus menggunakan datagrid.
Oke kita mulai

ini untuk importnya
Imports System.Data.OleDb
Imports System.Data.SqlClient
Imports System.Data.Common
Imports System.IO
Imports System.Data.SqlServerCe



Ini untuk buka file txtnya
Private Sub cmdBrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBrowse.Click
        'Untuk buka Dialog Box
        openFile = New OpenFileDialog()
        openFile.InitialDirectory = "C:\"
        openFile.Filter = "Text Files (*.txt)|*.txt;"

        If (openFile.ShowDialog() = DialogResult.OK) Then
            'naro path di textbox
            txtPath.Text = openFile.FileName.ToString()
            fileExtension = Path.GetExtension(txtPath.Text)
            fileExtension = fileExtension.Substring(1)
            'mengenable cmd
            cmdImport.Enabled = True
            Button1.Enabled = True

            strFileName = txtPath.Text
        End If
    End Sub

Ini untuk convert ke data gridnya
Private Sub cmdImport_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdImport.Click
Dim sLine As [String] = ""

        Try
            Dim FileStream As New System.IO.StreamReader(txtPath.Text)
            DataGridView1.AllowUserToAddRows = False

            sLine = FileStream.ReadLine()

            Dim s As String() = sLine.Split(ControlChars.Tab)
            Dim cek, cek2 As String
'ini untuk header datagrid
For i As Integer = 0 To s.Count() - 1
                    Dim colHold As DataGridViewColumn = New DataGridViewTextBoxColumn()
                    colHold.Name = "col" + System.Convert.ToString(i)
                    colHold.HeaderText = s(i).ToString()
                    DataGridView1.Columns.Add(colHold      
            Next
sLine = FileStream.ReadLine()
            'The while loop reads each line of text.
            While sLine IsNot Nothing
                'Adds a new row to the DataGridView for each line of text.
                DataGridView1.Rows.Add()
                'ini untuk datanya
                For i As Integer = 0 To s.Count() - 1
                                s = sLine.Split(ControlChars.Tab)
                        'Sets the value of the cell to the value of the text retreived from the text file.
                        DataGridView1.Rows(DataGridView1.Rows.Count - 1).Cells(i).Value = s(i).ToString()


                Next
                sLine = FileStream.ReadLine()
            End While
            'Close the selected text file.
            FileStream.Close()
        Catch err As Exception
            'Display any errors in a Message Box.
            System.Windows.Forms.MessageBox.Show("Error:  " + err.Message, "Program Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
        End Try
   End Sub

ini untuk scriptnya
yang di butuhkan adalah 2 Button untuk browse (cmdBrowse) dan import (cmdImport), 1 datagrid (datagridview1), 1 textbox (txtPath)
Sekian

Tidak ada komentar: