【发布时间】:2019-07-08 13:54:50
【问题描述】:
我正在尝试使用 C# 将数据从 excel 粘贴到我的数据网格视图中。我在网上找到了一些有效的代码,但是我的数据网格视图的标题正在填充粘贴数据的第一行(如下面的屏幕截图所示)。
如果可能,我想让列标题为空并在数据网格视图行中写入数据。在此先感谢您,请在下面找到正在使用的代码和屏幕截图。
private void btnPaste_Click(object sender, EventArgs e)
{
DataObject o = (DataObject)Clipboard.GetDataObject();
if (o.GetDataPresent(DataFormats.Text))
{
if (dgvAuthG.RowCount > 0)
dgvAuthG.Rows.Clear();
if (dgvAuthG.ColumnCount > 0)
dgvAuthG.Columns.Clear();
bool columnsAdded = false;
string[] pastedRows = Regex.Split(o.GetData(DataFormats.Text).ToString().TrimEnd("\r\n".ToCharArray()), "\r\n");
int j = 0;
foreach (string pastedRow in pastedRows)
{
string[] pastedRowCells = pastedRow.Split(new char[] { '\t' });
if (!columnsAdded)
{
for (int i = 0; i < pastedRowCells.Length; i++)
dgvAuthG.Columns.Add("col" + i, pastedRowCells[i]);
columnsAdded = true;
continue;
}
dgvAuthG.Rows.Add();
int myRowIndex = dgvAuthG.Rows.Count - 1;
using (DataGridViewRow myDataGridViewRow = dgvAuthG.Rows[j])
{
for (int i = 0; i < pastedRowCells.Length; i++)
myDataGridViewRow.Cells[i].Value = pastedRowCells[i];
}
j++;
}
}
dgvAuthG.Columns.RemoveAt(0);
btnFormat.Enabled = true;
btnFormatWay4.Enabled = true;
}
【问题讨论】:
标签: c# arrays string datagridview header