C# 如何将特定Excel列范围添加到通过";添加的DataGridView列;加上一栏「;
我正在尝试将excel工作表列范围(A1:A100)导入我在DataGridView“添加列”菜单中创建的DataGridView“列1”,如下图所示: 以下是我必须导入excel工作表的当前代码:C# 如何将特定Excel列范围添加到通过";添加的DataGridView列;加上一栏「;,c#,excel,datagridview,C#,Excel,Datagridview,我正在尝试将excel工作表列范围(A1:A100)导入我在DataGridView“添加列”菜单中创建的DataGridView“列1”,如下图所示: 以下是我必须导入excel工作表的当前代码: private void ribbonButton1_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog1 = new OpenFileDialog(); if (openFil
private void ribbonButton1_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();
if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
this.textBox_path.Text = openFileDialog1.FileName;
string pathconn = "Provider=Microsoft.ACE.OLEDB.12.0; Data source=" + textBox_path.Text + ";Extended Properties=\"Excel 12.0;HDR= yes;\";";
OleDbConnection conn = new OleDbConnection(pathconn);
OleDbDataAdapter MyDataAdapter = new OleDbDataAdapter("Select * from [TB$]", conn);
DataTable dt = new DataTable();
MyDataAdapter.Fill(dt);
dataGridView1.DataSource = dt;
但每当我在创建自定义列后导入它时,它就会导入自定义创建列右侧的范围,如下图所示:
谁能帮帮我吗。我只希望导入数据位于我提供的列中
感谢mil在设置其
数据源之前,您是否已尝试将DataGridView
sAutoGenerateColumns
设置为false
…dataGridView1.AutoGenerateColumns=false;嗨,约翰。它似乎在右列下方填充,但是填充是空白的,就像空白的excel工作表一样。这似乎很奇怪?这是我的新代码:MyDataAdapter.Fill(dt);dataGridView1.AutoGenerateColumns=false;dataGridView1.DataSource=dt;是否正确?是否尝试将数据源设置为空的DataGridView
?如果网格中没有列,那么您发布的代码似乎可以正常工作。在这种情况下,需要删除自动生成列或将其设置为true。它应该使用第一行作为列标题。如果不在网格中预定义列,会发生什么情况?如果没有显示任何内容…我会仔细查看excel工作表。如果列是在设计器中预定义的,请确保将DataPropertyName
设置为与您导入的列名匹配。使用excel这通常是工作表中的第一行。在设置其数据源之前,您是否尝试将DataGridView
sAutoGenerateColumns
设置为false
…dataGridView1.AutoGenerateColumns=false;嗨,约翰。它似乎在右列下方填充,但是填充是空白的,就像空白的excel工作表一样。这似乎很奇怪?这是我的新代码:MyDataAdapter.Fill(dt);dataGridView1.AutoGenerateColumns=false;dataGridView1.DataSource=dt;是否正确?是否尝试将数据源设置为空的DataGridView
?如果网格中没有列,那么您发布的代码似乎可以正常工作。在这种情况下,需要删除自动生成列或将其设置为true。它应该使用第一行作为列标题。如果不在网格中预定义列,会发生什么情况?如果没有显示任何内容…我会仔细查看excel工作表。如果列是在设计器中预定义的,请确保将DataPropertyName
设置为与您导入的列名匹配。使用excel,这通常是工作表中的第一行。