Проблема формата даты и времени в метках оси X при экспорте диаграммы с использованием EPplus - PullRequest
2 голосов
/ 08 июля 2019

Я экспортирую график в лист Excel с использованием библиотеки EPPlus, но формат даты в метке оси X отображается в неправильном формате дат.Из-за этой проблемы графики не отображаются правильно.

На оси X есть дата и время, а на оси Y есть номер.Я хочу отобразить метки оси X в формате дд-мм-ггг чч: мм: сс с реальными данными.Я попытался дать формат оси X, но все же он не решен.Я приложил скриншот этой диаграммы и данных.Screenshot that chart and data

Как отобразить правильный DateTime в метке оси X вместо случайной даты?

Ниже приведен код, который я пробовал до сих пор:

 ExcelWorksheet objWorksheet = obj ExcelPackage.Workbook.Worksheets.Add(dsItem.DataSetName);
                        objWorksheet.Cells.Style.Font.SetFromFont(new System.Drawing.Font("Calibri", 10));
                        objWorksheet.Cells.AutoFitColumns();
                        objWorksheet.Cells[1, 1].Value = dsItem.DataSetName;
                        objWorksheet.Cells[1, 1, 1, 8].Style.Fill.PatternType = ExcelFillStyle.Solid;

                        objWorksheet.Cells[1,1,1,8].Merge=true;
                        objWorksheet.Cells[1,1,1,8].Style.Fill.BackgroundColor.SetColor(System.Drawing.Color.LightGray);
                        objWorksheet.Cells[1,1,1,8].Style.Font.Bold = true;
                        objWorksheet.Cells[1,1,1,8].Style.Font.Color.SetColor(System.Drawing.Color.Black);
                        objWorksheet.Cells[1,1,1,8].Style.Font.Size = 12;
                                objWorksheet.Column(23).Style.Numberformat.Format = "yyyy-mm-dd hh:mm:ss";


var chart = objWorksheet.Drawings.AddChart(dsItem.DataSetName + i, eChartType.XYScatterLines); 
  DataView view = new DataView(item);


      DataTable distinctMeasNumber = view.ToTable(true, CommonEnum.CommonColumnName.Name.ToString());

                                foreach (DataRow dtItemRow in distinctMeasNumber.Rows)
                                {
    chart.Series.Add(ExcelRange.GetAddress(startIndex, 24, endIndex, 24), ExcelCellBase.GetAddress(startIndex, 23, endIndex, 23)).Header = dtItemRow[CommonEnum.CommonColumnName.Name.ToString()].ToString();
}
    chart.XAxis.Format = "yyyy-mm-dd hh:mm:ss";
...