Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    137

    [C#] import dati da file Excel

    Ciao,
    sto importando dei dati da un file excel ad un db access. Ma mentre con un primo file l'importazione va a buon fine con un secondo file va in errore. Posto l'struzione in cui va in errore e il messaggio di errore che ottengo visto che ho gestito l'eccezione, sperando che qualcuno sappia darmi un aiuto.

    ExcelCommand = new System.Data.OleDb.OleDbCommand("SELECT * FROM[qry_Siti_BTS_UMTS_SISTEMA];", ExcelConnection);

    System.Data.OleDb.OleDbDataReader reader;
    try {
    reader = ExcelCommand.ExecuteReader(System.Data.CommandBeha vior.SequentialAccess);

    va in errore in questa ultima riga.

    Il messaggio di errore è il seguente:
    Il modulo di gestione di database Microsoft Jet non è riuscito a trovare l'oggetto qry_Siti_BTS_UMTS_SISTEMA. Assicurarsi che l'oggetto esista e che il nome e il percorso siano digitati correttamente.

    Grazie!!!

  2. #2
    Utente di HTML.it L'avatar di newbie
    Registrato dal
    Dec 2005
    Messaggi
    299

    Re: [C#] import dati da file Excel

    Originariamente inviato da twing
    Ciao,
    sto importando dei dati da un file excel ad un db access. Ma mentre con un primo file l'importazione va a buon fine con un secondo file va in errore. Posto l'struzione in cui va in errore e il messaggio di errore che ottengo visto che ho gestito l'eccezione, sperando che qualcuno sappia darmi un aiuto.

    ExcelCommand = new System.Data.OleDb.OleDbCommand("SELECT * FROM[qry_Siti_BTS_UMTS_SISTEMA];", ExcelConnection);

    System.Data.OleDb.OleDbDataReader reader;
    try {
    reader = ExcelCommand.ExecuteReader(System.Data.CommandBeha vior.SequentialAccess);

    va in errore in questa ultima riga.

    Il messaggio di errore è il seguente:
    Il modulo di gestione di database Microsoft Jet non è riuscito a trovare l'oggetto qry_Siti_BTS_UMTS_SISTEMA. Assicurarsi che l'oggetto esista e che il nome e il percorso siano digitati correttamente.

    Grazie!!!
    Vuol dire che l'oggetto incriminato, che essendo un file Excel dovrebbe essere il nome di un foglio, non esiste nel file Excel. Sei sicuro che nel secondo file il nome del foglio a cui vuoi accedere sia stato digitato *esattamente* come l'hai scritto nel codice?
    Svegliati, Neo. Matrix ti possiede...

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    137
    Si, certo ho controllato che il nome sia uguale, anzi l'ho rinominato io stessa, ma il problema continua ad esistere.
    Sto pensando che potrei recuperarmi il nome del foglio excel e passarlo come parametro, secondo te risolvo?
    Per fare questo devo aprire il documento excel?

    Grazie!

  4. #4
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Credo che [qry_Siti_BTS_UMTS_SISTEMA] rappresenti il nome della cartella, non del
    file. Probabilmente nel primo caso, quello funzionante, i nomi coincidono.
    Prova a rinominare la cartella.
    Ne sono sicuro perchè ho fatto lo stesso lavoro utilizzando java e, mentre la connessione la
    imposti sul nome del file, la SELECT la esegui sulla tabella rappresentata dalla cartella.
    Ciao, Brainjar

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    137
    se come cartella intendi foglio, allora intendiamo la stessa cosa... Non sto dicendo file ma singolo foglio all'interno di un file excel.
    Non ho avuto tempo di provare a recuperare il nome del foglio, mi chiedevo se poteva essere una soluzione... Che dici?

    Grazie

  6. #6
    Utente di HTML.it L'avatar di newbie
    Registrato dal
    Dec 2005
    Messaggi
    299
    Originariamente inviato da twing
    se come cartella intendi foglio, allora intendiamo la stessa cosa... Non sto dicendo file ma singolo foglio all'interno di un file excel.
    Non ho avuto tempo di provare a recuperare il nome del foglio, mi chiedevo se poteva essere una soluzione... Che dici?

    Grazie
    Effettivamente potrebbe essere una soluzione semplice, perchè in questo modo saresti sicura che il nome del foglio esiste. Una volta ottenuta la connessione, si può creare una DataTable con i nomi dei fogli e popolare una combobox "SheetCombo" con:

    codice:
    //ottiene i nomi dei fogli
    DataTable sheetData = ExcelConnection.GetOleDbSchemaTable(            OleDbSchemaGuid.Tables, null );
    //li carica nella combobox
    SheetCombo.DisplayMember = SheetCombo.ValueMember = "TABLE_NAME";
    SheetCombo.DataSource = sheetData;
    e poi usare l'elemento selezionato come nome della tabella (aggiungendoci le [] ).

    Svegliati, Neo. Matrix ti possiede...

  7. #7
    Scusate se riprendo questa discussione ma mi interessa tantissimo,

    vorrei sapere come fai a copiare i dati che prelevi dal file excel nel database access???

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 © 2025 vBulletin Solutions, Inc. All rights reserved.