将excel文件上传到DataGridView

时间:2015-06-02 13:55:41

标签: 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;\";";
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文件的工作表名称)

2 个答案:

答案 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?