批量转换excel成csv格式
本帖最后由 shijiang1130 于 2011-08-25 13:49 编辑require 'win32ole'
module E2csv
def E2csv.firecsv(p)
excel = WIN32OLE.new('Excel.Application')
excel.visible = false
excel.DisplayAlerts = false
xlCSV = 6
book = excel.Workbooks.Open(p)
sheetnum = book.Worksheets.Count
p = File.basename(p , ".xls")
while sheetnum > 0 do
worksheet = book.WorkSheets(sheetnum)
filename = "c:\\test\\" + p + "_" + sheetnum.to_s + '.csv'
worksheet.SaveAs(filename,xlCSV)
sheetnum = sheetnum - 1
end
excel.ActiveWorkbook.Close
excel.Quit()
end
end
mydir = ARGV
d = Dir.open(mydir)
for f in d
case f
when /^\./
else
file = mydir + '\\' + f
E2csv.firecsv(file)
end
end
OS: windows xp sp3
Ruby: 1.9.2.p0
ruby els2csv.rb c:\test xlCSV=6
xlCSVMac=22
xlCSVMSDOS=24
xlCSVWindows=23
xlCurrentPlatformText=-4158
xlExcel9795=43
xlTextMSDOS=21
xlTextPrinter=36
xlTextWindows=20 不错,以资鼓励。
页:
[1]