加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 01:10:18 所属栏目:百科 来源:网络整理
导读:相较于数据,图表更能直观的体现数据的变化趋势。在数据表格中,同一数据值,可能同时代表不同的数据分类,表现在图表中则是一个数据体现在多个数据分类标签下。通常生成的图表一般默认只有一种分类标签,下面的方法将通过编程的方式来介绍在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

?

(本文完)

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读