private void UpdateLine(LineGraph line, double[] x, double[] y, Color color, string description, out LineGraph newLine) { ChartUpdater cup = new ChartUpdater(_UpdateLine); object _line = this.Dispatcher.Invoke(cup, line, x, y, color, description); newLine = _line as LineGraph; }
public void UpdatePowerPoints(string fileName) { var srcFile = new FileInfo(GetFilePath(fileName)); var fName = Path.Combine(TempDir, srcFile.Name); File.Copy(srcFile.FullName, fName, true); var fi = new FileInfo(fName); var newFileName = "Updated-" + srcFile.Name; var fi2 = new FileInfo(Path.Combine(TempDir, newFileName)); File.Copy(fi.FullName, fi2.FullName, true); using var pDoc = PresentationDocument.Open(fi2.FullName, true); var chart1Data = new ChartData { SeriesNames = new[] { "Car", "Truck", "Van", }, CategoryDataType = ChartDataType.String, CategoryNames = new[] { "Q1", "Q2", "Q3", "Q4", }, Values = new[] { new double[] { 320, 310, 320, 330, }, new double[] { 201, 224, 230, 221, }, new double[] { 180, 200, 220, 230, }, }, }; ChartUpdater.UpdateChart(pDoc, 1, chart1Data); }
public static void Process(WordprocessingDocument docx, DataColumnInfo dcInfo, ReportDetailTemplate detail, SimpleField field) { var p = GetFirstParent <Paragraph>(field); var drawing = p?.Descendants <Drawing>().FirstOrDefault(); var chartRef = drawing?.Descendants <ChartReference>().FirstOrDefault(); if (chartRef == null) { return; } var firstOrDefault = docx.MainDocumentPart .Parts .FirstOrDefault(c => c.RelationshipId == chartRef.Id); if (firstOrDefault == null) { return; } var chartPart = (ChartPart)firstOrDefault .OpenXmlPart; var data = GetChartData(detail); ChartUpdater.UpdateChart(chartPart, data); }
public static void Process(WordprocessingDocument docx, DataColumnInfo dcInfo, ReportDetailTemplate detail, string contentControlTag) { var data = GetChartData(detail); ChartUpdater.UpdateChart(docx, contentControlTag, data); }
/// <summary> /// Initializes a new instance of the <see cref="ChartCore"/> class. /// </summary> /// <param name="view">The view.</param> /// <param name="updater">The updater.</param> protected ChartCore(IChartView view, ChartUpdater updater) { View = view; Updater = updater; DrawMargin = new CoreRectangle(); DrawMargin.SetHeight += view.SetDrawMarginHeight; DrawMargin.SetWidth += view.SetDrawMarginWidth; DrawMargin.SetTop += view.SetDrawMarginTop; DrawMargin.SetLeft += view.SetDrawMarginLeft; }
public EventsChartArea() { WrappingCanvas = new Canvas() { HorizontalAlignment = HorizontalAlignment.Stretch, VerticalAlignment = VerticalAlignment.Stretch }; Canvas = new Canvas(); WrappingCanvas.Children.Add(Canvas); Content = WrappingCanvas; _chartUpdater = new ChartUpdater(this, this); _tooltip = new Tooltip(this); AddUiElement(_tooltip); Background = Brushes.White; MouseMove += EventsChartArea_MouseMove; MouseLeave += EventsChartArea_MouseLeave; SizeChanged += OnSizeChanged; Loaded += OnLoaded; }
public void CU001(string name) { FileInfo templateFile = new FileInfo(Path.Combine(TestUtil.SourceDir.FullName, name)); if (templateFile.Extension.ToLower() == ".docx") { WmlDocument wmlTemplate = new WmlDocument(templateFile.FullName); var afterUpdatingDocx = new FileInfo(Path.Combine(TestUtil.TempDir.FullName, templateFile.Name.Replace(".docx", "-processed-by-ChartUpdater.docx"))); wmlTemplate.SaveAs(afterUpdatingDocx.FullName); using (var wDoc = WordprocessingDocument.Open(afterUpdatingDocx.FullName, true)) { var chart1Data = new ChartData { SeriesNames = new[] { "Car", "Truck", "Van", "Bike", "Boat", }, CategoryDataType = ChartDataType.String, CategoryNames = new[] { "Q1", "Q2", "Q3", "Q4", }, Values = new double[][] { new double[] { 100, 310, 220, 450, }, new double[] { 200, 300, 350, 411, }, new double[] { 80, 120, 140, 600, }, new double[] { 120, 100, 140, 400, }, new double[] { 200, 210, 210, 480, }, }, }; ChartUpdater.UpdateChart(wDoc, "Chart1", chart1Data); var chart2Data = new ChartData { SeriesNames = new[] { "Series" }, CategoryDataType = ChartDataType.String, CategoryNames = new[] { "Cars", "Trucks", "Vans", "Boats", }, Values = new double[][] { new double[] { 320, 112, 64, 80, }, }, }; ChartUpdater.UpdateChart(wDoc, "Chart2", chart2Data); var chart3Data = new ChartData { SeriesNames = new[] { "X1", "X2", "X3", "X4", "X5", "X6", }, CategoryDataType = ChartDataType.String, CategoryNames = new[] { "Y1", "Y2", "Y3", "Y4", "Y5", "Y6", }, Values = new double[][] { new double[] { 3.0, 2.1, .7, .7, 2.1, 3.0, }, new double[] { 3.0, 2.1, .8, .8, 2.1, 3.0, }, new double[] { 3.0, 2.4, 1.2, 1.2, 2.4, 3.0, }, new double[] { 3.0, 2.7, 1.7, 1.7, 2.7, 3.0, }, new double[] { 3.0, 2.9, 2.5, 2.5, 2.9, 3.0, }, new double[] { 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, }, }, }; ChartUpdater.UpdateChart(wDoc, "Chart3", chart3Data); var chart4Data = new ChartData { SeriesNames = new[] { "Car", "Truck", "Van", }, CategoryDataType = ChartDataType.DateTime, CategoryFormatCode = 14, CategoryNames = new[] { ToExcelInteger(new DateTime(2013, 9, 1)), ToExcelInteger(new DateTime(2013, 9, 2)), ToExcelInteger(new DateTime(2013, 9, 3)), ToExcelInteger(new DateTime(2013, 9, 4)), ToExcelInteger(new DateTime(2013, 9, 5)), ToExcelInteger(new DateTime(2013, 9, 6)), ToExcelInteger(new DateTime(2013, 9, 7)), ToExcelInteger(new DateTime(2013, 9, 8)), ToExcelInteger(new DateTime(2013, 9, 9)), ToExcelInteger(new DateTime(2013, 9, 10)), ToExcelInteger(new DateTime(2013, 9, 11)), ToExcelInteger(new DateTime(2013, 9, 12)), ToExcelInteger(new DateTime(2013, 9, 13)), ToExcelInteger(new DateTime(2013, 9, 14)), ToExcelInteger(new DateTime(2013, 9, 15)), ToExcelInteger(new DateTime(2013, 9, 16)), ToExcelInteger(new DateTime(2013, 9, 17)), ToExcelInteger(new DateTime(2013, 9, 18)), ToExcelInteger(new DateTime(2013, 9, 19)), ToExcelInteger(new DateTime(2013, 9, 20)), }, Values = new double[][] { new double[] { 1, 2, 3, 2, 3, 4, 5, 4, 5, 6, 5, 4, 5, 6, 7, 8, 7, 8, 8, 9, }, new double[] { 2, 3, 3, 4, 4, 5, 6, 7, 8, 7, 8, 9, 9, 9, 7, 8, 9, 9, 10, 11, }, new double[] { 2, 3, 3, 3, 3, 2, 2, 2, 3, 2, 3, 3, 4, 4, 4, 3, 4, 5, 5, 4, }, }, }; ChartUpdater.UpdateChart(wDoc, "Chart4", chart4Data); } } if (templateFile.Extension.ToLower() == ".pptx") { PmlDocument pmlTemplate = new PmlDocument(templateFile.FullName); var afterUpdatingPptx = new FileInfo(Path.Combine(TestUtil.TempDir.FullName, templateFile.Name.Replace(".pptx", "-processed-by-ChartUpdater.pptx"))); pmlTemplate.SaveAs(afterUpdatingPptx.FullName); using (var pDoc = PresentationDocument.Open(afterUpdatingPptx.FullName, true)) { var chart1Data = new ChartData { SeriesNames = new[] { "Car", "Truck", "Van", }, CategoryDataType = ChartDataType.String, CategoryNames = new[] { "Q1", "Q2", "Q3", "Q4", }, Values = new double[][] { new double[] { 320, 310, 320, 330, }, new double[] { 201, 224, 230, 221, }, new double[] { 180, 200, 220, 230, }, }, }; ChartUpdater.UpdateChart(pDoc, 1, chart1Data); } } }
public CartesianChartCore(IChartView view, ChartUpdater updater) : base(view, updater) { updater.Chart = this; }
/// <summary> /// Initializes a new instance of the <see cref="PieChartCore"/> class. /// </summary> /// <param name="view">The view.</param> /// <param name="updater">The updater.</param> public PieChartCore(IChartView view, ChartUpdater updater) : base(view, updater) { updater.Chart = this; }
/// <summary> /// Initializes Chart model /// </summary> /// <param name="view">The view.</param> /// <param name="updater">The updater.</param> public CartesianChartCore(IChartView view, ChartUpdater updater) : base(view, updater) { updater.Chart = this; }
public void UpdateWords(string fileName) { var srcFile = new FileInfo(GetFilePath(fileName)); var fName = Path.Combine(TempDir, srcFile.Name); File.Copy(srcFile.FullName, fName, true); var fi = new FileInfo(fName); var newFileName = "Updated-" + fi.Name; var fi2 = new FileInfo(Path.Combine(TempDir, newFileName)); File.Copy(fi.FullName, fi2.FullName, true); using var wDoc = WordprocessingDocument.Open(fi2.FullName, true); var chart1Data = new ChartData { SeriesNames = new[] { "Car", "Truck", "Van", "Bike", "Boat", }, CategoryDataType = ChartDataType.String, CategoryNames = new[] { "Q1", "Q2", "Q3", "Q4", }, Values = new[] { new double[] { 100, 310, 220, 450, }, new double[] { 200, 300, 350, 411, }, new double[] { 80, 120, 140, 600, }, new double[] { 120, 100, 140, 400, }, new double[] { 200, 210, 210, 480, }, }, }; ChartUpdater.UpdateChart(wDoc, "Chart1", chart1Data); var chart2Data = new ChartData { SeriesNames = new[] { "Series" }, CategoryDataType = ChartDataType.String, CategoryNames = new[] { "Cars", "Trucks", "Vans", "Boats", }, Values = new[] { new double[] { 320, 112, 64, 80, }, }, }; ChartUpdater.UpdateChart(wDoc, "Chart2", chart2Data); var chart3Data = new ChartData { SeriesNames = new[] { "X1", "X2", "X3", "X4", "X5", "X6", }, CategoryDataType = ChartDataType.String, CategoryNames = new[] { "Y1", "Y2", "Y3", "Y4", "Y5", "Y6", }, Values = new[] { new[] { 3.0, 2.1, .7, .7, 2.1, 3.0, }, new[] { 3.0, 2.1, .8, .8, 2.1, 3.0, }, new[] { 3.0, 2.4, 1.2, 1.2, 2.4, 3.0, }, new[] { 3.0, 2.7, 1.7, 1.7, 2.7, 3.0, }, new[] { 3.0, 2.9, 2.5, 2.5, 2.9, 3.0, }, new[] { 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, }, }, }; ChartUpdater.UpdateChart(wDoc, "Chart3", chart3Data); var chart4Data = new ChartData { SeriesNames = new[] { "Car", "Truck", "Van", }, CategoryDataType = ChartDataType.DateTime, CategoryFormatCode = 14, CategoryNames = new[] { ToExcelInteger(new DateTime(2013, 9, 1)), ToExcelInteger(new DateTime(2013, 9, 2)), ToExcelInteger(new DateTime(2013, 9, 3)), ToExcelInteger(new DateTime(2013, 9, 4)), ToExcelInteger(new DateTime(2013, 9, 5)), ToExcelInteger(new DateTime(2013, 9, 6)), ToExcelInteger(new DateTime(2013, 9, 7)), ToExcelInteger(new DateTime(2013, 9, 8)), ToExcelInteger(new DateTime(2013, 9, 9)), ToExcelInteger(new DateTime(2013, 9, 10)), ToExcelInteger(new DateTime(2013, 9, 11)), ToExcelInteger(new DateTime(2013, 9, 12)), ToExcelInteger(new DateTime(2013, 9, 13)), ToExcelInteger(new DateTime(2013, 9, 14)), ToExcelInteger(new DateTime(2013, 9, 15)), ToExcelInteger(new DateTime(2013, 9, 16)), ToExcelInteger(new DateTime(2013, 9, 17)), ToExcelInteger(new DateTime(2013, 9, 18)), ToExcelInteger(new DateTime(2013, 9, 19)), ToExcelInteger(new DateTime(2013, 9, 20)), }, Values = new[] { new double[] { 1, 2, 3, 2, 3, 4, 5, 4, 5, 6, 5, 4, 5, 6, 7, 8, 7, 8, 8, 9, }, new double[] { 2, 3, 3, 4, 4, 5, 6, 7, 8, 7, 8, 9, 9, 9, 7, 8, 9, 9, 10, 11, }, new double[] { 2, 3, 3, 3, 3, 2, 2, 2, 3, 2, 3, 3, 4, 4, 4, 3, 4, 5, 5, 4, }, }, }; ChartUpdater.UpdateChart(wDoc, "Chart4", chart4Data); }
private static void Main() { var n = DateTime.Now; var tempDi = new DirectoryInfo(string.Format("ExampleOutput-{0:00}-{1:00}-{2:00}-{3:00}{4:00}{5:00}", n.Year - 2000, n.Month, n.Day, n.Hour, n.Minute, n.Second)); tempDi.Create(); var sourceDi = new DirectoryInfo("../../"); foreach (var file in sourceDi.GetFiles("*.docx")) { File.Copy(file.FullName, Path.Combine(tempDi.FullName, file.Name)); } foreach (var file in sourceDi.GetFiles("*.pptx")) { File.Copy(file.FullName, Path.Combine(tempDi.FullName, file.Name)); } var fileList = Directory.GetFiles(tempDi.FullName, "*.docx"); foreach (var file in fileList) { var fi = new FileInfo(file); Console.WriteLine(fi.Name); var newFileName = "Updated-" + fi.Name; var fi2 = new FileInfo(Path.Combine(tempDi.FullName, newFileName)); File.Copy(fi.FullName, fi2.FullName); using var wDoc = WordprocessingDocument.Open(fi2.FullName, true); var chart1Data = new ChartData { SeriesNames = new[] { "Car", "Truck", "Van", "Bike", "Boat", }, CategoryDataType = ChartDataType.String, CategoryNames = new[] { "Q1", "Q2", "Q3", "Q4", }, Values = new double[][] { new double[] { 100, 310, 220, 450, }, new double[] { 200, 300, 350, 411, }, new double[] { 80, 120, 140, 600, }, new double[] { 120, 100, 140, 400, }, new double[] { 200, 210, 210, 480, }, }, }; ChartUpdater.UpdateChart(wDoc, "Chart1", chart1Data); var chart2Data = new ChartData { SeriesNames = new[] { "Series" }, CategoryDataType = ChartDataType.String, CategoryNames = new[] { "Cars", "Trucks", "Vans", "Boats", }, Values = new double[][] { new double[] { 320, 112, 64, 80, }, }, }; ChartUpdater.UpdateChart(wDoc, "Chart2", chart2Data); var chart3Data = new ChartData { SeriesNames = new[] { "X1", "X2", "X3", "X4", "X5", "X6", }, CategoryDataType = ChartDataType.String, CategoryNames = new[] { "Y1", "Y2", "Y3", "Y4", "Y5", "Y6", }, Values = new double[][] { new double[] { 3.0, 2.1, .7, .7, 2.1, 3.0, }, new double[] { 3.0, 2.1, .8, .8, 2.1, 3.0, }, new double[] { 3.0, 2.4, 1.2, 1.2, 2.4, 3.0, }, new double[] { 3.0, 2.7, 1.7, 1.7, 2.7, 3.0, }, new double[] { 3.0, 2.9, 2.5, 2.5, 2.9, 3.0, }, new double[] { 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, }, }, }; ChartUpdater.UpdateChart(wDoc, "Chart3", chart3Data); var chart4Data = new ChartData { SeriesNames = new[] { "Car", "Truck", "Van", }, CategoryDataType = ChartDataType.DateTime, CategoryFormatCode = 14, CategoryNames = new[] { ToExcelInteger(new DateTime(2013, 9, 1)), ToExcelInteger(new DateTime(2013, 9, 2)), ToExcelInteger(new DateTime(2013, 9, 3)), ToExcelInteger(new DateTime(2013, 9, 4)), ToExcelInteger(new DateTime(2013, 9, 5)), ToExcelInteger(new DateTime(2013, 9, 6)), ToExcelInteger(new DateTime(2013, 9, 7)), ToExcelInteger(new DateTime(2013, 9, 8)), ToExcelInteger(new DateTime(2013, 9, 9)), ToExcelInteger(new DateTime(2013, 9, 10)), ToExcelInteger(new DateTime(2013, 9, 11)), ToExcelInteger(new DateTime(2013, 9, 12)), ToExcelInteger(new DateTime(2013, 9, 13)), ToExcelInteger(new DateTime(2013, 9, 14)), ToExcelInteger(new DateTime(2013, 9, 15)), ToExcelInteger(new DateTime(2013, 9, 16)), ToExcelInteger(new DateTime(2013, 9, 17)), ToExcelInteger(new DateTime(2013, 9, 18)), ToExcelInteger(new DateTime(2013, 9, 19)), ToExcelInteger(new DateTime(2013, 9, 20)), }, Values = new double[][] { new double[] { 1, 2, 3, 2, 3, 4, 5, 4, 5, 6, 5, 4, 5, 6, 7, 8, 7, 8, 8, 9, }, new double[] { 2, 3, 3, 4, 4, 5, 6, 7, 8, 7, 8, 9, 9, 9, 7, 8, 9, 9, 10, 11, }, new double[] { 2, 3, 3, 3, 3, 2, 2, 2, 3, 2, 3, 3, 4, 4, 4, 3, 4, 5, 5, 4, }, }, }; ChartUpdater.UpdateChart(wDoc, "Chart4", chart4Data); } fileList = Directory.GetFiles(tempDi.FullName, "*.pptx"); foreach (var file in fileList) { var fi = new FileInfo(file); Console.WriteLine(fi.Name); var newFileName = "Updated-" + fi.Name; var fi2 = new FileInfo(Path.Combine(tempDi.FullName, newFileName)); File.Copy(fi.FullName, fi2.FullName); using var pDoc = PresentationDocument.Open(fi2.FullName, true); var chart1Data = new ChartData { SeriesNames = new[] { "Car", "Truck", "Van", }, CategoryDataType = ChartDataType.String, CategoryNames = new[] { "Q1", "Q2", "Q3", "Q4", }, Values = new double[][] { new double[] { 320, 310, 320, 330, }, new double[] { 201, 224, 230, 221, }, new double[] { 180, 200, 220, 230, }, }, }; ChartUpdater.UpdateChart(pDoc, 1, chart1Data); } }