Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Update File Excel

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    138

    Update File Excel

    buondì a tuttterrimi

    il target era modificare un file excel.

    1° tentativo. connessione mediante ms jet engine, query del tipo "Update [fogliomio$] SET colonna2='qualcosa' WHERE colonna1='qualcos_altro'". nella stringa di connessione l'opzione HDR è settata a 1, quindi la prima riga del file excel viene interpretata come l'intestazione dei nomi del campo.
    eseguo:
    Microsoft JET Database Engine (0x80004005)
    Per l'operazione è necessaria una query aggiornabile.

    la cartella con il file excel e il file excel hanno gli adeguati permessi in scrittura e modifica
    ma nulla.

    2° tentativo. facendo riferimento a questo articolo http://support.microsoft.com/?scid=k...5951&x=11&y=12 faccio il copia_et_incolla. e tutto va. uau!... forse c'è la strada.

    3° tentativo. nell'articolo si fa riferimento e si accede al file mediante connessione ODBC con dsn di sistema, soluzione che non mi fa impazzire. quindi oso e modifico la stringa di connessione con la più malleabile OLE DB, già usata per leggere file excel.
    eseguo:
    Microsoft JET Database Engine (0x80040E09)
    Impossibile aggiornare. Database o oggetto di sola lettura.

    ancora file excel e cartella sono con gli opportuni permessi di scrittura e modifica

    4° tentativo. provo a giocare con la soluzione 3. nel setup della connessione ODBC (TAB DSN sistema, configurazione ODBC file excel) metto la spunta alla casella "sola lettura" per veder l'effetto che fa.
    orbene:
    Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
    [Microsoft][Driver ODBC Excel] Per l'operazione è necessaria una query aggiornabile.

    naturalmente con riferimento al driver ODBC....

    trasversalmente a tutti i tentativi i permessi di scrittura sono stati applicati anche nell'IIS per tutte le cartelle, giusto per non farsi mancare nulla...

    qualcuno sa farmi uscire dalle secche e dalle dipendenze dell'odbc?

    grazie
    zenny

  2. #2
    che sistema operativo usi?

    l'intera stringa di connessione?

    grazie



  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    138
    Ciao

    grazie della risposta.

    uso XP Pro [il server di produzione sarà un win2k].

    la stringa per connessione OLE DB è:
    objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=IL_MIO_FILE_EXCEL;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""

    il quote doppio alla fine è per far digerire al VBscript il quote singolo.
    come peraltro suggerito qui

    grazie

  4. #4
    <%
    Set cn = Server.CreateObject("ADODB.Connection")
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("cartella/nomefile.xls") & ";Extended Properties=Excel 8.0;"

    Extended Properties si riferisce alla versione del foglio excel fare riferimento alla tabella qua sotto:

    Versione
    Extended Properties

    Excel 3.0 Excel 3.0
    Excel 4.0 Excel 4.0
    Excel 95 Excel 5.0
    Excel 97 Excel 97
    Excel 2000 Excel 8.0

    Adesso analogamente ad un DB creiamo il Record set:

    Set objRS = Server.CreateObject("ADODB.Recordset")

    e scriviamo l' SQL per estrarre i dati:

    SQL = "SELECT * FROM tb_elenco"
    objRS.Open SQL, cn

    Fatto questo abbiamo finito non ci resta che paginare i risultati come meglio ci piace. E' molto importante tuttavia ricordare delle cose:

    1)Excel non nasce per il web
    2)Questo comporta delle limitazioni nell utilizzo di questo tutorial
    3)Ad esempio non ammette accessi contemporanei
    4)Non è possibile cancellare da web un dato o una riga ma solo eventualmente crearla.

    proprio non hai intenzione di passare a un db access o MySql?
    questo è l'unico aiuto che posso darti, trovato in rete....
    eventualmente, prova a fare anche la connessione con DNS di sistema....tanto per provare....

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    138
    mille grazie

    ero già capitato nella pagina indicata, nel peripezziamento di provare a uscire dalle secche.

    è un file excel 2000.
    quindi 8.0 per Extended Properties va bene.

    ovviamente non mi passa per la testa di usare excel come DB [è così comodo l'sql agggratisse dei MSDE, o la nuova versione MSsqlServerExpress2005_e_qualcos_altro].

    ho il mio bel file excel già formattato, che devo riempire in maniera adattativa...
    un po' più complicato che un file .csv, né posso partire dal table html con ContentType = "application/vnd.ms-excel"

    tutto qui....

    come già dicevo la connessione DSN di sistema funziona.
    solo che volevo affrancarmi da questa soluzione, mi interessava qualcosa di più agile da settare.

    peraltro, a sensazione, c'è una qualche opzione da settare da qualche parte.
    non penso che NON sia stata prevista una sorta di comportamento omologo per le connessioni ODBC e OLE DB....

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    138


    gulp... nessuno ha mai litigato con l'update dei file excel?

    sigh....

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2008
    Messaggi
    1
    Non so se hai risolto il problema, ma io togliendo la direttiva IMEX=1 son riuscito a scrivere nel maledetto xls

    Ciao

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.