gpt4 book ai didi

c# - OLEDB 不返回 excel 文件的第一行

转载 作者:太空狗 更新时间:2023-10-29 18:05:27 24 4
gpt4 key购买 nike

我正在使用 Microsoft.ACE.OLEDB.12.0 连接到 Microsoft excel 文件并从中获取数据。我使用 Visual Studio 2012 用 C# 语言编写代码。这是我的代码:

public DataTable getData(string fileName, string sheetName)
{
connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source='"
+ fileName
+ "';Extended Properties= 'Excel 8.0;HDR=Yes;IMEX=1'";

errorCode = ErrorDefinition.ERROR_NOERROR;
errorMessage = "";
DataTable dt = new DataTable();
try
{
string query = "SELECT * FROM [" + sheetName + "]";
OleDbConnection con = new OleDbConnection(connectionString);
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(query, con);
dataAdapter.Fill(dt);
}
catch (Exception exp)
{
errorCode = ErrorDefinition.ERROR_OLEDBERROR;
errorMessage = exp.Message;
}
return dt;
}

问题是 dt 不包含文件中指定工作表的第一行。有什么问题吗?

最佳答案

在您的连接字符串中,您使用设置 "HDR=YES",这意味着您的 Excel 文件的第一行被 OleDb 视为包含由当前表。

使用 "HDR=NO" 向 OleDb 指示第一行包含数据并且列名会自动命名,并依次进行。如“F1”、“F2”、“F3”等...

关于c# - OLEDB 不返回 excel 文件的第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15902015/

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