업무를 하다 보면 CSV 형식의 파일을 자주 접하게 됩니다. 하지만 CSV는 사용성이 다소 불편한 파일 형식입니다. 이 글에서는 파일을 직접 열지 않고도 CSV를 XLSX로 변환할 수 있는 5가지 방법을 소개합니다. 설명을 위해 "Name", "Email", "Birth Year" 세 개의 열로 구성된 데이터 세트를 예시로 사용하겠습니다.

열지 않고 CSV를 XLSX로 변환하는 5가지 방법
1. 텍스트 가져오기 마법사로 CSV를 XLSX로 변환하기
첫 번째 방법은 텍스트 가져오기 마법사(Text Import Wizard)를 활용하여 CSV 파일을 XLSX 형식으로 변환하는 것입니다.
단계:
- 먼저 데이터 탭에서 텍스트/CSV에서를 선택합니다.

그러면 데이터 가져오기 대화 상자가 나타납니다.
- 다음으로 "convert-csv-to-xlsx.csv" 파일을 선택하고 가져오기를 클릭합니다.

새로운 창이 열립니다.
- 그다음 로드에서 "다음으로 로드..."를 선택합니다.

여기서 결과물이 저장될 출력 위치를 지정합니다.
- "기존 워크시트:"를 클릭하고 A1 셀을 지정합니다.
- 마지막으로 확인을 누릅니다.

이렇게 하면 CSV 파일이 XLSX 형식으로 성공적으로 변환됩니다.

2. 레거시 마법사를 사용하여 CSV를 XLSX로 변환하기
이번에는 레거시 마법사(Legacy Wizard)를 이용해 CSV 파일을 XLSX로 변환해 보겠습니다.
단계:
- 먼저 ALT + F + T 키를 눌러 Excel 옵션 창을 엽니다.
- 그다음 데이터 항목에서 "텍스트에서(레거시)"에 체크 표시를 하고 확인을 누릅니다.

- 이제 데이터 탭 >>> 데이터 가져오기 >>> 레거시 마법사 >>> 텍스트에서(레거시)를 차례로 선택합니다.

파일을 다시 가져옵니다.

그러면 텍스트 가져오기 마법사 창이 나타납니다.
- "첫 행은 데이터 제목임"에 체크하고 다음을 클릭합니다.

- 구분 기호로 쉼표(Comma)를 선택한 후 다음을 누릅니다.

- 이어서 마침을 클릭합니다.

출력 위치를 Sheet2의 A1 셀로 설정합니다.
- 마지막으로 확인을 누르면 완료됩니다.

이 방법으로도 문제를 해결할 수 있습니다. 아래는 최종 결과 화면입니다.

3. VBA 코드로 CSV를 XLSX로 변환하기 (단일 파일)
이 방법에서는 VBA 코드를 사용하여 CSV 파일을 변환합니다. 여기서는 입력 파일과 출력 파일을 직접 정의하며, 이 코드는 단일 파일 변환용입니다.
단계:
- 먼저 파일을 선택한 후 홈 탭에서 경로 복사를 클릭합니다.
이렇게 하면 파일의 위치가 클립보드에 복사됩니다.

- 그다음 모듈(Module) 창을 열고 아래 코드를 입력합니다.
Sub CsvToXlsxConversion2()
Dim w As Workbook
Set w = Workbooks.Open("C:\Users\Rafi\OneDrive\Desktop\Softeko\36\convert-csv-to-xlsx.csv")
w.SaveAs Filename:="C:\Users\Rafi\OneDrive\Desktop\Softeko\36\convert-csv-to-xlsx.xlsx", _
FileFormat:=xlWorkbookDefault, _
ReadOnlyRecommended:=False, CreateBackup:=False
End SubVBA 코드 설명
- 첫째, Sub 프로시저 CsvToXlsxConversion2를 호출합니다.
- 둘째, 변수 유형을 선언합니다.
- 셋째, Set 문을 사용하여 입력 파일을 정의합니다.
여기서는 앞서 경로 복사 기능으로 얻은 파일 위치를 활용했습니다. - 마지막으로 출력 파일을 지정하고 파일 형식을 xlWorkbookDefault, 즉 XLSX 형식으로 설정합니다.

- 마지막으로 모듈을 저장하고 실행합니다.

이렇게 해서 또 하나의 CSV → XLSX 변환 방법을 살펴보았습니다.

4. VBA 코드로 여러 개의 CSV 파일을 한 번에 XLSX로 변환하기
이번에는 Excel VBA를 사용하여 여러 CSV 파일을 동시에 변환하는 방법을 알아보겠습니다. 이 방법에서는 폴더를 선택하며, 해당 폴더 안의 모든 CSV 파일을 일괄 변환할 수 있습니다.
단계:
먼저 Visual Basic 편집기에서 모듈 창을 엽니다.
- 첫째, 개발 도구 탭에서 Visual Basic을 선택합니다.

- 둘째, 삽입 >>> 모듈을 선택합니다.
여기에 코드를 작성하게 됩니다.

