Сохранение данных из 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();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д