Làm cách nào để hiển thị chính xác các tệp .csv trong Excel 2013?


189

Có vẻ như Excel 2013 không đọc tệp CSV chính xác (Excel 2010 không). Mỗi lần tôi mở tệp .csv, tất cả dữ liệu của tôi được hiển thị trong cột đầu tiên.

Tôi biết tôi có thể đi đến DATA, Convertvà sau đó chọn commas, nhưng thiết lập này không được lưu và tôi chán làm việc này mỗi khi tôi mở loại tệp này.

Làm cách nào tôi có thể thiết lập Excel 2013 một lần và mãi mãi để hiển thị các tệp CSV (được phân tách bằng dấu phẩy)?


1
Khi bạn mở tập tin có xuất hiện thông báo nào không?
Andre Silva

Không có tin nhắn nào xuất hiện
David

Kinh nghiệm của tôi là nếu tệp có hàng tiêu đề, Excel 2013 sẽ tự động chuyển qua trình hướng dẫn nhập. Không có hàng tiêu đề đó, nó hiển thị tất cả dưới dạng một cột trên mỗi hàng.
StarPilot

Câu trả lời:


400

Mở tệp CSV bằng trình soạn thảo văn bản phù hợp như Notepad ++ và thêm văn bản sau vào dòng đầu tiên:

sep=,

Bây giờ mở nó với excel một lần nữa.

Điều này sẽ đặt dấu phân cách là dấu phẩy hoặc bạn có thể thay đổi nó thành bất cứ thứ gì bạn cần.


3
Giải pháp tốt nhất, nhưng không phải là giải pháp tôi mong đợi. Cài đặt đó không phải từ chính Excel, điều đó có nghĩa là tôi phải viết dòng trên đây trên tất cả tệp CSV của mình.
David

31
Thực tế là điều này không chuẩn, không có ứng dụng nào viết CSV thêm dòng này và chỉ Excel (theo như tôi biết) chấp nhận nó. Làm cho điều này một người nghèo ở giải pháp tốt nhất. Chưa kể rằng điều này không hoạt động cho Excel 2007 (tốt nhất chúng tôi có ở đây trong công việc)
jmarkmurphy

21
Chúng tôi không nói về tiêu chuẩn. Chúng tôi nói về Microsoft Excel. Excel vận chuyển với các cấu hình và phím nóng khác nhau tùy thuộc vào ngôn ngữ. Điều này làm cho việc nhập tệp CSV trở thành một câu đố. Đây chỉ đơn giản là một cách giải quyết, và tôi tin rằng nó giúp được rất nhiều người, chủ yếu là người dùng quyền lực, mặc dù không phải là câu trả lời tốt nhất.
Guilherme Viebig

10
Cần một giải pháp không liên quan đến việc thêm các dòng vào tệp, vì điều này phá vỡ những thứ khác cần sử dụng tệp. Ngoài ra, đã thử giải pháp cài đặt khu vực, nhưng các cài đặt đã được chỉ định và excel vẫn đang đặt mọi thứ trong cột đầu tiên.
Elliot

2
Điều này hiển thị dòng nếu bạn mở csv trong Libreoffice Calc. Hoạt động tốt trong MS excel mặc dù.
Arda


38

Vấn đề là từ Tùy chọn khu vực. Dấu phân cách thập phân trong win 7 cho các nước châu Âu là hôn mê. Bạn phải mở Bảng điều khiển -> Tùy chọn ngôn ngữ và khu vực -> Cài đặt mục đích -> Dấu tách thập phân: nhấp để nhập dấu chấm (.) Và để Danh sách phân tách nhập hôn mê (,). Đây là !


5
Điều này không hoạt động. Tôi có bộ này như được chỉ định và nó bị bỏ qua. Tất cả mọi thứ là cho đến trong cột đầu tiên.
Elliot

1
Thật tuyệt vời - điều này chỉ giúp một đồng nghiệp đang sử dụng Office 2011. Chúng tôi đặt khu vực của cô ấy từ Ba Lan (sử dụng "," làm dấu tách thập phân) sang Vương quốc Anh và điều này đã sửa nó. Tại sao điều này lại tạo nên sự khác biệt Tôi không biết ...
John

3
Giải pháp này hiệu quả với tôi (excel 2013). Tôi điều chỉnh định dạng khu vực của mình: Tôi đặt dấu chấm (.) Là "dấu tách thập phân", dấu phẩy (,) là "dấu phân cách nghìn" và dấu phẩy (,) là "dấu tách danh sách"
Caesargastonec

1
Tôi đang sử dụng định dạng "Tiếng Anh (Canada)" mặc định của Windows 10, thường hiển thị chính xác tệp CSV (tách cột) khi mở tệp bằng Excel 2013-2016. Gần đây tôi nhận thấy, sau khi mở lại tệp CSV, một trong những ứng dụng của tôi đang thay đổi định dạng đánh số mặc định. Như được chỉ định ở đây, sau khi hoàn nguyên về dấu chấm (.) Dưới dạng "dấu tách thập phân" và dấu phẩy (,) dưới dạng định dạng đánh số "dấu tách danh sách", tệp CSV được hiển thị tốt. Không cần một cách giải quyết ưa thích liên quan đến việc hack hàng đầu tiên của tệp CSV bằng notepad để thêm "sep =,"
JP chém rái cá vào

