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

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

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

Доброе утро бойцы.... Сохраняю я значится данные из DATAgrid в файл txt и xml.... с тхт всё отлично.... а вот в xml всё сохраняется ток в первую ячейку... а мне б соответственно сохранить таблицу в том же виде Подскажите что изменить
 private void button_save_Click(object sender, EventArgs e)
        {

     Stream myStream ;
   
     SaveFileDialog saveFileDialog1 = new SaveFileDialog();
 
     saveFileDialog1.Filter = "txt files (*.txt)|*.txt|xls files (*.xls)|*.xls";
     saveFileDialog1.FilterIndex = 2 ;
     saveFileDialog1.RestoreDirectory = true ;
 
     if(saveFileDialog1.ShowDialog() == DialogResult.OK)
     {
         if((myStream = saveFileDialog1.OpenFile()) != null)
         {
 
             StreamWriter myWriter = new StreamWriter(myStream);
             try
             {
 
                 if (saveFileDialog1.FilterIndex == 1)                     // если выбран txt
                 {
 
                     for (int i = 0; i < otchet_sut.ColumnCount; i++)
                         myWriter.Write(otchet_sut.Columns[i].HeaderText + ";");
                     myWriter.WriteLine();
 
                     for (int i = 0; i < otchet_sut.RowCount; i++)
                     {
                         for (int j = 0; j < otchet_sut.ColumnCount; j++)
                         {
                             myWriter.Write(otchet_sut.Rows[i].Cells[j].Value.ToString() + ";");
                         }
 
                         myWriter.WriteLine();
 
                     }
                 }
 
                 if (saveFileDialog1.FilterIndex == 2)             // выбран xml
                 {
 
                     for (int i = 0; i < otchet_sut.ColumnCount; i++)
                     {
                         myWriter.Write(otchet_sut.Columns[i].HeaderText + ";");
                         myWriter.WriteLine();
                     }
 
                     for (int i = 0; i < otchet_sut.RowCount; i++)
                     {
                         for (int j = 0; j < otchet_sut.ColumnCount; j++)
                         {
                             myWriter.Write(otchet_sut.Rows[i].Cells[j].Value.ToString() + ";");
                             myWriter.WriteLine();
                         }

                     }
                 }
 
             }
             catch (Exception ex)
             {
                 MessageBox.Show(ex.Message);
                String S;
                S = Convert.ToString(DateTime.Now);
                System.IO.StreamWriter writer = new System.IO.StreamWriter("D:\\Somin\\XY\\error.txt", true);
                writer.WriteLine(S + "Ошибка Сохранения суточного отчета");
                writer.Close();

             }
             finally
             {
                 myWriter.Close();
             }
             myStream.Close();
         }
     
 }
        }        // Кнопка Сохранить
конкретно эта часть
 if (saveFileDialog1.FilterIndex == 2)             // выбран xml
                 {
 
                     for (int i = 0; i < otchet_sut.ColumnCount; i++)
                     {
                         myWriter.Write(otchet_sut.Columns[i].HeaderText + ";");
                         myWriter.WriteLine();
                     }
 
                     for (int i = 0; i < otchet_sut.RowCount; i++)
                     {
                         for (int j = 0; j < otchet_sut.ColumnCount; j++)
                         {
                             myWriter.Write(otchet_sut.Rows[i].Cells[j].Value.ToString() + ";");
                             myWriter.WriteLine();
                         }

                     }
                 }
Спасибо

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

textual
Листинг программы
  Microsoft.Office.Interop.Excel.Application exApp = new Microsoft.Office.Interop.Excel.Application();
 
                     exApp.Visible = true;
                     exApp.Workbooks.Add();
                     int rowExcel = 2;
                     Worksheet workSheet = (Worksheet)exApp.ActiveSheet;
 
                     for (int j = 0; j < otchet_sut.ColumnCount; j++)
                     workSheet.Cells[1, j+1]=otchet_sut.Columns[j].HeaderText;    //j+1 - в xml в 1 а не с 0 
                   
                     for (int j = 0; j < otchet_sut.ColumnCount; j++,rowExcel=2)
                  
                         for (int i = 0; i < otchet_sut.Rows.Count; i++)
                         {
                             workSheet.Cells[rowExcel, j + 1] = otchet_sut.Rows[i].Cells[j].Value;
 
                             ++rowExcel;
 
                         }
                 
                     workSheet.SaveAs(saveFileDialog1.FileName);
 
                     exApp.Quit();

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


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

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

8   голосов , оценка 4.125 из 5
Похожие ответы