2011-09-07 96 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

相关问题