/// <summary>
        /// Saves the state for undoing the command or operation.
        /// </summary>
        public void SaveState()
        {
            List <SpreadChart>    list  = new List <SpreadChart>();
            List <FloatingObject> list2 = new List <FloatingObject>();
            List <Picture>        list3 = new List <Picture>();

            foreach (string str in _deleteExtent.Names)
            {
                SpreadChart chart = _worksheet.FindChart(str);
                if (chart != null)
                {
                    list.Add(chart);
                }
                else
                {
                    Picture picture = _worksheet.FindPicture(str);
                    if (picture != null)
                    {
                        list3.Add(picture);
                    }
                    else
                    {
                        FloatingObject obj2 = _worksheet.FindFloatingObject(str);
                        if (obj2 != null)
                        {
                            list2.Add(obj2);
                        }
                    }
                }
            }
            _savedCharts   = list.ToArray();
            _savedPictures = list3.ToArray();
            _savedObjects  = list2.ToArray();
        }
Example #2
0
        void AddNewChart(object sender, RoutedEventArgs e)
        {
            if (_excel.ActiveSheet.Selections.Count == 0)
            {
                Kit.Msg("请选择单元格区域!");
                return;
            }

            CellRange range = _excel.ActiveSheet.Selections[0];

            if (range.Row < 0 || range.Column < 0)
            {
                Kit.Msg("单元格区域无效!");
                return;
            }

            string rangeFormula = _excel.ActiveSheet.Cells[range.Row, range.Column, range.RowCount + range.Row - 1, range.ColumnCount + range.Column - 1].ToString(_excel.ActiveSheet.Cells[0, 0]);

            rangeFormula = "'" + _excel.ActiveSheet.Name + "'!" + rangeFormula;

            SpreadChartType chartType = (SpreadChartType)Enum.Parse(typeof(SpreadChartType), (string)_cbTypes.SelectedItem, false);
            //SpreadChart chart = _excel.ActiveSheet.AddChart("CustomChart" + customChartIndex.ToString(), chartType, rangeFormula, 10, 10, 400, 290);
            SpreadChart chart = _excel.ActiveSheet.AddChart("CustomChart" + customChartIndex.ToString(), chartType, rangeFormula, 10, 0, 10, 0, 400, 290);

            _excel.ActiveSheet.ChartSelectionChanged += ChartSelectionChanged;

            chart.ChartTitle      = new ChartTitle();
            chart.ChartTitle.Text = chartType.ToString();
            chart.IsSelected      = true;

            customChartIndex++;
        }
Example #3
0
        void MeasureCharts()
        {
            var charts = ActiveSheet.Charts;

            if (charts.Count == 0)
            {
                if (_cachedCharts.Count > 0)
                {
                    _cachedCharts.Clear();
                }
                return;
            }

            var oldCharts = _cachedCharts;

            _cachedCharts = new Dictionary <string, SpreadChartContainer>();
            FloatingObjectLayoutModel layoutModel = ParentViewport.Excel.GetViewportFloatingObjectLayoutModel(RowViewportIndex, ColumnViewportIndex);

            for (int i = 0; i < charts.Count; i++)
            {
                SpreadChartContainer container;
                SpreadChart          chart = charts[i];
                if (!oldCharts.TryGetValue(chart.Name, out container))
                {
                    container = new SpreadChartContainer(chart, new Chart(), ParentViewport);
                    int maxZIndex = GetMaxZIndex();
                    Canvas.SetZIndex(container, maxZIndex + 1);
                    Children.Add(container);
                }
                else
                {
                    oldCharts.Remove(chart.Name);
                }
                _cachedCharts.Add(chart.Name, container);

                Size size = _szEmpty;
                FloatingObjectLayout layout = layoutModel.Find(chart.Name);
                if (layout != null)
                {
                    double num3 = 7.0;
                    size = new Size(layout.Width + (2.0 * num3), layout.Height + (2.0 * num3));
                }
#if !IOS
                container.InvalidateMeasure();
#endif
                container.Measure(size);
            }

            if (oldCharts.Count > 0)
            {
                foreach (var item in oldCharts)
                {
                    Children.Remove(item.Value);
                }
            }
        }
 /// <summary>
 /// Defines the method to be called when the action is invoked.
 /// </summary>
 /// <param name="parameter">Data used by the action. If the action does not require data to be passed, this object can be set to null.</param>
 public override void Execute(object parameter)
 {
     if (CanExecute(parameter))
     {
         Excel excel = parameter as Excel;
         try
         {
             excel.SuspendFloatingObjectsInvalidate();
             SaveState();
             for (int i = 0; i < _deleteExtent.Names.Length; i++)
             {
                 string      name  = _deleteExtent.Names[i];
                 SpreadChart chart = _worksheet.FindChart(name);
                 if (chart != null)
                 {
                     _worksheet.RemoveChart(name);
                     chart.IsSelected = false;
                 }
                 else
                 {
                     Picture picture = _worksheet.FindPicture(name);
                     if (picture != null)
                     {
                         _worksheet.RemovePicture(name);
                         picture.IsSelected = false;
                     }
                     else
                     {
                         FloatingObject obj2 = _worksheet.FindFloatingObject(name);
                         if (obj2 != null)
                         {
                             _worksheet.RemoveFloatingObject(name);
                             obj2.IsSelected = false;
                         }
                     }
                 }
             }
         }
         finally
         {
             excel.ResumeFloatingObjectsInvalidate();
             ReadOnlyCollection <CellRange> selections = _worksheet.Selections;
             if (selections.Count != 0)
             {
                 foreach (CellRange range in selections)
                 {
                     excel.UpdateHeaderCellsState(range.Row, range.RowCount, range.Column, range.ColumnCount);
                 }
             }
         }
         excel.InvalidateFloatingObjectLayout();
     }
 }
