检查 excel 行中的名称与表列名称相同

本文关键字:excel 检查 | 更新日期: 2023-09-27 18:34:56

我有一个代码,用于从 excel 读取值并插入到表中。我选择第一行作为表的列名。在这里我想检查excel工作表第一行中的名称是否与表列名称相同?这是我阅读Excel的代码。

FileStream stream = 
    File.Open(Server.MapPath("~/App_Data/YoutubeVideo/" + fileName), 
    FileMode.Open, FileAccess.Read);
IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
excelReader.IsFirstRowAsColumnNames = true;
DataSet result = excelReader.AsDataSet();
excelReader.Close();
dt = result.Tables[0];
dt = dt.Rows.Cast<DataRow>()
            .Where(row => !row.ItemArray.All(field => field is System.DBNull))
            .CopyToDataTable();

提前感谢您的帮助。

检查 excel 行中的名称与表列名称相同

若要在将数据复制到数据集之前进行检查,请使用 excelReader.GetName(0) 获取第一列的名称。

编辑:

似乎您正在使用Excel数据阅读器,它显然没有实现IDataReader的所有方法。

由于这不是一个完全实现的数据提供程序,因此在加载到数据表后,您必须检查名称。

在这种情况下,您可以使用 if (dt.Columns[0].ColumnName == "Name") .