微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C# 创建含多层分类标签的Excel图表

相较于数据,图表更能直观的体现数据的变化趋势。在数据表格中,同一数据值,可能同时代表不同的数据分类,表现在图表中则是一个数据体现在多个数据分类标签下。通常生成的图表一般认只有一种分类标签,下面的方法将通过编程的方式来介绍在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"];

Step5:设置是否显示多层分类标签

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();
        }
    }
}
View Code

 

(本文完)

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