ไม่สามารถเปิดการเชื่อมต่อกับ Excel: ตารางภายนอกไม่อยู่ในรูปแบบที่คาดหวัง

ฉันกำลังพยายามแยกแถวจาก Excel โดยใช้ Oledb สำหรับไฟล์ Excel บางไฟล์จากบางคนเกิดข้อผิดพลาดขณะพยายามเปิดการเชื่อมต่อ ข้อผิดพลาดแจ้งว่า "ตารางภายนอกไม่อยู่ในรูปแบบที่คาดหวัง"

นี่คือสตริงการเชื่อมต่อของฉัน

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test.xls;Extended Properties="Excel 8.0;HDR=NO;IMEX=1"

สิ่งสำคัญสิ่งหนึ่งที่ฉันสังเกตเห็นคือ ทุกอย่างทำงานได้ดีถ้าฉันเปิดไฟล์ไว้ เนื่องจากไฟล์ได้รับจากผู้ขายบุคคลที่สาม จึงไม่มีตัวเลือกให้ทำการ 'บันทึกเป็น'

ขอบคุณล่วงหน้า! มาโนจ


person user489050    schedule 27.10.2010    source แหล่งที่มา
comment
จากคำตอบของ MrZoidberg คุณแน่ใจหรือไม่ว่าไฟล์นั้นไม่เสียหาย   -  person SWeko    schedule 27.10.2010


คำตอบ (3)


ลองใช้สตริงการเชื่อมต่อต่อไปนี้:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\test.xls;Extended Properties=Extended Properties=Excel 12.0;

ตารางภายนอกไม่อยู่ในรูปแบบที่คาดหวัง" โดยทั่วไปเกิดขึ้นเมื่อพยายามใช้ไฟล์ Excel 2007 ด้วยสตริงการเชื่อมต่อที่ใช้: Microsoft.Jet.OLEDB.4.0 และ Extended Properties=Excel 8.0

person MrZoidberg    schedule 27.10.2010
comment
ขอบคุณ! ฉันได้ลองสิ่งนี้แล้ว แต่ฉันได้รับข้อผิดพลาดเดียวกัน นอกจากนี้นามสกุลไฟล์ยังเป็น .xls ไม่ใช่ .xlsx แม้ว่าฉันพยายามนำเข้าไฟล์นี้โดยใช้ Microsoft Query Wizard และ ODBC (มีใน Excel 2007) ก็ได้รับข้อผิดพลาดเดียวกัน - person user489050; 27.10.2010
comment
test.xls ของคุณสร้างขึ้นที่ไหน - person MrZoidberg; 27.10.2010

เป็นไปได้ที่จะติดนามสกุล xls ในหลายรูปแบบและให้ Excel เปิดไฟล์โดยมีข้อร้องเรียนเล็กน้อย ลองเปิดมันในโปรแกรมแก้ไขข้อความและตรวจสอบว่ามันเป็น .csv แบบธรรมดาหรือไม่ เป็นต้น นี่จะอธิบายว่าทำไมสตริงการเชื่อมต่อของคุณถึงใช้งานได้เมื่อเปิดไฟล์

person Fionnuala    schedule 27.10.2010

บางทีคุณสมบัติเพิ่มเติมอาจแตกต่างออกไป ลองเปลี่ยนเป็น HTML Import ถ้า Excel ต้นทางมาจากเว็บเพจ.....

person Ishwar Nataraj    schedule 31.10.2011
comment
นี่คือความคิดเห็นหรือคำตอบ? - person Austin Henley; 08.11.2012