Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [excel/access] importare dati da file .DAT

    Ciao a tutti!

    Ho la necessità di importare dei dati (anagrafica clienti) da un file in formato esadecimale .DAT (provengono da un vecchissimo gestionale che girava in DOS) su un foglio di Excel, oppure su un database Access (ma mi andrebbe bene anche un semplice file di testo separato da virgole, CSV).

    Ho aperto il file (clienti.dat) con un editor esadecimale (in questo caso PSPad, fantastico), per studiarmi la struttura di questo piccolo "database".

    Allora, in pratica ogni scheda cliente occupa 256 caratteri (una matrice 16x16 di caratteri), di cui:
    - i primi 8 sono il codice cliente
    - i seguenti 32 sono la ragione sociale
    - i seguenti 32 sono l'indirizzo (via e numero)
    - i seguenti 5 sono il CAP
    - i seguenti 29 sono la citta
    - i seguenti 2 sono la provincia
    - i seguenti 11 sono la partita iva
    - i seguenti 137 non servono a una cippa (ovvero, non mi interessano quei dati, quelli che mi interessano sono questi sopra).

    Questo ripetuto per non so quanti clienti, a occhio circa 300, ma forse di più.


    Ora, le ho un po' provate tutte ad importare i dati con Excel, ma siccome i campi non hanno separazione (nessun carattere li separa, sono scritti uno dietro l'altro) nessuna procedura di importazione ha sortito buon effetto.

    Access invece manco lo legge il file DAT, ma Access è l'ultima spiaggia, i dati fondamentalmente mi servono in Excel.

    Io pensavo ad un qualche scriptino, batch, vbs o roba del genere, che mi trasformi il dat esadecimale in un file di testo separato da virgole, dopodichè di darlo in pasto ad Excel.

    Il problema è che non so assolutamente come far interagire un batch od un vbs con un file dat...inoltre non conosco bene questi linguaggi, quindi proprio non so come mettere in pratica...qualche ideuzza sul trattare i dati come una matrice 16x16 ce le ho, il problema è scriverle nel linguaggio giusto...

    confido in voi, esperti scriptari di batch.

    Grazie a chi mi aiuterà.
    se vedi nero,
    spara a vista

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ciao ozzy. Potresti postare uno spezzone di questo file dat, ovviamente alterando i dati sensibili ma mantenendo la struttura originale?

  3. #3
    Originariamente inviato da nicola75ss
    Ciao ozzy. Potresti postare uno spezzone di questo file dat, ovviamente alterando i dati sensibili ma mantenendo la struttura originale?
    più tardi ne allego uno spezzone, quando riesco a recuperarlo da server

    PS: sapevo che potevo mandarti direttamente un privato, per questa domanda, ma poi mi son detto: e se qualcun'altro in futuro avrà un problema simile??

    PPS: si scherza eh!
    se vedi nero,
    spara a vista

  4. #4
    ecco il link al pezzettino di file .DAT ...

    http://www.savefile.com/files/1813210


    ho sostituito alcuni caratteri con le xxx per censurare un po' il testo, ma potrei anche essermi sbagliato nel contare i caratteri da sostituire, perchè sono un po' di fretta, siccome stasera la connessione internet a casa mia non va (ettepareva) sono venuto un'attimo dal vicino..

    Ad ogni modo tieni buono lo schema che ti avevo fatto all'inizio, ossia:
    - i primi 8 sono il codice cliente edit: il codice cliente inizia sempre con "02", che vuol dire "cliente"...per capirci, "04" è "fornitore", ma nel file che uso ho solo i clienti.
    - i seguenti 32 sono la ragione sociale
    - i seguenti 32 sono l'indirizzo (via e numero)
    - i seguenti 5 sono il CAP
    - i seguenti 29 sono la citta
    - i seguenti 2 sono la provincia
    - i seguenti 11 sono la partita iva
    - i seguenti 137 non servono a una cippa (ovvero, non mi interessano quei dati, quelli che mi interessano sono questi sopra).
    grazie mille nicola, spero di leggerti domattina (se la connessione internet funzionerà..)
    se vedi nero,
    spara a vista

  5. #5
    Utente di HTML.it L'avatar di luck
    Registrato dal
    Oct 2004
    Messaggi
    550
    senti ozzy, ma al giochino può partecipare solo nicola?

  6. #6
    Originariamente inviato da luck
    senti ozzy, ma al giochino può partecipare solo nicola?
    nono, anzi.

    peccato solo tu sia bolognese...
    se vedi nero,
    spara a vista

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Ciao Ozzy. Ieri notte ho fatto alcune prove sul tuo file purtroppo con scarse fortune.
    Ora sono in ufficio. Stasera magari ci riprovo. Spero che qualcuno ti sia maggiormente d'aiuto.

  8. #8
    Originariamente inviato da nicola75ss
    Ciao Ozzy. Ieri notte ho fatto alcune prove sul tuo file purtroppo con scarse fortune.
    Ora sono in ufficio. Stasera magari ci riprovo. Spero che qualcuno ti sia maggiormente d'aiuto.


    vai tranquillo, in caso ho già il piano di riserva (robe da matti, ma meglio che farmeli a mano):
    print screen di ogni colonna con i dati (se la apri col blocco note e togli l'opzione "a capo automaticamente, si vede a colonne), poi in pasto ad un OCR, dopodichè salvataggio dei dati in txt. Poi importazione da Excel. Lo so, è da pazzi, ma io non so programmare.
    se vedi nero,
    spara a vista

  9. #9
    Utente di HTML.it L'avatar di luck
    Registrato dal
    Oct 2004
    Messaggi
    550
    Ciao Ozzy (onore alla voce più f++a dell'heavy metal )

    c'ho dato un occhio
    ascolta, ma sei sicuro di non aver pasticciato con il file inserendo le xx?

    in ogni caso questo potrebbe essere un punto di partenza. Imposta nel file excel il percorso del tuo file DAT e clicca sul pulsante.

    In teoria comunque, onde evitare perdite di tempo, il DAT va "ripulito" dai byte iniziali, facendolo partire dal primo codice cliente (in teoria con uno spazio davanti, in caso fai delle prove)...

    http://myfreefilehosting.com/f/ea533dfa8c_0.04MB

    boh, prova...

    ciao modneis (comuqnue il sono trapiantato)

  10. #10
    Originariamente inviato da luck
    Ciao Ozzy (onore alla voce più f++a dell'heavy metal )

    c'ho dato un occhio
    ascolta, ma sei sicuro di non aver pasticciato con il file inserendo le xx?

    in ogni caso questo potrebbe essere un punto di partenza. Imposta nel file excel il percorso del tuo file DAT e clicca sul pulsante.

    In teoria comunque, onde evitare perdite di tempo, il DAT va "ripulito" dai byte iniziali, facendolo partire dal primo codice cliente (in teoria con uno spazio davanti, in caso fai delle prove)...

    http://myfreefilehosting.com/f/ea533dfa8c_0.04MB

    boh, prova...

    ciao modneis (comuqnue il sono trapiantato)
    Sei un GRANDISSIMO!!!

    guarda, funziona alla perfezione...

    Lo spazio all'inizio non serviva!
    Inoltre (lo dico per te, hai fatto anche troppo), prima di effettuare l'estrazione, ho settato tutte le celle del foglio come "testo", altrimenti le partite ive si perdevano gli zeri iniziali!!

    Sei stato gentilissimo, ti devo un favore enorme in cambio, spero di poterti dare una mano quando avrai bisogno qui nel forum Software!

    Grazie mille veramente, grazie!




    PS: per fortuna sei trapiantato bolognese, se fossi stato un bolognese doc col cavolo che avresti fatto un piacere così ad un modenese ;P ...si scherza, ovviamente!
    se vedi nero,
    spara a vista

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.