**我正在将excel数据导入datagridview,并且必须使用参数将这些数据用于我的word文档中。但不幸的是,excel编号也出现在gridview中。没有标题,我无法删除任何使用索引的使用。 Nore可以隐藏,因为它没有标题。因此,由于这个第一个无标题标题,我无法选择任何行。请帮助我,我真的需要帮助。要么通过使用该代码告诉我任何代码,如果我可以从excel导入数据而无需对excel行进行编号(图片的平均红色圆圈列)。可以使用任何一种方式破坏没有标题**的第一列
OpenFileDialog openfile = new OpenFileDialog();
openfile.Filter = "XLS files (*.xls, *.xlt)|*.xls;*.xlt|XLSX files (*.xlsx, *.xlsm, *.xltx, *.xltm)|*.xlsx;*.xlsm;*.xltx;*.xltm|ODS files (*.ods, *.ots)|*.ods;*.ots|CSV files (*.csv, *.tsv)|*.csv;*.tsv|HTML files (*.html, *.htm)|*.html;*.htm";
openfile.FilterIndex = 2;
if (openfile.ShowDialog() == DialogResult.OK)
{
ExcelFile ef = ExcelFile.Load(openfile.FileName);
DataGridViewConverter.ExportToDataGridView(ef.Worksheets.ActiveWorksheet, this.dataGridView1, new ExportToDataGridViewOptions() { ColumnHeaders = true });
this.dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
答案 0 :(得分:1)
不使列对false
可见,就像下面这样解决您的问题:
this.dataGridView1.Columns[0].Visible = false;
答案 1 :(得分:1)
只需将DataGridViewColumnCollection中的列删除为:
this.dataGridView1.Columns.Remove("");
这必须可行,我的代码示例
private void AddRow()
{
this.dgvCount.Columns.Add("", "");
this.dgvCount.Columns.Add("Stat", "Stat");
this.dgvCount.Columns[""].Width = 100;
this.dgvCount.Columns["Stat"].Width = 100;
this.dgvCount.Rows.Add("1", "100");
this.dgvCount.Rows.Add("2","200");
this.dgvCount.Rows.Add("3","300");
this.dgvCount.Rows.Add("4", "400");
this.dgvCount.Columns.Remove("");
}
更新
我放大了图片并注意到,这是不是DataGridViewColumn ,而不是这些是行标题,当您从excel导入数据时是文本,我不知道为什么,现在只需使用以下代码清除行标题的文本::
//Remove text from Row Header Cell
foreach (DataGridViewRow row in this.dgvCount.Rows)
{
row.HeaderCell.Value = ""; // Use :: null OR "";
}
这应该有效!
答案 2 :(得分:0)
**您需要为每一列告诉计算机到底想要什么 20
错误显示“索引超出范围”。这意味着您正在尝试使用无效值索引对象。如果您有两本书,而我要您给我第三本书,您会觉得我很有趣。这是电脑看着你很有趣。您说-“创建收藏集”。确实如此。但是最初,集合是空的:不仅其中没有任何内容-它没有空间容纳任何东西。 “它没有手”。
然后,您说“集合的第一个元素现在是'ItemID'”。然后计算机说:“我从来没有被要求为'第一件物品'创造空间。”我没有手握住你给我的这个物品。
就您的代码而言,您创建了一个视图,但从未指定大小。你需要一个 **
dataGridView1.Columns[0].Name = "FileRow";
dataGridView1.Columns[1].Name = "FIRSTNAME1";
dataGridView1.Columns[2].Name = "LASTNAME1";
dataGridView1.Columns[3].Name = "ADDRESS1";
dataGridView1.Columns[4].Name = "CITY1";
dataGridView1.Columns[5].Name = "STATE1";
dataGridView1.Columns[6].Name = "ZIP1";
dataGridView1.Columns[7].Name = "FIRSTNAME2";
dataGridView1.Columns[8].Name = "LASTNAME2";
dataGridView1.Columns[9].Name = "ADDRESS2";
dataGridView1.Columns[10].Name = "CITY2";
foreach (DataGridViewRow row in this.dgvCount.Rows)
{
row.HeaderCell.Value = ""; // Use :: null OR "";
}