图表中,图表数据标签以数据化形式表现图表中的特定数据,可增强图表的可读性。我们可以对图表添加数据标签,也可以对已有的数据标签进行修改或者删除,下面将通过C#代码来实现。

使用工具:Spire.XLS for .NET pack

dll文件获取及引用:

方法1通过官网下载包。下载后,解压文件,安装程序。安装后,将安装路径下Bin文件夹下的Spire.Xls.dll文件添加引用至vs项目程序。如下所示:

方法2可通过Nuget下载。

C# 示例

【添加数据标签】

using Spire.Xls;
using Spire.Xls.Charts;
using System.Drawing; namespace AddDataLables
{
class Program
{
static void Main(string[] args)
{
//加载测试文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("test.xlsx"); //获取第一个工作薄以及其中的第一个图表
Worksheet sheet = workbook.Worksheets[];
Chart chart = sheet.Charts[]; //获取图表中的指定系列
ChartSerie serie1 = chart.Series[];
//添加数据标签,并设置数据标签样式
serie1.DataPoints.DefaultDataPoint.DataLabels.HasValue = true;
serie1.DataPoints.DefaultDataPoint.DataLabels.FrameFormat.Fill.FillType = ShapeFillType.SolidColor;
serie1.DataPoints.DefaultDataPoint.DataLabels.FrameFormat.Fill.ForeColor = Color.White;
serie1.DataPoints.DefaultDataPoint.DataLabels.FrameFormat.Border.Pattern = ChartLinePatternType.Solid;
serie1.DataPoints.DefaultDataPoint.DataLabels.FrameFormat.Border.Color = Color.Green; ////使用文档中其他单元格的数据自定义datalabel
//ChartSerie serie2 = chart.Series[2];
//serie2.DataPoints.DefaultDataPoint.DataLabels.ValueFromCell = sheet.Range["B4:E4"];
////添加数据标注
//serie2.DataPoints.DefaultDataPoint.DataLabels.HasWedgeCallout = true; //保存文档
workbook.SaveToFile("AddDataLable.xlsx");
System.Diagnostics.Process.Start("AddDataLable.xlsx");
}
}
}

数据标签效果:

数据标注效果:

【编辑/修改数据标签】

这里以上面代码中添加的数据标注为例,进行修改等操作。

using Spire.Xls;
using Spire.Xls.Charts;
using System.Drawing; namespace ModifyDataLable
{
class Program
{
static void Main(string[] args)
{
//加载文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("AddDataLable.xlsx"); //获取第一个工作表以及表里面的第一个图表
Worksheet sheet = workbook.Worksheets[];
Chart chart = sheet.Charts[]; //获取图表系列及数据标签
ChartSerie chartSeries = chart.Series[];
ChartDataLabels cslabel = chartSeries.DataPoints[].DataLabels; cslabel.HasLegendKey = true;//设置显示图例项标示
cslabel.Position = DataLabelPositionType.Center;//设置数据标签的位置居中 //自定义数据标签的位置,默认的原点在图表左上角;
cslabel.IsYMode = true;
cslabel.IsXMode = true;
cslabel.X = ;
cslabel.Y = ; //设置显示引导线(任意设置一个DataPoint会对整个系列生效,但是只有自定义数据标签位置之后才会显示效果)
cslabel.ShowLeaderLines = true; //取消楔形标注(任意设置一个DataPoint会对整个系列生效)
cslabel.HasWedgeCallout = false; //保存
workbook.SaveToFile("ModifyDatalable.xlsx");
System.Diagnostics.Process.Start("ModifyDatalable.xlsx");
}
}
}

数据标签修改效果:

【删除数据标签】

using Spire.Xls;
using Spire.Xls.Charts; namespace DeleteDataLable
{
class Program
{
static void Main(string[] args)
{
//加载文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("AddDataLable.xlsx"); //获取第一个工作表以及表里面的第一个图表
Worksheet sheet = workbook.Worksheets[];
Chart chart = sheet.Charts[]; //删除所有系列的数据标签
for (int i = ; i < chart.Series.Count; i++)
{
ChartSerie chartSeries = chart.Series[i];
chartSeries.DataPoints.Clear();
} //删除指定数据系列的数据标签
//ChartSerie chartSeries = chart.Series[2];
//chartSeries.DataPoints.Clear(); //删除指定系列中数据标签的指定值
//ChartSerie chartSeries = chart.Series[2];
//ChartDataLabels cslabel = chartSeries.DataPoints[0].DataLabels;
//cslabel.Text = " ";
//cslabel.HasLegendKey = false; //保存文档
workbook.SaveToFile("RemoveDataLable.xlsx");
System.Diagnostics.Process.Start("RemoveDataLable.xlsx");
}
}
}

运行程序后可查看数据标签删除效果。

(本文完)

