Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Grazie ad un mocio rotante che viene costantemente bagnato e pulito, Narwal Flow assicura un completo e capillare lavaggio dei pavimenti di casa. La logica di intellignza artificiale integrata guida nella pulizia tra i diversi locali, sfruttando un motore di aspirazione molto potente e un sistema basculante per la spazzola molto efficace sui tappeti di casa
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi
Con un prezzo di 2.999 euro, il Panasonic Z95BEG entra nella fascia ultra-premium dei TV OLED: pannello Primary RGB Tandem, sistema di raffreddamento ThermalFlow, audio Technics integrato e funzioni gaming avanzate lo pongono come un punto di riferimento
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-11-2009, 11:26   #1
jackk87
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 primo ciclo scandisco i file sulla prima riga e cerco tra le colonne quelle che mi interessano in questo caso cognome,nome,indirizzo (perchè il file contiene altre colonne) e mi salvo i valori in cui si trovano.
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
jackk87 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro) Recensione Google Pixel 10 Pro XL: uno zoom 100x...
Arrivano le eSIM per iliadbusiness, l'of...
iPhone 17 e 17 Pro senza SIM fisica: non...
Hollow Knight: Silksong, primo record sp...
Public VCF as-a-Service, il nuovo serviz...
GAC annuncia il suo ingresso in Europa: ...
Un rene di maiale potrebbe salvarti la v...
Batterie al litio in aereo, la FAA lanci...
HONOR Magic V5: un tablet a portata di s...
Se non rientrate nei requisiti, non aspe...
È ora di aggiornare Windows 11: c...
Messico: 'aumentare le tasse sui videogi...
Prezzi Amazon a picco: come aggiornare i...
NVIDIA Rubin CPX con 128 GB GDDR7: 30 Pe...
smart #5 Brabus, primo contatto con la s...
Tineco presenta il futuro della pulizia ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 11:31.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v