08. august 2005 - 11:55Der er
12 kommentarer og 1 løsning
Importere fra Excel til datagrid og eksportere til Access
Hej alle
Jeg har et problem, og det er:
Jeg kan godt finde ud af at impotere en masse indhold fra en excel fil til et datagrid. Derudover kan jeg også godt få data hentet fra en access database til datagrid og opdatere denne data. Dvs. jeg kan godt få fyldt dataset'ne, men er uviden om hvordan jeg skal forsætte
Det jeg ikke kan, er at hente informationen fra Excel til datagrid og gemme dataen i Access database. Hvordan kan dette nemmeste gøres? Antal kolonner er det samme i excel og access databasen.
Håber der er nogen som kan hjælpe eller kan give en alternativ løsning til hvordan dette kan gøres. Evt en løsning til hvordan man copy paste fra excel til et datagrid som har dataset fra Access
strSQL = "SELECT * FROM [Sheet1$]" objConn = New OleDb.OleDbCommand(strSQL, objConn) objConn.Open() Try drOLE = objConn.ExecuteReader(CommandBehavior.Default) Catch ex As Exception MsgBox(ex.Message) End End Try If drOLE.HasRows Then drOLE.Read() Do Try 'INSERT INTO TABEL osv. Catch ex As Exception MsgBox(ex.Message) End End Try Loop While drOLE.Read End If
Sådan ser min kode ud nu, men hvis jeg nu kun ønsker den skal tage a4 til c7. Den har namerange "Ordrelinjer" kan man bruge det istedet for [sheet1$], plus excel filen kan have flere sheets, som fx. ordre 1, ordre2. Hvordan skal SELECT metoden se ud? ordre 1.#Ordrelinjer# eller? er rimelig ny indefor det med excel og vb :)
Class MainClass Public Shared Sub Main(ByVal args As String()) Dim con As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Book2.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1""") con.Open Dim cmd As OleDbCommand = New OleDbCommand("SELECT k2,k3 FROM [sheet1$] WHERE k1 >= 2", con) Dim rdr As OleDbDataReader = cmd.ExecuteReader While rdr.Read Dim k2 As Double = CType(rdr(0), Double) Dim k3 As Double = CType(rdr(1), Double) Console.WriteLine(k2 & " " & k3) End While con.Close End Sub End Class
hmm arne v. Selv koden fungere fint, men den "æder" eller springer den første linje over i excel dokumentet. Hvis jeg fx. har 19 rækker tager din kode kun de 18 rækker, hvad kan det skyldes?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.