Pagina 3 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 37

Discussione: Lettura file excel

  1. #21
    Posso provare a modificare le letture.. ma significherebbe riscrivere praticamente tutta la procedura..per ora procedo così, in debug funziona e sul server ho sistemato.. però provo a vedere come funziona l'exceldatareader per i prossimi progetti.. ho perso più tempo a sistemare problemi di accesso a cartelle e applicazioni che a sviluppare il progetto.!!

  2. #22
    Ciao a tutti.

    Vorrei fare una premessa importante.
    Da un po di tempo, Microsoft sconsiglia vivamente l'utilizzo delle Office Interop (le famose e tanto usate PIA).
    Tutta questione di sicurezza.
    Inoltre ci sono problemi di compatibilità delle versioni (office 2007 vuole le 12, office successivi le 14, poi secondo il sistema operativo che usiamo, 32 o 64, bisogna andare a fare delle configurazioni a mano e addirittura sistemare un bug che fino a qualche tempo fa era presente sulle macchine 64)
    Inoltre installare office sul server di pubblicazione non è una cosa bella, e poi non basta!!!
    Insomma, la questione è complicata.

    microsoft consiglia di usare le OWC (Office web Component), che sono fatte per lo scopo.

    Microsoft does not currently recommend, and does not support, Automation of Microsoft Office applications from any unattended, non-interactive client application or component (including ASP, ASP.NET, DCOM, and NT Services), because Office may exhibit unstable behavior and/or deadlock when Office is run in this environment.


    Ma la cosa più semplice è usare una connessione OLEDB (che se non sbaglio dovrebbe usare anche ExcelDataReader consigliato da Bearseeker.
    In pratica un file excel si può leggere come se fosse un normalissimo DB con ogni foglio corrispondente ad una tabella. Si possono fare query di lettura, modifice ed inserimento usando la normale sintassi SQL. Che dite, non è facile????

    codice:
    strFileName = "~/excelFilePath/ExcelFileName.xls";
    
    // Excel 97-2003
    strExcelConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" 
                           + Server.MapPath(strFileName) 
                           + ";Extended Properties='Excel 8.0;HDR=Yes'";
    
    // Excel 2007
    strExcelConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" 
                           + Server.MapPath(strFileName) 
                           + ";Extended Properties='Excel 12.0 Xml;HDR=Yes'";
    
    DataTable dtExcel = new DataTable();
    using (OleDbConnection conn = new OleDbConnection(strExcelConn))
    {
        // Initialize an OleDbDataAdapter object.
        OleDbDataAdapter da = new OleDbDataAdapter("select * from Foglio1$", conn);
    
        // Fill the DataTable with data from the Excel spreadsheet.
        da.Fill(dtExcel);
    }
    Ecco che avete una DataTable con tutti i dati a vostra disposizione

  3. #23
    Utente di HTML.it L'avatar di GabbOne
    Registrato dal
    Mar 2006
    Messaggi
    577
    merita uno stick

  4. #24
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    83
    Ciao ragazzi,
    innanzitutto grazie per la partecipazione ....fino ad ora ho provato tutte le soluzione proposte e nessuna riesce a risolvere il problema ...
    Nell' ultima soluzione proposta cioè quella connessione OLEDB quando gli do l'indirizzo mi da l'errore che "Indirizzo non valido " .

  5. #25
    Posta il codice incriminato, vediamo cosa c'è che non va

    Originariamente inviato da deltoso
    Ciao ragazzi,
    innanzitutto grazie per la partecipazione ....fino ad ora ho provato tutte le soluzione proposte e nessuna riesce a risolvere il problema ...
    Nell' ultima soluzione proposta cioè quella connessione OLEDB quando gli do l'indirizzo mi da l'errore che "Indirizzo non valido " .

  6. #26
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    83
    il codice è lo stesso che mi avete suggerito sopra ,tranne che gli assegno il percorso del file che si trova sul sever raggiungibile da un url.

    codice:
    http://iweb/dil............/salPatrimonio.xsl

  7. #27
    con la soluzione che ti ho suggerito, non si può aprire file che stanno sul web.
    Concettualmente è proprio sbagliato.

    Devi avere il file perlomeno su una cartella mappata su IIS.
    In un post precedente hai detto che il file sta in una cartella: D:\Test\Import\commesse.xls
    Perché ora lo vai a prendere sul web? non puoi.

    Inoltre, ti sconsiglio vivamente di aprire tutti i permessi sia per IIS_IUSR che per Everyone nella cartella e nella configurazione COM per Excel.

  8. #28
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    83
    Si in effetti hai ragione all'inizio pensavo che il file dovevo leggere stava in locale ma dopo ho scoperto che il file risiede su sharepoint e lo posso raggiungere attraverso quell'indirizzo.
    Quindi non ho soluzioni??

  9. #29
    quindi il tuo sito non c'entra niente con la soluzione sharepoint che ha gli excel?
    Sono 2 server diversi?

    Comunque per tagliare la testa al toro, la tua procedura può scaricarsi il file excel prima di leggerlo.

  10. #30
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    83
    Aspettate ricomincio cosi riesco ad essere piu chiaro.

    Ho fatto una appllicazione nella quale c'è una parte che deve leggere un file excel che è situato su sharepoint .L'unico modo per prendere il file da leggere è con quell'url che vi ho scritto sopra .

    L'idea del download non è male è solo che ho paura che mi andro a scontrare con IIS . Voi che ideee avete ???

    Grazie a tutti

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.