Я использую библиотеку EPPlus для экспорта файла Excel из datatable, три столбца datatable имеют тип даты, и когда я экспортирую файл, я обнаруживаю, что тип всех столбцов является общим, поэтому мне нужно изменить тип вручную,
Это мой код:
DataTable Export_DT = LoadExportDataTable();
string fileName = "Report _" + DateTime.Now.ToString("MM-dd-yyyy hh:mm").Replace(" ", "_").Replace(":", "") + ".xlsx";
string filePath = string.Format("{0}/{1}", Server.MapPath("../ExcelFiles"), fileName);
using (ExcelPackage pack = new ExcelPackage())
{
ExcelWorksheet ws = pack.Workbook.Worksheets.Add(fileName);
ws.Cells["A1"].LoadFromDataTable(Export_DT, true);
FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.ReadWrite);
pack.SaveAs(fs);
fs.Close();
}
Response.Redirect(Page.ResolveUrl(@"~\ExcelFiles\" + fileName), true);
Я пробовал следующее решение:
for (int i = 1; i <= Export_DT.Rows.Count; i++)
{
for (int j = 0; j < Export_DT.Columns.Count; j++)
{
if (Export_DT.Columns[j].ToString().Equals("START_DATE") || Export_DT.Columns[j].ToString().Equals("END_DATE") || Export_DT.Columns[j].ToString().Equals("LOCKING_DATE"))
{
ws.Cells[i, j].Style.Numberformat.Format = DateTimeFormatInfo.CurrentInfo.ShortDatePattern;
}
}
}
, а также это:
ws.Column(8).Style.Numberformat.Format = "mm/dd/yyyy hh:mm:ss AM/PM";
, но ничего не меняется !
столбцы с данными:
USER_NAME || USER_TYPE || CATEGORY || STATUS || START_DATE || END_DATE || LOCKING_DATE
Что делать?