Ошибка при сохранении dataGridView в Excel файл. - C#

Узнай цену своей работы

Формулировка задачи:

Хочу сохранить датугридвью в эксель файл. Выдает следующую ошибку. Может я забыл подгрузить какую-нибудь библиотеку? Да, и еще. На ноуте стоял 2007 офис, я его коряво снес, поставил привычный для себя 2003. При каждом запуске офиса выдается следующее: нет, конечно, офис работает. но вот всегда такие сообщеньки. что сделать? снести 2003 и установить 2007?
Листинг программы
  1. private void сохранитьРезультатыToolStripMenuItem_Click(object sender, EventArgs e)
  2. {
  3. Microsoft.Office.Interop.Excel.Application XlApp;
  4. saveFileDialog1.Filter = "Excel (*.xls)|*.xls";
  5. if (saveFileDialog1.ShowDialog() == DialogResult.OK)
  6. {
  7. XlApp = new Microsoft.Office.Interop.Excel.Application();
  8. Microsoft.Office.Interop.Excel.Workbook XlWorkbook;
  9. XlWorkbook = XlApp.Workbooks.Add(System.Reflection.Missing.Value);
  10. Microsoft.Office.Interop.Excel.Worksheet XlWorksheet;
  11. XlWorksheet = (Microsoft.Office.Interop.Excel.Worksheet)XlWorkbook.Worksheets.get_Item(1);
  12. for (int i = 0; i < dataGridView1.Rows.Count; i++)
  13. {
  14. for (int j = 0; j < dataGridView1.ColumnCount; j++)
  15. {
  16. XlApp.Cells[i + 1, j + 1] = dataGridView1.Rows[i].Cells[j].Value;
  17. }
  18. }
  19. //сохранение в книгу
  20. XlWorkbook.SaveAs(saveFileDialog1.FileName, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal,
  21. "", "", false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive,
  22. Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, false,
  23. false, false, false);
  24. XlWorkbook.Close(true, saveFileDialog1.FileName, false);
  25. XlApp.Quit();
  26. MessageBox.Show("Файл сохранён!!!", "Информация о файле", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  27. }
  28. }

Решение задачи: «Ошибка при сохранении dataGridView в Excel файл.»

textual
Листинг программы
  1. private void save(object sender, EventArgs e)
  2.         {
  3.            
  4.              // диалоговое окно
  5.             var save = new SaveFileDialog
  6.              {
  7.                  AddExtension = true,
  8.                  DefaultExt = "bin",
  9.                  Filter = @"Текстовые файлы (*.txt)|*.txt|CSV-файл (*.csv)|*.csv|Bin-файл (*.bin)|*.bin",
  10.                  FilterIndex = 2,
  11.                  RestoreDirectory = true
  12.  
  13.              };
  14.            
  15.              if (save.ShowDialog() != DialogResult.OK) return;
  16.              var sw = new StreamWriter(save.FileName, true,Encoding.UTF8);
  17.                                    
  18.              foreach (DataGridViewRow row in dataGridView1.Rows) //запись
  19.                  if (!row.IsNewRow)
  20.                  {
  21.                      var first = true;
  22.                      foreach (DataGridViewCell cell in row.Cells)
  23.                      {
  24.                          if (!first) sw.Write(";");
  25.                          sw.Write(cell.Value.ToString());
  26.                          first = false;
  27.                      }
  28.                      sw.WriteLine();
  29.                  }
  30.              sw.Close();
  31.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы