คัดลอก / วางข้อมูลจาก SQL Server ไปยัง Excel แยกข้อความเป็นหลายคอลัมน์หรือไม่


14

ฉันมีปัญหาในการวางข้อมูลจากตารางผลลัพธ์ของ SQL Server 2005 ไปยังกระดาษคำนวณ Excel 2007

ฉันมีแบบสอบถามใน SQL Server ที่ส่งคืน 2 คอลัมน์ (คอลัมน์ตัวเลขและคอลัมน์ข้อความ)

ในคอมพิวเตอร์เครื่องหนึ่งที่นี่ฉันสามารถคัดลอกอย่างมีความสุข (คลิกขวา> คัดลอก) จากนั้นเพียงคลิกขวาและวางลงในกระดาษคำนวณ excel ไม่มีปัญหา.

ในคอมพิวเตอร์เครื่องอื่นที่นี่เมื่อฉันลองและวางใน excel มันแยกคอลัมน์ข้อความขึ้นและวางข้อความในหลายคอลัมน์ตามช่องว่างระหว่างคำ

ตัวอย่างเช่นหากหนึ่งในแถวมี ...

กรุณาวางฉัน

... ในนั้นเมื่อวางลงใน excel จะแยกข้อความและวางแต่ละคำในคอลัมน์แยกต่างหากภายใน excel

เราได้ลองเปรียบเทียบตัวเลือกทั้งใน SQL Server และ excel กับคอมพิวเตอร์ที่ใช้งานได้ดี แต่ไม่เห็นความแตกต่าง

ความคิดใด ๆ ยินดีต้อนรับ

ขอบคุณ

คำตอบ:


20

หากคุณเพิ่งใช้คอลัมน์กับข้อความเมื่อเร็ว ๆ นี้ระบบจะใช้การตั้งค่าเหล่านั้นกับการวาง ฉันจำสิ่งนี้ไม่ได้ก่อน Excel 2007 แต่อาจมี ฉันต้องย้อนกลับไปและตั้งค่ากลับเป็นคั่นด้วยแท็บก่อนที่ฉันจะเริ่มคัดลอกและวางอีกครั้ง


ใช่คุณพูดถูก - เราแตกแล้ว - ขอบคุณ
พอล

มันได้ผล ขอบคุณ
Sagar Shirke

7

ก่อนที่จะวางผลลัพธ์: ข้อมูล→ข้อความไปยังคอลัมน์

  • ประเภทข้อมูลดั้งเดิม: ตรวจสอบการคั่น
  • ต่อไป
  • ตัวคั่น: ยกเลิกการเลือกช่องว่าง
  • ต่อไป
  • เสร็จสิ้น

ในที่สุดก็วางผลลัพธ์


1

คุณได้ลองเปลี่ยนเทมเพลตเริ่มต้น Excel บนคอมพิวเตอร์ที่มีปัญหาหรือไม่ อาจมีการกำหนดมาโครที่จะถูกเรียกใช้โดยการดำเนินการวางของคุณ ตามบทความฐานความรู้ของ Microsoft 924460 แม่แบบจะถูกจัดเก็บภายใต้ตำแหน่งที่ตั้งต่อไปนี้:

โดยค่าเริ่มต้นไฟล์แม่แบบผู้ใช้จะถูกเก็บไว้ในตำแหน่งต่อไปนี้:

  • ใน Windows XP C: \ Documents และ Settings \\ Application Data \ Microsoft \ Templates
  • ใน Windows Vista หรือ Windows 7 C: \ Users \\ AppData \ Roaming \ Microsoft \ Templates

1

ฉันพบว่าถ้าฉันออกจาก Excel จากนั้นรีสตาร์ทและโหลดสเปรดชีตของฉันใหม่มันจะล้างตัวเลือกข้อความเป็นคอลัมน์ดังนั้นการวางจะทำงานได้ตามที่คาดไว้อีกครั้ง

คำตอบของ Hector นั้นดีมากโดยที่คุณไม่ต้องออกจาก Excel แต่ใช้งานได้ดีและรวดเร็วและง่ายดาย


ฉันคิดว่า excel ที่คุณมีในระบบเปลี่ยนตัวเลือกเริ่มต้น ดังนั้นฉันคิดว่าแทนที่จะยุ่งกับ config หรือการแปลงข้อมูลเป็นเรื่องง่ายที่จะปิดทั้งหมดและเปิดอีกครั้ง
Juan Acosta

0

หากตารางของคุณมีเขตข้อมูล nvarchar (สูงสุด) ให้ย้ายเขตข้อมูลนั้นไปที่ด้านล่างของตารางของคุณ ในกรณีที่ประเภทของฟิลด์แตกต่างจาก nvarchar (สูงสุด) จากนั้นระบุฟิลด์หรือฟิลด์ที่ละเมิดและใช้เทคนิคเดียวกันนี้ บันทึก เลือกตารางใน SQL อีกครั้ง หากคุณไม่สามารถบันทึกได้โดยไม่มีการแก้ไขคุณสามารถเปลี่ยนคำเตือนที่เกี่ยวข้องในเครื่องมือ | ตัวเลือก. วิธีนี้ไม่มีความเสี่ยง คัดลอกและวางจอแสดงผล SQL GRID พร้อมส่วนหัวไปยัง Excel ข้อมูลอาจยังแสดงการคืนค่าขนส่ง แต่อย่างน้อยข้อมูลของคุณจะอยู่ในแถวเดียวกัน จากนั้นเลือกระเบียนแถวทั้งหมดและทำการเรียงลำดับแบบกำหนดเองในคอลัมน์ ID บันทึกทั้งหมดของคุณควรจะสมบูรณ์และต่อเนื่อง


0

สถานการณ์ที่คล้ายกันที่ฉันพบเป็นครั้งคราวคือแถวที่ถูกแบ่งออกเป็นหลายแถวเมื่อผู้ใช้ใช้อักขระขึ้นบรรทัดใหม่ / บรรทัดฟีดในคอลัมน์ที่มีไว้สำหรับความคิดเห็น ผมพบว่าวิธีการแก้ปัญหาที่ได้ผลสำหรับ SQL 2012/2014 ที่นี่

เห็นได้ชัดว่านี่ไม่ใช่ปัญหาใน SQL Server รุ่นก่อนหน้า หากคุณไม่ต้องการผ่านลิงก์ต่อไปนี้เป็นวิธีแก้ไขปัญหาภายใน SQL ของคุณ:

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

0

วิธีแก้ไขปัญหานี้ใน Excel หลังจากวางตัวเลือกการคลิก

"ใช้ตัวช่วยสร้างการนำเข้าข้อความ" -> คั่น -> ถัดไปตรวจสอบ "แท็บ" ตรวจสอบ "ถือว่าขอบเขตต่อเนื่องกันเป็นหนึ่ง" -> เสร็จสิ้นต่อไป

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.