Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171

    salvare dati numerici da excel in database

    Problema:
    Apro un file excel contenente dati numerici.
    Ma molte volte capita che sulla cella excel il dato visualizzato è numerico (1) ma in realtà non lo è-.
    Ora, quando copio il dato della cella su un database sql server con tipo campo numerico (int), il campo excel non lo copia.
    lo script è:

    .....
    rs("valore")=rs1("valore") (cella excel)

  2. #2
    spiegati meglio please, fa' un esempio...

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    mi spiego meglio.
    1 apro un file excel che mi viene inviato tramite upload.
    2 la mia tabella sql dove devo copiare le celle excel sono formattate come testo.
    3 il problema è che ho notato che le celle excel anche se sono formattate come testo o generale, nelle celle dove compaiono numeri mi compare un triangolo verde dove mi chiede se devo convertire il valore in numero.

    il problema è che quando copio i dati in automatico, dove c'è quel triangolo non mi copia niente.
    come posso copiare i dati come sono?

  4. #4
    posta un po' di codice, vediamo

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    strConn = "DRIVER={Microsoft Excel Driver (*.xls)}; DBQ=" & Server.MapPath ("\sito\scarico\" & filename) & ";DefaultDir=" & Server.MapPath(".") &";DriverId=790; FIL=MS Excel; MaxBufferSize=512; PageTimeout=5"

    set DbConn=server.CreateObject("adodb.connection")
    sqlString="SELECT * FROM [" & nometabella & "]"
    set rs=server.createobject("adodb.recordset")

    rs.activeconnection=strConn
    rs.open sqlString

    Cosi apro la tabella excel.
    poi apro il database sql server

    e finche non finisce il foglio excel copio le celle:

    do until rs.eof
    rs1.addnew
    rs1("cognome")= rs("cognome")
    rs1("codice")=rs("codice")............e qui che non copia niente, perche sul database è testo mentre su excel il valore è numerico, ma la cella è generale e aprendo excel ho notato che la cella contiene un numero di codice es. 34214 e mi compare il triangolino verde.
    Il problema che la copiatura dei dati avviene in automatico dopo che il file mi viene inviato tramite upload.
    Altre soluzioni per essere sicuro che i dati siano tutti copiati?

  6. #6
    se tu fai

    response.write rs("codice")

    ti stampa qualcosa?

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    non mi stampa niente,
    anche perchè quando apro il database quel campo è vuoto.
    è come se legge una cella excel vuota.

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    su un campo del database numerico, copio la cella excel (testo) con
    rs1("valore")=eval(rs("numero")....
    e cosi funziona,

    non funziona il contrario, da campo che potrebb essere numerico (in excel) sul datbase che ha un campo di testo.

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