本文以Java示例介绍如何在Excel中添加趋势线,以及读取趋势线公式。通过文中的方法可支持添加6种不同类型的趋势线,包括Linear、Exponential、Logarithmic、Moving Average、Polynomial、Power等;读取趋势线时可读取趋势线类型、名称、公式等。

代码程序环境要求:

  • Spire.xls.jar(这里用免费版的就可以了)
  • Jdk 1.8.0 (jdk版本要求1.6.0及以上就可以)
  • IDEA

其中,jard导入可参考如下两种方法(任选其一):

1. 下载免费版jar包Free Spire.XLS for Java,手动导入jar到Java程序。Jar文件在解压文件中的lib文件夹下获取。

2.  Maven程序中,通过配置pom.xml文件,指定maven仓库路径及spire.xls.free的依赖(同时注意版本号是否正确),如下:

<repositories>
<repository>
<id>com.e-iceblue</id>
<url>http://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls.free</artifactId>
<version>3.9.1</version>
</dependency>
</dependencies>

完成配置后,导入jar到程序。

Eclipse中导入jar步骤略有不同,具体可参考教程

jar导入效果:

Java 代码示例

1. 添加趋势线

import com.spire.xls.*;
import com.spire.xls.core.IChartTrendLine; import java.awt.*; public class AddTrendlineToChart {
public static void main(String[] args) {
//加载Excel文档
Workbook wb = new Workbook();
wb.loadFromFile("test.xlsx"); //获取第一个工作表中的第一个图表
Chart chart0 = wb.getWorksheets().get(0).getCharts().get(0); //给图表的第一个数据系列添加趋势线(支持Linear、Exponential、Logarithmic、Moving_Average、Polynomial、Power等6种类型)
IChartTrendLine trendLine0 = chart0.getSeries().get(0).getTrendLines().add(TrendLineType.Linear);
trendLine0.setName("Linear(Series1)");//趋势线的名称
trendLine0.getBorder().setPattern(ChartLinePatternType.DashDot);//趋势线的线条类型
trendLine0.getBorder().setColor(new Color(255,69,0));//趋势线的线条颜色
trendLine0.setForward(0.5);//趋势线向前和向后延伸的单位数
trendLine0.setBackward(0.5);
trendLine0.setIntercept(5);//趋势线的截距
trendLine0.setDisplayEquation(true);//显示公式
trendLine0.setDisplayRSquared(true);//显示R平方值 //保存文档
wb.saveToFile("AddTrendline.xlsx", ExcelVersion.Version2013);
wb.dispose();
}
}

趋势线添加效果:

2. 读取趋势线

import com.spire.xls.*;
import com.spire.xls.core.IChartTrendLine; public class ReadTrendline {
public static void main(String[] args) {
//加载Excel文档
Workbook workbook = new Workbook();
workbook.loadFromFile("AddTrendline.xlsx"); //获取第一个工作表中的第一个图表
Chart chart = workbook.getWorksheets().get(0).getCharts().get(0); //获取图表的第一个数据系列的趋势线
IChartTrendLine trendLine = chart.getSeries().get(0).getTrendLines().get(0);
String type = trendLine.getType().toString();
String name = trendLine.getName();
String equation = trendLine.getFormula();
System.out.println("趋势线类型: "+ type + "\n"
+ "趋势线名称:" + name + "\n"
+ "趋势线公式:" + equation);
}
}

趋势线读取结果:

3. 删除图表中的趋势线

import com.spire.xls.*;

public class RemoveTrendline {
public static void main(String[] args) {
//加载Excel文档
Workbook workbook = new Workbook();
workbook.loadFromFile("AddTrendline.xlsx"); //获取第一个工作表中的第一个图表
Chart chart = workbook.getWorksheets().get(0).getCharts().get(0); //删除图表中的趋势线
chart.getSeries().get(0).getTrendLines().removeAt(0); //保存文档
workbook.saveToFile("result.xlsx",FileFormat.Version2013);
workbook.dispose();
}
}

趋势线删除结果:

