繁体   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