Chuyển đến nội dung

Chuyển CSV sang Excel

Biến file CSV thành bảng tính XLSX đúng nghĩa: số và ngày tháng tính tổng và sắp xếp được, mã bưu chính và mã ID dài giữ nguyên như đã ghi, cùng hàng tiêu đề in đậm, cố định và lọc được.

  • Không bao giờ lưu trữ
  • Không xếp hàng, không phải chờ
  • Không cần đăng ký, không watermark

Cách hoạt động

1

Thêm file CSV

Thả một hoặc nhiều file .csv, .tsv hoặc .txt vào, hoặc dán dữ liệu. Nhiều file sẽ thành các trang tính của cùng một bảng tính.

2

Kiểm tra bản xem trước

Dấu phân cách và bảng mã được tự động nhận diện, và mỗi cột hiển thị kiểu dữ liệu nó sẽ nhận. Bạn có thể thay đổi bất cứ thứ gì.

3

Tải xuống

Một file bảng tính .xlsx mở được trong Excel, Google Sheets, Numbers và LibreOffice.

Một cột được xác định kiểu dữ liệu như thế nào

Mỗi cột được xem xét tổng thể và nhận một kiểu dữ liệu duy nhất, và một số dạng giá trị cụ thể buộc cột quay về dạng văn bản, bất kể phần còn lại của cột trông thế nào. Bất kỳ giá trị nhiều chữ số nào bắt đầu bằng số 0 đều gây ra điều đó. Mọi số có hơn mười lăm chữ số có nghĩa cũng vậy, vì đó là ngưỡng mà vượt qua thì một chữ số sẽ bị mất chứ không chỉ hiển thị khác đi. Mọi thứ bắt đầu bằng dấu cộng rồi đến bảy chữ số trở lên cũng vậy, vì đó là số điện thoại chứ không phải một con số định lượng. Trộn hai ký hiệu tiền tệ trong một cột cũng gây ra điều đó, trộn dấu thập phân cũng vậy, và một ngày trước năm 1900 cũng thế, vì lịch của chính Excel không chứa được. Mỗi quyết định như vậy đều được nêu rõ trong bản xem trước kèm lý do, để bạn thấy vì sao một cột vẫn là văn bản thay vì phải thắc mắc.

Ngày tháng được xác định theo từng cột chứ không theo từng ô. Các giá trị lớn hơn mười hai cho biết file đang ghi ngày trước hay tháng trước; nếu không có giá trị nào như vậy, các cột khác sẽ “bỏ phiếu”, sau đó đến thiết lập của bạn, rồi mặc định là ngày trước. Một cột trộn lẫn hai thứ tự sẽ bị từ chối và giữ nguyên dạng văn bản thay vì bị đoán, vì đó là trường hợp mà đoán sai sẽ không thể nhận ra. Năm hai chữ số theo quy tắc của chính Excel: mọi số dưới ba mươi thuộc thế kỷ này. Chỉ đúng hai từ true và false mới trở thành giá trị logic thực sự — yes và no, Y và N, 1 và 0 đều được giữ nguyên như cũ, vì mỗi cặp đó mang nghĩa khác trong một file nào đó.

Giá trị không khớp với kiểu dữ liệu của cột được ghi lại đúng văn bản gốc thay vì bị để trống, và những ký hiệu thường mang nghĩa “thiếu dữ liệu” — NA, N/A, null, nil, none, một dấu gạch ngang hoặc dấu hỏi đứng một mình, và các chữ báo lỗi của chính Excel — không làm hỏng một cột đã có kiểu dữ liệu khi chúng xuất hiện trong đó. Mọi ô văn bản đều được ghi thành văn bản bằng kiểu ô, không phải bằng dấu nháy đơn ở đầu, nên một trường bắt đầu bằng dấu bằng sẽ vô hại trong bảng tính chứ không chỉ được ngụy trang. Nếu điều nào trong số đó không phù hợp với file của bạn, bạn có thể ghim từng cột thành văn bản trong bản xem trước trước khi tải xuống.

Khi bạn cần công cụ khác

