Thường xuyên chúng ta nhận file ở định dạng CSV. Định dạng này không thân thiện cho người dùng. Bài viết này trình bày 5 phương pháp để chuyển đổi CSV sang XLSX mà không cần mở file. Để demo, chúng tôi dùng tập dữ liệu 3 cột: "Tên", "Email" và "Năm sinh".

5 cách chuyển CSV sang XLSX không cần mở file
1. Sử dụng Wizard Nhập văn bản (Text Import Wizard) để chuyển CSV sang XLSX
Phương pháp đầu tiên dùng Wizard Nhập văn bản để chuyển đổi CSV sang định dạng XLSX.
Các bước:
- Tab Dữ liệu (Data) >>> chọn Từ Văn bản/CSV (From Text/CSV).

Hộp thoại Nhập dữ liệu (Import Data) xuất hiện.
- Chọn file "convert-csv-to-xlsx.csv" và bấm Nhập (Import).

Cửa sổ mới hiện ra.
- Từ Tải (Load) >>> chọn "Tải vào... (Load To…)".

Chọn vị trí đầu ra (output).
- Bấm vào "Sheet hiện tại (Existing worksheet):" và trỏ đến ô A1.
- Bấm OK.

Như vậy, chúng ta đã chuyển đổi file CSV sang XLSX.

Xem thêm: Cách chuyển CSV sang XLSX (4 phương pháp nhanh)
2. Chuyển CSV sang XLSX không mở file bằng Wizard kế thừa (Legacy Wizard)
Phần này dùng Wizard kế thừa (Legacy Wizard) để chuyển đổi file từ CSV sang XLSX.
Các bước:
- Bấm ALT + F + T mở cửa sổ Tùy chọn Excel (Excel Options).
- Tại Dữ liệu (Data) >>> tích vào "Từ Văn bản (Kế thừa) (From Text (Legacy))" và bấm OK.

- Tab Dữ liệu >>> Lấy dữ liệu (Get Data) >>> Wizard kế thừa (Legacy Wizards) >>> chọn Từ Văn bản (Kế thừa) (From Text (Legacy)).

Nhập file lại lần nữa.

Cửa sổ Wizard Nhập văn bản (Text Import Wizard) xuất hiện.
- Tích "Dữ liệu của tôi có tiêu đề (My data has headers)", bấm Tiếp theo (Next).

- Chọn Dấu phẩy (Comma) làm Phân tách (Delimiter), bấm Tiếp theo.

- Bấm Hoàn tất (Finish).

Thiết lập vị trí đầu ra tại ô A1 trong Sheet2.
- Bấm OK.

Kết quả: vấn đề đã giải quyết. Hình ảnh cuối cùng như sau.

Xem thêm: Excel VBA nhập file CSV không cần mở (3 ví dụ phù hợp)
3. Chuyển CSV sang XLSX không mở file bằng mã VBA
Phương pháp này dùng mã VBA khác để chuyển đổi file CSV. Xác định file đầu vào và đầu ra, mã này dành cho một file đơn lẻ.
Các bước:
- Chọn file, tab Trang chủ (Home) >>> chọn Sao chép đường dẫn (Copy path).
Điều này sao chép vị trí file.

- Như phương pháp 3, mở cửa sổ Module và nhập mã sau.
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 Sub
Phân tích mã VBA
- Gọi Thủ tục con (Sub Procedure) CsvToXlsxConversion2.
- Khai báo kiểu biến (variable).
- Xác định file đầu vào (input file) bằng câu lệnh Set. Đường dẫn file lấy từ tùy chọn Sao chép đường dẫn (Copy path).
- Thiết lập file đầu ra (output file) là "converted.xlsx" và định dạng file là xlWorkbookDefault, tức là định dạng XLSX.

- Lưu (Save) và Chạy (Run) Module.

Đã trình bày thêm một phương pháp chuyển đổi file CSV sang XLSX.

Xem thêm: Excel VBA chuyển file CSV sang XLSX (2 ví dụ dễ dàng)
Đọc tương tự
- Cách nhập file văn bản vào Excel tự động (2 cách phù hợp)
- Excel VBA: Nhập file văn bản phân cách bằng dấu phẩy (2 trường hợp)
- Cách nhập CSV vào Sheet hiện có trong Excel (5 phương pháp)
4. Áp dụng mã VBA chuyển nhiều file CSV sang XLSX không cần mở
Dùng Excel VBA để chuyển đổi file CSV. Chọn một thư mục, mã này có thể chuyển đổi mọi file bên trong thư mục đó.
Các bước:
Mở cửa sổ Module trong Visual Basic.
- Tab Nhà phát triển (Developer) >>> chọn Visual Basic.

