从没有列名的数据集中获取值

时间:2014-04-09 06:31:51

标签: c# asp.net-mvc excel dataset

我有一个用这个excelsheet填充的数据集:

enter image description here

方法:

[HttpPost]
public ActionResult ShowExcelFile(GetExcel model)
{
    DataSet result = null;
    var file = model.Files[0];
    if (file != null && file.ContentLength > 0)
    {
        // .xlsx
        IExcelDataReader reader = ExcelReaderFactory.CreateOpenXmlReader(file.InputStream);

        reader.IsFirstRowAsColumnNames = true; // if your first row contains column names
        result = reader.AsDataSet();
        reader.Close();
    }

    for (int i = 1; i < result.Tables[0].Rows.Count; i++)
    {
        DataRow data = result.Tables[0].Rows[i];
        System.Diagnostics.Debug.Write(data.Table.Rows[i]["Column header name"]);
    }
    return View("ShowExcelFile");
}

如果我更换&#34;列名&#34; &#34;摊销&#34;我在F列中得到了所有值。但是我想要的值是在K列中。如果我写了一个&#34;列标题名称&#34;在K1我会得到那样的价值观。但是有没有使用它的方法?我不想在该专栏中使用一个值(对我来说大多数设计问题)。

所以只是为了澄清:如何使用列标题名称获取单元格K5:K10中的值?

1 个答案:

答案 0 :(得分:1)

您可以使用索引而不是列名吗?行[i] [ColumnIndex]

如果只能使用Index尝试使用Rows [4] [10]

result = reader.AsDataSet();
string CellValue=result.Tables[0].Rows[4][10];
reader.Close();