Импорт выбранных столбцов и строк файла Excel c # - PullRequest
0 голосов
/ 29 августа 2018

Я использую форму c # windows и импортирую Excelfile в listView, поэтому я использую listview, потому что для меня это более удобно для меня, и мне комфортно с этой таблицей данных.

Итак, мой вопрос: как импортировать выбранные столбцы и строки файла Excel в список просмотра? потому что мой файл Excel имеет формат.

Это мой файл Excel. На этой картинке я хочу импортировать все имена и квартальные оценки в мой список.

Здесь

Это мои предметы в Listview

Здесь Это мой код для OpenFileDialog

public static string path = "";
    private void button2_Click(object sender, EventArgs e)
    {
        OpenFileDialog fdlg = new OpenFileDialog();
        fdlg.Title = "Select file";
        fdlg.InitialDirectory = @"c:\";
        fdlg.FileName = txtFileName.Text;
        fdlg.Filter = "Excel Sheet(*.xlsx)|*.xlsx|All Files(*.*)|*.*";
        fdlg.FilterIndex = 1;
        fdlg.RestoreDirectory = true;
        if (fdlg.ShowDialog() == DialogResult.OK)
        {
            path = textBox1.Text;
            txtFileName.Text = fdlg.FileName;

            Application.DoEvents();
        }



    }

это мой код для импорта данных Excel в listView

    string Name = "";
            for (int b = 0; b < listView1.Items.Count; b++)
            {

                Name = listView1.Columns[1].Text;
                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 = "2nd";
                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();
                //for (int i = 0; i < table.Columns.Count; i++)
                // 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["Quarter"].ToString());
                        lvi.SubItems.Add(drow["Male"].ToString());
                        lvi.SubItems.Add(drow["Female"].ToString());


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




                    }
                }

Если вы, ребята, предложите мне хорошо использовать сетку данных, то это нормально и для меня, если она работает хорошо. Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...