【问题标题】:read column names from excel file in c#从 C# 中的 excel 文件中读取列名
【发布时间】:2015-11-20 20:36:54
【问题描述】:

我必须实现一个文件上传功能,允许用户上传包含表格数据的文件。在上传文件时,我想找到表的列名。我该怎么做?

【问题讨论】:

  • 您可以使用 oledb 来做到这一点。 Here 是一个演示项目的链接,它解释了这一切。或 this 在 Interop 命名空间的帮助下。

标签: c#


【解决方案1】:

@vc 74 我想指出代码中的一些错误:
应该有 sheetColumns.Columns 而不是 sheetColumns.Rows,因为它已经引用了 DataColumn 类型。
要读取 Excel 文件特定工作表中存在的所有列名,应按如下方式引用 DataRow:

打开连接后,代码如下:

 DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new object[]
{ null,null, sheetName, null });

 List<string> listColumn = new List<string>();
 foreach (DataRow row in dt.Rows)
 {
      listColumn.Add(row["Column_name"].ToString());
 }

listColumn 包含指定工作表中存在的列名。

【讨论】:

  • 我做了同样的事情,但它给了我按字母顺序排列的列名。你知道我怎样才能以与文件相同的顺序获取列名吗?
  • 为此,您需要从行列中使用 ORDINAL_POSITION 并进行相应排序。
猜你喜欢
  • 2010-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多