c#使用NPOI 256库创建Excel散点图并使横纵居中显示轴标题和图例删除网格线
以下是使用NPOI 2.5.6库创建Excel散点图并使横纵居中,显示轴标题和图例,删除网格线的示例代码:
using System.IO;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
class Program
{
static void Main(string[] args)
{
// 创建Excel文档
XSSFWorkbook workbook = new XSSFWorkbook();
ISheet sheet = workbook.CreateSheet("Sheet1");
// 创建散点图
XSSFDrawing drawing = (XSSFDrawing)sheet.CreateDrawingPatriarch();
XSSFClientAnchor anchor = drawing.CreateAnchor(0, 0, 0, 0, 5, 5, 15, 20);
XSSFChart chart = drawing.CreateChart(anchor);
// 设置图表类型为散点图
XSSFScatterChartData data = chart.ChartDataFactory.CreateScatterChartData();
// 添加数据系列
XSSFScatterChartData.Series series = (XSSFScatterChartData.Series)data.AddSerie(chart.ChartDataFactory.CreateXYSeriesDataSource(sheet, new CellRangeAddress(0, 9, 0, 1)), chart.ChartDataFactory.CreateXYSeriesDataSource(sheet, new CellRangeAddress(0, 9, 2, 3)));
series.SetTitle("Series 1");
// 设置图表标题
chart.SetTitleText("Scatter Chart");
chart.SetTitleOverlay(false);
// 设置横轴标题
chart.GetXAxis().SetTitle("X Axis");
chart.GetXAxis().Crosses = AxisCrosses.AutoZero;
// 设置纵轴标题
chart.GetYAxis().SetTitle("Y Axis");
chart.GetYAxis().Crosses = AxisCrosses.AutoZero;
// 设置图例位置
chart.GetOrCreateLegend().Position = LegendPosition.TopRight;
// 删除网格线
chart.GetXAxis().SetMajorTickMark(AxisTickMark.None);
chart.GetYAxis().SetMajorTickMark(AxisTickMark.None);
// 保存Excel文档
using (FileStream stream = new FileStream("ScatterChart.xlsx", FileMode.Create, FileAccess.Write))
{
workbook.Write(stream);
}
}
}
在此示例中,我们首先创建一个XSSFWorkbook对象来表示Excel文档。然后,我们创建一个名为“Sheet1”的工作表,并在其中创建一个散点图。我们使用XSSFDrawing对象创建图表,然后使用XSSFChart对象设置图表类型为散点图。
接下来,我们添加一个数据系列到散点图中,并为其设置标题。我们还设置了图表标题和轴标题,并将图例位置设置为右上角。最后,我们删除了网格线,并将Excel文档保存到文件中。
请注意,此示例代码中使用的是XSSF对象模型,该模型用于处理Office Open XML格式的Excel文档。如果您要处理早期版本的Excel文档(例如xls格式),则需要使用HSSF对象模型
原文地址: https://www.cveoy.top/t/topic/hlMt 著作权归作者所有。请勿转载和采集!