gpt4 book ai didi

c# - 使用 c# 和 OleDbConnection 从特定工作表的 excel 文件中获取列名

转载 作者:太空宇宙 更新时间:2023-11-03 10:38:51 25 4
gpt4 key购买 nike

到目前为止,我已经设法获取了整个 excel 文件的列名,但我想做的是获取给定表(工作表)的 excel 文件的列名。我怎样才能修改代码来实现这一点。我已经尝试了一段时间,但没有取得积极成果,非常感谢任何帮助。

public static List<String> ReadSpecificTableColumns(string filePath, string sheetName)
{
var columnList = new List<string>();
try
{
var excelConnection = new OleDbConnection("provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + filePath + "';Extended Properties='Excel 12.0;IMEX=1'");
excelConnection.Open();
var columns = excelConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, null);
excelConnection.Close();

if (columns != null)
{
columnList.AddRange(from DataRow column in columns.Rows select column["Column_name"].ToString());
}

}
catch (Exception exception)
{
Console.WriteLine(exception.Message);
}

return columnList;
}

最佳答案

您没有在代码中包含工作表名称。
您可以尝试以下代码:

var adapter = new OleDbDataAdapter("SELECT * FROM [" +sheetName + "$]", excelConnection);
var ds = new DataSet();
adapter.Fill(ds, "myTable");
DataTable data = ds.Tables["myTable"];

foreach(DataColumn dc in data.Columns){
...
}

关于c# - 使用 c# 和 OleDbConnection 从特定工作表的 excel 文件中获取列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26295737/

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