我有一个用这个excelsheet填充的数据集:
方法:
[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中的值?
答案 0 :(得分:1)
您可以使用索引而不是列名吗?行[i] [ColumnIndex]
如果只能使用Index尝试使用Rows [4] [10]
result = reader.AsDataSet();
string CellValue=result.Tables[0].Rows[4][10];
reader.Close();