Как записать данные из dataGridView в excel?
Подсобите решением такой проблемы... Есть датагрид заполненный данными. Есть код нарытый в сети который сохраняет в ексель.
DataTable dt = result2.Tables[0];
var excel = new OfficeOpenXml.ExcelPackage();
var ws = excel.Workbook.Worksheets.Add(dt.TableName);
ws.Cells["A1"].LoadFromDataTable(dt, true);
ws.Cells[ws.Dimension.Address.ToString()].AutoFitColumns(5, 15);
using (var file = File.Create(dia.FileName))
excel.SaveAs(file);
Проблема в этой строке DataTable dt = result2.Tables[0];
Мне нужно получить из грида данные и всунуть их в dt.
Подозреваю что они уже есть где-то(датасет) но как их оттуда взять - незнаю.
Как в моем случае должна выглядеть строка DataTable dt = result2.Tables[0]; чтоб все заработало?
Ответы (1 шт):
Автор решения: Blackmeser
→ Ссылка
DataTable dt = new DataTable();
foreach (DataGridViewColumn column in dataGridView1.Columns)
{
dt.Columns.Add(column.HeaderText, column.ValueType);
}
foreach (DataGridViewRow row in dataGridView1.Rows)
{
dt.Rows.Add();
foreach (DataGridViewCell cell in row.Cells)
{
dt.Rows[dt.Rows.Count - 1][cell.ColumnIndex] = cell.Value.ToString();
}
}