- Từ Chèn (Insert) >>> chọn Module.
Đây là nơi viết mã.

- Nhập mã sau.
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 Sub
Phân tích mã VBA
- Gọi Thủ tục con CsvToXlsxConversion.
- Khai báo kiểu biến.
- Hiển thị Hộp thoại nhập (InputBox) để chọn thư mục (folder).
- Mã tìm tất cả file CSV trong thư mục đó.
- Dùng Vòng lặp Do While để chuyển đổi tất cả file CSV.

- Lưu (Save) Module.
- Bấm vào bất kỳ đâu trong mã và nhấn nút Chạy (Run).

Hệ thống yêu cầu chọn thư mục.
- Chọn thư mục, bấm OK.

Sẽ thấy hai file định dạng XLSX trong thư mục đó.

Mở bất kỳ file để kiểm tra chuyển đổi dữ liệu OK.

Xem thêm: Cách mở file CSV trong Excel với cột tự động (3 phương pháp)
5. Sử dụng Dòng lệnh (Command-Line) chuyển CSV sang XLSX
Phần này dùng Command Prompt để chuyển đổi file CSV.
Các bước:
- Gõ mã sau vào Notepad.
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()
Phân tích mã VBS
Đây là mã Visual Basic Scripting Edition.
- Thiết lập hai đối số.
- Xác định file đầu vào. Chỉ dùng Worksheet đầu tiên.
- Thiết lập phạm vi ô (cell range).
- Sử dụng Tự động điều chỉnh cột (Autofit).
- Làm hàng đầu tiên in đậm (Bold).
- Lưu file dạng 51 (tức XLSX).
- Chọn All Files ở "save as type:".
- Đặt tên "conversion.vbs" và Lưu (Save).

- Từ Menu Bắt đầu (Start Menu) >>> mở Command Prompt.

- Gõ mã sau và bấm ENTER.
CD "C:\Users\USER\Desktop\Exceldemy"
Thiết lập thư mục làm việc.
- Gõ mã tiếp theo.
conversion "C:\Users\USER\Desktop\Exceldemy\convert-csv-to-xlsx.csv" "C:\Users\USER\Desktop\Exceldemy\converted-using-cmd.xlsx"
Mã này chạy file "conversion.vbs". Vị trí đầu tiên là file đầu vào, thứ hai là file đầu ra.
- Bấm ENTER.

Mở file "converted-using-cmd.xlsx" để kiểm tra. Xem mọi thứ hoạt động như mong đợi.

Xem thêm: Cách mở file CSV với cột trong Excel (3 cách dễ dàng)
Chuyển đổi CSV kết hợp Bộ chuyển đổi trực tuyến
Phương pháp cuối, dùng bộ chuyển đổi trực tuyến. Ở đây dùng trang web Cloud Convert để chuyển đổi file.
Các bước:
- Vào trang web.
- Chọn file.

- Chọn file và bấm Mở (Open).

- Chọn XLSX làm định dạng đầu ra và bấm Chuyển đổi (Convert).

- Bấm Tải xuống (Download).

Kết luận: bạn có thể chuyển đổi file CSV qua công cụ trực tuyến. Kết quả cuối như hình.

Xem thêm: Cách đọc file CSV trong Excel (4 cách nhanh nhất)
Kết luận
Đã trình bày 5 phương pháp chuyển đổi CSV sang XLSX không cần mở file. Nếu gặp vấn đề, hãy bình luận bên dưới. Cảm ơn đã đọc, hãy tiếp tục xuất sắc!
Bài viết liên quan
- Excel VBA đọc file CSV từng dòng (3 ví dụ lý tưởng)
- Cách mở Notepad hoặc file văn bản trong Excel với cột (3 phương pháp dễ dàng)
- Excel VBA: Đọc file văn bản thành chuỗi (4 trường hợp hiệu quả)
- Cách nhập file văn bản vào Excel bằng VBA (3 cách dễ dàng)