Сохранение данных из DataGridView в файл XML - C#

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

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

Доброе утро бойцы.... Сохраняю я значится данные из DATAgrid в файл txt и xml.... с тхт всё отлично.... а вот в xml всё сохраняется ток в первую ячейку... а мне б соответственно сохранить таблицу в том же виде Подскажите что изменить
Листинг программы
  1. private void button_save_Click(object sender, EventArgs e)
  2. {
  3.  
  4. Stream myStream ;
  5. SaveFileDialog saveFileDialog1 = new SaveFileDialog();
  6. saveFileDialog1.Filter = "txt files (*.txt)|*.txt|xls files (*.xls)|*.xls";
  7. saveFileDialog1.FilterIndex = 2 ;
  8. saveFileDialog1.RestoreDirectory = true ;
  9. if(saveFileDialog1.ShowDialog() == DialogResult.OK)
  10. {
  11. if((myStream = saveFileDialog1.OpenFile()) != null)
  12. {
  13. StreamWriter myWriter = new StreamWriter(myStream);
  14. try
  15. {
  16. if (saveFileDialog1.FilterIndex == 1) // если выбран txt
  17. {
  18. for (int i = 0; i < otchet_sut.ColumnCount; i++)
  19. myWriter.Write(otchet_sut.Columns[i].HeaderText + ";");
  20. myWriter.WriteLine();
  21. for (int i = 0; i < otchet_sut.RowCount; i++)
  22. {
  23. for (int j = 0; j < otchet_sut.ColumnCount; j++)
  24. {
  25. myWriter.Write(otchet_sut.Rows[i].Cells[j].Value.ToString() + ";");
  26. }
  27. myWriter.WriteLine();
  28. }
  29. }
  30. if (saveFileDialog1.FilterIndex == 2) // выбран xml
  31. {
  32. for (int i = 0; i < otchet_sut.ColumnCount; i++)
  33. {
  34. myWriter.Write(otchet_sut.Columns[i].HeaderText + ";");
  35. myWriter.WriteLine();
  36. }
  37. for (int i = 0; i < otchet_sut.RowCount; i++)
  38. {
  39. for (int j = 0; j < otchet_sut.ColumnCount; j++)
  40. {
  41. myWriter.Write(otchet_sut.Rows[i].Cells[j].Value.ToString() + ";");
  42. myWriter.WriteLine();
  43. }
  44.  
  45. }
  46. }
  47. }
  48. catch (Exception ex)
  49. {
  50. MessageBox.Show(ex.Message);
  51. String S;
  52. S = Convert.ToString(DateTime.Now);
  53. System.IO.StreamWriter writer = new System.IO.StreamWriter("D:\\Somin\\XY\\error.txt", true);
  54. writer.WriteLine(S + "Ошибка Сохранения суточного отчета");
  55. writer.Close();
  56.  
  57. }
  58. finally
  59. {
  60. myWriter.Close();
  61. }
  62. myStream.Close();
  63. }
  64. }
  65. } // Кнопка Сохранить
конкретно эта часть
Листинг программы
  1. if (saveFileDialog1.FilterIndex == 2) // выбран xml
  2. {
  3. for (int i = 0; i < otchet_sut.ColumnCount; i++)
  4. {
  5. myWriter.Write(otchet_sut.Columns[i].HeaderText + ";");
  6. myWriter.WriteLine();
  7. }
  8. for (int i = 0; i < otchet_sut.RowCount; i++)
  9. {
  10. for (int j = 0; j < otchet_sut.ColumnCount; j++)
  11. {
  12. myWriter.Write(otchet_sut.Rows[i].Cells[j].Value.ToString() + ";");
  13. myWriter.WriteLine();
  14. }
  15.  
  16. }
  17. }
Спасибо

Решение задачи: «Сохранение данных из DataGridView в файл XML»

textual
Листинг программы
  1.   Microsoft.Office.Interop.Excel.Application exApp = new Microsoft.Office.Interop.Excel.Application();
  2.  
  3.                      exApp.Visible = true;
  4.                      exApp.Workbooks.Add();
  5.                      int rowExcel = 2;
  6.                      Worksheet workSheet = (Worksheet)exApp.ActiveSheet;
  7.  
  8.                      for (int j = 0; j < otchet_sut.ColumnCount; j++)
  9.                      workSheet.Cells[1, j+1]=otchet_sut.Columns[j].HeaderText;    //j+1 - в xml в 1 а не с 0
  10.                    
  11.                      for (int j = 0; j < otchet_sut.ColumnCount; j++,rowExcel=2)
  12.                  
  13.                          for (int i = 0; i < otchet_sut.Rows.Count; i++)
  14.                          {
  15.                              workSheet.Cells[rowExcel, j + 1] = otchet_sut.Rows[i].Cells[j].Value;
  16.  
  17.                              ++rowExcel;
  18.  
  19.                          }
  20.                  
  21.                      workSheet.SaveAs(saveFileDialog1.FileName);
  22.  
  23.                      exApp.Quit();

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


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

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

8   голосов , оценка 4.125 из 5

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

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

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