[英]Reading from Excel (.xlsx)
我在互聯網上遵循了一些示例。 已安裝AccesDataBaseEngine。
但是我仍然收到此錯誤消息:
System.Data.OleDb.OleDbException: 'External table is not in the expected format.'
我嘗試了人們建議的一些方法,但是沒有任何效果。
這是代碼:
string path = @"C:\...\...\Desktop\MyFile.xlsx";
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;";
var dataAdapter = new OleDbDataAdapter("SELECT * FROM [HHH$]", connectionString);
var dataTable = new DataTable();
dataAdapter.Fill(dataTable);
我忘了什么
在不知道您使用的Excel文件版本或數據內容的情況下,很難確定。 您是否嘗試過在連接字符串中包含HDR和IMEX選項?
HDR=Yes;
-表示第一行是包含列名而不是數據的標題行
HDR=No;
-表示沒有標題行
IMEX=1;
-表示始終將混合數據列(包含數字,日期,字符串等的列)讀取為文本。 請注意,如果您要寫回Excel工作表,此選項可能會導致問題,因為它實際上會忽略讀取時的類型。 一種替代方法是顯式定義DataTable的列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.