2011-09-12 4 views
1

CSV 형식의 문서가 많이 있습니다 (약 100 개의 .csv 파일). 모든 파일을 하나의 .xls 문서에 병합하고 싶습니다. 각 CSV 문서를 새 xls 문서에서 워크 시트로 나타내 려합니다. 따라서 최종 결과는 원래 .csv 문서였던 100 개의 다른 워크 시트가 포함 된 xls 통합 문서 여야합니다.하나의 CSV 형식으로 변환 할 여러 가지 CSV 문서

답변

1

저는 VB와 같은 스크립팅 언어를 사용합니다. Excel 및 기타 MS 응용 프로그램에서 잘 작동하며 명령 줄이나 파일을 두 번 클릭하여 실행할 수 있습니다.

다음
cscript nameoffile.vbs test.csv test.xls 

이 몇 가지 예제 코드입니다 :

당신은 당신이 명령 줄을 할 경우 같은 srccsvfile 및 tgtxlsfile 매개 변수를 전달할 수있는 그 두 개의 인수 또는

값을 추가해야합니다. nameoffile.vbs로 저장 :

srccsvfile = Wscript.Arguments(0) 
tgtxlsfile = Wscript.Arguments(1) 

'Create Spreadsheet 
'Look for an existing Excel instance. 
On Error Resume Next ' Turn on the error handling flag 
Set objExcel = GetObject(,"Excel.Application") 
'If not found, create a new instance. 
If Err.Number = 429 Then '> 0 
    Set objExcel = CreateObject("Excel.Application") 
End If 

objExcel.Visible = false 
objExcel.displayalerts=false 

'Import CSV into Spreadsheet 
Set objWorkbook = objExcel.Workbooks.open(srccsvfile) 
Set objWorksheet1 = objWorkbook.Worksheets(1) 

'Adjust width of columns 
Set objRange = objWorksheet1.UsedRange 
objRange.EntireColumn.Autofit() 
'This code could be used to AutoFit a select number of columns 
'For intColumns = 1 To 17 
' objExcel.Columns(intColumns).AutoFit() 
'Next 

'Make Headings Bold 
objExcel.Rows(1).Font.Bold = TRUE 

'Freeze header row 
With objExcel.ActiveWindow 
.SplitColumn = 0 
.SplitRow = 1 
End With 
objExcel.ActiveWindow.FreezePanes = True 

'Add Data Filters to Heading Row 
objExcel.Rows(1).AutoFilter 

'set header row gray 
objExcel.Rows(1).Interior.ColorIndex = 15 
'-0.249977111117893 


'Save Spreadsheet, 51 = Excel 2007-2010 
objWorksheet1.SaveAs tgtxlsfile, 51 

'Release Lock on Spreadsheet 
objExcel.Quit() 
Set objWorksheet1 = Nothing 
Set objWorkbook = Nothing 
Set ObjExcel = Nothing 
관련 문제