it-swarm.com.de

Kopieren / Einfügen von Daten von SQL Server nach Excel Text in mehrere Spalten aufteilen?

Beim Einfügen von Daten aus dem Ergebnisraster von SQL Server 2005 in eine Excel 2007-Tabelle ist ein Problem aufgetreten.

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

Hier kann ich auf einem Computer 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 basierend auf Leerzeichen zwischen Wörtern in mehrere Spalten ein.

Zum Beispiel, wenn eine der Zeilen hat ...

Fügen Sie mich bitte ein

... darin wird dann beim Einfügen in Excel der Text aufgeteilt und jedes Wort in eine separate 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 einwandfrei funktioniert, können jedoch keine Unterschiede feststellen.

Irgendwelche Ideen willkommen

Vielen Dank

13
Paul

Wenn Sie kürzlich Text in Spalten verwendet haben, werden diese Einstellungen auf den Einfügevorgang angewendet. Ich kann mich nicht daran erinnern, dass dies vor Excel 2007 passiert ist, aber es könnte so sein. Ich muss immer zurückgehen und es wieder auf tabulatorgetrennt setzen, bevor ich wieder mit dem Kopieren und Einfügen beginne.

16
Justin Moore

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

  • Ursprünglicher Datentyp: Check Delimited
  • Weiter
  • Trennzeichen: Deaktivieren Sie Leerzeichen
  • Weiter
  • Fertig stellen

Fügen Sie zum Schluss die Ergebnisse ein.

6
Hector Negrete

Haben Sie versucht, die Excel-Startvorlagen auf dem Computer zu ersetzen, auf dem das Problem auftritt? Möglicherweise ist ein Makro definiert, das von Ihrer Einfügeoperation ausgelöst wird. Gemäß dem Microsoft Knowledge Base-Artikel 924460 werden die Vorlagen an den folgenden Speicherorten gespeichert:

Standardmäßig werden Benutzervorlagendateien an folgendem Speicherort gespeichert:

  • In Windows XP C:\Dokumente und Einstellungen \\ Anwendungsdaten\Microsoft\Vorlagen
  • In Windows Vista oder Windows 7 C:\Benutzer \\ AppData\Roaming\Microsoft\Templates
1
user87883

Ich habe festgestellt, dass, wenn ich Excel beende, neu starte und meine Tabelle neu lade, der Text in Spaltenoptionen gelöscht wird, sodass das Einfügen wieder wie erwartet funktioniert.

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

1
Gundark

Wenn Ihre Tabelle ein nvarchar (max) -Feld enthält, verschieben Sie dieses Feld an den unteren Rand Ihrer Tabelle. In dem Fall, dass der Feldtyp von nvarchar (max) abweicht, identifizieren Sie das oder die fehlerhaften Felder und verwenden Sie dieselbe Technik. Speichern Sie es. Wählen Sie die Tabelle in SQL erneut aus. Wenn Sie nicht ohne Änderungen speichern können, können Sie relevante Warnungen in TOOLS | vorübergehend deaktivieren OPTIONEN. Diese Methode birgt kein Risiko. Kopieren Sie die SQL-GRID-Anzeige mit Überschriften nach Excel, und fügen Sie sie ein. Die Daten können immer noch einen Wagenrücklauf aufweisen, aber mindestens Ihre Daten befinden sich alle in derselben Zeile. Wählen Sie dann alle Zeilendatensätze aus und sortieren Sie die ID-Spalte benutzerdefiniert. Alle Ihre Aufzeichnungen sollten jetzt intakt und fortlaufend sein.

0
XGIS

Eine ähnliche Situation, die ich von Zeit zu Zeit erlebe, besteht darin, dass Zeilen in mehrere Zeilen aufgeteilt werden, wenn Benutzer in einer für Kommentare bestimmten Spalte ein Wagenrücklauf-/Zeilenvorschubzeichen verwenden. Ich habe hier eine Lösung gefunden, die für SQL 2012/2014 funktioniert .

Dies ist anscheinend kein Problem in früheren Versionen von SQL Server. Wenn Sie den Link nicht durchgehen möchten, können Sie das Problem in Ihrem SQL folgendermaßen beheben:

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

Lösung für dieses Problem in Excel nach dem Einfügen der Klickoption.

"Use Text Import Wizard" -> Delimited -> Next Check "Tab", aktivieren Sie "Consecutive Delimeter as one" -> Next Finish

0
Adil