Example #5
0
 void _excel_ActiveSheetChanged(object sender, EventArgs e)
 {
     if (_excel.ActiveSheet.Charts == null || _excel.ActiveSheet.Charts.Count == 0)
     {
         return;
     }
     foreach (var item in _excel.ActiveSheet.Charts)
     {
         if (item.IsSelected)
         {
             _selectedChart = item;
             ChangeChartTypeSilent();
             return;
         }
     }
     _selectedChart = _excel.ActiveSheet.Charts[0];
     ChangeChartTypeSilent();
 }
Example #6
0
        void InitChartTitle()
        {
            int         sheetCount = _excel.SheetCount;
            SpreadChart chart      = null;

            for (int i = 0; i < sheetCount; i++)
            {
                var sheet = _excel.Sheets[i];
                sheet.ChartSelectionChanged += ChartSelectionChanged;

                int chartCount = sheet.Charts.Count;
                for (int j = 0; j < chartCount; j++)
                {
                    chart                 = sheet.Charts[j];
                    chart.ChartTitle      = new ChartTitle();
                    chart.ChartTitle.Text = chart.ChartType.ToString();
                }
            }
        }
Example #7
0
        /// <summary>
        /// 添加图表
        /// </summary>
        /// <param name="p_range"></param>
        SpreadChart AddChart(CellRange p_range)
        {
            Worksheet sheet        = _excel.ActiveSheet;
            Rect      rc           = sheet.GetRangeLocation(p_range);
            string    rangeFormula = sheet.Cells[p_range.Row, p_range.Column, p_range.RowCount + p_range.Row - 1, p_range.ColumnCount + p_range.Column - 1].ToString(this.Excel.ActiveSheet.Cells[0, 0]);

            rangeFormula = "'" + sheet.Name + "'!" + rangeFormula;
            SpreadChart chart = sheet.AddChart("table" + Kit.NewGuid, SpreadChartType.ColumnClustered, rangeFormula, rc.Left, rc.Top + rc.Height + 8, 600, 300);

            chart.Legend.Orientation = Orientation.Vertical;
            StringBuilder builder = new StringBuilder("chart");

            builder.Append(sheet.Charts.Count.ToString()).Append("!");
            builder.Append(p_range.Row.ToString()).Append(",").Append(p_range.Column.ToString()).Append(",");
            builder.Append(p_range.RowCount.ToString()).Append(",").Append(p_range.ColumnCount.ToString());
            chart.Name             = builder.ToString();
            chart.PropertyChanged += OnPropertyChanged;
            chart.IsSelected       = true;
            sheet.SetActiveCell(0, 0, true);
            return(chart);
        }
