Как импортировать выбранные столбцы и строки файла Excel в listView c # - PullRequest
0 голосов
/ 01 сентября 2018

Я использую listView для импорта файла Excel, потому что вся моя таблица listView.

Как импортировать выбранный столбец и строки файла Excel в listView? Потому что это работает, только если я создаю столбец в первой строке или в «А1» и, если возможно, могу ли я использовать где запрос, который будет соответствовать их ИМЕНАМ или ID? Спасибо, что дали мне руку!

Это мой пример файла Excel, который будет импортирован в мой список.

SAMPLE EXCEL

мой код

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 + "$]", 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["1ST"].ToString());

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

1 Ответ

0 голосов
/ 01 сентября 2018

Вам нужно будет получить все значения из первой строки, то есть A1 -> [...] 1, и создать столбцы с именами с этими значениями. Затем добавьте все строки.

Возьмите первый ряд, возможно, как:

foreach (Column c in ExcelColumns)
{
    listView.Columns.Add(c.Value);
}

! Обратите внимание, что это не обязательно правильный код, просто иллюстративный.

... тогда прочитайте ваш код

for (int i = 1; i < table.Rows.Count; i++)

вместо

for (int i = 0; i < table.Rows.Count; i++)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...