Сохранение данных из 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();