相较于数据,图表更能直观的体现数据的变化趋势。在数据表格中,同一数据值,可能同时代表不同的数据分类,表现在图表中则是一个数据体现在多个数据分类标签下。通常生成的图表一般默认只有一种分类标签,下面的方法将通过编程的方式来介绍在Excel中如何来生成含多层分类标签的图表。
使用工具:Spire.XLS for .NET
1.通过官网(https://www.e-iceblue.cn/Introduce/Spire-XLS-NET.html )下载安装包--解压-安装。在程序中添加引用Spire.XLS.dll,dll文件在安装路径下的bin文件夹中。
2.通过 Nuget 官网。(http://www.nuget.org/packages/Spire.XLS/ )
添加引用完成后,如下图:
C#示例代码
Step1:创建工作表
//创建Workbook实例,获取工作表 Workbook wb = new Workbook(); Worksheet sheet = wb.Worksheets[0];
Step2:写入数据到表格
sheet.Range["A2"].Text = 出口前"; sheet.Range[A5出口后B1年份B22017年B62018年C1季度C21季度C32季度C43季度C54季度C6C7C8C9D1季度产量\n(万吨)D2"].Value = 1.56D32.3D43.21D53.5D64.8D75.2D85.79D95.58";
Step3:合并单元格并设置单元格对齐方式
sheet.Range[A2:A4].Merge(); sheet.Range[A5:A9B2:B5B6:B9A1:D9"].Style.HorizontalAlignment = HorizontalAlignType.Center; sheet.Range["].Style.VerticalAlignment = VerticalAlignType.Center;
Step4:添加图表到Excel
添加柱状图表 Chart chart = sheet.Charts.Add(ExcelChartType.LineMarkers); chart.ChartTitle = 季度产量(万吨)";设置图表标题 chart.PlotArea.Fill.FillType = ShapeFillType.NoFill; 不填充绘图区域(默认填充灰色) chart.Legend.Delete();删除图例 指定柱状图表在工作表中的位置及宽度 chart.LeftColumn = 5; chart.TopRow = 1; chart.RightColumn = 14; 设置图表系列数据来源 chart.Datarange = sheet.Range[D2:D9]; chart.SeriesDataFromrange = false; chart.Series[0].DataPoints.DefaultDataPoint.DataLabels.HasValue = true0].Format.LineProperties.Color = Color.BlueViolet; 设置系列分类标签数据来源 ChartSerie serie = chart.Series[0]; serie.CategoryLabels = sheet.Range[A2:C9"];
chart.PrimaryCategoryAxis.MultiLevelLable = true;
Step6: 保存文档
wb.SavetoFile(output.xlsx",ExcelVersion.Version2013);
图表创建结果:
全部代码:
using Spire.Xls; Spire.Xls.Charts; System.Drawing; namespace ChartWithMultiLevelCategoryLabels_XLS { class Program { static void Main(string[] args) { 创建Workbook实例,获取工作表 Workbook wb = Workbook(); Worksheet sheet = wb.Worksheets[]; 写入数据到工作表 sheet.Range[; sheet.Range[; 合并单元格,设置单元格对齐方式 sheet.Range[].Merge(); sheet.Range[ HorizontalAlignType.Center; sheet.Range["].Style.VerticalAlignment = VerticalAlignType.Center; 添加柱状图表 Chart chart = sheet.Charts.Add(ExcelChartType.LineMarkers); chart.ChartTitle = 设置图表标题 chart.PlotArea.Fill.FillType = ShapeFillType.NoFill; 不填充绘图区域(默认填充灰色) chart.Legend.Delete();删除图例 指定柱状图表在工作表中的位置及宽度 chart.LeftColumn = ; chart.TopRow = ; chart.RightColumn = ; 设置图表系列数据来源 chart.Datarange = sheet.Range[]; chart.SeriesDataFromrange = ; chart.Series[ Color.BlueViolet; 设置系列分类标签数据来源 ChartSerie serie = chart.Series[]; serie.CategoryLabels = sheet.Range[]; 显示多层分类标签 chart.PrimaryCategoryAxis.MultiLevelLable = 保存文档 wb.SavetoFile(,ExcelVersion.Version2013); System.Diagnostics.Process.Start(); } } }
(本文完)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。