Как использовать запрос where в импорте данных Excel для просмотра списка - PullRequest
0 голосов
/ 28 августа 2018

Мне трудно импортировать Excel в мой ListView. Как мне импортировать данные Excel, которые будут соответствовать их именам в моем списке просмотра, как это?

Это мои данные в виде списка, которые я хочу импортировать в колонку с общим количеством столбцов в Excel, которое будет соответствовать их именам в столбце Name, например:

Здесь

Здесь

Это мой код. Какой запрос следует использовать для сопоставления всех имен данных в столбце Name?

ListViewItem lvis = new ListViewItem();
string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + txtFileName.Text + ";Extended Properties=Excel 12.0;";
DataTable table = new DataTable();
string excelName = "Sheet1";
string strConnection = string.Format(connStr);
OleDbConnection conn = new OleDbConnection(strConnection);
conn.Open();
OleDbDataAdapter oada = new OleDbDataAdapter("select * from [" + excelName + "$] Where Name = '" + Name + "';", strConnection);

table.TableName = "TableInfo";
oada.Fill(table);
conn.Close();

// Clear the ListView control
listView1.Items.Clear();

// Display items in the ListView control
for (int i = 0; i < table.Rows.Count; i++)
{
    DataRow drow = table.Rows[i];

    // Only row that have not been deleted
    if (drow.RowState != DataRowState.Deleted)
    {
        // Define the list items
        ListViewItem lvi = new ListViewItem(drow["Id"].ToString());
        //lvi.SubItems.Add(drow["Name"].ToString());
        //lvi.SubItems.Add(drow["Details"].ToString());
        //lvi.SubItems.Add(drow["Detail2"].ToString());
        lvi.SubItems.Add(drow["Total"].ToString());

        // Add the list items to the ListView
        listView1.Items.Add(lvi);
    }
}

1 Ответ

0 голосов
/ 28 августа 2018

Вы можете использовать linq для этого

List<object> listResult = from p in DataTable1.AsEnumerable()
                          join pm in DataTable2.AsEnumerable()on p.Name equals pm.Name
                          select new { Id= p, Total = pm };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...