C# 将excel文件上载到DataGridView
我目前正在制作一个将excel文件上传到datagridview的程序。我正在考虑让它更灵活、更友好。我的问题是,是否可以设置启动excel文件上载的行或列? 因为我现在正在上传excel文件的所有内容 这是我的代码:C# 将excel文件上载到DataGridView,c#,excel,datagridview,C#,Excel,Datagridview,我目前正在制作一个将excel文件上传到datagridview的程序。我正在考虑让它更灵活、更友好。我的问题是,是否可以设置启动excel文件上载的行或列? 因为我现在正在上传excel文件的所有内容 这是我的代码: string path = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + textBox1.Text + ";Extended Properties=\"Excel 12.0 Xml;HDR=YES;\";"; OleDb
string path = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + textBox1.Text + ";Extended Properties=\"Excel 12.0 Xml;HDR=YES;\";";
OleDbConnection con = new OleDbConnection(path);
OleDbDataAdapter adapter = new OleDbDataAdapter("Select * from [" + textBox2.Text + "$]", con);
DataTable dt = new DataTable();
adapter.Fill(dt);
dataGridView1.DataSource = dt;
(textbox2.text表示Excel文件的工作表名称)一种方法是在select查询中使用range。 例如,如果只想上传特定内容,可以使用以下查询
"Select * from [" + textBox2.Text + "$[A1:C100]"
其中A1和C100是起始和结束单元编号。您可以根据所需的范围动态构造查询。您可以将单元格的值作为查询的一部分进行传递。例如,要查询B1到F4的范围:
“从表1$[B1:F4]中选择*”
您也可以使用F1、F2、F3等参考列。参考此答案:
我知道您可以设置要特别使用的单元格:
DataGridView1.CurrentCell=DataGridView1.Rows[rowindex].Cells[columnindex]
谢谢您的回答,但我如何才能将其放在代码中?请帮帮我。@WhyCry,我想你的单元格引用是针对数据网格的,不是针对数据源的。我想我误解了这个问题。当我看他的代码时,我不知道我脑子里在想什么。我甚至不知道你能从后端做到这一点。