Example #8
0
 /// <summary>
 /// 当选中图表的时候,显示图表数据范围,不选中不显示。
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 void OnPropertyChanged(object sender, PropertyChangedEventArgs e)
 {
     if (e.PropertyName == "IsSelected")
     {
         SpreadChart chart = sender as SpreadChart;
         if (chart == null)
         {
             return;
         }
         Worksheet sheet    = _excel.ActiveSheet;
         string[]  Position = chart.Name.Substring(chart.Name.IndexOf("!") + 1).Split(',');
         if (Position.Length != 4)
         {
             return;
         }
         CellRange range = new CellRange(int.Parse(Position[0]), int.Parse(Position[1]), int.Parse(Position[2]), int.Parse(Position[3]));
         if (!range.IsValidRange(sheet))
         {
             return;
         }
         _excel.DecorationRange = chart.IsSelected ? range : null;
     }
 }
Example #9
0
File: Wall.cs Project: Daoting/dt
 internal Wall(SpreadChart owner) : base(owner)
 {
     this._thickness = 1;
 }
Example #10
0
 /// <summary>
 /// Initializes a new instance of the <see cref="T:Dt.Cells.UndoRedo.ChangeChartTypeAction" /> class.
 /// </summary>
 /// <param name="chart">The chart.</param>
 /// <param name="newType">The new type.</param>
 public ChangeChartTypeAction(SpreadChart chart, SpreadChartType newType)
 {
     _chart   = chart;
     _oldType = chart.ChartType;
     _newType = newType;
 }
Example #11
0
 internal AxisCollection(SpreadChart chart, ChartArea area) : base(chart, area)
 {
 }
Example #12
0
 internal PlotAreaCollection(SpreadChart chart, ChartArea area) : base(chart, area)
 {
 }
 /// <summary>
 /// Defines the method to be called when the action is invoked.
 /// </summary>
 /// <param name="parameter">Data used by the action. If the action does not require data to be passed, this object can be set to null.</param>
 public override void Execute(object parameter)
 {
     if (CanExecute(parameter))
     {
         Excel view = parameter as Excel;
         try
         {
             view.SuspendFloatingObjectsInvalidate();
             SaveState();
             List <SpreadChart>    list  = new List <SpreadChart>();
             List <Picture>        list2 = new List <Picture>();
             List <FloatingObject> list3 = new List <FloatingObject>();
             foreach (string str in _movingExtent.Names)
             {
                 SpreadChart    chart        = _worksheet.FindChart(str);
                 Picture        picture      = _worksheet.FindPicture(str);
                 FloatingObject obj2         = _worksheet.FindFloatingObject(str);
                 FloatingObject pastedObject = null;
                 if (chart != null)
                 {
                     SpreadChart item = chart.Clone() as SpreadChart;
                     pastedObject     = item;
                     item.Location    = new Point(chart.Location.X + _movingExtent.OffsetX, chart.Location.Y + _movingExtent.OffsetY);
                     item.Size        = chart.Size;
                     item.Name        = Dt.Cells.UndoRedo.GenerateNameHelper.GenerateChartName(_worksheet);
                     chart.IsSelected = false;
                     item.IsSelected  = true;
                     list.Add(item);
                     view.ActiveSheet.Charts.Add(item);
                 }
                 if (picture != null)
                 {
                     Picture picture2 = picture.Clone() as Picture;
                     pastedObject        = picture2;
                     picture2.Location   = new Point(picture.Location.X + _movingExtent.OffsetX, picture.Location.Y + _movingExtent.OffsetY);
                     picture2.Size       = picture.Size;
                     picture2.Name       = Dt.Cells.UndoRedo.GenerateNameHelper.GeneratePictureName(_worksheet);
                     picture.IsSelected  = false;
                     picture2.IsSelected = true;
                     list2.Add(picture2);
                     view.ActiveSheet.Pictures.Add(picture2);
                 }
                 if (obj2 != null)
                 {
                     FloatingObject obj4 = obj2.Clone() as FloatingObject;
                     pastedObject    = obj4;
                     obj4.Location   = new Point(obj2.Location.X + _movingExtent.OffsetX, obj2.Location.Y + _movingExtent.OffsetY);
                     obj4.Size       = obj2.Size;
                     obj4.Name       = Dt.Cells.UndoRedo.GenerateNameHelper.GenerateFloatingObjectName(_worksheet);
                     obj2.IsSelected = false;
                     obj4.IsSelected = true;
                     list3.Add(obj4);
                     view.ActiveSheet.FloatingObjects.Add(obj4);
                 }
                 if (pastedObject != null)
                 {
                     view.RaiseFloatingObjectPasted(_worksheet, pastedObject);
                 }
             }
             if (list.Count > 0)
             {
                 _savedCharts = list.ToArray();
             }
             if (list2.Count > 0)
             {
                 _savedPictures = list2.ToArray();
             }
             if (list3.Count > 0)
             {
                 _savedObjects = list3.ToArray();
             }
         }
         finally
         {
             view.ResumeFloatingObjectsInvalidate();
         }
         view.InvalidateFloatingObjectLayout();
     }
 }
