Sao chép / dán dữ liệu từ SQL Server sang Excel có phân tách văn bản thành nhiều cột không?


14

Tôi đã gặp sự cố khi dán dữ liệu từ lưới kết quả của SQL Server 2005 sang bảng tính excel 2007.

Tôi có một truy vấn trong SQL Server trả về 2 cột (cột số và cột văn bản)

Trên một máy tính ở đây tôi có thể vui vẻ sao chép (nhấp chuột phải> sao chép) và sau đó chỉ cần nhấp chuột phải và dán vào bảng tính excel. không vấn đề gì.

Trên một máy tính khác ở đây khi tôi thử và dán vào excel, nó sẽ tách cột văn bản lên và dán văn bản thành nhiều cột dựa trên khoảng trắng giữa các từ.

Ví dụ: nếu một trong các hàng có ...

Vui lòng dán cho tôi

... trong đó sau đó khi dán vào excel, nó sẽ chia văn bản và dán từng từ vào một cột riêng trong excel.

Chúng tôi đã thử so sánh các tùy chọn trong cả SQL Server & excel với máy tính hoạt động tốt nhưng không thể thấy sự khác biệt.

Mọi ý tưởng đều được chào đón

Cảm ơn

Câu trả lời:


20

Nếu bạn đã sử dụng Văn bản cho các cột gần đây, nó sẽ áp dụng các cài đặt đó cho thao tác Dán. Tôi không nhớ điều này xảy ra trước Excel 2007, nhưng nó có thể có. Tôi luôn phải quay lại và đặt nó trở lại giới hạn tab trước khi tôi bắt đầu sao chép và dán lại.


vâng, bạn đúng - chúng tôi đã bẻ khóa nó - cảm ơn
Paul

Nó đã làm việc. Cảm ơn.
Sagar Shirke

7

Trước khi dán kết quả: Dữ liệu → Chuyển văn bản thành Cột

  • Original Data Type: Kiểm tra Delimited
  • Kế tiếp
  • Delimiters: Bỏ chọn Space
  • Kế tiếp
  • Hoàn thành

Cuối cùng dán kết quả.


1

Bạn đã thử thay thế các mẫu khởi động Excel trên máy tính có vấn đề chưa? Nó có thể có một macro được xác định đang được kích hoạt bởi hoạt động dán của bạn. Theo Điều 924460 của Cơ sở Kiến thức Microsoft, các mẫu được lưu trữ theo các vị trí sau:

Theo mặc định, các tệp mẫu người dùng được lưu trữ ở vị trí sau:

  • Trong Windows XP C: \ Documents and Settings \ Application Data \ Microsoft \ Mẫu
  • Trong Windows Vista hoặc trong Windows 7 C: \ Users \\ AppData \ Roaming \ Microsoft \ Mẫu

1

Tôi đã thấy rằng nếu tôi thoát khỏi Excel, sau đó khởi động lại nó và tải lại bảng tính của mình, nó sẽ xóa văn bản thành các tùy chọn cột, do đó, dán sẽ hoạt động như mong đợi.

Câu trả lời của Hector rất hay ở chỗ bạn không phải thoát Excel, nhưng điều này cũng hoạt động, và khá nhanh chóng và dễ dàng.


Tôi nghĩ rằng một số excel mà bạn có trong hệ thống, đã thay đổi các tùy chọn mặc định. Vì vậy, tôi nghĩ thay vì loay hoay với cấu hình hoặc chuyển đổi dữ liệu thì dễ dàng đóng tất cả và mở lại.
Juan Acosta

0

Nếu bảng của bạn chứa trường nvarchar (tối đa), hãy di chuyển trường đó xuống cuối bảng. Trong trường hợp loại trường khác với nvarchar (max), sau đó xác định trường hoặc trường vi phạm và sử dụng kỹ thuật tương tự. Lưu nó Chọn lại Bảng trong SQL. Nếu bạn không thể lưu mà không có thay đổi, bạn có thể tạm thời chuyển các cảnh báo có liên quan trong CÔNG CỤ | LỰA CHỌN. Phương pháp này không có rủi ro. Sao chép và Dán màn hình SQL GRID bằng Tiêu đề vào Excel. Dữ liệu vẫn có thể thể hiện lợi nhuận vận chuyển nhưng ít nhất dữ liệu của bạn là trên cùng một hàng. Sau đó chọn tất cả các bản ghi hàng và thực hiện sắp xếp tùy chỉnh trên cột ID. Tất cả các hồ sơ của bạn bây giờ nên còn nguyên vẹn và liên tiếp.


0

Đôi khi, một tình huống tương tự tôi gặp phải là các hàng được chia thành nhiều hàng khi người dùng đã sử dụng ký tự nguồn cấp dữ liệu / dòng trở lại trong một cột dành cho nhận xét. Tôi tìm thấy một giải pháp hoạt động cho SQL 2012/2014 tại đây .

Đây rõ ràng không phải là một vấn đề trong các phiên bản trước của SQL Server. Nếu bạn không muốn đi qua liên kết, đây là cách khắc phục sự cố trong SQL của bạn:

REPLACE(REPLACE([YourColumnHere], CHAR(10), ''), CHAR(13), '')

0

Giải pháp cho vấn đề này trong Excel sau khi dán tùy chọn nhấp.

"Sử dụng trình hướng dẫn nhập văn bản" -> Được phân cách -> Kiểm tra tiếp theo "Tab", chọn "Xử lý phân tách liên tiếp là một" -> Kết thúc tiếp theo

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.