Cách chuyển đổi từ Exel sang CSV không bị lỗi font Tiếng Việt

4.2/5 - (930 votes)

‘- Trong quá trình thao tác với Exel chúng ta thường phải chuyển đổi nội dung từ file Exel sang file CSV để thuận tiện cho việc xuất/nhập dữ liệu trên database.

– Khi chuyển đổi dữ liệu từ file Exel sang file CSV chúng ta thường mắc phải lỗi không hiển thị font Tiếng Việt. Trong bài viết này tôi sẽ hướng dẫn các bạn cách khắc phục lỗi không hiển thị font Tiếng Việt trong file CSV.

– Bước 1: Đổi mã vùng dữ liệu từ từ file Exel (nhấn CTRL + A để chọn tất cả dẽ liệu trong file Exel hoặc có thể chọn từng cột) từ Unicode sang TCVN3 (Chọn vùng dữ liệu rồi chọn lệnh copy (Ctrl+C) -> Nháy chuột phải vào biểu tượng Unikey ở khay hệ thống > Công cụ … [CS+F6] > Chọn bảng mã nguồn là Unicode và mã đích là TCVN3 rồi nháy Chuyển mã > OK). Sau đó Paste dữ liệu trong Clipboard sang một Sheet mới (nhớ đổi font để hiển thị chữ Việt, chẳng hạn .VnTime).

– Bước 2: Save as toàn bộ dữ liệu thành file TXT.

– Bước 3: Dùng Notepad mở file .TXT rồi đổi từ mã TCVN3 sang Unicode (xem cách làm ở Bước 1), rồi chọn Save as… và ghi lại với Encoding là UTF-8.

– Bước 4: Khi này chúng ta sẽ thu được file TXT không bị lỗi font Tiếng Việt nữa, và bắt đầu tiến hành xuất sang file CSV, để xuất ra file CSV chúng ta chọn Save AS và đặt tên file là “output.csv”(nhớ để unicode và dấu “” khi đặt tên file). Lúc này chúng ta thu được file CSV, tuy nhiên việc sắp xếp các cột lại có vấn đề. Chúng ta nên hiểu rằng mặc định trong CSV thì dấu “,” là sự phân cách giữa các cột với nhau. Khi tạo ra file txt thì chúng ta có phần dấu TAB chính là khoảng trắng cách khá xa nhau, vậy chúng ta nên sửa đổi toàn bộ dấu TAB đó thành “,” (sử dụng tính nằng Find & Repalce trong Notepad). Như vậy là đã hoàn thành việc phân cách các cột trong file CSV.

– Bước 5: Nếu dữ liệu của chúng ta có nhiều dấu “,” thì mặc định của file CSV sẽ chia nó ra thành các cột, do vậy mà chúng ta nên khoanh vùng dữ liệu đó nằm trong dấu “” thì file CSV mới đúng chuẩn như trong file Exel. Lưu ý: việc sửa đổi này phải làm trên Notepad.

Như vậy, chỉ cần 5 bước đơn giản là chúng ta đã có thể chuyển đổi toàn bộ dữ liệu trong file Exel sang file CSV mà không bị lỗi font Tiếng Việt.

Ngoài ra chúng ta có thể tham khảo ở một số cách dưới đây:

Để tạo file .CSV từ Excel không bị lỗi font Unicode chữ Việt, Bạn có thể làm theo một trong hai cách sau:

* Cách 1:

Bước 1: Đổi mã vùng dữ liệu từ Unicode sang TCVN3 (Chọn vùng dữ liệu rồi chọn lệnh copy (Ctrl+C) > Nháy chuột phải vào biểu tượng Unikey ở khay hệ thống > Công cụ ... [CS+F6] > Chọn bảng mã nguồn, đích rồi nháy Chuyển mã > OK).
Paste dữ liệu trong Clipboard sang một Sheet mới (nhớ đổi font để hiển thị chữ Việt, chẳng hạn .VnTime).

Bước 2: Ghi phần dữ liệu với mã TCVN3 ra file CSV (Chọn Save As... > Chọn Save as type là CSV (Comma delimited) (*.csv) > Đặt tên file rồi Save).

Bước 3: Dùng Notepad mở file .CSV rồi đổi từ mã TCVN3 sang Unicode (xem cách làm ở Bước 1), rồi chọn Save as... và ghi lại với Encoding là UTF-8.

* Cách 2:

Bước 1: Ghi vùng dữ liệu với Unicode ra file .TXT với lựa chọn Unicode Text (.txt) như Bạn đã làm (khi đó các cột được phân cách bởi dấu tab).

Bước 2: Mở file .TXT bằng Ms Word rồi tìm và thay thế mọi dấu tab (^t) bởi dấu phảy (,). Ghi lại với lựa chọn Plain Text (.txt) và encoding là Unicode.

Chúc Bạn thành công.

Hoặc

Có 1 giải pháp khá đơn giản là: 

B1: bạn "save as" file excel dạng *.txt
B2: bạn mở file txt bằng notepad và và lại chọn "save as" tiếp.
B3: trong mục file name bạn nhập vào tên file csv theo đúng mẫu sau: "file_name.csv". 
Chú ý là phải đi kèm nháy kép trong file_name nhé bạn. 
Ví dụ tôi sẽ đánh vào mục file name: "output.csv" (có kèm dấu nháy kép) 
Đây là file csv lấy tab làm dấu phân cách, bạn có thể dùng tính năng Find&Replace để chuyển tab thành dấu ",". Bây giờ bạn đã có file csv như ý muốn rồi đấy!
Đã checked!

Ngoài ra các bạn có thể dùng Macro để convert

https://drive.google.com/file/d/0B89NS-TGTcn_c213aExuSk5KT3M/view?usp=sharing&pref=2&pli=1

Leave a Reply

Your email address will not be published. Required fields are marked *