Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Problema su lettura dati (prezzo) da file excel

    Ciao a tutti.... ho un file xls sul server e lo leggo con uno script asp, ovvero questo qua:

    codice:
    Dim DbConn, rs, objFile, InStream
            strConn="DRIVER={Microsoft Excel Driver (*.xls)}; DBQ=" & Server.MapPath ("/public/aggiornamento.xls") & ";DefaultDir=" & Server.MapPath(".") &";DriverId=790; FIL=MS Excel; MaxBufferSize=512; PageTimeout=5"
            set rs=server.createobject("adodb.recordset")
            rs.activeconnection=strConn
            sqlString="SELECT MARCA, DESCRIZIONE, LISTINO FROM [foglio1$]"
            rs.open sqlString
        
            while not rs.EOF
               marca = rs(0)
               descr = rs(1)
               prezzo = rs(2)
               
               response.Write(marca & " - " & prezzo & "<br>")
    
            rs.MoveNext
            wend
            rs.close
            
            set rs=Nothing
            set strConn=Nothing
    Tutto funziona correttamente (almeno pensavo) come ho fatto varie volte via via negli anni...

    Mi sono reso conto però di un problema non da poco quando viene letto il valore "listino".
    In pratica quando nella colonna del file xls c'è un prezzo così "100.5" il prezzo viene letto correttamente e stampato a video, quando invece c'è un prezzo pieno ovvero tipo "100" o "235" per dire non mi viene stampato a video nessun valore...
    Potete aiutarmi?
    perchè fa così?
    E' un problema di driver nell'apertura della connection?
    Grazie a tutti

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Il campo listino come è formattato? Hai provato a forzarlo come formato numerico? (numero.00)
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    prova a vedere se qui http://www.connectionstrings.com/excel/ trovi un driver che fa al caso tuo (Microsoft Jet OLE DB 4.0)

  4. #4
    Quote Originariamente inviata da cavicchiandrea Visualizza il messaggio
    Il campo listino come è formattato? Hai provato a forzarlo come formato numerico? (numero.00)
    In Excel è formattato come "generale"... ho provato a modificare la riga che legge il valore così:

    codice:
    prezzo = FormatNumber(rs(2),2)
    ma mi dà errore appena ne trova una vuoto (ovviamente).
    Il problema sembra essere non tanto sulla codifica del campo ma che quando non c'è un valore con il "." lui non legge nulla come se fosse vuoto appunto.

    Adesso provo con un po' di driver diversi che mi ha mandato optime e speriamo..... grazie, vi faccio sapere se risolvo

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.