Home > Software engineering >  C# EPPlus how to generate line chart with dash line
C# EPPlus how to generate line chart with dash line

Time:10-28

For last 2 days I stuck with a line chart issue with EPPlus. My objective is to create a line chart with EPPlus and line style will be dash line like below image. picture attached.

enter image description here

I search a lot Google for 2 days still got no relevant hint to have dash line in chart. I am not sure that at all EPPlus support dash line. I am using EPPlus version 6.0 and .NET Framework version 4.8. This is a sample code which generate chart in excel sheet with one line but I need that line will be dash line. please someone see my code and tell me what is missing in my code for which I could not have dash line style of line chart.

ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
var newFile = new FileInfo(filepath);
using (ExcelPackage xlPackage = new ExcelPackage(newFile))
{
    ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets.Add("test");
    worksheet.Cells["A1"].Value = 1;
    worksheet.Cells["A2"].Value = 2;
    worksheet.Cells["A3"].Value = 3;
    worksheet.Cells["A4"].Value = 4;
    worksheet.Cells["A5"].Value = 5;
    worksheet.Cells["A6"].Value = 6;

    worksheet.Cells["B1"].Value = 10000;
    worksheet.Cells["B2"].Value = 10100;
    worksheet.Cells["B3"].Value = 10200;
    worksheet.Cells["B4"].Value = 10150;
    worksheet.Cells["B5"].Value = 10250;
    worksheet.Cells["B6"].Value = 10200;

    //ExcelChart chart = worksheet.Drawings.AddChart("LineChart", eChartType.XYScatterSmooth);
    ExcelChart chart = worksheet.Drawings.AddChart("LineChart", eChartType.XYScatterSmoothNoMarkers);
    chart.Series.Add(ExcelRange.GetAddress(1, 2, worksheet.Dimension.End.Row, 2),
                ExcelRange.GetAddress(1, 1, worksheet.Dimension.End.Row, 1));

    var Series = chart.Series[0];
    //chart.Axis[0].MinorGridlines.Fill.Color = Color.Red;
    //chart.Axis[0].MinorGridlines.LineStyle = eLineStyle.LongDashDot;
    chart.Axis[0].RemoveGridlines();
    chart.Axis[1].RemoveGridlines();
    chart.Axis[0].Border.LineStyle = eLineStyle.SystemDash;
    //chart.XAxis.Border.LineStyle = eLineStyle.Dash;
    chart.Series[0].Header = "Blah";
    //chart.Series[0].Border.LineStyle = eLineStyle.DashDot;
    //chart.Axis[0].Border.LineStyle = eLineStyle.Dash;
    
    xlPackage.Save();
    MessageBox.Show("Done");
}

I also check this post but could not implement it in my code enter image description here

  • Related