gpt4 book ai didi

c# - 无法从c#中的excel中读取数据

转载 作者:行者123 更新时间:2023-12-02 04:38:35 25 4
gpt4 key购买 nike

我正在尝试从我已经创建的 excel 文件中读取数据。但是在运行代码时,总是在相同的路径中创建具有相同名称的新损坏文件。并且还收到错误消息“Microsoft Jet 数据库引擎找不到对象‘Sheet1$’。确保该对象存在并且您正确拼写了它的名称和路径名。”

这是我的代码

public void readdata()
{
//var fileName = string.Format("{0}\\C:\\Indputdata.xls", Directory.GetCurrentDirectory());
//var con = string.Format("Provider=Microsoft.Jet.OLEDB.4.0; data source={0}; Extended Properties=Excel 8.0;", fileName);

string con = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\Inputdata.xls;Extended Properties='Excel 8.0;HDR=Yes;'";
using (OleDbConnection connection = new OleDbConnection(con))
{
connection.Open();
OleDbCommand command = new OleDbCommand("select * from [Sheet1$]", connection);
using (OleDbDataReader dr = command.ExecuteReader())
{
while (dr.Read())
{
var row1Col0 = dr[0];
Console.WriteLine(row1Col0);
}
}

}
}

最佳答案

对于 Excel 2007 和 2010,您需要使用 ACE OLEDB 提供程序。Jet OLEDB 提供程序已被弃用,不支持 Office 版本 2007 或更高版本的文件。

试试这个 Extended Properties=""Excel 8.0;HDR=Yes"";"

 Data Source=D:\Inputdata.xls;

string con = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Inputdata.xls;Extended Properties=""Excel 8.0;HDR=Yes"";"

Excel Connection strings

check

关于c# - 无法从c#中的excel中读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21373810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com