Tổng quan về công cụ chuyển đổi Excel sang CSV
Công cụ này cho phép bạn tải lên một tệp Excel (định dạng XLSX) và nhận lại tệp CSV dạng văn bản thuần. Toàn bộ quá trình xảy ra trong trình duyệt của bạn – không có dữ liệu nào rời khỏi máy. Công cụ đọc các giá trị hiển thị từ trang tính đầu tiên, cho phép bạn chọn dấu phân cách (dấu phẩy, dấu chấm phẩy hoặc tab), sau đó tạo ra tệp CSV có thể tải xuống.
Khác biệt chính của trang này so với các công cụ chuyển đổi Excel-CSV thông thường là nó làm phẳng một bảng tính giàu thông tin thành một bảng văn bản trần trụi. XLSX có thể chứa nhiều trang tính, công thức, kiểu ô (số, ngày tháng, boolean), màu sắc, phông chữ và các ô đã hợp nhất – CSV không thể chứa bất kỳ thứ gì trong số đó. Mỗi công thức được thay thế bằng giá trị được tính cuối cùng, định dạng bị loại bỏ và chỉ có trang tính đầu tiên được sử dụng. Dấu phẩy, ngắt dòng và số không ở đầu trong dữ liệu có thể làm hỏng đầu ra CSV trừ khi chúng được xử lý (công cụ áp dụng cơ chế quote tiêu chuẩn, nhưng bạn nên kiểm tra kết quả). Vì CSV không có khái niệm về dữ liệu lồng nhau, bạn phải quyết định cách biểu diễn bất kỳ trường phân cấp nào (ví dụ: chuỗi được nối hoặc các cột riêng biệt) trước khi chuyển đổi.
Sự khác biệt cấu trúc giữa XLSX và CSV
XLSX thực chất là một tệp nén ZIP chứa các tệp XML mô tả toàn bộ workbook: nhiều trang tính, kiểu dữ liệu, công thức, định dạng, hình ảnh, biểu đồ. CSV (Comma-Separated Values) là định dạng văn bản thuần, mỗi dòng là một bản ghi, các trường được phân cách bằng dấu phẩy (hoặc dấu khác). Không có metadata, không có kiểu dữ liệu, không có công thức.
Khi bạn chuyển đổi từ XLSX sang CSV, những thứ sau đây chắc chắn bị mất:
- Nhiều trang tính: Chỉ trang tính đầu tiên được chuyển đổi. Các trang tính khác bị bỏ qua hoàn toàn.
- Công thức: Công thức không được tính toán lại; công cụ đọc giá trị hiển thị cuối cùng đã được lưu. Nếu bạn mở tệp Excel và thấy giá trị
SUM(A1:A5), thì CSV sẽ chỉ chứa tổng số, không phải công thức. - Kiểu ô và định dạng: Số, ngày tháng, tiền tệ đều giữ nguyên kiểu dữ liệu của chúng. Màu sắc, phông chữ, viền, ô hợp nhất mất hết.
- Dữ liệu lồng nhau: Nếu Excel có cấu trúc phân cấp (ví dụ: một ô chứa danh sách hoặc một nhóm dữ liệu con), CSV không thể biểu diễn điều đó. Bạn cần làm phẳng thủ công trước khi chuyển đổi.
- Số 0 ở đầu: Nếu một ô chứa số có số 0 ở đầu (ví dụ:
00123) và kiểu dữ liệu gốc là số, thì CSV sẽ hiển thị123. Chỉ khi ô đó được lưu dưới dạng văn bản (text) thì số 0 mới được giữ nguyên.
Một điểm đáng lưu ý: XLSX là định dạng nhị phân được nén, trong khi CSV là văn bản thuần. Kích thước tệp CSV thường lớn hơn so với XLSX tương đương vì không có nén, nhưng lại dễ đọc và xử lý bởi hầu hết các hệ thống.
Các lựa chọn delimiter và xử lý dấu phẩy, xuống dòng, số 0 đầu
CSV có thể sử dụng nhiều dấu phân cách khác nhau. Công cụ cung cấp ba tùy chọn:
| Dấu phân cách | Ký hiệu | Khi nào nên dùng |
|---|---|---|
| Dấu phẩy | , |
Mặc định, tương thích với hầu hết các hệ thống. |
| Dấu chấm phẩy | ; |
Thường dùng ở các quốc gia Châu Âu nơi dấu phẩy được dùng làm dấu thập phân. |
| Tab | \t |
Hữu ích khi dữ liệu chứa dấu phẩy và dấu chấm phẩy. |
Công cụ tự động quote các giá trị có chứa dấu phân cách đã chọn, dấu ngoặc kép hoặc ngắt dòng. Ví dụ: nếu một ô có nội dung Hello, world và bạn chọn delimiter là dấu phẩy, thì đầu ra sẽ là "Hello, world". Tương tự, nếu ô có chứa ngắt dòng (line break), nó cũng được bọc trong dấu ngoặc kép.
Tuy nhiên, có một số rủi ro mà bạn cần kiểm tra sau khi chuyển đổi:
- Số 0 ở đầu bị mất nếu không phải kiểu text. Kiểm tra các mã số như mã bưu điện, mã sản phẩm.
- Dấu phẩy/gạch đầu dòng trong dữ liệu có thể gây hỏng cột nếu không được quote chính xác. Mặc dù công cụ đã xử lý, nhưng hãy xem trước kết quả.
- Ngắt dòng trong một ô có thể tạo ra nhiều dòng trong CSV, gây khó đọc. Công cụ sẽ bọc chúng trong dấu ngoặc kép, nhưng một số hệ thống cũ có thể không xử lý được.
Chuẩn bị dữ liệu Excel trước khi chuyển đổi
Vì CSV là định dạng phẳng, bạn cần đảm bảo dữ liệu Excel đã được làm phẳng trước khi tải lên. Các bước chuẩn bị quan trọng:
- Chỉ giữ lại trang tính đầu tiên mà bạn muốn chuyển đổi. Nếu bạn có nhiều trang tính, hãy sao chép dữ liệu cần vào một trang tính duy nhất, hoặc chuyển từng trang tính riêng lẻ.
- Loại bỏ các ô hợp nhất (merged cells). Khi hợp nhất, chỉ ô đầu tiên (trên cùng bên trái) giữ giá trị, các ô còn lại trống. Điều này có thể tạo ra các ô trống không mong muốn trong CSV.
- Chuyển đổi công thức thành giá trị tĩnh (Paste Special → Values) để đảm bảo bạn đang xuất giá trị cuối cùng, không phải công thức. Mặc dù công cụ đọc giá trị hiển thị, nhưng một số công thức động (ví dụ:
NOW()) có thể thay đổi khi mở lại. - Kiểm tra số 0 ở đầu: Nếu bạn cần giữ số 0, hãy định dạng ô đó dưới dạng văn bản (Text) trước khi lưu.
- Làm phẳng dữ liệu lồng nhau: Nếu một ô chứa nhiều giá trị (ngăn cách bằng dấu phẩy hoặc dấu chấm phẩy), hãy tách chúng thành các cột riêng biệt. Ví dụ: thay vì một cột "Họ và tên" có định dạng "Nguyễn Văn A, Trần Thị B", hãy tạo hai cột "Họ" và "Tên" hoặc để nguyên dạng văn bản và chấp nhận dấu phẩy bên trong.
Nếu bạn có bảng tính với nhiều hàng và cột, hãy nhớ rằng CSV không có giới hạn cố định, nhưng công cụ có thể có giới hạn về số hàng và cột (xem phần lỗi bên dưới).
Các thông báo lỗi và giới hạn của công cụ
Khi sử dụng, bạn có thể gặp một số thông báo lỗi sau:
| Thông báo lỗi | Nguyên nhân |
|---|---|
| "Chọn một tệp trước." | Bạn chưa chọn bất kỳ tệp nào. |
| "Chọn tệp CSV, JSON hoặc XLSX." | Tệp đã chọn có phần mở rộng khác với .csv, .json hoặc .xlsx. |
| "Tệp này quá lớn. Sử dụng tệp dưới ‹max›." | Tệp đã tải lên vượt quá giới hạn kích thước 8 MB. |
| "Không thể mở tệp Excel này." | Tệp XLSX bị hỏng hoặc không phải là sổ làm việc hợp lệ. |
| "Tệp này không có hàng dữ liệu." | Trang tính đầu tiên hoàn toàn trống hoặc mọi hàng trong đó đều trống. |
| "Bảng này có nhiều hơn ‹max› hàng." | Trang tính đầu tiên có nhiều hơn 10.000 hàng. |
| "Bảng này có nhiều hơn ‹max› cột." | Trang tính đầu tiên có nhiều hơn 200 cột. |
| "Đã hủy chuyển đổi." | Bạn đã hủy chuyển đổi. |
| "Quá trình chuyển đổi mất quá nhiều thời gian. Hãy thử tệp nhỏ hơn." | Quá trình chuyển đổi vượt quá giới hạn khoảng 12 giây. |
Ai cần công cụ này và ứng dụng thực tế
Công cụ này hữu ích cho:
- Người nhận tệp Excel (từ đồng nghiệp, khách hàng, dữ liệu công khai) và cần nhập vào hệ thống chỉ chấp nhận CSV – như cơ sở dữ liệu, tập lệnh phân tích dữ liệu, ứng dụng kế thừa.
- Người muốn loại bỏ định dạng và công thức để tạo tệp dữ liệu sạch cho việc chia sẻ hoặc lưu trữ lâu dài.
- Người dùng đang di chuyển dữ liệu từ bảng tính sang pipeline dựa trên văn bản (ví dụ: nhập vào SQL, Python, R).
- Những ai có dữ liệu nhạy cảm – vì xử lý client-side, không có dữ liệu nào rời khỏi máy, đảm bảo quyền riêng tư.
Ví dụ thực tế: Một nhân viên kế toán nhận tệp Excel chứa bảng lương có nhiều trang tính và công thức. Họ chỉ cần trang tính "Tháng 1" để nhập vào phần mềm kế toán cũ chỉ đọc CSV. Họ tải tệp lên, chọn dấu phân cách là tab (vì dữ liệu có dấu phẩy trong tên), tải xuống và kiểm tra số 0 ở đầu mã số nhân viên. Nếu mã số bị mất số 0, họ quay lại sửa thành text rồi chuyển đổi lại.
Câu hỏi thường gặp (FAQ)
1. Tại sao công cụ chỉ chuyển đổi trang tính đầu tiên? Vì CSV là định dạng một bảng, không hỗ trợ nhiều trang tính. Nếu bạn cần chuyển tất cả, hãy sao chép dữ liệu từ các trang tính khác vào một trang tính duy nhất trước khi tải lên, hoặc chuyển từng trang tính riêng biệt.
2. Công thức trong Excel có được tính toán không? Không. Công cụ đọc giá trị hiển thị cuối cùng đã được lưu trong tệp. Nếu bạn muốn giá trị mới nhất, hãy mở tệp Excel, lưu lại (để công thức được tính) trước khi tải lên.
3. Tại sao số 0 ở đầu bị mất?
Vì XLSX lưu trữ kiểu dữ liệu. Nếu ô đó là số, số 0 ở đầu không có ý nghĩa toán học nên bị lược bỏ. Để giữ nguyên, hãy định dạng ô dưới dạng văn bản hoặc thêm dấu nháy đơn trước số (ví dụ: '00123).
4. Làm thế nào để chọn đúng delimiter? Nếu dữ liệu của bạn có chứa dấu phẩy, hãy chọn tab hoặc dấu chấm phẩy. Nếu không, dấu phẩy là an toàn nhất. Kiểm tra xem hệ thống đầu vào của bạn yêu cầu delimiter nào.
5. Dữ liệu có được giữ an toàn không? Có, vì toàn bộ quá trình xảy ra trong trình duyệt của bạn. Không có tệp nào được tải lên máy chủ. Bạn có thể kiểm tra bằng cách tắt mạng sau khi tải trang – công cụ vẫn hoạt động.
6. Tôi có thể chuyển đổi nhiều tệp cùng lúc không? Công cụ chỉ hỗ trợ một tệp mỗi lần. Bạn cần lặp lại thao tác cho từng tệp.
7. Làm thế nào để kiểm tra dữ liệu sau khi chuyển đổi? Công cụ hiển thị bản xem trước (preview) của bảng đã chuyển đổi (8 hàng và 8 cột đầu tiên), cùng với số hàng, số cột và kích thước tệp đầu ra. Hãy dùng bản xem trước để phát hiện lỗi trước khi tải xuống.