public void initDiagram() { //Aktienkurs //Spalte Aktienkurs setzen foundColumnKurs = StockDataTransferObject.posPrice; //Column für Timestamp setzen foundColumnTimestamp = StockDataTransferObject.posTimestampPrice; //Diagramm erstellen Microsoft.Office.Interop.Excel.ChartObjects xlChartsAktienkurs = (Excel.ChartObjects)worksheet.ChartObjects(Type.Missing); Microsoft.Office.Interop.Excel.ChartObject myChartAktienkurs = (Excel.ChartObject)xlChartsAktienkurs.Add(10, 10, 500, 280); //Microsoft.Office.Interop.Excel.Chart chartPageAktienkurs = myChartAktienkurs.Chart; chartPageAktienkurs = myChartAktienkurs.Chart; chartPageAktienkurs.ChartType = Excel.XlChartType.xlLine; //Titel für Aktienkursdiagramm setzen myChartAktienkurs.Chart.HasTitle = true; myChartAktienkurs.Chart.ChartTitle.Text = "Akienkurs der " + selectedTicker + " Aktie"; //Tabellenblatt, aus welchem die Daten gezogen werden aus Table-Object auslesen wsLiveData = (Excel.Worksheet)workbook.Worksheets["Livedaten"]; //Aktienkursdiagramm zu Beginn einmal updaten updateDiagram(wsLiveData, chartPageAktienkurs, foundColumnTimestamp, foundColumnKurs, tableobject.getContentCount()); //Volumen //Spalte Aktienkurs setzen foundColumnVolumen = StockDataTransferObject.posVolume; //Column für Timestamp setzen foundColumnTimestamp = StockDataTransferObject.posTimestampVolume; //Diagramm erstellen Microsoft.Office.Interop.Excel.ChartObjects xlChartsVolumen = (Excel.ChartObjects)worksheet.ChartObjects(Type.Missing); Microsoft.Office.Interop.Excel.ChartObject myChartVolumen = (Excel.ChartObject)xlChartsVolumen.Add(530, 10, 500, 280); chartPageVolumen = myChartVolumen.Chart; chartPageVolumen.ChartType = Excel.XlChartType.xlColumnClustered; //Titel für Volumendiagramm setzen myChartVolumen.Chart.HasTitle = true; myChartVolumen.Chart.ChartTitle.Text = "Volumen der " + selectedTicker + " Aktie"; //Tabellenblatt, in welches die Daten geschrieben werden wsLiveData = (Excel.Worksheet)workbook.Worksheets["Livedaten"]; //Volumendiagramm zu Beginn einmal updaten updateDiagram(wsLiveData, chartPageVolumen, foundColumnTimestamp, foundColumnVolumen, tableobject.getContentCount()); //Historische Daten if (historicalTableObject != null) { Microsoft.Office.Interop.Excel.Range chartRangeHistoDaten; Microsoft.Office.Interop.Excel.ChartObjects xlChartsHistoDaten = (Excel.ChartObjects)worksheet.ChartObjects(Type.Missing); Microsoft.Office.Interop.Excel.ChartObject myChartHistoDaten = (Excel.ChartObject)xlChartsHistoDaten.Add(10, 300, 1020, 270); Microsoft.Office.Interop.Excel.Chart chartPageHistoDaten = myChartHistoDaten.Chart; //Tabellenblatt, in welches die Daten geschrieben werden Excel.Worksheet wsHistoricalData = (Excel.Worksheet)workbook.Worksheets["Historische Daten"]; chartRangeHistoDaten = wsHistoricalData.Range[wsHistoricalData.Cells[1, 1], wsHistoricalData.Cells[historicalTableObject.getContentCount() + 1, historicalTableObject.getColumnsToDrawCount()]]; chartPageHistoDaten.SetSourceData(chartRangeHistoDaten, misValue); chartPageHistoDaten.ChartType = Excel.XlChartType.xlLine; //Titel das Diagramms für historische Daten setzen myChartHistoDaten.Chart.HasTitle = true; myChartHistoDaten.Chart.ChartTitle.Text = "Historische Daten der " + selectedTicker + " Aktie"; } }
public void updateMeWithNewData() { //Update Aktienkursdiagramm updateDiagram(wsLiveData, chartPageAktienkurs, StockDataTransferObject.posTimestampPrice, StockDataTransferObject.posPrice, tableobject.getContentCount()); //Update Volumendiagramm updateDiagram(wsLiveData, chartPageVolumen, StockDataTransferObject.posTimestampVolume, StockDataTransferObject.posVolume, tableobject.getContentCount()); }