Câu hỏi Excel CSV - Định dạng ô số


Tôi tạo báo cáo dưới dạng tệp CSV. Khi tôi cố gắng để mở tập tin trong Excel, nó làm cho một giả định về kiểu dữ liệu dựa trên nội dung của ô, và định dạng lại nó cho phù hợp.

Ví dụ: nếu tệp CSV chứa

...,005,...

Sau đó, Excel hiển thị nó dưới dạng 5. Có cách nào để ghi đè điều này và hiển thị 005 không?

Tôi muốn làm một cái gì đó để tập tin chính nó, để người dùng có thể chỉ cần nhấp đúp vào tập tin CSV để mở nó.

Tôi sử dụng Excel 2003.


76
2017-09-26 02:07


gốc


Xem câu hỏi này cho một giải pháp vĩ mô cho vấn đề này. - Adam Jensen
Ngày nay có rất nhiều thư viện Excel-viết ra khỏi đó. Nó sẽ được khá dễ dàng để tạo các tập tin .xlsx trong ngôn ngữ của sự lựa chọn của bạn. Nếu người dùng của bạn vẫn đang sử dụng Excel 2003 vì một số lý do (phổ biến khi câu hỏi này ban đầu được hỏi, nhưng hy vọng không có khả năng ngày hôm nay), cũng có một số tùy chọn sản xuất .xls. Đối với những người ngại trong câu hỏi này ngày hôm nay, rất có thể bạn không phải tự mình cuộn. - John Y


Các câu trả lời:


Không có cách dễ dàng để kiểm soát định dạng Excel được áp dụng khi mở tệp .csv. Tuy nhiên liệt kê dưới đây là ba phương pháp có thể giúp đỡ.

Sở thích của tôi là tùy chọn đầu tiên.

Tùy chọn 1 - Thay đổi dữ liệu trong tệp

Bạn có thể thay đổi dữ liệu trong tệp .csv như sau ...,= ”005”, ... Điều này sẽ được hiển thị trong Excel dưới dạng ...,005, ...

Excel sẽ giữ dữ liệu dưới dạng công thức, nhưng sao chép cột và sử dụng các giá trị dán đặc biệt sẽ loại bỏ công thức nhưng vẫn giữ nguyên định dạng

Lựa chọn 2 - Định dạng dữ liệu

Nếu nó chỉ đơn giản là một vấn đề định dạng và tất cả dữ liệu của bạn trong cột đó có độ dài ba chữ số. Sau đó mở dữ liệu trong Excel và sau đó định dạng cột chứa dữ liệu với định dạng tùy chỉnh này 000

Tùy chọn 3 - Thay đổi đuôi tệp thành .dif (Định dạng trao đổi dữ liệu)

Thay đổi phần mở rộng tệp và sử dụng thuật sĩ nhập tệp để kiểm soát các định dạng. Các tệp có phần mở rộng .dif được Excel tự động mở khi nhấp đúp vào.

Từng bước một:

  • Thay đổi đuôi tệp từ .csv đến .dif
  • Nhấp đúp vào tệp để mở tệp trong Excel.
  • 'Trình hướng dẫn nhập tệp' sẽ được khởi chạy.
  • Đặt 'Loại tệp' thành 'Phân tách' và nhấp vào nút 'Tiếp theo'.
  • Trong dấu phân cách, đánh dấu 'Dấu phẩy' và nhấp vào nút 'Tiếp theo'.
  • Nhấp vào từng cột dữ liệu của bạn được hiển thị và chọn 'Định dạng dữ liệu cột'. Cột có giá trị '005' phải được định dạng là 'Văn bản'.
  • Nhấp vào nút kết thúc, tệp sẽ được Excel mở bằng các định dạng mà bạn đã chỉ định.

108
2017-09-26 21:23



.dif không hoạt động trên máy tính của tôi; mở bằng tay với Excel 2007 không hoạt động (cảnh báo tôi rằng loại tệp khác với phần mở rộng) và có vẻ như .DIF được liên kết với Quicktime trên nhiều máy tính. Chỉ cần FYI :) Nếu không, lời khuyên tuyệt vời! - Nicholas Head
tôi nghĩ tùy chọn 1 là tốt nhất, nếu bạn muốn có một cách miễn phí để tạo một tệp "chỉ hoạt động" - tức là. nó mở ra trên máy tính của người dùng trong excel mà không yêu cầu họ làm bất kỳ công việc bổ sung nào. - Kip
Tôi đã có cùng một vấn đề, và không ai trong số trên là thích hợp xin lỗi. Nghĩ rằng tôi có thể xuất dưới dạng XML và sử dụng XSLT để chuyển sang CSV. Tôi cần tệp CSV đúng để có thể nhập vào ứng dụng khác - Matt
Việc thay đổi số thành công thức có hoạt động trong mọi mã hóa không? - Rob Fox
Xin lưu ý rằng tùy chọn 1 không phải lúc nào cũng tốt, nếu bạn có ô cho biết "1E02, bất kỳ văn bản nào" và sau đó bạn đặt mức bằng nhau trước thì Excel sẽ tưởng tượng bạn đã nhập công thức. Đầu tiên công thức sẽ sai nhưng thứ hai và quan trọng nhất là nó sẽ chia nhỏ văn bản của bạn qua 2 ô. - ghiscoding