- 셋째, 아래 코드를 입력합니다.
Sub CsvToXlsxConversion()
Dim f As FileDialog
Dim fPath As String
Dim csvFile As String
Dim ws As String
Application.DisplayAlerts = False
Application.StatusBar = True
ws = ActiveWorkbook.Name
Set f = Application.FileDialog(msoFileDialogFolderPicker)
f.Title = "Select a folder:"
If f.Show = -1 Then
fPath = f.SelectedItems(1)
Else
Exit Sub
End If
If Right(fPath, 1) <> "\" Then fPath = fPath + "\"
csvFile = Dir(fPath & "*.csv")
Do While csvFile <> ""
Application.StatusBar = "Converting: " & csvFile
Workbooks.Open Filename:=fPath & csvFile
ActiveWorkbook.SaveAs Replace(fPath & csvFile, ".csv", ".xlsx", vbTextCompare), xlWorkbookDefault
ActiveWorkbook.Close
Windows(ws).Activate
csvFile = Dir
Loop
Application.StatusBar = False
Application.DisplayAlerts = True
End SubVBA 코드 설명
- 첫째, Sub 프로시저 CsvToXlsxConversion을 호출합니다.
- 둘째, 변수 유형을 선언합니다.
- 셋째, 폴더를 선택하기 위한 입력 상자(InputBox)를 표시합니다.
- 그런 다음 해당 폴더 내의 모든 CSV 파일을 검색합니다.
- 마지막으로 Do While 루프를 사용하여 모든 CSV 파일을 변환합니다.

- 모듈을 저장합니다.
- 코드 아무 곳이나 클릭한 후 실행(Run) 버튼을 누릅니다.

폴더를 선택하라는 메시지가 나타납니다.
- 폴더를 선택하고 확인을 누릅니다.

해당 폴더에 XLSX 형식의 파일 두 개가 생성된 것을 확인할 수 있습니다.

파일을 열어 데이터가 올바르게 변환되었는지 확인할 수도 있습니다.

5. 명령 프롬프트(Command-Line)를 활용하여 CSV를 XLSX로 변환하기
마지막으로 명령 프롬프트를 사용하여 CSV 파일을 변환하는 방법을 알아보겠습니다.
단계:
- 먼저 메모장에 아래 코드를 입력합니다.
sourceFile= Wscript.Arguments(0)
targetFile = Wscript.Arguments(1)
On Error Resume Next
Set tExcel = GetObject(,"Excel.Application")
If Err.Number = 429 Then
Set tExcel = CreateObject("Excel.Application")
End If
tExcel.Visible = false
tExcel.displayalerts=false
Set tWorkbook = tExcel.Workbooks.open(sourceFile)
Set tWorksheet1 = tWorkbook.Worksheets(1)
Set tRange = tWorksheet1.UsedRange
tRange.EntireColumn.Autofit()
tExcel.Rows(1).Font.Bold = TRUE
tWorksheet1.SaveAs targetFile, 51
tExcel.Quit()VBS 코드 설명
이것은 Visual Basic Scripting Edition(VBScript) 코드입니다.
- 첫째, 두 개의 인수를 설정합니다.
- 둘째, 입력 파일을 정의합니다. 이 코드에서는 첫 번째 워크시트만 사용됩니다.
- 셋째, 셀 범위를 설정합니다.
- 그다음 열 너비 자동 맞춤(Autofit)을 적용합니다.
- 이어서 첫 번째 행을 굵게(Bold) 표시합니다.
- 마지막으로 파일을 51 형식(XLSX를 의미)으로 저장합니다.
- 메모장에서 "파일 형식:"을 모든 파일로 선택합니다.
- 파일 이름을 "conversion.vbs"로 지정하여 저장합니다.

- 이제 시작 메뉴에서 명령 프롬프트를 엽니다.

- 아래 명령어를 입력하고 ENTER 키를 누릅니다.
CD "C:\Users\USER\Desktop\Exceldemy"이 명령은 작업 폴더로 디렉터리를 변경합니다.
- 그다음 아래 명령어를 입력합니다.
conversion "C:\Users\USER\Desktop\Exceldemy\convert-csv-to-xlsx.csv" "C:\Users\USER\Desktop\Exceldemy\converted-using-cmd.xlsx"이 명령은 "conversion.vbs" 파일을 실행합니다. 첫 번째 경로는 입력 파일, 두 번째 경로는 출력 파일입니다.
- 마지막으로 ENTER 키를 누릅니다.

이제 "converted-using-cmd.xlsx" 파일을 열어 모든 것이 정상적으로 작동했는지 확인할 수 있습니다.

보너스: 온라인 변환기를 활용한 CSV 변환
추가로, 온라인 변환기를 사용하는 방법도 있습니다. 여기서는 Cloud Convert 웹사이트를 이용해 파일을 변환해 보겠습니다.
단계:
- 먼저 해당 웹사이트에 접속합니다.
- 변환할 파일을 선택합니다.

- 파일을 선택하고 열기(Open)를 클릭합니다.

- 출력 형식으로 XLSX를 선택한 후 변환(Convert)을 누릅니다.

- 마지막으로 다운로드(Download)를 클릭합니다.

이처럼 온라인 도구를 통해서도 손쉽게 CSV 파일을 변환할 수 있습니다. 아래는 최종 결과 화면입니다.

마치며
지금까지 파일을 열지 않고 CSV를 XLSX로 변환하는 5가지 방법과 온라인 변환기 활용법까지 알아보았습니다. 각 방법을 따라 하면서 문제가 발생하면 언제든지 댓글로 문의해 주세요. 읽어주셔서 감사합니다!
함께 읽으면 좋은 글
- Excel VBA로 CSV 파일 한 줄씩 읽는 방법 (3가지 예제)
- 엑셀에서 메모장·텍스트 파일을 열 단위로 불러오는 방법 (3가지 쉬운 방법)
- Excel VBA로 텍스트 파일을 문자열로 읽어오는 방법 (4가지 사례)
- VBA를 사용해 텍스트 파일을 엑셀로 가져오는 방법 (3가지 쉬운 방법)