上传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;\";"; 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查询中使用范围。 例如,如果您只想上传特定内容,则可以使用以下查询
"Select * from [" + textBox2.Text + "$[A1:C100]"
A1和C100是开始和结束单元格号码。 您可以根据所需范围dynamic构build查询。
您可以传递单元格的值作为查询的一部分。 例如,要查询范围B1到F4:
"Select * from Sheet1$[B1:F4]"
您也可以使用F1,F2,F3等参考这个答案以供参考:
不带标题的Excel上的OLEDB查询:如何指定列?