Condividi:        

EXCEL esportare dati in CVS

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

EXCEL esportare dati in CVS

Postdi Francesco53 » 18/03/11 10:49

Buongiorno a tutto il forum,
ho la seguente difficoltà:
esporto da excel i dati in CVS con separatore punto e virgola. Chi riceve il file e lo deve elaborare, mi dice che non è presente il fine riga e il file viene visto come riga unica. Potete aiutarmiper far si che si possa inserire un fine riga, o dirmi dove sbaglio?
Grazie a tutti
Francesco
S.O. Windows 10 e Office 2007
Avatar utente
Francesco53
Utente Senior
 
Post: 811
Iscritto il: 20/02/10 18:45

Sponsor
 

Re: EXCEL esportare dati in CVS

Postdi ricky53 » 18/03/11 11:35

Ciao,
puoi descrivere tutti i passi che fai per produrre il file "CSV".

Se possibile dovresti inviare un file "CSV" di esempio ma fai attenzione ai dati riservati.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: EXCEL esportare dati in CVS

Postdi Flash30005 » 18/03/11 18:59

Ti consiglierei di esportare il file come testo con separatore "," (virgola)
Lo apri con excel e utilizzi (selezionando la colonna A) il "Testo in colonna" da Menu -> Dati

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL esportare dati in CVS

Postdi Francesco53 » 18/03/11 22:32

Esporto il file da Excel con salva con nome CSV delimitato da separatore,
Leggendolo con excel è perfetto, leggendolo con Notepad pure, però chi deve
elaborare i dati, mi dice che la sua procedura lo legge come se fosse tutta una unica riga,
mentre sono più righe, manca il fine riga, e pertanto non riesce a separare le righe dei dati.
Non conosco cosa usa per leggere il file, l'unica richiesta è stata file CVS con separatore punto e virgola.
Potete aiutarmi? cosa dovrei fare per inserire il fine riga?
Grazie
Francesco
S.O. Windows 10 e Office 2007
Avatar utente
Francesco53
Utente Senior
 
Post: 811
Iscritto il: 20/02/10 18:45

Re: EXCEL esportare dati in CVS

Postdi Anthony47 » 19/03/11 00:11

Per quello che vedo, i file creati in quel modo hanno, a fine linea, la sequenza esadecimale 0D+0A, che corrispondono ai caratteri CarriageReturn + LineFeed
Insomma un fine riga canonico.
Ho usato HexReader.exe, che puoi scaricare qui http://alessioxx.altervista.org/blog/?p=125

Se anche i tuoi file chiudono la riga con quella sequenza allora direi che e' il ricevente che ha una gestione non standard.

Non so se ci sono editor esadecimali in grado di sostituire la sequenza che ho detto con quello che si aspetta il tuo utente, posto che sappia dire che cosa si aspetta.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL esportare dati in CVS

Postdi Flash30005 » 19/03/11 00:28

Mi scuso con tutti coloro che hanno postato soluzioni
ma per esperienza ho notato che i file csv comportano problemi di importazione e non per niente ho consigliato Francesco53 quel tipo di esportazione che Francesco ha completamente ignorato
quindi mi astengo a dare ulteriori soluzioni in merito 8)

saluti
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL esportare dati in CVS

Postdi Francesco53 » 19/03/11 10:44

Buongiorno Flash,
mi dispiace aver letto la tua risposta, non ho ignorato quanto da te scritto, ho provato anche diverse volte a utilizzare i comandi da te indicati, solo che mi dice che è possibile utilizzare solo una colonna alla volta e non riesco ad andare avanti. Ho rispetto delle tue e vostre indicazioni, solo che quello che per voi può essere semplice, per noi utenti del forum a volte non sempre lo è, ci appoggiamo a voi non per semplice egoismo, ma per la considerazione e rispetto che meritate, e che vi siete guadagnati nel tempo.
Francesco
S.O. Windows 10 e Office 2007
Avatar utente
Francesco53
Utente Senior
 
Post: 811
Iscritto il: 20/02/10 18:45

Re: EXCEL esportare dati in CVS

Postdi Francesco53 » 19/03/11 10:58

Per Anthony, ho provato il file che mi hai consigliato, e la sequenza esadecimale 0D+0A, non è presente.
DOmanda, si può inserire nell'ultima colonna a destra, quindi la prima libera? e come fare?
Vi è qualche programmino in grado di trasformare il file Excel in CSV?
Grazie a tutti per gli interventi.
Francesco
S.O. Windows 10 e Office 2007
Avatar utente
Francesco53
Utente Senior
 
Post: 811
Iscritto il: 20/02/10 18:45

Re: EXCEL esportare dati in CVS

Postdi Flash30005 » 19/03/11 13:05

