19 messaggi dal 15 febbraio 2002
Buongiorno a tutti, ho un problemino col la lettura di un file XLS da una pagina aspx.

La stringa di connessione che utilizzo è questa:
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ mioFile +";Extended Properties=Excel 8.0";
E funziona con tutti gli xls che carico sul sito.

Il file lo trovate a questo indirizzo: http://www.kola.it/fantacalcio/public/temp/voti.xls
(Come potrete intuire si tratta di un sito di fantacalcio :-) ...)


In questo caso però il file viene scaricato direttamente da Web quindi credo che il problema sia nel formato del file.
Per intenderci se scarico a mano il file e lo apro in excel mi da l'eccezione "Il formato del file che si sta cercando di aprire è diverso da quello specificato dall'estensione del file".

Il sito si trova su server Aruba.

Quando vado a leggere il file mi da questo errore: "External table is not in the expected format."


Qualcuno ha qualche suggerimento?
Modificato da kola10 il 23 novembre 2016 10.31 -
3.939 messaggi dal 28 gennaio 2003
ho provato a cambiare l'estensione del file con .htm e il browser lo apre
19 messaggi dal 15 febbraio 2002
pietro09 ha scritto:
ho provato a cambiare l'estensione del file con .htm e il browser lo apre


Vero...Ma non riesco comunque ad aprirlo ed elaborarlo tramite la mia pagina
3.939 messaggi dal 28 gennaio 2003
la lettura del file è molto semplice:

Dim s As String = ""
Using w As New WebClient()
  s = w.DownloadString("http://www.kola.it/fantacalcio/public/temp/voti.xls")
  File.WriteAllText("c:\tmp\prova.txt", s)
  Me.Literal1.Text = s
End Using


il parsing del file è un'altra cosa. Prima di tutto non è ben formattato. Per esempio mancano le chiusure </tr> delle righe della tabella

Visual studio IMPAZZISCE se tento di incollare l'html prodotto.

di più non so.
19 messaggi dal 15 febbraio 2002
pietro09 ha scritto:
la lettura del file è molto semplice:

Dim s As String = ""
Using w As New WebClient()
  s = w.DownloadString("http://www.kola.it/fantacalcio/public/temp/voti.xls")
  File.WriteAllText("c:\tmp\prova.txt", s)
  Me.Literal1.Text = s
End Using


il parsing del file è un'altra cosa. Prima di tutto non è ben formattato. Per esempio mancano le chiusure </tr> delle righe della tabella

Visual studio IMPAZZISCE se tento di incollare l'html prodotto.

di più non so.


Grazie ancora per le tue risposte. Quello dei TR di chiusura mi era sfuggito, ma essendo un file preso da web non potrò farci nulla.
Sto procedendo ciclando sulle singole celle.

Grazie ancora
Buona giornata
3.939 messaggi dal 28 gennaio 2003
ero curioso e ho provato seguendo il tuo consiglio.
Ho usato HtmlAgilityPack ed ho ciclato sull'elemento <td> e forse sono riuscito a leggere il file correttamente.

ps. certo che non potevano rilasciare un banale csv...
19 messaggi dal 15 febbraio 2002
Sarebbe stato troppo semplice... :-)

Grazie ancora per la collaborazione!
Buona giornata e buon inizio di settimana! :-)

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.