Quá trình này chạy ngay trên trang — nó thường xuyên nhường quyền xử lý để tab vẫn phản hồi, và không có giới hạn dung lượng file, hai điều đó cộng lại nghĩa là một file CSV thực sự lớn sẽ làm quạt máy bạn kêu to trước khi gây ra lỗi. Với file hàng trăm megabyte, hoặc phép chuyển đổi diễn ra hằng đêm, in2csv của csvkit và LibreOffice ở chế độ headless đều làm được việc này từ một script, và không cái nào cần trình duyệt phải giữ toàn bộ bảng.

Câu hỏi khó hơn là liệu .xlsx có phải đích đến phù hợp hay không. Bảng tính là nơi con người đọc và chỉnh sửa dữ liệu, và mọi công sức bỏ ra để kiểu dữ liệu ra đúng đều uổng phí nếu file chỉ được mã lập trình đọc — khi đó hãy giữ nguyên CSV, hoặc chuyển nó một lần sang Parquet hay JSON Lines, và để bên sử dụng khai báo lược đồ (schema) thay vì suy ra từ các giá trị. Suy luận kiểu dữ liệu là một phỏng đoán được thực hiện cẩn thận; lược đồ thì hoàn toàn không phải phỏng đoán.

Câu hỏi thường gặp

Sao không mở thẳng file CSV bằng Excel?

Excel tự đoán từng ô một: mã bưu chính mất số 0 ở đầu, mã ID 16 chữ số biến thành 1.23457E+15, tên gen như SEPT2 thành ngày tháng, và file dùng dấu chấm phẩy dồn hết vào một cột. Công cụ chuyển đổi này quyết định một lần cho mỗi cột, dựa trên tất cả giá trị của cột, và chỉ chuyển đổi khi cả cột thống nhất.

Ngày tháng được nhận diện thế nào?

Theo từng cột. 15/03/2024 và 03/15/2024 được phân biệt nhờ các ngày khác trong cùng cột; ngày dạng ISO, giờ và tên tháng cũng được nhận diện. Ngày tháng trở thành ngày Excel thực sự, hiển thị theo đúng thứ tự bạn đã viết. Nếu một cột thực sự mơ hồ, bạn tự chọn ngày trước hoặc tháng trước.

File của tôi dùng dấu chấm phẩy và dấu phẩy thập phân.

Được tự động nhận diện: 9,8 trở thành con số 9,8 thực sự và 1.234,56 trở thành số 1234,56. Bạn cũng có thể tự đặt dấu phân cách và dấu thập phân.

Những bảng mã ký tự nào dùng được?

UTF-8 và UTF-16 được tự động nhận diện, còn file do các chương trình Windows cũ lưu — Tây Âu và Trung Âu, Kirin, Hy Lạp, Thổ Nhĩ Kỳ, Do Thái, Ả Rập, Nhật, Trung và Hàn — được nhận diện hoặc có thể tự chọn, nên ą, ß, Ж và 日本 đều hiện ra đúng.

Dữ liệu của tôi có bị lưu trữ ở đâu không?

Không. File được đọc và bảng tính được ghi ngay tại đây; không có gì được gửi đi đâu và không lưu trữ gì cả.

File CSV có thể chạy công thức khi mở bảng tính không?

Không. Ô bắt đầu bằng = được lưu dưới dạng văn bản, không bao giờ là công thức, nên một file CSV độc hại không thể thực thi gì trong Excel. Tắt tính năng nhận diện kiểu dữ liệu thì mọi ô đều được giữ nguyên dạng văn bản.

Nên biết: Một trang tính Excel chứa tối đa 1.048.576 hàng; file dài hơn sẽ tiếp tục sang các trang tính bổ sung với hàng tiêu đề được lặp lại. File rất lớn (hàng trăm MB) bị giới hạn bởi bộ nhớ của thiết bị.

Đặt công cụ này lên website của bạn

Miễn phí cho mọi blog, trang lớp học hay bài viết hướng dẫn. Chỉ cần dán một đoạn mã là khách truy cập có thể dùng ngay trên trang của bạn.