2012-03-05 12:05:12 +0000 2012-03-05 12:05:12 +0000
14
14

Kopiowanie/Wklejanie danych z SQL Server do Excela rozdziela tekst na wiele kolumn?

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

Mam zapytanie w SQL Server, które zwraca 2 kolumny (kolumnę liczb i kolumnę tekstową)

Na jednym komputerze tutaj mogę szczęśliwie skopiować (kliknij prawym przyciskiem myszy > kopiuj), a następnie po prostu kliknij prawym przyciskiem myszy i wklej do arkusza kalkulacyjnego Excel. bez problemu.

Na innym komputerze, kiedy próbuję wkleić tekst do Excela, kolumna tekstowa jest dzielona i wklejany jest tekst do wielu kolumn na podstawie spacji między słowami.

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

Wklej mnie proszę

…w nim, to podczas wklejania do Excela, dzieli on tekst i wkleja każde słowo do osobnej kolumny w Excelu.

Próbowaliśmy porównywać opcje zarówno w SQL Server jak i excelu z komputerem, na którym działa dobrze, ale nie widzimy żadnych różnic.

Wszelkie pomysły mile widziane

Dzięki.

Odpowiedzi (6)

20
20
20
2012-05-21 20:06:39 +0000

Jeśli ostatnio używałeś Tekstu do kolumn, zastosuje on te ustawienia do operacji Wklej. Nie pamiętam, żeby to się działo przed Excelem 2007, ale być może tak było. Zawsze muszę wrócić i ustawić go z powrotem na tabulator delimitowany, zanim zacznę kopiować i wklejać ponownie.

7
7
7
2013-07-09 17:00:59 +0000

Przed wklejeniem wyników: Data → Text to Columns

  • Typ danych oryginalnych: Sprawdź Delimited
  • Next
  • Delimitery: Uncheck Space
  • Next
  • Finish Na koniec wklej wyniki.
1
1
1
2015-11-13 18:40:08 +0000

Odkryłem, że jeśli wyjdę z programu Excel, a następnie uruchomię go ponownie i ponownie załaduję mój arkusz kalkulacyjny, wyczyści opcje tekstu do kolumn, więc wklejanie będzie działać zgodnie z oczekiwaniami ponownie.

Odpowiedź Hectora jest miła w tym, że nie musisz opuszczać Excela, ale to działa równie dobrze i jest całkiem szybkie i łatwe.

0
0
0
2014-03-30 00:32:10 +0000

Jeśli Twoja tabela zawiera pole nvarchar(max) przenieś je na sam dół tabeli. W przypadku, gdy typ pola jest inny niż nvarchar(max), zidentyfikuj pole lub pola i użyj tej samej techniki. Zapisz. Ponownie zaznacz tabelę w SQL. Jeśli nie możesz zapisać bez zmian, możesz tymczasowo wyłączyć odpowiednie ostrzeżenia w Narzędzia | Opcje. Ta metoda nie niesie ze sobą żadnego ryzyka. Skopiuj i wklej zawartość SQL GRID z nagłówkami do Excela. Dane mogą nadal zawierać powrót karetki, ale przynajmniej wszystkie dane znajdują się w tym samym wierszu. Następnie zaznacz wszystkie rekordy wierszy i wykonaj sortowanie niestandardowe na kolumnie ID. Wszystkie rekordy powinny być teraz nienaruszone i następujące po sobie.

0
0
0
2016-10-26 18:15:51 +0000

Podobną sytuacją, którą napotykam od czasu do czasu, jest dzielenie wierszy na wiele wierszy, gdy użytkownicy używają znaku powrotu karetki / podawania linii w kolumnie przeznaczonej do komentarzy. Znalazłem rozwiązanie, które działa dla SQL 2012/2014 tutaj .

Jest to, najwyraźniej, nie problem w poprzednich wersjach SQL Server. Jeśli nie chcesz przechodzić przez link, oto jak naprawić ten problem w swoim SQL:

REPLACE(REPLACE([YourColumnHere], CHAR(10), ''), CHAR(13), '')
0
0
0
2017-11-23 12:56:16 +0000

Rozwiązanie tego problemu w Excelu po wklejeniu kliknij opcję.

“Użyj kreatora importu tekstu” - “Delimited” - “Next” Zaznacz “Tab”, zaznacz “Traktuj kolejne delimetry jako jeden” - “Next Finish”.