Исключение (nullreferenceexception) в datagridview
Может ли кто-нибудь помочь мне понять проблему моего кода? Он всегда идет к исключению, не имеет значения, если я попытаюсь "обработать" ячейку с нулем.
Моя система ловли.Исключение ошибка это:
"Ссылка на объект не установлена на экземпляр объекта"
try { worksheet = workbook.ActiveSheet; worksheet.Name = "ExportedFromDatGrid"; int cellRowIndex = 1; int cellColumnIndex = 1; //Loop through each row and read value from each column. for (int i = -1; i < dataGridView1.Rows.Count - 1; i++) { for (int j = 0; j < dataGridView1.Columns.Count; j++) { // Excel index starts from 1,1. As first Row would have the Column headers, adding a condition check. if (cellRowIndex == 1) { worksheet.Cells[cellRowIndex, cellColumnIndex] = dataGridView1.Columns[j].HeaderText; } else { if (dataGridView1.Rows[i].Cells[j].Value.ToString() != null) { worksheet.Cells[cellRowIndex, cellColumnIndex] = dataGridView1.Rows[i].Cells[j].Value.ToString(); } else { worksheet.Cells[cellRowIndex, cellColumnIndex] = String.Empty; } // working: //worksheet.Cells[cellRowIndex, cellColumnIndex] = dataGridView1.Rows[i].Cells[j].Value.ToString(); } cellColumnIndex++; } cellColumnIndex = 1; cellRowIndex++; } //Getting the location and file name of the excel to save from user. SaveFileDialog saveDialog = new SaveFileDialog(); saveDialog.Filter = "Excel files (*.xlsx)|*.xlsx|All files (*.*)|*.*"; saveDialog.FilterIndex = 2; if (saveDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { workbook.SaveAs(saveDialog.FileName); MessageBox.Show("Export Successful"); } } catch (System.Exception ex) { MessageBox.Show(ex.Message); } finally { excel.Quit(); workbook = null; excel = null; }
Что я уже пробовал:
Я попытался, но безуспешно, использовать условие IF/ELSE, чтобы избежать ввода программой "исключения".
ZurdoDev
Это очень, очень просто. Но никто не сможет помочь, если вы не скажете нам, какая строка кода вызывает ошибку.