1
Cuối cùng! Sau khi thử nhiều phút hơn tôi nên thay thế bằng regex trong Notepad ++ dấu phân cách, dấu thập phân / dấu phẩy và không phải ký tự trong dấu ngoặc kép, v.v., tôi đã được nhắc nhở về câu trả lời này và chỉ đặt các cài đặt ngôn ngữ khác nhau, như được chỉ ra ở đây. Bây giờ nó phân tách đúng các cột và số cũng xuất hiện đúng, mà không làm rối bất kỳ văn bản nào.
Fabian Röling

25

Tôi biết rằng một câu trả lời đã được chấp nhận, nhưng một mục cần kiểm tra là mã hóa tệp CSV. Tôi có tập lệnh Powershell tạo tệp CSV. Theo mặc định, nó được mã hóa chúng dưới dạng UCS-2 Little Endian (trên Notepad ++). Nó sẽ mở tệp trong một cột duy nhất trong Excel và tôi phải thực hiện chuyển đổi Văn bản thành Cột để phân chia các cột. Thay đổi tập lệnh để mã hóa cùng một đầu ra là "ASCII" ( UTF-8 w / o BOM trên Notepad ++) cho phép tôi mở CSV trực tiếp với các cột được tách ra. Bạn cũng có thể thay đổi mã hóa CSV trong Notepad ++ .

  • Mã hóa menu > Chuyển đổi sang UTF-8 mà không cần BOM
  • Lưu tệp CSV
  • Mở trong Excel, các cột phải được chia

3
Tôi đánh giá cao câu trả lời này. Tôi thích sử dụng Some-Command | Out-File -Encoding Defaultthường cung cấp mã hóa ANSI chính xác (ít nhất là mặc định tại nhà máy ở Hoa Kỳ).
Mister_Tom

Vì vậy, nếu bạn không chỉ định mã hóa, Out-Filemã hóa tệp là một cái gì đó khác với Defaultmặc định? Tôi đang cố gắng hiểu rằng ... nó mặc định ... nhưng không được sử dụng theo mặc định ... và do đó không phải là mặc định?
jdgregson

Sử dụng "Mặc định mã hóa" đã sửa lỗi cho tôi. Cảm ơn!
Kirk Liêmohn

21

Bạn có thể chọn phân tách nào bạn muốn trong Excel 2013 Chuyển đến DATA -> Chuyển văn bản thành cột -> Chọn phân cách -> sau đó chọn dấu phân cách "Tab, Dấu chấm phẩy, Dấu phẩy, Dấu cách hoặc khác" và bạn sẽ thấy các thay đổi ngay lập tức trong "xem trước dữ liệu "sau đó nhấp vào trang trí

Khi bạn có định dạng mà bạn muốn, bạn chỉ cần lưu tài liệu và nó sẽ là vĩnh viễn.


2
Điều này không giải quyết câu hỏi chính. Chúng tôi cần đây là hành vi mặc định cho bất kỳ tệp nào như vậy, không sửa nó trong một tệp cụ thể.
Elliot

17

Lấy từ /superuser/238944/how-to-force-excel-to-open-csv-files-with-data-arTHER-in-columns

Hành vi của Excel khi mở tệp CSV phụ thuộc nhiều vào cài đặt cục bộ của bạn và trình phân tách danh sách đã chọn trong Vùng và ngôn ngữ » Định dạng » Nâng cao . Theo mặc định, Excel sẽ giả sử mọi CSV được lưu với dấu phân cách đó. Điều này đúng miễn là CSV không đến từ quốc gia khác!

Nếu khách hàng của bạn ở các quốc gia khác, họ có thể thấy kết quả khác thì bạn nghĩ.

Ví dụ: ở đây bạn thấy rằng một Excel Đức sẽ sử dụng dấu chấm phẩy thay vì dấu phẩy như ở Hoa Kỳ

Thiết lập khu vực


> Giải pháp này hiệu quả với tôi (excel 2013). Tôi điều chỉnh định dạng khu vực của mình: Tôi đặt dấu chấm (.) Là "dấu tách thập phân", dấu phẩy (,) là "dấu phân cách nghìn" và dấu phẩy (,) là "dấu tách danh sách" - Caesargastonec ngày 13 tháng 7, 15 lúc 16:00 05
Alex78191

1
Hoặc bạn có thể thay đổi dấu phân cách thập phân trong tùy chọn Excel superuser.com/a/1470373
Alex78191

3

Một vấn đề khác có thể xảy ra là tệp csv chứa dấu thứ tự byte "FEFF". Dấu thứ tự byte được dự định để phát hiện xem tập tin đã được di chuyển từ một hệ thống bằng cách sử dụng thứ tự byte cuối lớn hay cuối nhỏ đến một hệ thống có độ bền ngược lại. https://en.wikipedia.org/wiki/Byte_order_mark

Xóa dấu thứ tự byte "FEFF" bằng trình soạn thảo hex sẽ cho phép Excel đọc tệp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.