下面是使用EPPlus类创建excel并生成散点图,删除网格但不删除图例的示例代码:

using OfficeOpenXml;
using OfficeOpenXml.Drawing.Chart;

// 创建excel文件
using (var excelPackage = new ExcelPackage())
{
    // 添加工作表
    var worksheet = excelPackage.Workbook.Worksheets.Add("散点图");

    // 添加数据
    worksheet.Cells["A1"].Value = "X";
    worksheet.Cells["B1"].Value = "Y";
    worksheet.Cells["A2"].Value = 1;
    worksheet.Cells["B2"].Value = 2;
    worksheet.Cells["A3"].Value = 3;
    worksheet.Cells["B3"].Value = 4;
    worksheet.Cells["A4"].Value = 5;
    worksheet.Cells["B4"].Value = 6;

    // 添加散点图
    var chart = worksheet.Drawings.AddChart("散点图", eChartType.XYScatter);
    chart.SetPosition(1, 0, 4, 0);
    chart.SetSize(600, 400);
    var series = chart.Series.Add(worksheet.Cells["B2:B4"], worksheet.Cells["A2:A4"]);
    series.HeaderAddress = worksheet.Cells["B1"];
    chart.Legend.Remove(); // 删除默认图例
    chart.Legend.Add(); // 添加新图例
    chart.Legend.Position = eLegendPosition.Bottom; // 将新图例放在底部

    // 删除网格线
    chart.Legend.Border.Fill.Color = System.Drawing.Color.Transparent;
    chart.Legend.Border.LineStyle = eLineStyle.None;
    chart.XAxis.MajorGridlines.Border.Fill.Color = System.Drawing.Color.Transparent;
    chart.XAxis.MajorGridlines.Border.LineStyle = eLineStyle.None;
    chart.YAxis.MajorGridlines.Border.Fill.Color = System.Drawing.Color.Transparent;
    chart.YAxis.MajorGridlines.Border.LineStyle = eLineStyle.None;

    // 保存文件
    excelPackage.SaveAs(new FileInfo(@"C:\temp\散点图.xlsx"));
}

在上面的代码中,我们首先创建了一个名为“散点图”的工作表,然后添加了一些数据。接下来,我们使用Drawings.AddChart方法添加了一个散点图,并使用Series.Add方法添加了一个数据系列。默认情况下,EPPlus会添加一个图例,但我们可以使用Legend.Remove方法删除它。然后,我们使用Legend.Add方法添加一个新图例,并设置其位置为底部。最后,我们使用Border.Fill.Color和Border.LineStyle属性将网格线的颜色和样式设置为透明,以删除它们。

当我们运行这个代码时,它将创建一个名为“散点图.xlsx”的文件,并在其中添加一个名为“散点图”的工作表,该工作表包含一个散点图和一些数据。图例位于底部,网格线已被删除

c#使用EPPlus类创建excel并生成散点图删除网格但不删除图例

原文地址: https://www.cveoy.top/t/topic/hlCX 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录