簡體   English   中英

從Excel讀取(.xlsx)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM