【发布时间】:2018-01-05 04:29:06
【问题描述】:
我正在尝试将数据从 datagridview 导出到 .txt 表格中。
当我导出到 .txt 时,标题也会像预期的那样打印在第一行,但表格的第一行也会打印在该行上……现在我已经尝试了很多东西,但显然我的逻辑在这里非常错误。
我基本上想要一种将 dataGridView_Excel.Rows.Count - 1; 设置为没有 -1 的正常计数的方法。但是每次我这样做时都会抛出一个未设置为对象实例的 对象引用。 或者如果我尝试增加列数以抵消我得到的 索引超出范围。必须是非负数且小于集合的大小。 有关如何更好地做到这一点的任何建议?我理解它为什么会发生,我修复它的逻辑不合理,我非常困惑。
if (save.ShowDialog() == DialogResult.OK)
{
TextWriter writer = new StreamWriter(save.OpenFile());
int i2 = 0;
while (i2 < 19)
{
writer.Write(dataGridView_Excel.Columns[i2].HeaderText + "\t " + "|");
i2++;
}
for (int i = 0; i < dataGridView_Excel.Rows.Count - 1; i++)
{
for (int j = 0; j < dataGridView_Excel.Columns.Count; j++)
{
writer.Write("\t" + dataGridView_Excel.Rows[i].Cells[j].Value.ToString() + "\t " + "|");
}
writer.WriteLine("");
writer.WriteLine("--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");
}
writer.Close();
MessageBox.Show("Data Exported");
【问题讨论】:
标签: c# visual-studio windows-forms-designer visual-c#-express-2010