Không sử dụng CSV, sử dụng SYLK.
http://en.wikipedia.org/wiki/SYmbolic_LinK_(SYLK)

Nó cho phép kiểm soát nhiều hơn định dạng và Excel sẽ không cố gắng đoán loại trường bằng cách kiểm tra nội dung. Nó có vẻ phức tạp một chút, nhưng bạn có thể lấy đi bằng cách sử dụng một tập con rất nhỏ.


27
2017-09-26 02:49



Viết +1 cho SYLK rất đơn giản để thực hiện, tôi đã làm nó như là người mới. - Matt H
Tôi không biết về định dạng này. Nó trông giống như một cái gì đó mà tôi có thể sử dụng. +1 cho điều này! - Buggabill
+1 Đã cho tôi năm phút để chuyển từ CSV sang SYLK. Định dạng đầu ra goto của tôi từ bây giờ! - TheFish
SYLK chỉ có thể đại diện cho ANSI, vì vậy chúng ta người Đức không thể sử dụng nó. - xamde
@xamde, bạn nói đúng. Thật kỳ lạ khi họ không bao giờ mở rộng định dạng để hỗ trợ nó, như họ đã làm với RTF. - Mark Ransom


Điều này làm việc cho Microsoft Office 2010, Excel Phiên bản 14

Tôi hiểu sai về sở thích của OP "để làm một cái gì đó cho chính tệp đó." Tôi vẫn giữ điều này cho những người muốn có giải pháp để định dạng nhập trực tiếp

  1. Mở một tệp trống (mới) (Tệp -> Mới từ sổ làm việc)
  2. Mở Trình hướng dẫn Nhập (Dữ liệu -> Từ Văn bản)
  3. Chọn tệp .csv và Nhập của bạn
  4. Trong hộp thoại, chọn 'Phân cách' và nhấp Tiếp theo.
  5. Chọn dấu phân cách của bạn (bỏ chọn mọi thứ trừ 'dấu phẩy'), chọn các ký hiệu Văn bản của bạn (có thể là {None}), bấm Tiếp theo
  6. bên trong Xem trước dữ liệu trường chọn cột bạn muốn là văn bản. Nó sẽ làm nổi bật.
  7. bên trong Định dạng dữ liệu cột , chọn 'Văn bản'.
  8. Nhấp vào hoàn tất.

14
2018-05-15 21:27



Đây là câu trả lời chính xác! - Rhyous
giải thích bằng hình ảnh: support.insight.ly/hc/en-us/articles/… - Yo Ludke


Bạn chỉ có thể định dạng phạm vi của mình dưới dạng Văn bản.

Cũng thế đây là một bài viết hay về các định dạng số và cách bạn có thể lập trình chúng.


2
2017-09-26 02:10



Điều đó sẽ chỉ ảnh hưởng đến cách giá trị được hiển thị. Bạn cần phải chuyển đổi nó thành văn bản, hoặc với một công thức, hoặc trong quá trình nhập, với một trong nhiều phương thức goven trong chuỗi này - leo


Trên thực tế, tôi phát hiện ra rằng, ít nhất là bắt đầu với Office 2003, bạn có thể lưu một bảng tính Excel dưới dạng tệp XML. Vì vậy, tôi có thể tạo một tệp XML và khi tôi nhấp đúp vào nó, nó sẽ được mở trong Excel. Nó cung cấp cùng mức kiểm soát như SYLK, nhưng cú pháp XML trực quan hơn.


2
2017-09-26 04:29





Việc thêm một khoảng trống không phá vỡ trong ô có thể hữu ích. Ví dụ: "firstvalue";"secondvalue";"005 ";"othervalue"

Nó buộc Excel coi nó như một văn bản và không gian không hiển thị. Trên Windows, bạn có thể thêm không gian không bị phá vỡ bằng cách nhấn alt + 0160. Xem ở đây để biết thêm: http://en.wikipedia.org/wiki/Non-breaking_space

Đã thử trên Excel 2010. Hy vọng điều này có thể giúp những người vẫn tìm kiếm một giải pháp khá thích hợp cho vấn đề này.


2
2017-10-09 14:01





Tôi đã gặp phải vấn đề này khi xuất dữ liệu CSV từ mã C # và giải quyết vấn đề này bằng cách thêm dữ liệu 0 hàng đầu bằng ký tự tab, vì vậy dữ liệu được hiểu là văn bản chứ không phải là số trong Excel (không giống như thêm các ký tự khác, nó sẽ không ' t được nhìn thấy).

Tôi đã thích cách tiếp cận = "001", nhưng điều này sẽ không cho phép dữ liệu CSV được xuất khẩu lại vào ứng dụng C # của tôi mà không xóa tất cả định dạng này khỏi tệp CSV nhập (thay vào đó tôi sẽ cắt dữ liệu nhập) .


2
2018-01-24 11:20





Tôi tin rằng khi bạn nhập tệp, bạn có thể chọn Loại Cột. Đặt văn bản thay cho Số. Tôi không có một bản sao trước mặt tôi vào lúc này để kiểm tra.


1
2017-09-26 02:10