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

Beim Kopieren/Einfügen von Daten aus SQL Server in Excel wird der Text in mehrere Spalten aufgeteilt?

Advertisement

Ich habe ein Problem beim Einfügen von Daten aus dem Ergebnisgitter von SQL Server 2005 in eine Excel 2007-Tabelle.

Ich habe eine Abfrage in SQL Server, die 2 Spalten zurückgibt (eine Zahlenspalte und eine Textspalte)

Auf einem Computer hier kann ich problemlos kopieren (Rechtsklick > Kopieren) und dann einfach mit der rechten Maustaste klicken und in eine Excel-Tabelle einfügen. kein Problem.

Auf einem anderen Computer hier, wenn ich versuche, in Excel einzufügen, teilt es die Textspalte auf und fügt den Text in mehrere Spalten ein, basierend auf den Leerzeichen zwischen den Wörtern.

Wenn zum Beispiel eine der Zeilen…

Paste me please

…enthält, wird beim Einfügen in Excel der Text aufgeteilt und jedes Wort in eine eigene Spalte in Excel eingefügt.

Wir haben versucht, die Optionen sowohl in SQL Server als auch in Excel mit dem Computer zu vergleichen, auf dem es gut funktioniert, können aber keine Unterschiede feststellen.

Jede Idee ist willkommen

Danke

Advertisement
Advertisement

Antworten (6)

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

Wenn Sie in letzter Zeit Text in Spalten verwendet haben, werden diese Einstellungen auf den Vorgang “Einfügen” angewendet. Ich kann mich nicht daran erinnern, dass dies vor Excel 2007 passiert ist, aber vielleicht ist es ja so. Ich muss immer zurückgehen und es wieder auf “Tabulatorgetrennt” einstellen, bevor ich wieder mit dem Kopieren und Einfügen beginne.

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

Vor dem Einfügen der Ergebnisse: Daten → Text in Spalten

  • Original Datentyp: Häkchen bei Delimited
  • Next
  • Delimiters: Häkchen bei Space entfernen - Next
  • Finish

Zum Schluss die Ergebnisse einfügen.

1
Advertisement
1
1
2015-11-13 18:40:08 +0000
Advertisement

Ich habe herausgefunden, dass, wenn ich Excel beende, es dann neu starte und mein Arbeitsblatt neu lade, es die Optionen für Text in Spalten löscht, so dass das Einfügen wieder wie erwartet funktioniert.

Hectors Antwort ist insofern gut, als dass Sie Excel nicht beenden müssen, aber dies funktioniert auch und ist ziemlich schnell und einfach.

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

Wenn Ihre Tabelle ein nvarchar(max)-Feld enthält, verschieben Sie dieses Feld an den unteren Rand Ihrer Tabelle. Wenn der Feldtyp ein anderer als nvarchar(max) ist, identifizieren Sie das oder die fehlerhaften Felder und wenden Sie die gleiche Technik an. Speichern Sie es. Wählen Sie die Tabelle in SQL erneut aus. Wenn Sie nicht ohne Änderung speichern können, können Sie relevante Warnungen unter TOOLS | OPTIONS vorübergehend abschalten. Diese Methode birgt kein Risiko. Kopieren Sie die SQL-GRID-Anzeige mit Überschriften und fügen Sie sie in Excel ein. Die Daten weisen zwar immer noch einen Zeilenumbruch auf, aber zumindest sind Ihre Daten alle in derselben Zeile. Wählen Sie dann alle Zeilendatensätze aus und führen Sie eine benutzerdefinierte Sortierung nach der ID-Spalte durch. Alle Ihre Datensätze sollten nun intakt und fortlaufend sein.

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

Eine ähnliche Situation, auf die ich von Zeit zu Zeit stoße, ist, dass Zeilen in mehrere Zeilen aufgeteilt werden, wenn Benutzer ein Wagenrücklauf-/Zeilenvorschubzeichen in einer für Kommentare vorgesehenen Spalte verwendet haben. Ich habe eine Lösung gefunden, die für SQL 2012/2014 hier funktioniert.

Dies ist anscheinend kein Problem in früheren Versionen von SQL Server. Wenn Sie den Link nicht durchgehen möchten, finden Sie hier die Lösung für das Problem in Ihrem SQL:

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

Lösung für dieses Problem in Excel nach dem Einfügen Option anklicken.

“Textimport-Assistenten verwenden” -> Begrenzt -> Weiter “Tabulator” ankreuzen, “Aufeinanderfolgende Begrenzungen als eine behandeln” ankreuzen -> Weiter Fertigstellen

Advertisement

Verwandte Fragen

6
13
7
9
7
Advertisement
Advertisement