我目前正在制作一个将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文件的工作表名称)
答案 0 :(得分:2)
这样做的一种方法是在您的选择查询中使用范围。 例如,如果您只想上传特定内容,可以使用以下查询
"Select * from [" + textBox2.Text + "$[A1:C100]"
A1和C100是起始和结束单元格编号。您可以根据所需范围动态构建查询。
答案 1 :(得分:0)
您可以将单元格的值作为查询的一部分传递。例如,要查询范围B1到F4:
"Select * from Sheet1$[B1:F4]"
您也可以使用F1,F2,F3等参考列。请参阅此答案以供参考:
OLEDB query on Excel without headers: How do I specify Columns?