从数据表C#获取特定列

时间:2014-04-04 16:48:52

标签: c# excel list datatable

我有一个数据表,从某些excel文件中获取值。我使用按钮作为文件对话框,在文件系统中的某处找到文件然后我在那里解析所需的值。 稍后在应用程序中,我将只需要该数据表中的一列。它是附在图片上的max t列。 下面是我用来从文件中获取值的代码:

  string pathConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties=\"Excel 8.0;HDR=Yes;\";";
  OleDbConnection connection = new OleDbConnection(pathConnection);
  OleDbDataAdapter myDataAdapter = new OleDbDataAdapter("Select * from [DAYTIME CONFORT INDEX$]", connection);

  DataTable dt = new DataTable();
  myDataAdapter.Fill(dt);
  myDataGridView.DataSource = dt;

enter image description here

正如你在图片中看到的那样,我只有几列,但只需要其中的一些。例如,我需要将列max t中的值添加到一些双精度列表中。 我尝试了很少的东西但是没有它们没用。由于我是初学者,所以有人可以用最简单的方式帮助我。 谢谢。 :)

2 个答案:

答案 0 :(得分:2)

列出查询中需要的列。例如。只获取列Mmax t

"Select [M],[max t] from [DAYTIME CONFORT INDEX$]"

答案 1 :(得分:2)

这将从dataTable的最大列中为您提供数组值

DataView view = new DataView(dt);
DataTable distinctValues = view.ToTable(true, "max t");
DataRow[] myRows = distinctValues.Select();