CSV (comma-separated values, giá trị ngăn bằng dấu phẩy) là tệp văn bản thuần, mỗi dòng là một bản ghi, các giá trị trong dòng ngăn nhau bằng dấu phẩy hoặc một ký tự ngăn cách đã thống nhất. Nó không có định dạng, không có công thức, không có nhiều trang tính; chỉ có chữ. Chính vì đơn giản như vậy mà gần như mọi phần mềm bán hàng, ngân hàng điện tử, hệ thống chấm công, sàn thương mại điện tử đều cho xuất dữ liệu ra CSV, và mọi công cụ AI đều đọc được.
Cũng vì đơn giản mà CSV gây ra những lỗi quen thuộc nhất ở văn phòng: mở ra thấy tiếng Việt thành ký tự lạ, mọi thứ dồn vào một cột, số điện thoại mất số 0, ngày tháng bị đảo. Bài này giải thích CSV khác tệp Excel ở đâu, nguyên nhân từng lỗi, và cách mở, lưu, gửi CSV cho đúng, kể cả khi gửi cho chatbot.
CSV khác tệp Excel (xlsx) ở những điểm nào
Hai loại tệp đều mở được bằng Excel nên hay bị coi là một. Thực ra chúng khác nhau tận gốc.
| Tiêu chí | CSV | Excel (xlsx) |
|---|---|---|
| Bản chất | Văn bản thuần, đọc được bằng mọi trình soạn thảo | Gói nhiều tệp nén bên trong, cần phần mềm bảng tính để đọc |
| Số trang tính | Một | Nhiều |
| Công thức | Không có, chỉ lưu kết quả | Lưu cả công thức |
| Định dạng, màu, độ rộng cột | Không lưu | Lưu |
| Kiểu dữ liệu | Không lưu, phần mềm mở tự đoán | Lưu theo từng ô |
| Mã hoá ký tự | Phải thống nhất (thường là UTF-8), không có thì sai dấu | Tự xử lý |
| Dùng tốt nhất cho | Trao đổi dữ liệu giữa các hệ thống, nạp vào AI, lưu trữ lâu dài | Làm việc, tính toán, trình bày |
Dòng "kiểu dữ liệu không lưu" là gốc rễ của phần lớn rắc rối. Khi mở CSV, bảng tính phải đoán từng giá trị là số, ngày hay chữ, và đoán theo cài đặt vùng của máy. Đoán sai thì dữ liệu bị biến đổi ngay lúc mở, trước khi bạn kịp làm gì.
Đọc một tệp CSV bằng mắt trước khi mở bằng bảng tính
Thói quen nhỏ giúp tránh phần lớn rắc rối: trước khi nhập, mở tệp bằng trình soạn thảo văn bản đơn giản (Notepad trên Windows, TextEdit ở chế độ văn bản thuần trên máy Mac) và nhìn vài dòng đầu. Trong khoảng nửa phút bạn trả lời được bốn câu hỏi quyết định cách nhập.
Thứ nhất, ký tự ngăn là gì: nhìn giữa các giá trị là dấu phẩy, chấm phẩy hay khoảng cách đều nhau của tab. Thứ hai, dòng đầu có phải tiêu đề cột không, hay hệ thống ghi vài dòng thông tin như tên báo cáo, ngày xuất trước khi vào bảng; nếu có, khi nhập phải bỏ qua các dòng đó. Thứ ba, ngày được ghi theo kiểu nào: nhìn một ngày có số lớn hơn 12, ví dụ 25, đứng ở vị trí đầu hay giữa là biết. Thứ tư, số tiền có dấu ngăn hàng nghìn không, dấu thập phân là gì.
Ghi bốn câu trả lời đó lại, cùng với số dòng của tệp. Nếu hằng tháng nhận cùng một loại tệp từ cùng một hệ thống, bạn chỉ cần làm việc này một lần rồi lưu thành ghi chú hướng dẫn nhập; Power Query còn cho lưu lại toàn bộ các bước nhập để lần sau chỉ cần làm mới.
Bốn lỗi hay gặp khi mở CSV và nguyên nhân
Tiếng Việt thành ký tự lạ. Chữ có dấu được lưu bằng một bảng mã. Phần lớn hệ thống hiện nay xuất CSV theo UTF-8, nhưng Excel khi mở bằng cách nhấp đúp có thể đọc theo bảng mã khác nếu tệp không có dấu hiệu nhận diện UTF-8 ở đầu (gọi là BOM). Kết quả là chữ "Nguyễn" hiện thành một chuỗi ký tự vô nghĩa. Dữ liệu trong tệp không hỏng, chỉ là đọc sai cách.
Mọi thứ dồn vào một cột. Tệp ngăn bằng dấu phẩy nhưng máy bạn chờ dấu chấm phẩy, hoặc ngược lại. Trên máy đặt dấu thập phân là dấu phẩy như kiểu Việt Nam, Excel thường dùng dấu chấm phẩy làm ký tự ngăn danh sách, nên mở tệp ngăn bằng dấu phẩy là không tách được cột.
Số 0 đầu biến mất, số dài thành dạng khoa học. Mã hàng 00125, số điện thoại, số tài khoản bị đoán là số. Mất số 0 xảy ra ngay lúc mở; nếu sau đó bạn lưu đè lên CSV, số 0 mất vĩnh viễn trong tệp.
Ngày bị đảo hoặc thành chữ. Hệ thống xuất ngày theo kiểu tháng/ngày/năm, máy bạn hiểu theo ngày/tháng/năm, hoặc ngược lại. Các ngày từ 1 đến 12 bị đảo thầm lặng, các ngày lớn hơn 12 bị giữ là chữ.
Cách mở CSV an toàn trong Excel và Google Sheets
Nguyên tắc chung: đừng nhấp đúp. Hãy nhập tệp qua chức năng nhập dữ liệu để tự chọn bảng mã, ký tự ngăn và kiểu từng cột. Tên menu có thể đổi theo phiên bản, nên kiểm bản đang dùng.
- Excel: mở một sổ trống, vào thẻ Dữ liệu (Data), chọn lấy dữ liệu từ văn bản hoặc CSV (From Text/CSV), chọn tệp.
- Chọn bảng mã: ở ô nguồn tệp (File Origin), chọn Unicode (UTF-8). Nhìn khung xem trước, tiếng Việt hiện đúng dấu thì đã chọn đúng.
- Chọn ký tự ngăn: dấu phẩy, dấu chấm phẩy hay tab, tuỳ tệp. Khung xem trước tách đúng cột là được.
- Chỉnh kiểu cột trước khi nạp: chọn "chuyển đổi dữ liệu" (Transform Data) để mở Power Query, đặt cột mã, số điện thoại là văn bản; cột ngày chọn kiểu ngày kèm đúng vùng nguồn. Rồi mới nạp vào trang tính.
- Google Sheets: vào Tệp, Nhập, tải tệp lên, chọn ký tự ngăn hoặc để tự phát hiện. Bỏ chọn tuỳ chọn chuyển văn bản sang số, ngày nếu muốn giữ nguyên mã có số 0 đầu. Google Sheets đọc UTF-8 tốt nên ít gặp lỗi phông hơn.
- Kiểm sau khi mở: số dòng có khớp với số bản ghi hệ thống báo không, cột mã còn số 0 không, vài ngày ở giữa tháng có đúng thứ tự không.
Mất thêm một phút cho các bước này rẻ hơn rất nhiều so với việc phát hiện ra, sau khi đã gửi báo cáo, rằng một nửa ngày trong tháng bị đảo.
Lưu và gửi CSV sao cho người nhận không gặp lỗi
Khi cần xuất CSV từ Excel, chọn kiểu lưu "CSV UTF-8" thay vì "CSV" thường; tuỳ chọn này có ở các bản Excel mới, giúp giữ dấu tiếng Việt. Nhớ rằng CSV chỉ lưu trang tính đang mở và chỉ lưu giá trị, nên luôn giữ tệp xlsx làm bản làm việc, CSV chỉ là bản xuất ra để trao đổi. Đừng làm việc tiếp trên CSV rồi lưu đè, vì mỗi lần mở lưu là một lần Excel có thể đoán lại kiểu và biến đổi dữ liệu.
Khi gửi cho người khác hoặc cho hệ thống khác, ghi kèm ba thông tin trong tin nhắn hay tệp hướng dẫn: bảng mã (UTF-8), ký tự ngăn (dấu phẩy hay chấm phẩy), và định dạng ngày (ví dụ năm-tháng-ngày). Ba dòng đó giúp người nhận mở đúng ngay lần đầu.
Một chi tiết kỹ thuật đáng biết: nếu giá trị chứa chính dấu phẩy, như địa chỉ "Số 5, đường Lê Lợi", thì giá trị đó phải được bọc trong dấu nháy kép để không bị tách thành hai cột. Phần mềm xuất chuẩn tự làm việc này, theo quy ước phổ biến được mô tả trong tài liệu RFC 4180. Nhưng CSV do người tự ghép bằng tay hoặc bằng công thức nối chuỗi thường quên, dẫn tới các dòng lệch cột ở đúng những bản ghi có dấu phẩy.
CSV và AI: vì sao chatbot thích CSV hơn tệp Excel
Nếu bạn định nhờ AI đọc dữ liệu, CSV thường là định dạng ít rủi ro nhất, vì mấy lý do dưới đây. Nhưng cũng có giới hạn cần biết.
- Không có gì ẩn. Tệp Excel có thể chứa cột ẩn, trang ẩn, ô gộp, công thức tham chiếu ra tệp khác. AI đọc CSV thấy đúng những gì có, không bị nhiễu.
- Dễ kiểm số dòng. Mỗi dòng là một bản ghi, nên bạn có thể hỏi AI "tệp có bao nhiêu dòng dữ liệu" và so với con số bạn biết. Lệch là dấu hiệu AI đọc thiếu.
- Dễ cắt mẫu. Muốn gửi mười dòng đầu kèm tiêu đề, chỉ cần chép mười một dòng văn bản. Nhớ thay thông tin cá nhân bằng giá trị giả định trước khi gửi.
- Giới hạn: AI cũng phải đoán kiểu. Như bảng tính, AI không biết "03/04" là ngày nào. Mô tả kiểu từng cột trong câu lệnh.
- Giới hạn: tệp dài có thể bị cắt. Tuỳ công cụ, chatbot có thể chỉ đọc một phần tệp lớn, hoặc tóm tắt thay vì xử lý từng dòng. Với việc cần chính xác từng dòng, để AI viết công thức hay bước xử lý, còn bảng tính chạy trên toàn bộ dữ liệu.
Tóm gọn cách dùng: CSV để trao đổi và đưa cho AI xem cấu trúc, bảng tính để tính, và luôn kiểm lại số dòng, số tổng sau mỗi lần chuyển qua lại.
Các họ hàng của CSV bạn sẽ gặp
TSV là CSV dùng ký tự tab làm dấu ngăn thay dấu phẩy. Ưu điểm là địa chỉ, tên công ty có dấu phẩy không cần bọc nháy. Khi bạn chép một vùng từ bảng tính rồi dán vào ô chat, thứ được dán thực chất là văn bản ngăn bằng tab, nên chatbot thường hiểu đúng cột.
Tệp TXT xuất từ phần mềm kế toán hay máy chấm công đời cũ nhiều khi là CSV đổi đuôi, hoặc là văn bản cột cố định, mỗi cột chiếm một số ký tự nhất định. Loại sau phải tách theo vị trí ký tự, chức năng nhập văn bản của Excel có lựa chọn này.
JSON và XML là định dạng bán cấu trúc, có tầng lớp lồng nhau, không phải bảng phẳng. Nếu hệ thống cho chọn giữa JSON và CSV mà bạn chỉ cần một bảng để lọc và cộng, chọn CSV. Nếu cần giữ quan hệ đơn hàng và các mặt hàng bên trong, JSON giữ được nhiều thông tin hơn nhưng cần bước trải phẳng sau đó.
Câu hỏi thường gặp
Mở CSV bằng Notepad thấy đúng dấu nhưng Excel lại lỗi, vì sao?
Notepad bản mới tự nhận ra UTF-8 nên hiện đúng dấu, còn Excel khi nhấp đúp có thể đọc theo bảng mã mặc định của hệ thống. Dữ liệu trong tệp vẫn đúng. Nhập qua chức năng lấy dữ liệu từ văn bản và chọn UTF-8 là hiện đúng.
Lưu CSV từ Excel thì các trang tính khác đi đâu?
CSV chỉ chứa một bảng, nên Excel chỉ lưu trang tính đang mở và thường cảnh báo rằng các trang khác sẽ không được lưu. Muốn xuất nhiều trang, lưu từng trang thành một tệp CSV riêng, đặt tên theo trang để không lẫn.
Có thể sửa lỗi phông trên một tệp CSV đã lưu sai không?
Nếu tệp chỉ bị mở sai cách thì mở lại đúng bảng mã là xong. Nếu đã lưu đè sau khi hiện sai, các ký tự có thể đã bị thay thật sự và khó khôi phục trọn vẹn. Vì thế luôn giữ bản xuất gốc từ hệ thống, chỉ làm việc trên bản sao.
Tệp CSV có an toàn hơn tệp Excel không?
CSV không chứa macro nên không chạy được mã độc theo kiểu macro. Tuy nhiên ô bắt đầu bằng dấu bằng có thể bị bảng tính hiểu là công thức khi mở, một kiểu rủi ro gọi là chèn công thức. Với CSV từ nguồn lạ, nhập qua chức năng nhập dữ liệu thay vì nhấp đúp.
Nên đặt tên tệp CSV thế nào?
Ghi rõ nguồn, nội dung và ngày xuất theo kiểu năm-tháng-ngày, không dấu, không khoảng trắng, ví dụ donhang-shop-2026-10-27.csv. Tên như vậy sắp xếp đúng thứ tự thời gian và không bị lỗi khi chuyển qua hệ thống khác hoặc nén gửi qua email.