2011-09-07 16 views
8

Ho bisogno di analizzare i fogli di lavoro di Excel. Ora salvo ogni singolo foglio di lavoro come .csv e funziona alla grande. Io uso OpenCSV per analizzare i file ecc. Ma creare questi file .csv è un problema.Salvare singoli fogli Excel come CSV

Quale sarebbe il modo più semplice e veloce per salvare fogli di lavoro individuali come .csv in Excel? Sto assumendo che una sorta di macro VBA farebbe il lavoro, ma dal momento che io non sono un programmatore VBA non ho idea di come farlo. Forse posso semplicemente registrare una macro in qualche modo?

+0

si può fare con VBA ma è necessario dirci di più se si desidera un aiuto preciso ... – JMax

risposta

18

molto approssimativamente,

Dim ws As Worksheet 

For Each ws In ActiveWorkbook.Worksheets 
    ws.SaveAs "C:\docs\" & ws.Name & ".csv", xlCSV 
Next 

Questo non include qualsiasi codice di errore e non tiene conto dei nomi dei fogli che porteranno a nomi di file illegali. Tutto dipende da quanto robusto hai bisogno che l'intera cosa sia.

+0

Questo lavoro brillante, sono anche andato alla moda e ha fatto un 'ActiveWorkbook.SaveAs FileName: = FileFolder e (FileName + "" + newName + "-" + Lpad (CStr (i), "0", 2)) e ".csv", FileFormat: = xlCSV ' – Marthinus

+0

@Marthinus Puoi spiegare dove stai ottenendo 'FileFolder' e' FileName'? – guanome

+0

Mi aspetto che 'FileFolder' e FileName' vengano presi usando' ThisWorkbook.FullName'. – Pezzzz

3

Come prima risposta, qui è il codice usato per salvare un file CSV:

ActiveWorkbook.SaveAs "C:\Marthinus.csv", fileformat:=6 

Maggiori informazioni su SaveAs

Problemi correlati