Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    51

    Delphi leggere da Excel

    Salve,
    sono riuscito a leggere la tabella da Excel, se nel foglio é contenuta solo la tabella, se in alto prima della tabella c'é scritto qualcosa o c'é un'immagine, non riesco + a leggere.
    Ho letto su internet che si puo' dare un range:
    Select .... from [Articoli$A3:B10']

    ma non mi funziona:
    1. Perché sul foglio excel ho le colonne in cifre es: R[1]C[2] ed i numeri possono andare in negativo,,,bho', comunque sia con A3...o R[1]...non funziona niente.

    E poi anche se funzionasse io non so' la lunghezza della tabella...perché si possono aggiungere dei dati.

    Dorei riuscire a far leggere la tabella (select .... from ....) da una riga in poi: es dalla 12 dove c'é l'intestazione delle colonne.

    Qualcuno puo' darmi un indizio su come fare.

    grazie

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Potresti leggere una riga per volta, fino a quando non incontri una cella dal contenuto vuoto.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    51
    Non capisco cosa intendi....
    io leggo il file(foglio) Excel come se fosse un DB, con una query

    select campo1,campo2 from foglio1$

    e lo carico in una tabella in delphi.

    il problema che sopra la tabella(in excel) ho delle immagini e un titolo. Usando la select non riesce a trovarmi la tabella.

    grazie

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Un accesso al foglio Excel di quel tipo presuppone che ciascuna colonna abbia poi un preciso tipo di dato associato, altrimenti si rischia di cadere in seri problemi ed effetti collaterali.

    Cosa usi per accedere a Excel? I componenti ADO?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Quindi hai usato ADO. Se il tuo foglio Excel non è organizzato in modo estremamente rigido, questa interfaccia potrebbe crearti qualche problema.

    Eventualmente, prova a valutare l'uso di componenti di terze parti specifici per l'accesso ad applicativi Office, come ad esempio TurboPower OfficePartner, freeware e OpenSource, con buona documentazione (in lingua inglese).

    Io li ho utilizzati con grossi benefici per accedere ad Outlook.

    So che è una soluzione un po' drastica e magari avresti preferito un suggerimento meno spiazzante...

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    51
    Grazie...infatti é una soluzione un po' drastica....
    il foglio excel é strutturato bene...con ado riesco a leggere la tabella e caricarla in un grid in delphi, e funziona tutto.....
    il problema é che non riesco a dirgli da dove cominciare a leggere con la query, nel senso che se il foglio contiene solo i dati, tutto ok, se invece sopra la tabella c'é qualcosa....fatico a leggere.

    Ma ho letto che nella quera di selezione si puo' usare:
    select * from[Articoli$]
    per leggere tutto il foglio, e funziona se ho solo la tabella con i dati.
    Se invece ho delle immagini sopra la tabella, si dovrebbe fare così:
    select * from [Articoli$B12:L420]
    e mi dice che l'oggetto Parameter non é stato definito correttamente....

    Help...
    mi sembra strano.

    La connessione é:
    Conn:='Provider=Microsoft.Jet.OLEDB.4.0;' +
    'Persist Security Info=False; '+
    'Data Source='+Edit1.Text+';'+
    'Extended Properties=Excel 8.0';
    Ma il problema non mi sembra nella connessione.

    Proprio non mi lascia passargli il range di riferimento per la select...

    grazie

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296

    ADOQuery e ParamCheck

    Il carattere ":" normalmente identifica un parametro, perciò non vorrei che la tua stringa, seppur corretta, venisse mal compresa da ADO o da Delphi.

    Prova ad impostare la proprietà ParamCheck del componente ADOQuery a False: in questo modo, dovresti evitare il "parsing" della stringa SQL e la generazione automatica di parametri che, in fondo, sono fasulli poichè il carattere ":" definisce un range, in questo caso.

    Fammi sapere, che sono curioso...

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    51
    MITTICOOOO....era quello il problema...
    adesso riesco a caricare con la select dandogli un range...

    Grazie Mille

  10. #10
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Originariamente inviato da idra46
    MITTICOOOO....era quello il problema...
    adesso riesco a caricare con la select dandogli un range...
    Ne ho imparata una nuova allora.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.