Skopiować / wkleić dane z SQL Server do Excela dzieli tekst na wiele kolumn?


14

Mam problem z wklejeniem danych z siatki wyników SQL Server 2005 do arkusza kalkulacyjnego Excel 2007.

Mam zapytanie w SQL Server, które zwraca 2 kolumny (kolumna liczb i kolumna tekstowa)

Na jednym komputerze tutaj mogę z radością skopiować (kliknij prawym przyciskiem myszy> skopiować), a następnie po prostu kliknij prawym przyciskiem myszy i wklej do arkusza kalkulacyjnego programu Excel. nie ma problemu.

Na innym komputerze tutaj, gdy próbuję wkleić do programu Excel, dzieli kolumnę tekstową w górę i wkleja tekst do wielu kolumn na podstawie spacji między słowami.

Na przykład, jeśli jeden z wierszy ma ...

Wklej mnie proszę

... a następnie wklejając do programu Excel, dzieli tekst i wkleja każde słowo do osobnej kolumny w programie Excel.

Próbowaliśmy porównać opcje zarówno programu SQL Server, jak i programu Excel z komputerem, na którym działa dobrze, ale nie widać różnic.

Wszelkie pomysły są mile widziane

Dzięki

Odpowiedzi:


20

Jeśli ostatnio używałeś tekstu do kolumn, zastosuje te ustawienia do operacji wklejania. Nie pamiętam, aby miało to miejsce przed Excel 2007, ale może tak być. Zawsze muszę wrócić i ustawić ją z powrotem w tabulatorach, zanim zacznę ponownie kopiować i wklejać.


tak, masz rację - rozwaliliśmy to - dzięki
Paul

Zadziałało. Dzięki.
Sagar Shirke,

7

Przed wklejeniem wyników: Dane → Tekst do kolumn

  • Oryginalny typ danych: Sprawdź rozdzielone
  • Kolejny
  • Ograniczniki: odznacz Spację
  • Kolejny
  • koniec

Na koniec wklej wyniki.


1

Czy próbowałeś zastąpić szablony uruchamiania programu Excel na komputerze, na którym występuje problem? Może mieć zdefiniowane makro, które jest uruchamiane przez operację wklejania. Zgodnie z art. 924460 bazy wiedzy Microsoft Knowledge Base szablony są przechowywane w następujących lokalizacjach:

Domyślnie pliki szablonów użytkownika są przechowywane w następującej lokalizacji:

  • W systemie Windows XP C: \ Documents and Settings \\ Application Data \ Microsoft \ Templates
  • W systemie Windows Vista lub Windows 7 C: \ Users \\ AppData \ Roaming \ Microsoft \ Templates

1

Przekonałem się, że jeśli wyjdę z programu Excel, a następnie uruchomię go ponownie i ponownie załaduję arkusz kalkulacyjny, spowoduje to wyczyszczenie tekstu w kolumnach, więc wklejenie będzie działać zgodnie z oczekiwaniami.

Odpowiedź Hektora jest dobra, ponieważ nie musisz wychodzić z Excela, ale to również działa i jest dość szybkie i łatwe.


Myślę, że niektóre z Excela, które masz w systemie, zmieniły domyślne opcje. Myślę więc, że zamiast bawić się konfiguracją lub transformacją danych, łatwo jest zamknąć wszystko i otworzyć je ponownie.
Juan Acosta

0

Jeśli tabela zawiera pole nvarchar (maks.), Przenieś to pole na dół tabeli. W przypadku, gdy typ pola jest inny niż nvarchar (max), a następnie zidentyfikuj pole lub pola naruszające i użyj tej samej techniki. Zapisz to. Wybierz ponownie tabelę w SQL. Jeśli nie możesz zapisać bez zmiany, możesz tymczasowo włączyć odpowiednie ostrzeżenia w NARZĘDZIA | OPCJE Ta metoda nie wiąże się z żadnym ryzykiem. Skopiuj i wklej ekran SQL GRID z nagłówkami do Excela. Dane mogą nadal wykazywać powrót karetki, ale przynajmniej wszystkie dane znajdują się w tym samym wierszu. Następnie wybierz wszystkie rekordy wierszy i wykonaj sortowanie niestandardowe w kolumnie Identyfikator. Wszystkie twoje zapisy powinny być nienaruszone i kolejne.


0

Podobną sytuację spotykam od czasu do czasu, gdy wiersze są dzielone na wiele wierszy, gdy użytkownicy używają znaku powrotu karetki / znaku wiersza w kolumnie przeznaczonej na komentarze. Tutaj znalazłem rozwiązanie, które działa dla SQL 2012/2014 .

Najwyraźniej nie jest to problem w poprzednich wersjach SQL Server. Jeśli nie chcesz przejść przez link, oto jak rozwiązać problem w kodzie SQL:

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

0

Rozwiązanie tego problemu w programie Excel po wklejeniu opcji kliknięcia.

„Użyj kreatora importu tekstu” -> Rozdzielany -> Dalej Sprawdź „Tab”, zaznacz „Traktuj kolejny delimetr jako jeden” -> Dalej Zakończ

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.