У меня есть кнопка на моей странице, которая при нажатии экспортирует данные из gridview в excel.Определить формат даты и поля даты даты в экспорте EPPlus
protected void btExport_Click(object sender, EventArgs e)
{
Response.Clear();
Response.Charset = "";
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", "attachment;filename=Output.xlsx");
DataTable dt= gvOutput.DataSource as DataTable;
ExcelPackage pck = new ExcelPackage();
using(pck)
{
ExcelWorksheet wsDt = pck.Workbook.Worksheets.Add("Sheet1");
wsDt.Cells["A1"].LoadFromDataTable(dt, true, TableStyles.None);
wsDt.Cells[wsDt.Dimension.Address].AutoFitColumns();
Response.BinaryWrite(pck.GetAsByteArray());
}
Response.Flush();
Response.End();
}
Это прекрасно работает с использованием вышеуказанного кода, однако поля даты форматируются как целые числа. Я понимаю, что определенные ячейки могут быть вынуждены иметь определенный формат, но моя проблема заключается в том, что столбцы даты будут меняться, поскольку набор данных для gridview является динамическим.
Мне нужен способ идентифицировать на лету тот столбец - дату и заставить формат этого столбца быть временем даты.
Я предполагаю, что это будет включать в себя утверждение IF, как это, но я понятия не имею, что положить в него или куда его поместить!
if (dt.Columns[x].DataType == typeof(DateTime))
{
//do something
}
Любые идеи/помощь с благодарностью.
@SimonTindall Добро пожаловать! –
Пожалуйста, добавьте пол колонку для полного заполнения формата –