2016-03-22 37 views
0

Excel * .xlsx dosyasını okumaya çalışıyorum. Hata oluştu "Dış tablo beklenen biçimde değil" Biri okunan iki dosyam vardı ancak başka biri okuyamadı. İkinci dosya için istisna aynı veri ben Sütun adını [ID] ikisi de aynı olup olmadığını kontrol etmeye çalıştı bu istisna için olası nedeni ne yardım edin sahipC# kullanarak Excel dosyasını okuma - Dış tablo beklenen biçimde değil

string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;"; 
var adapter = new OleDbDataAdapter("SELECT [ID] FROM [mySheet$]", connectionString); 
var ds = new DataSet(); 
adapter.Fill(ds, "IDs_Create"); 

iki dosyaları atılır. Dosya Uzantıları da aynıdır.

+0

Hataya neden olan dosya nasıl oluşturuldu? Açık XML SDK ile oluşturulan Excel. XLSX biçimindeki dosyaların bazen OleDb kitaplıkları tarafından okunamadığını keşfettim. –

+0

Ayrıca, bu kodu bir sunucuda çalıştırıyorsanız, OLEDB kullanmamalısınız, çünkü bu kütüphaneler bir kesimde çalışacak şekilde tasarlanmamıştır. Office Interops de iyi değil. – krillgar

+0

@krillgar - Bunu detaylandırır mısınız? OleDb kütüphaneleri, bağlı sunucuların ve diğer harici kaynakların kaçının SQL Server ve diğerlerine bağlandığının temelini oluşturur. Bu nedenle, "OleDB" "nin bir sunucuda çalışacak şekilde tasarlanmadığı konusunda net değilim." –

cevap

0

Kullanmaya çalıştığınız dosya "ID" sütununda herhangi bir formül (işlev) var mı?

+0

Hayır formüller .. sadece bu sütunun her bir hücre için – Bh00shan

+0

https: // sol üst köşesinde yeşil üçgen sembolü gösteriliyor support.office.com/en-us/article/What-are-those-buttons-and-triangles-in-my-cells-203e34e6-ba90-4158-ae58-33397dda3ca9?ui=en-US&rs=en-US&ad= US # bmtriangles –

+0

Bu yeşil üçgenler, formülde hata olduğunu gösterir –

İlgili konular