Я использую форму 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);
}
}
Если вы, ребята, предложите мне хорошо использовать сетку данных, то это нормально и для меня, если она работает хорошо. Заранее спасибо!