【问题标题】:How to put two series with different types of charts inside a control chart using Epplus?如何使用 Epplus 将具有不同类型图表的两个系列放在控制图中?
【发布时间】:2019-08-16 18:31:20
【问题描述】:

我正在尝试使用 EPPLUS 将两种类型的图表组合成一个图形图表,如果您能帮助我,我将不胜感激

controller.cs

public ActionResult ExportarExcel()
{    
    var myChart2 = ws.Drawings.AddChart("chart", eChartType.ColumnClustered);

    /*//Define las series para el cuadro
    var series = myChart.Series.Add("C7: E7", "C6: E6");
    myChart.Border.Fill.Color = System.Drawing.Color.Green;
    myChart.Title.Text = "My Chart";
    myChart.SetSize(500, 400);

    //Agregar a la 6ta fila y a la 6ta columna
    myChart.SetPosition(6, 0, 10, 0);*/



    //Define las series para el cuadro
    /*var series = myChart2.Series.Add("C7: E7", "C6: E6");
    myChart2.Border.Fill.Color = System.Drawing.Color.Green;
    myChart2.Title.Text = "My Chart";
    myChart2.SetSize(500, 400);*/


    //Agregar a la 6ta fila y a la 6ta columna
    myChart2.SetPosition(6, 0, 10, 0);

    ws.Cells["A:AZ"].AutoFitColumns();


    MemoryStream memoryStream = new MemoryStream();
    pkg.SaveAs(memoryStream);
    memoryStream.Position = 0;

    return new FileStreamResult(memoryStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") { FileDownloadName = "Gestion_horas.xlsx" };
}

我想使用从我的应用程序中获取的数据获取的图像示例

【问题讨论】:

  • 显示的图像是为了指示我想在 .net 中使用 EPPLUS 做什么图形,但它需要两个系列,我不知道在这种情况下如何添加具有不同图形的 2 个系列(columnClustered,行)
  • 您需要将图表2添加到图表1。看看这是否有帮助stackoverflow.com/a/28547941/1324284

标签: c# .net epplus


【解决方案1】:

这是对我评论的正确答案。如果有意义的话,只需将myChart2 放在myChart1 的区域内即可:

[TestMethod]
public void Chart_Two_Series()
{
    //https://stackoverflow.com/questions/57500910/how-to-put-two-series-with-different-types-of-charts-inside-a-control-chart-usinvar existingFile = new FileInfo(@"c:\temp\temp.xlsx");
    var fileInfo = new FileInfo(@"c:\temp\Chart_Two_Series.xlsx");
    if (fileInfo.Exists)
        fileInfo.Delete();

    using (var pck = new ExcelPackage(fileInfo))
    {
        var ws = pck.Workbook.Worksheets.Add("Content");

        //Some data
        ws.Cells["C5"].Value = "amarillo";
        ws.Cells["C6"].Value = 12;
        ws.Cells["C7"].Value = 485;

        ws.Cells["D5"].Value = "rojo";
        ws.Cells["D6"].Value = 121;
        ws.Cells["D7"].Value = 77;

        ws.Cells["E5"].Value = "verde";
        ws.Cells["E6"].Value = 548;
        ws.Cells["E7"].Value = 44;

        var myChart = ws.Drawings.AddChart("chart", eChartType.ColumnClustered);

        //Define las series para el cuadro
        var series = myChart.Series.Add("C6:E6", "C5:E5");
        myChart.Border.Fill.Color = System.Drawing.Color.Green;
        myChart.Title.Text = "My Chart";
        myChart.SetSize(500, 400);

        //Agregar a la 6ta fila y a la 6ta columna
        myChart.SetPosition(6, 0, 10, 0);

        //Define las series para el cuadro
        var myChart2 = myChart.PlotArea.ChartTypes.Add(eChartType.Line);
        var series2 = myChart2.Series.Add("C7:E7", "C5:E5");

        ws.Cells["A:AZ"].AutoFitColumns();
        pck.Save();
    }
}

在输出中给出了这个:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-17
    • 1970-01-01
    • 1970-01-01
    • 2014-07-16
    • 1970-01-01
    相关资源
    最近更新 更多