Excel permette di esportare in diversi formati.
Con il file di excel aperto vai sul Menu -> File
Sava con Nome
e qui trovi le estensioni.
Puoi provare con DIF (File interscambio dati)
oppure Silk
o File testo delimitato da spazi o tabulazione
Tutti questi tipi di file sono compatibili e importabili o gestibili di nuovo in excel
(soprattutto DIF e Silk ai quali è sufficiente cliccarci sopra)

Fai sapere
Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL esportare dati in CVS

Postdi Francesco53 » 19/03/11 14:46

Grazie Flash, ho salvato il file come da te consigliato, Lunedì provo ad inviare a chi deve poi elaborare
i dati, speriamo riesca a gestirli perchè come detto in precedenza, richiedeva file CSV con fine riga.
Francesco
S.O. Windows 10 e Office 2007
Avatar utente
Francesco53
Utente Senior
 
Post: 811
Iscritto il: 20/02/10 18:45

Re: EXCEL esportare dati in CVS

Postdi Anthony47 » 19/03/11 19:32

Provato con XL2002 e 2003. Tu che versione hai? Confermi che fai Menu /File /Salva con nome, scelta csv?
Puoi inviare un file di prova? Bastano 5 righe uguali con A-B-C-D in col A:D.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL esportare dati in CVS

Postdi Flash30005 » 19/03/11 19:48

Leggi quanto postato da Anthony

e se proprio vuoi un file cvs autoscostruito

puoi utilizzare questa macro nella quale potrai metterci qualsiasi separatore ma per i Csv ho inserito il ";"

Codice: Seleziona tutto
Sub CreaTxt()
Perc = "C:\Temp\"   '<<<<<<< directory dove posizionerà il file
FileT = "FileCsv.csv"    '<<<<< nome del file
Open Perc & FileT For Output As #1
Righe = Range("A2").CurrentRegion.Rows.Count
colonne = Range("A2").CurrentRegion.Columns.Count - 1
For RR = 1 To Righe
Stringa = ""
For CC = 1 To colonne
Stringa = Stringa & ";" & Cells(RR, CC).Value
Next CC
Print #1, Stringa
Next RR
Close
End Sub


Se l'utente ha ancora problemi possiamo inserire un "A Capo" forzato ad ogni fine riga

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL esportare dati in CVS

Postdi Francesco53 » 19/03/11 22:33

X Flash, ho provato la macro, mi crea la prima colonna A vuota, e perde l'ultima,
ho provato a cambiare la riga colonne = Range("A2").CurrentRegion.Columns.Count - 1
togliendo il -1 e adesso mi crea ugualmente la prima colonna vuota, però utilizza tutte le
colonne, e crea il file CSV. Domani provo ad inviarlo per sapere se si riesce a leggere
il fine riga, nel caso negativo avrò la necessità che mi aiuti a inserire un "A Capo" forzato ad ogni fine riga.
X Anthony, domani posto il file che mi crea Excel 2003, così si puoi vedere il risultato ottenuto tramite
menu-file-salva con nome-CSV
Grazie a tutti per l'attenzione e la disponibilità che dimostrate.
A domani
Francesco
S.O. Windows 10 e Office 2007
Avatar utente
Francesco53
Utente Senior
 
Post: 811
Iscritto il: 20/02/10 18:45

Re: EXCEL esportare dati in CVS

Postdi Flash30005 » 20/03/11 01:25

inserendo una condizione non perdi più nulla
Codice: Seleziona tutto
Sub CreaTxt()
Perc = "C:\Temp\"
FileT = "FileCsv.csv"
Open Perc & FileT For Output As #1
Righe = Range("A2").CurrentRegion.Rows.Count
colonne = Range("A2").CurrentRegion.Columns.Count - 1
For RR = 1 To Righe
Stringa = ""
For CC = 1 To colonne
If CC = 1 Then                         '<<<<<<<< condizione aggiunta
    Stringa = Cells(RR, CC).Value
Else
    Stringa = Stringa & ";" & Cells(RR, CC).Value
End If
Next CC
Print #1, Stringa & ";"   '<<<<<<<<<< chiude la riga visualizzando anche l'ultima colonna oppure...
'Print #1, Stringa & vbCrLf  '<<<<<<< togli il commento a questa riga e commenta la precedente se vuoi un "a capo" forzato ***
Next RR
Close
End Sub


Nota*** attenzione perché nel formato excel (normale) avrai una riga vuota dopo ogni riga dati può darsi però che a quell'utente vada bene così

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL esportare dati in CVS

Postdi Francesco53 » 20/03/11 20:53

