2011-09-07 111 views
8

我需要解析Excel工作表。現在我將每個單獨的工作表保存爲.csv,並且效果很好。我使用OpenCSV解析文件等,但創建這些.csv文件是一件痛苦的事情。將單個Excel工作表保存爲CSV

在Excel中將單個工作表保存爲.csv最簡單,最快捷的方法是什麼?我假設某種VBA宏可以完成這項工作,但由於我不是VBA程序員,我不知道該怎麼做。也許我可以以某種方式記錄一個宏?

+0

你可以用VBA做到這一點,但是如果你需要精確的幫助,你需要告訴我們更多...... – JMax

回答

18

大致來說,

Dim ws As Worksheet 

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

這不包括任何錯誤編碼,也不會導致表格名稱的錯誤,導致非法的文件名稱。這一切都取決於你需要整個事情的強大程度。

+0

這個工作非常出色,我甚至花哨地做了一個'ActiveWorkbook.SaveAs FileName:= FileFolder&(FileName +「」 + newName +「 - 」+ Lpad(CStr(i),「0」,2))&「.csv」,FileFormat:= xlCSV' – Marthinus

+0

@Marthinus你能解釋你在哪裏獲得FileFolder和FileName嗎? – guanome

+0

我期望'FileFolder'和FileName'是使用'ThisWorkbook.FullName'獲取的。 – Pezzzz

3

作爲第一個答案,這裏是用來將文件保存到CSV代碼:

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

更多信息有關SaveAs

相關問題