Как построить график на листе excel с датой и временем по оси x
Я пытаюсь экспортировать данные из кода c# в лист excel и построить график.У меня есть два значения: одно-температура, а другое-Дата-Время.Я успешно экспортирую данные в excel и также строю график.Но с датой на оси x я получаю время как 00:00.
В excel лист только для того, чтобы получить время в правильном формате.Я пошел в настройки.
1. Щелкните правой кнопкой мыши по оси X на диаграмме и выберите в контекстном меню пункт формат оси.
2. Затем в панели формат оси или диалоговое окно Формат Оси во вкладке Параметры оси, проверить
Опция текстовая ось в разделе Тип оси.
В типе оси
a.автоматическое выделение текста axix
b.текстовая ось
c.ось даты
Я выбрал текстовую ось .Затем я получил дату и время на оси X.
Мой вопрос заключается в том,как я могу достичь этого в коде c#.
Заранее спасибо.
Что я уже пробовал:
private void button1_Click(object sender, EventArgs e) { Excel.Application xlApp; Excel.Workbook xlWorkBook; Excel.Worksheet xlWorkSheet; object misValue = System.Reflection.Missing.Value; xlApp = new Excel.Application(); xlWorkBook = xlApp.Workbooks.Add(misValue); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); //add data xlWorkSheet.Cells[1, 1] = ""; xlWorkSheet.Cells[1, 2] = "Temperature"; for (int i = 0; i < mytemp.Length; i++) { xlWorkSheet.Cells[i + 2, 1] = datetimeArray[i]; xlWorkSheet.Cells[i + 2, 2] = mytemp[i]; } string number = 'd' + mytemp.Length.ToString(); Excel.Range chartRange; Excel.ChartObjects xlCharts = (Excel.ChartObjects)xlWorkSheet.ChartObjects(Type.Missing); Excel.ChartObject myChart = (Excel.ChartObject)xlCharts.Add(200,200,200,200); Excel.Chart chartPage = myChart.Chart; Excel.Axis xAxis = (Excel.Axis)chartPage.Axes(Excel.XlAxisType.xlValue, Excel.XlAxisGroup.xlPrimary); xAxis.HasTitle = true; xAxis.AxisTitle.Caption = "Date Time"; chartRange = xlWorkSheet.get_Range("A1",number); chartPage.SetSourceData(chartRange, misValue); chartPage.ChartType = Excel.XlChartType.xlLine; //export chart as picture file chartPage.Export(@"C:\Users\Akhand Jyoti\Desktop\Receive2", "BMP", misValue); xlWorkBook.SaveAs("graph.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue); xlWorkBook.Close(true, misValue, misValue); xlApp.Quit(); releaseObject(xlWorkSheet); releaseObject(xlWorkBook); releaseObject(xlApp); MessageBox.Show("Excel file created , you can find the file c:\\csharp- Excel.xls"); } private void releaseObject(object obj) { try { System.Runtime.InteropServices.Marshal.ReleaseComObject(obj); obj = null; } catch (Exception ex) { obj = null; MessageBox.Show("Exception Occured while releasing object " + ex.ToString()); } finally { GC.Collect(); } }
Maciej Los
Правильно ли Excel отображает тип данных даты?
Member 13488719
да, это показ.После форматирования осей Установите тип оси в =текстовая ось.