Example #14
0
 /// <summary>
 /// Initializes a new instance of the <see cref="T:Dt.Cells.Data.ChartChangedEventArgs" /> class.
 /// </summary>
 /// <param name="chart">The chart.</param>
 /// <param name="chartArea">The chart area.</param>
 /// <param name="property">The property.</param>
 public ChartChangedEventArgs(SpreadChart chart, ChartArea chartArea, string property) : base(chart, chartArea, property)
 {
 }
Example #15
0
 public SpreadChartContainer(SpreadChart spreadChart, Chart c1Chart, CellsPanel parentViewport) : base(spreadChart, c1Chart, parentViewport)
 {
 }
Example #16
0
        /// <summary>
        /// 输出图表
        /// </summary>
        /// <param name="p_ws"></param>
        /// <param name="p_row"></param>
        /// <param name="p_col"></param>
        public void Render(Worksheet p_ws, int p_row, int p_col)
        {
            if (!ValidFilds())
            {
                return;
            }

            Rect        rc        = p_ws.GetRangeLocation(new CellRange(p_row, p_col, RowSpan, ColSpan));
            var         chartType = GetChartType();
            SpreadChart c         = p_ws.AddChart("chart" + p_ws.Charts.Count.ToString(), chartType, rc.Left, rc.Top, rc.Width, rc.Height);

            // 锁定图表,禁止拖动缩放
            c.Locked = true;

            string title = _data.Str("title");

            if (!string.IsNullOrEmpty(title))
            {
                c.ChartTitle = new ChartTitle {
                    Text = title
                }
            }
            ;

            title = _data.Str("titlex");
            if (!string.IsNullOrEmpty(title))
            {
                c.AxisX.Title = new ChartTitle {
                    Text = title
                }
            }
            ;

            title = _data.Str("titley");
            if (!string.IsNullOrEmpty(title))
            {
                c.AxisY.Title = new ChartTitle {
                    Text = title
                }
            }
            ;

            if (ShowLegend)
            {
                c.Legend.Text = _data.Str("legtitle");
                if (Enum.TryParse <Dt.Charts.LegendPosition>(_data.Str("legpos"), out var pos))
                {
                    c.Legend.Alignment = GetLegendAlignment(pos);
                }
                if (Enum.TryParse <Orientation>(_data.Str("legorientation"), out var ori))
                {
                    c.Legend.Orientation = ori;
                }
            }
            else
            {
                c.Legend = null;
            }

            if (string.IsNullOrEmpty(FieldSeries))
            {
                LoadTable(c);
            }
            else
            {
                LoadMatrix(c);
            }
        }

        void LoadMatrix(SpreadChart p_chart)
        {
            // Build()中已判断空的情况
            RptData data = _part.Inst.Info.GetData(Tbl).Result;
            var     tbl  = data.Data.CreateMatrix(FieldX, FieldSeries, FieldY);

            for (int i = 0; i < tbl.Columns.Count; i++)
            {
                string colName = tbl.Columns[i].ID;
                if (colName == FieldX)
                {
                    continue;
                }

                SpreadDataSeries ser = new SpreadDataSeries();
                ser.Name = colName;
                DoubleSeriesCollection vals = new DoubleSeriesCollection();
                foreach (var row in tbl)
                {
                    try
                    {
                        double val = row.Double(i);
                        vals.Add(val);
                    }
                    catch
                    {
                        vals.Add(0);
                    }
                }
                ser.Values = vals;
                p_chart.DataSeries.Add(ser);
            }

            // 添加系列数据时已创建x轴Items,只能重新设置x轴
            p_chart.AxisX.Items.Clear();
            for (int i = 0; i < tbl.Count; i++)
            {
                p_chart.AxisX.Items.Add(tbl[i].Str(FieldX));
            }
        }

        void LoadTable(SpreadChart p_chart)
        {
            RptData                data = _part.Inst.Info.GetData(Tbl).Result;
            SpreadDataSeries       ser  = new SpreadDataSeries();
            DoubleSeriesCollection vals = new DoubleSeriesCollection();

            foreach (var row in data.Data)
            {
                try
                {
                    double val = row.Double(FieldY);
                    vals.Add(val);
                }
                catch
                {
                    vals.Add(0);
                }
            }
            ser.Values = vals;
            p_chart.DataSeries.Add(ser);

            p_chart.AxisX.Items.Clear();
            foreach (var row in data.Data)
            {
                p_chart.AxisX.Items.Add(row.Str(FieldX));
            }
        }

        /// <summary>
        /// 判断数据表字段是否完整
        /// </summary>
        /// <returns></returns>
        bool ValidFilds()
        {
            if (string.IsNullOrEmpty(Tbl))
            {
                Kit.Msg("数据源不可为空。");
                return(false);
            }

            string type = _data.Str("type");

            if (type == "Gantt")
            {
                if (string.IsNullOrEmpty(FieldZ) ||
                    string.IsNullOrEmpty(FieldX) ||
                    string.IsNullOrEmpty(FieldY))
                {
                    Kit.Msg("任务字段、起始时间字段及终止时间字段均不可为空,图表生成失败。");
                    return(false);
                }
            }
            else
            {
                if (string.IsNullOrEmpty(FieldX) ||
                    string.IsNullOrEmpty(FieldY))
                {
                    Kit.Msg("分类字段和值字段不可为空,图表生成失败。");
                    return(false);
                }
            }
            return(true);
        }

        SpreadChartType GetChartType()
        {
            if (Enum.TryParse <ChartType>(_data.Str("type"), out var tp))
            {
                switch (tp)
                {
                case ChartType.Bar:
                    return(SpreadChartType.BarClustered);

                case ChartType.BarStacked:
                    return(SpreadChartType.BarStacked);

                case ChartType.Column:
                    return(SpreadChartType.ColumnClustered);

                case ChartType.ColumnStacked:
                    return(SpreadChartType.ColumnStacked);

                case ChartType.Line:
                    return(SpreadChartType.Line);

                case ChartType.LineSmoothed:
                    return(SpreadChartType.LineSmoothed);

                case ChartType.LineStacked:
                    return(SpreadChartType.LineStacked);

                case ChartType.LineSymbols:
                    return(SpreadChartType.LineWithMarkers);

                case ChartType.LineSymbolsSmoothed:
                    return(SpreadChartType.LineWithMarkersSmoothed);

                case ChartType.LineSymbolsStacked:
                    return(SpreadChartType.LineStackedWithMarkers);

                case ChartType.Pie:
                    return(SpreadChartType.Pie);

                case ChartType.PieExploded:
                    return(SpreadChartType.PieExploded);

                case ChartType.PieDoughnut:
                    return(SpreadChartType.PieDoughnut);

                case ChartType.PieExplodedDoughnut:
                    return(SpreadChartType.PieExplodedDoughnut);

                case ChartType.Area:
                    return(SpreadChartType.Area);

                case ChartType.AreaStacked:
                    return(SpreadChartType.AreaStacked);

                case ChartType.AreaStacked100pc:
                    return(SpreadChartType.AreaStacked);

                case ChartType.Radar:
                    return(SpreadChartType.Radar);

                case ChartType.RadarSymbols:
                    return(SpreadChartType.RadarWithMarkers);

                case ChartType.RadarFilled:
                    return(SpreadChartType.RadarFilled);

                case ChartType.XYPlot:
                    return(SpreadChartType.Scatter);

                case ChartType.Bubble:
                    return(SpreadChartType.Bubble);

                case ChartType.Candle:
                    return(SpreadChartType.StockHighLowOpenClose);
                }
            }
            return(SpreadChartType.ColumnClustered);
        }

        LegendAlignment GetLegendAlignment(Charts.LegendPosition pos)
        {
            switch (pos)
            {
            case Charts.LegendPosition.TopLeft:
                return(LegendAlignment.TopLeft);

            case Charts.LegendPosition.TopRight:
                return(LegendAlignment.TopRight);

            case Charts.LegendPosition.TopCenter:
                return(LegendAlignment.TopCenter);

            case Charts.LegendPosition.Left:
                return(LegendAlignment.MiddleLeft);

            case Charts.LegendPosition.Right:
                return(LegendAlignment.MiddleRight);

            case Charts.LegendPosition.BottomLeft:
                return(LegendAlignment.BottomLeft);

            case Charts.LegendPosition.BottomCenter:
                return(LegendAlignment.BottomCenter);

            case Charts.LegendPosition.BottomRight:
                return(LegendAlignment.BottomRight);
            }
            return(LegendAlignment.BottomCenter);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="T:Dt.Cells.Data.ChartSelectionChangedEventArgs" /> class.
 /// </summary>
 /// <param name="chart">The chart.</param>
 public ChartSelectionChangedEventArgs(SpreadChart chart)
 {
     this.Chart = chart;
 }
Example #18
0
File: Legend.cs Project: Daoting/dt
 internal Legend(SpreadChart owner) : base(owner)
 {
     this._alignment = LegendAlignment.MiddleRight;
 }
Example #19
0
 private void updateSpreadChart(double period1, double period2)
 {
     SpreadChart.Clear();
     SpreadChart.Plot((period1, period2));
 }
Example #20
0
 void ChartSelectionChanged(object sender, ChartSelectionChangedEventArgs e)
 {
     _selectedChart = e.Chart;
     ChangeChartTypeSilent();
 }
Example #21
0
        void InitChart()
        {
            _excel.SheetCount = 9;

            object[,] values = { { "",   "North", "South", "East", "West" },
                                 { "s1",      50,      25,     55,     30 },
                                 { "s2",      92,      24,     15,     24 },
                                 { "s3",      65,      26,     70,     60 },
                                 { "s4",      24,      80,     26,     20 } };
            _excel.Sheets[0].SetArray(0, 0, values);

            _excel.Sheets[0].Name = "Column";
            _excel.Sheets[0].AddChart("Chart1", SpreadChartType.ColumnClustered, "Column!$A$1:$E$5", 30, 120, 400, 290);
            _excel.Sheets[0].AddChart("Chart2", SpreadChartType.ColumnStacked, "Column!$A$1:$E$5", 480, 120, 400, 290);
            _excel.Sheets[0].AddChart("Chart3", SpreadChartType.ColumnStacked100pc, "Column!$A$1:$E$5", 30, 440, 400, 290);


            _excel.Sheets[1].Name = "Line";
            _excel.Sheets[1].SetArray(0, 0, values);
            _excel.Sheets[1].AddChart("chart1", SpreadChartType.Line, "Line!$A$1:$E$5", 30, 120, 400, 290);
            _excel.Sheets[1].AddChart("chart2", SpreadChartType.LineSmoothed, "Line!$A$1:$E$5", 480, 120, 400, 290);
            _excel.Sheets[1].AddChart("chart3", SpreadChartType.LineStacked, "Line!$A$1:$E$5", 30, 440, 400, 290);
            _excel.Sheets[1].AddChart("chart4", SpreadChartType.LineStacked100pc, "Line!$A$1:$E$5", 480, 440, 400, 290);
            _excel.Sheets[1].AddChart("chart5", SpreadChartType.LineStacked100pcWithMarkers, "Line!$A$1:$E$5", 30, 760, 400, 290);
            _excel.Sheets[1].AddChart("chart6", SpreadChartType.LineStackedWithMarkers, "Line!$A$1:$E$5", 480, 760, 400, 290);
            _excel.Sheets[1].AddChart("chart7", SpreadChartType.LineWithMarkers, "Line!$A$1:$F$5", 30, 1080, 400, 290);
            _excel.Sheets[1].AddChart("chart8", SpreadChartType.LineWithMarkersSmoothed, "Line!$A$1:$E$5", 480, 1080, 400, 290);


            _excel.Sheets[2].Name = "Pie";
            _excel.Sheets[2].SetArray(0, 0, values);
            _excel.Sheets[2].AddChart("chart1", SpreadChartType.Pie, "Pie!$A$1:$E$5", 30, 120, 400, 290);
            _excel.Sheets[2].AddChart("chart2", SpreadChartType.PieDoughnut, "Pie!$A$1:$E$5", 480, 120, 400, 290);
            _excel.Sheets[2].AddChart("chart3", SpreadChartType.PieExploded, "Pie!$A$1:$E$5", 30, 440, 400, 290);
            _excel.Sheets[2].AddChart("chart4", SpreadChartType.PieExplodedDoughnut, "Line!$A$1:$E$5", 480, 760, 400, 290);


            _excel.Sheets[3].Name = "Bar";
            _excel.Sheets[3].SetArray(0, 0, values);
            _excel.Sheets[3].AddChart("chart1", SpreadChartType.BarClustered, "Bar!$A$1:$E$5", 30, 120, 400, 290);
            _excel.Sheets[3].AddChart("chart2", SpreadChartType.BarStacked, "Bar!$A$1:$E$5", 480, 120, 400, 290);
            _excel.Sheets[3].AddChart("chart3", SpreadChartType.BarStacked100pc, "Bar!$A$1:$E$5", 30, 440, 400, 290);


            _excel.Sheets[4].Name = "Area";
            _excel.Sheets[4].SetArray(0, 0, values);
            _excel.Sheets[4].AddChart("chart1", SpreadChartType.Area, "Area!$A$1:$E$5", 30, 120, 400, 290);
            _excel.Sheets[4].AddChart("chart2", SpreadChartType.AreaStacked, "Area!$A$1:$E$5", 480, 120, 400, 290);
            _excel.Sheets[4].AddChart("chart3", SpreadChartType.AreaStacked100pc, "Area!$A$1:$E$5", 30, 440, 400, 290);


            object[,] values1 = { { "",   "North", "South", "East", "West", "Northeast" },
                                  { "s1",     384,     246,    549,    260,         260 },
                                  { "s2",     926,     146,   1501,    240,         650 },
                                  { "s3",     650,     260,    700,    600,         428 },
                                  { "s4",     240,      80,    260,   1100,         268 } };

            _excel.Sheets[5].Name = "Scatter";
            _excel.Sheets[5].SetArray(0, 0, values1);
            _excel.Sheets[5].AddChart("chart1", SpreadChartType.Scatter, "Scatter!$A$1:$E$5", 30, 120, 400, 290);
            _excel.Sheets[5].AddChart("chart2", SpreadChartType.ScatterLines, "Scatter!$A$1:$E$5", 480, 120, 400, 290);
            _excel.Sheets[5].AddChart("chart3", SpreadChartType.ScatterLinesSmoothed, "Scatter!$A$1:$E$5", 30, 440, 400, 290);
            _excel.Sheets[5].AddChart("chart4", SpreadChartType.ScatterLinesSmoothedWithMarkers, "Scatter!$A$1:$E$5", 480, 440, 400, 290);
            _excel.Sheets[5].AddChart("chart5", SpreadChartType.ScatterLinesWithMarkers, "Scatter!$A$1:$E$5", 30, 760, 400, 290);


            _excel.Sheets[6].Name = "Bubble";
            _excel.Sheets[6].SetArray(0, 0, values1);
            _excel.Sheets[6].AddChart("chart1", SpreadChartType.Bubble, "Bubble!$A$1:$E$5", 30, 120, 380, 260);


            object[,] values2 = { { "",      new DateTime(2013,   8,  1), new DateTime(2013, 8, 2), new DateTime(2013, 8, 3),
                                    new DateTime(2013, 8, 4), new DateTime(2013, 8, 5) },
                                  { "Open",                864, 279, 825,               360,384 },
                                  { "High",                926, 612, 865,               562,650 },
                                  { "Low",                 380, 146, 501,               310,260 },
                                  { "Close",               650, 560, 786,               486, 428 } };

            _excel.Sheets[7].Name = "Stock";
            _excel.Sheets[7].SetArray(0, 0, values2);
            _excel.Sheets[7].Rows[0].Formatter = new GeneralFormatter("MM/DD");
            _excel.Sheets[7].AddChart("chart1", SpreadChartType.StockHighLowOpenClose, "Stock!$A$1:$E$5", 30, 120, 400, 290);


            _excel.Sheets[8].Name = "Radar";
            _excel.Sheets[8].SetArray(0, 0, values);
            _excel.Sheets[8].AddChart("chart1", SpreadChartType.Radar, "Radar!$A$1:$E$5", 30, 120, 400, 290);
            _excel.Sheets[8].AddChart("chart2", SpreadChartType.RadarFilled, "Radar!$A$1:$E$5", 480, 120, 400, 290);
            _excel.Sheets[8].AddChart("chart3", SpreadChartType.RadarWithMarkers, "Radar!$A$1:$E$5", 30, 440, 400, 290);

            _excel.ActiveSheetChanged += _excel_ActiveSheetChanged;
            _selectedChart             = _excel.ActiveSheet.Charts[0];
        }
Example #22
0
 internal PlotArea(SpreadChart owner) : base(owner)
 {
 }