+ Rispondi al Thread
Pagina 1 di 7 123 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 64

Discussione: ricerca testo su file excel

  1. #1
    eurostar_italia non è in linea Scolaretto
    Post
    94

    ricerca testo su file excel

    buongiorno,
    torno a disturbare per la seguente esigenza.
    sto realizzando un applicativo che si interfacci con un foglio excel;questo foglio è un registro di oggetti dimenticati in ufficio.
    mi sto "sbattendo" sulla funzione di ricerca.
    in pratica vorrei che in base ad un filtro (tipo oggetto,data o altro) il mio applicativo trovasse tutte le righe del foglio excel.
    ho inserito un datagridview.
    quello che chiedo è una consulenza "LOGICA".
    1 ) è meglio caricare tutto in una matrice e poi fargliela caricare sul datagridview, o caricare direttamente dal file il datagridview dal file (non supera le 1000 righe) ?
    ovviamente il codice è diverso
    grazie
    fabio

  2. #2
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,310
    Blogs
    5
    Da un punto di vista logico la cosa giusta sarebbe usare un DB e non excel e fare le ricerche su un foglio Excel.
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  3. #3
    eurostar_italia non è in linea Scolaretto
    Post
    94
    concordo,ma disgraziatamente il foglio excel non lo posso "eliminare" al momento.Deve decidere il mega direttore totale di fantozzi.quindi cerco di migliorare il migliorabile da uno schiavo

  4. #4
    eurostar_italia non è in linea Scolaretto
    Post
    94
    sto usando questo codice ma mi trova solo la prima occorrenza,io invece devo riempire una datagridview,quindi ho bisogno di tutte le occorrenze ma rileggendo il codice non riesco a capire l'errore.

    codice:
    Private Sub SearchText()
            Dim oXL As Excel.Application
            Dim oWB As Excel.Workbook
            Dim oSheet As Excel.Worksheet
            Try
                Dim File_name As String = "C:\test.xls"
                oXL = CreateObject("Excel.Application")
                oWB = oXL.Workbooks.Open(File_name)
                oSheet = oWB.Worksheets(1)
     
                Dim oRng As Excel.Range = GetSpecifiedRange("get", oSheet)
                If oRng IsNot Nothing Then
                    MessageBox.Show("Text found, position is Row-" & oRng.Row & " and column-" & oRng.Column)
                Else
                    MessageBox.Show("Text is not found")
                End If
                oWB.Close()
     
                oSheet = Nothing
                oWB = Nothing
                oXL.Quit()
     
            Catch ex As Exception
                If oSheet IsNot Nothing Then
                    oSheet = Nothing
                End If
                If oWB IsNot Nothing Then
                    oWB = Nothing
                End If
                If oXL IsNot Nothing Then
                    oXL.Quit()
                End If
            End Try
        End Sub
    Private Function GetSpecifiedRange(ByVal matchStr As String, ByVal objWs As Excel.Worksheet) As Excel.Range
            Dim currentFind As Excel.Range = Nothing
            Dim firstFind As Excel.Range = Nothing
            currentFind = objWs.Range("A1:AM100").Findnext(matchStr, , _
    Excel.XlFindLookIn.xlValues, Excel.XlLookAt.xlPart, _
    Excel.XlSearchOrder.xlByRows, Excel.XlSearchDirection.xlNext, False)
            Return currentFind
        End Function
    Ultima modifica di eurostar_italia; 03-11-2019 14:36 

  5. #5
    patel45 non è in linea Scolaretto Ultimo blog: recupero dati da pagina html
    Post
    316
    Blogs
    1
    Tu fai la ricerca una sola volta, non l'hai inserita in un ciclo che si ferma quando non trova più niente.
    Comunque credo che Antonio non ti abbia consigliato di usare un db invece di un xlsx, ma di aprire il file excel come se fosse un db, quindi con OLEDB
    Ultima modifica di patel45; 03-11-2019 17:22 

  6. #6
    eurostar_italia non è in linea Scolaretto
    Post
    94
    Quote Originariamente inviato da patel45 Visualizza il messaggio
    Tu fai la ricerca una sola volta, non l'hai inserita in un ciclo che si ferma quando non trova più niente
    pensavo il findnext eseguisse l'operazione in autonomia
    però un attimo il ciclo lo devo mettere sulla function o sulla sub...mi sono un attimo incartato
    Ultima modifica di eurostar_italia; 03-11-2019 17:28 

  7. #7
    patel45 non è in linea Scolaretto Ultimo blog: recupero dati da pagina html
    Post
    316
    Blogs
    1
    ma sei certo che funzioni il tuo codice almeno per il primo item ? non mi piace il findnext senza prima un find.

  8. #8
    eurostar_italia non è in linea Scolaretto
    Post
    94
    Quote Originariamente inviato da patel45 Visualizza il messaggio
    ma sei certo che funzioni il tuo codice almeno per il primo item ? non mi piace il findnext senza prima un find.
    Allora se metto find,mi trova la prima occorrenza.
    Se uso findnext mi da errore “troppi argomenti”.
    Il ciclo sinceramente non saprei come implementarlo sulla funzione

  9. #9
    patel45 non è in linea Scolaretto Ultimo blog: recupero dati da pagina html
    Post
    316
    Blogs
    1
    Il findnext funziona bene in VBA, ma in vb.net no, dopo aver trovato l'ultimo elemento riparte dal primo, vedi https://docs.microsoft.com/it-it/dot...view=vsto-2017
    Perché non fai una macro direttamente su Excel ? altrimenti segui il consiglio di Antonio

  10. #10
    eurostar_italia non è in linea Scolaretto
    Post
    94
    Quote Originariamente inviato da patel45 Visualizza il messaggio
    Il findnext funziona bene in VBA, ma in vb.net no, dopo aver trovato l'ultimo elemento riparte dal primo, vedi https://docs.microsoft.com/it-it/dot...view=vsto-2017
    Perché non fai una macro direttamente su Excel ? altrimenti segui il consiglio di Antonio
    per i seguenti motivi :
    1) il foglio excel non è cambiabile con un db,la decisione spetta al megadirettore laterale di fantozzi.già è tanto avere l'excel
    2) una macro in vba è un idea,ma io ho fatto un applicativo che fa l'inserimento dei dati,ora mi trovo nella fase della ricerca . spesso aprono il file da due pc e ovviamente va in sola lettura,con l'interfaccia almeno il file rimane al sicuro.

    comunque googlando non ho trovato molto...
    un ciclo dove lo dovrei inserire secondo te ? e come

+ Rispondi al Thread
Pagina 1 di 7 123 ... ultimoultimo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi