Saturday, 12 September 2015

Read MS Word And Excel Files From Vb.net

Read MS Word And Excel Files From Vb.net

Copy and Paste the Code In the Code Window :

Imports Word = Microsoft.Office.Interop.Word
Imports System.Runtime.InteropServices
Imports System
Imports System.Data
Imports System.Data.Odbc
Imports System.Data.OleDb
Public Class ImportDoc
    Dim MSWord As New Word.Application
    Dim WordDoc As New Word.Document
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        OpenFileDialog1.Title = "Please select a MicroSoft Word file"
        OpenFileDialog1.InitialDirectory = docpath
        OpenFileDialog1.Filter = "Word files (*.doc)|*.docx"
        If OpenFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
            Dim wordFileName As String = OpenFileDialog1.FileName
            TextBox1.Text = wordFileName
        End If
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        OpenFileDialog1.FileName = TextBox1.Text
        With MSWord
            .Documents.Open(OpenFileDialog1.FileName)
            .Selection.WholeStory()
            .Selection.Copy()
            RichTextBox1.Paste()
            .Quit()
        End With
        MSWord = Nothing
    End Sub


    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        'Using f As New Form1
        'f.ShowDialog()
        ' f.Dispose()
        ' End Using
        Dim dt As New DataTable
        Dim OpenFileDialog1 As New OpenFileDialog
        Dim FileName As String = ""
        If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            FileName = OpenFileDialog1.FileName.ToUpper
            Dim Builder As New OleDbConnectionStringBuilder With {.DataSource = FileName}
            TextBox1.Text = OpenFileDialog1.FileName
            OpenFileDialog1.Filter = "Excel files (*.xlsx)|*.xlsx"
            If IO.Path.GetExtension(FileName.ToUpper) = ".XLSX" Then
                Builder.Provider = "Microsoft.ACE.OLEDB.12.0"
                Builder.Add("Extended Properties", "Excel 12.0;HDR=No;")
            Else
                Builder.Provider = "Microsoft.Jet.OLEDB.4.0"
                Builder.Add("Extended Properties", "Excel 8.0;HDR=No;")
            End If
            Using cn As New OleDbConnection With {.ConnectionString = Builder.ConnectionString}
                Dim cmd As New OleDbCommand With _
                { _
                    .CommandText = "SELECT * FROM [Sheet1$]", _
                    .Connection = cn _
                }
                cn.Open()
                dt.Load(cmd.ExecuteReader)
            End Using
            DataGridView1.DataSource = Nothing
            If dt.Rows.Count > 0 Then
                DataGridView1.DataSource = dt
            Else
                MessageBox.Show(String.Format("Did not find any data in{0}{1}", Environment.NewLine, FileName))
            End If
        End If
    End Sub
  
 


    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        RichTextBox1.Visible = True
        DataGridView1.Visible = False
    End Sub

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        RichTextBox1.Visible = False
        DataGridView1.Visible = True
    End Sub
End Class


No comments:

Post a Comment