|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jan 2007
Messaggi: 404
|
[VB.NET] Velocizzare lettura da file Excel
Buongiorno,
ho bisogno di leggere un file excel delle celle e inserirle in un DB access ho utilizzato questo codice Codice:
Private Sub leggifile() Dim excelApp As Microsoft.Office.Interop.Excel.Application Dim FileExcel As Microsoft.Office.Interop.Excel.Workbook Dim FoglioExcel As Microsoft.Office.Interop.Excel.Worksheet 'applicazione Excel excelApp = New Microsoft.Office.Interop.Excel.Application 'cartella di lavoro Excel FileExcel = excelApp.Workbooks.Open(percorso.Text) excelApp.Visible = False FileExcel.Activate() 'seleziono il primo foglio FoglioExcel = FileExcel.Worksheets(1) Dim numcolonna As Integer = 1 Dim cognomec As Integer Dim nomec As Integer Dim indirizzoc As Integer 'Trova la colonna interessata For numcolonna = 1 To 50 If FoglioExcel.Cells(1, numcolonna).value = "cognome" Then cognomec = numcolonna ElseIf FoglioExcel.Cells(1, numcolonna).value = "nome" Then nomec = numcolonna ElseIf FoglioExcel.Cells(1, numcolonna).value = "indirizzo" Then indirizzoc = numcolonna End If If FoglioExcel.Cells(1, numcolonna).value = "" Then Exit For End If Next Dim numriga As Integer = 2 Dim destI, indirizzoI As String For numriga = 2 To 30000 If FoglioExcel.Cells(numriga, 2).value = "" Then Exit For End If destI = FoglioExcel.Cells(numriga, cognomec).value & " " & FoglioExcel.Cells(numriga, nomec).value indirizzoI = FoglioExcel.Cells(numriga, indirizzoc).value Dim sql As String 'variabile dove memorizzo la stringa sql 'query d'inserimento sql = "INSERT INTO importabusta(destinatario,indirizzo,idcategoria) " & _ "VALUES ('" & destI & "','" & indirizzoI & "'," & idcategoriaI & ")" 'effettuo la connessione al database ed eseguo la query d'inserimento memorizzando nella variabile Dim cmd As New OleDbCommand(sql, Cn) 'esegue la query d'inserimento cmd.ExecuteNonQuery() Next FoglioExcel = Nothing FileExcel = Nothing excelApp.Quit() excelApp = Nothing End Sub Nel secondo scandisco le righe e a quella determinata colonna mi salvo i valori nel DB fino a quando la riga non è vuota (in questo caso ho letto tutto il file). Il file contiene più di 900 righe ma ne può contenere molte di più volevo sapere se il metod che sto utilizzando è il migliore o ce ne sono altri molto più veloci? grazie in anticipo ![]() ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:31.