CIao Flash,
grazie per la macro lo provata ed è Ok, approfitto delle tue conoscenze per chiederti un ulteriore chiarimento:
ho creato un foglio di base dal nome BaseReport che tramite un pulsante mi lancia la seguente macro:
Codice: Seleziona tutto
Sub CopiaDati()

    Range("A1").Select
    righe = Cells(Rows.Count, 1).End(xlUp).Row
    Range(Cells(1, 1), Cells(righe, 10)).Select
    Selection.ClearContents
    Range("A1").Select
    Workbooks.Open Filename:="C:\Temp\NomeFileExcel.xls", ReadOnly:=True
    Range("A1").Select
    righe = Cells(Rows.Count, 1).End(xlUp).Row
    Range(Cells(1, 1), Cells(righe, 10)).Select
    Selection.Copy
    Windows("BaseReport New3.xls").Activate
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Range("A1").Select
    Call CreaTxt   
End Sub

Pertanto il foglio di base, mi apre in lettura il file NomeFileExcel, preleva i dati e li copia nel foglio BaseReport,
da qui poi crea il FileCsv.csv della tua macro, ed è tutto Ok. Ho la difficoltà a chiudere senza che si noti il
file di base da cui prendo i dati (Workbooks.Open Filename:="C:\Temp\NomeFileExcel.xls", ReadOnly:=True),
altra domanda, se unendo in una cella il valore di due celle del file, es: M1=Marzo, e N1=2011 per cui in P1=M1&N1
mi restituisce Marzo2011, utilizzare il valore della cella per salvare con quel nome il file FileCsv.csv, io ho provato
NomeFile= select("P1").value ed ho sostituito FileT = "FileCsv.csv" con FileT=" & NomeFile &.csv" ma purtroppo non mi funziona.
Grazie per tutto quello che fai.
FRancesco
S.O. Windows 10 e Office 2007
Avatar utente
Francesco53
Utente Senior
 
Post: 811
Iscritto il: 20/02/10 18:45

Re: EXCEL esportare dati in CVS

Postdi Francesco53 » 20/03/11 22:05

Un saluto a tutti,
risolto il problema della chiusura del file, ho applicato il seguente codice:
Codice: Seleziona tutto
Windows("NomeFileExcel.xls").Activate
    ActiveWorkbook.Close

Francesco
S.O. Windows 10 e Office 2007
Avatar utente
Francesco53
Utente Senior
 
Post: 811
Iscritto il: 20/02/10 18:45

Re: EXCEL esportare dati in CVS

Postdi Flash30005 » 21/03/11 03:34

Per assegnare un nome "variabile" al file .csv utilizzando due celle M1 e N1
Puoi sostituire la riga di FileT così
FileT = Range("M1").value & Range("N1").value & ".csv"

Per il resto vedo che hai risolto da solo

ciao

P.s. per l'archiviazione dei file userei il mese numerico da mettere dopo l'anno es: non Marzo2011 ma 201103
quindi in M1 metterai i mesi numerici (1, 2... 12)
e la riga codice del nome del file sarà
FileT = Range("N1").value & Format(Range("M1").value, "00") & ".csv"
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL esportare dati in CVS

Postdi Francesco53 » 21/03/11 08:27

Grazie e Buona giornata.
Francesco
S.O. Windows 10 e Office 2007
Avatar utente
Francesco53
Utente Senior
 
Post: 811
Iscritto il: 20/02/10 18:45

Re: EXCEL esportare dati in CVS

Postdi Flash30005 » 03/04/11 01:57

@Francesco
Alla fine non ho capito se all'utente andava bene la versione con "a capo" forzato oppure no
Avrei avuto piacere saperlo per futuri utilizzi

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL esportare dati in CVS

Postdi Francesco53 » 04/04/11 13:42

Buongiorno Flash,
purtroppo anche oggi l'incontro con il mio interlocutore è andato a vuoto, (c'è gente che non ha voglia di lavorare),
la tua macro è perfetta. Leggendo il file con Excel o Notepad risulta il doppio fine riga con la forzatura prevista, tanto è vero
che tra un record e l'altro vi è una riga vuota. Leggendo il file con l'utility consigliata da Anthony:
ho usato HexReader.exe, risulta al termine di ogni riga il la sequenza esadecimale 0D0A ripetuta due volte.
Pertanto la email del mio interlocutore che sostiene:
"ho rieseguito le prove con il nuovo file ma ancora non vengono riconosciuti i marcatori di fine riga."
mi lascia perplesso sulla reale volontà di risolvere il problema da parte sua.
Ringrazio te e tutti i partecipanti a questa discussione, ma sino a quando non avrò maggiori dettagli da parte del mio interlocutore, posso sostenere che il vostro aiuto è stato positivo, ma di fronte a risposte prive di un dialogo tecnico,
non si può pensare di portare avanti una collaborazione che ormai è solo responsabilmente vissuta da me ma non dalla controparte.
Francesco
S.O. Windows 10 e Office 2007
Avatar utente
Francesco53
Utente Senior
 
Post: 811
Iscritto il: 20/02/10 18:45

Prossimo

Torna a Applicazioni Office Windows


Topic correlati a "EXCEL esportare dati in CVS":


Chi c’è in linea

Visitano il forum: Nessuno e 29 ospiti