ฉันพยายามอ่านไฟล์ Excel (xlsx) โดยใช้รหัสที่แสดงด้านล่าง ฉันได้รับ "ตารางภายนอกไม่ได้อยู่ในรูปแบบที่คาดหวัง" ข้อผิดพลาดยกเว้นว่าฉันมีไฟล์ที่เปิดอยู่แล้วใน Excel กล่าวอีกนัยหนึ่งฉันต้องเปิดไฟล์ใน Excel ก่อนจึงจะสามารถอ่านได้จากโปรแกรม C # ของฉัน ไฟล์ xlsx อยู่ในเครือข่ายของเรา ฉันจะอ่านไฟล์โดยไม่ต้องเปิดไฟล์ก่อนได้อย่างไร? ขอบคุณ
string sql = "SELECT * FROM [Sheet1$]";
string excelConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathname + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1;\"";
using (OleDbDataAdapter adaptor = new OleDbDataAdapter(sql, excelConnection)) {
DataSet ds = new DataSet();
adaptor.Fill(ds);
}