Java 添加、读取、删除Excel中的图表趋势线的更多相关文章

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

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

  2. 如何使用VSTO自动将Excel中的图表复制到Word

    如何使用VSTO自动将Excel中的图表复制到Word 原文地址:https://code.msdn.microsoft.com/How-to-copy-Chart-in-Excel-a29f9029 ...

  3. Java 添加数字签名到Excel以及检测、删除签名

    Excel中可添加数字签名以供文档所有者申明文档的所有权或有效性.文本以Java代码示例介绍如何在Excel文档中对数字签名功能进行相关操作,包括如何添加签名到Excel.检测Excel文档是否已签名 ...

  4. Java 添加、删除、移动、隐藏/显示Excel工作表

    本文内容将介绍通过Java程序如何添加.删除.移动工作表,以及设置工作表隐藏.显示等操作.文中使用了Java Excel类库(Free Spire.XLS for Java 免费版),可通过官网下载包 ...

  5. Java 添加、删除、替换、格式化Word中的文本(基于Spire.Cloud.SDK for Java)

    Spire.Cloud.SDK for Java提供了TextRangesApi接口可通过addTextRange()添加文本.deleteTextRange()删除文本.updateTextRang ...

  6. Java 添加、删除、格式化Word中的图片

    本文介绍使用Spire.Cloud.SDK for Java提供的ImagesApi接口来操作Word中的图片.具体可通过addImage()方法添加图片.deleteImage()方法删除图片.up ...

  7. JDBC批处理读取指定Excel中数据到Mysql关系型数据库

    这个demo是有一个Excel中的数据,我需要读取其中的数据然后导入到关系型数据库中,但是为了向数据库中插入更多的数据,循环N次Excel中的结果. 关于JDBC的批处理还可以参考我总结的如下博文: ...

  8. java后台读取/解析 excel表格

    需求描述 前台需要上传excel表格,提交到后台,后台解析并返回给前台,展示在前台页面上! 前台部分代码与界面 <th style="padding: 7px 1px;width:15 ...

  9. java POI实现向Excel中插入图片

          做Web开发免不了要与Excel打交道.今天老大给我一个任务-导出Excel.开始想的还是蛮简单的,无非就是查找,构建Excel,response下载即可.但是有一点不同,就是要加入图片, ...

随机推荐

  1. nginx安全:用limit_req_zone/limit_req限制连接速率(流量控制/限流)

    一,limit_req的用途: 1,官方文档地址: http://nginx.org/en/docs/http/ngx_http_limit_req_module.html 2,用途: 限制用户在给定 ...

  2. Centos定时备份 MySQL数据库

    一.编写数据库备份脚本 backupmysql.sh #!/bin/bash # Name:bakmysql.sh # This is a ShellScript For Auto DB Backup ...

  3. 一个鲜为人知但很实用的Windows使用技巧

    作为一个电脑党,最无法忍受的就是每次开机都要手动打开那些必要的程序.有没办法让这些程序自动打开呢?今天小编意外地得到了一个方法,现在分享给大家. (以腾讯桌面整理为例) 1,Win + R 2,输入t ...

  4. Java安全之Commons Collections2分析

    Java安全之Commons Collections2分析 首发:Java安全之Commons Collections2分析 0x00 前言 前面分析了CC1的利用链,但是发现在CC1的利用链中是有版 ...

  5. 3. Distributional Reinforcement Learning with Quantile Regression

    C51算法理论上用Wasserstein度量衡量两个累积分布函数间的距离证明了价值分布的可行性,但在实际算法中用KL散度对离散支持的概率进行拟合,不能作用于累积分布函数,不能保证Bellman更新收敛 ...

  6. linux (简单了解)

    目录 Bash Shell 简单了解 Bash Shell基础语法 一 文件管理 二 用户管理 三权限管理 四 软件管理 什么是Bash Shell 命令的解释,用来翻译用户输入的命令 Bash Sh ...

  7. Navicat连接远程MySQL8.0数据库

    前言: 如果你有一台服务器,并且安装了Mysql8.0及以上版本数据库.此时想通过本地Navicat软件连接远程服务器上的mysql数据库.那么接下来你就要完成以下准备工作: 登录远程服务器上的数据库 ...

  8. Win32编程之控制线程

    0x01. 如何让线程停下来 让自己停下来: Sleep() 函数 当程序执行到某段代码的时候可以使用sleep() 函数进行暂停 使用sleep()函数挂起的时候会自动恢复过来的 让别人停下来: S ...

  9. ceph踩坑日记之rgw_dynamic_resharding

    1.背景说明 参考说明: https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/2/html/object_gatewa ...

  10. Redis还可以做哪些事?

    在上一篇文章中,讲到了redis五大基本数据类型的使用场景,除了string,hash,list,set,zset之外,redis还提供了一些其他的数据结构(当然,严格意义上也不算数据结构),一起来看 ...