c# преобразовать общий тип в тип даты в экспорте Excel - PullRequest
0 голосов
/ 14 июля 2020

Я использую библиотеку 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

Что делать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...