C# 添加、修改、删除Excel图表数据标签的更多相关文章

  1. JavaWeb_day03_员工信息添加修改删除

    day03员工的添加,修改,删除 修改功能 思路 : 点击修改员工数据之后,跳转到单行文本,查询要修改的员工id的全部信息,主键id设置为readonly,其余的都可以修改, 修改之后,提交按钮,提交 ...

  2. Web 1三级联动 下拉框 2添加修改删除 弹框

    Web  三级联动 下拉框 using System; using System.Collections.Generic; using System.Linq; using System.Web; u ...

  3. 打通前后端全栈开发node+vue进阶【课程学习系统项目实战详细讲解】(3):用户添加/修改/删除 vue表格组件 vue分页组件

    第三章 建议学习时间8小时      总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章] 演示地址:后台:demo ...

  4. SpringBoot定时任务升级篇(动态添加修改删除定时任务)

    需求缘起:在发布了<Spring Boot定时任务升级篇>之后得到不少反馈,其中有一个反馈就是如何动态添加修改删除定时任务?那么我们一起看看具体怎么实现,先看下本节大纲: (1)思路说明: ...

  5. 【转】C#添加修改删除文件文件夹大全

    [转]C#添加修改删除文件文件夹大全 C#添加修改删除文件文件夹大全 StreamWriter sw = File.AppendText(Server.MapPath(".")+& ...

  6. python对MySQL进行添加修改删除以及字符串的操作

    # coding=UTF-8 import MySQLdb def dbDperate(sql,param): "定义数据库的添加,修改和删除操作" #获取数据库的连接对象 con ...

  7. Java 添加、删除Excel表单控件

    通过表单控件,用户可以快速地将数据填写到模板文档中,轻松引用单元格数据并与其进行交互.本文通过Java代码示例介绍如何在Excel表格中添加表单控件,包括文本框.单选按钮.复选框.组合框.微调按钮等: ...

  8. Oracle的学习二:表管理(数据类型、创建/修改表、添加/修改/删除数据、数据查询)

    1.Oracle表的管理 表名和列名的命名规则: 必须以字母开头: 长度不能超过30个字符: 不能使用oracle的保留字: 只能使用如下字符:A-Z, a-z, 0-9, $, # 等. Oracl ...

  9. SQL Server 数据的添加修改删除和查询

    数据的添加: 首先建立一个数据库,点击新建查询,然后用代码建立一个表,表里写上列名和数据类型,约束可加可不加 然后使用insert语句往表里添加数据 insert [into] 表名 (列名1,列名2 ...

随机推荐

  1. Salesforce学习之路-developer篇(二)利用Jenkins和Bitbucket实现Salesforce的CI/CD功能

    上文提到,基于CRM的二次开发是必不可少的,但是在实际项目中CI/CD是不可忽略的一个重要部分,与传统的Java,Python项目不同,如果对Salesforce进行持续集成和持续部署呢? 结合找到的 ...

  2. (转)在阿里云 CentOS 服务器(ECS)上搭建 nginx + mysql + php-fpm 环境

    阿里云的云服务器(ECS)可以选择多种操作系统,打算用它运行 Drupal或者 WordPress ,你最好选择 Linux 系统,这篇文章的演示是基于阿里云的 CentOS 操作系统的服务器.我们在 ...

  3. 使Flask的url支持正则表达式以及一个api小demo

    from flask import Flask from flask import jsonify from flask import request from werkzeug.routing im ...

  4. Apache和Tomcat 配置负载均衡(mod-proxy方式)-无session共享、无粘性session

    转:https://blog.csdn.net/wangjunjun2008/article/details/38268483 mod-proxy方式实现负载均衡是利用了Apache 2.x版本自带的 ...

  5. Mycat 关键特性

    关键特性 支持SQL92标准 支持MySQL.Oracle.DB2.SQL Server.PostgreSQL等DB的常见SQL语法 遵守Mysql原生协议,跨语言,跨平台,跨数据库的通用中间件代理. ...

  6. selenium实现百度图片爬取

    因为是百度图片是瀑布流ajax异步上传的数据,所以这里用到抓包工具来抓取链接(fiddler) 好了直接上代码, from selenium import webdriver from seleniu ...

  7. java架构之路-(面试篇)Mysql面试大全

    说一下mysql比较宏观的面试,具体咋写sql的这里就不过多举例了.后面我还会给出一个关于mysql面试优化的试题,这里主要说的索引和B+Tree结构,很少提到我们的集群配置优化方案. 1.索引是什么 ...

  8. Spark 学习笔记之 aggregateByKey

    aggregateByKey: import org.apache.spark.SparkContext import org.apache.spark.rdd.RDD import org.apac ...

  9. JSON parse error: No suitable constructor found for type

    错误信息: 2019-02-19 09:17:58,678 [http-nio-8080-exec-1] WARN org.springframework.web.servlet.mvc.suppor ...

  10. rest_framework视图

    知识预览 视图 回到顶部 视图 使用混合(mixins) 上一节的视图部分:   from rest_framework.views import APIView from rest_framewor ...