Java 添加、读取、删除Excel形状
本文介绍通过java程序在excel中操作形状(图形)的方法,包括:
1. 添加形状(如设置形状类型/位置/大小、形状颜色填充(单色/渐变色/纹理/图片填充)、形状显示或隐藏、形状倾斜角度、添加文本到形状、形状阴影等)
2. 读取形状中的文本和图片
3. 删除形状(删除指定或全部形状)
工具:Spire.XLS for Java
Jar文件获取及导入:通过官网下载或maven下载导入。导入效果如下:
Java代码示例
【示例1】 添加形状
import com.spire.xls.*;
import com.spire.xls.core.IPrstGeomShape; import java.awt.*; public class AddShape {
public static void main(String[] args) {
//加载测试文档
Workbook wb = new Workbook();
wb.loadFromFile("test.xlsx"); //获取工作表
Worksheet sheet = wb.getWorksheets().get(0); //添加椭圆形
IPrstGeomShape ellipse = sheet.getPrstGeomShapes().addPrstGeomShape(3,4,125,200,PrstGeomShapeType.Ellipse);
ellipse.getFill().setFillType(ShapeFillType.SolidColor);//单色填充
ellipse.getFill().setForeColor(new Color(180,125,208));
ellipse.setRotation(30);//形状旋转角度
ellipse.setText("椭圆形状添加文本");//添加文本到形状 //添加星形
IPrstGeomShape star = sheet.getPrstGeomShapes().addPrstGeomShape(3,8,180,200,PrstGeomShapeType.Star5);
star.getFill().setFillType(ShapeFillType.Gradient);//渐变填充
star.getFill().setGradientColorType(GradientColorType.Preset);
star.getFill().setForeColor(Color.orange); //添加云朵形状
IPrstGeomShape cloud = sheet.getPrstGeomShapes().addPrstGeomShape(12,4,175,200,PrstGeomShapeType.Cloud);
cloud.getFill().setFillType(ShapeFillType.Texture);//纹理填充
cloud.getFill().setTexture(GradientTextureType.WhiteMarble);
cloud.setVisible(true);//设置形状是否可见
//设置云朵阴影效果
cloud.getShadow().setAngle(90);
cloud.getShadow().setDistance(10);
cloud.getShadow().setSize(100);
cloud.getShadow().setColor(Color.GRAY);
cloud.getShadow().setBlur(30);
cloud.getShadow().setTransparency(1);
cloud.getShadow().hasCustomStyle(); //添加矩形形状
IPrstGeomShape rect = sheet.getPrstGeomShapes().addPrstGeomShape(15,8,125,200,PrstGeomShapeType.Rect);
rect.getFill().customPicture("tp.png");//加载图片填充
rect.setName("Shape4");//命名形状 //保存文档
wb.saveToFile("AddShape.xlsx");
wb.dispose();
}
}
形状添加效果:
【示例2】读取形状中的文本和图片
import com.spire.xls.*; import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException; public class Extract {
public static void main(String[] args) throws IOException {
//加载文档
Workbook wb = new Workbook();
wb.loadFromFile("AddShape.xlsx"); //获取工作表
Worksheet sheet = wb.getWorksheets().get(0); //获取指定形状中的文本
String text = sheet.getPrstGeomShapes().get(0).getText();
System.out.println(text); //获取指定形状中的图片
BufferedImage image = sheet.getPrstGeomShapes().get(3).getFill().getPicture();
ImageIO.write(image,"png",new File("ExtractedImage.png"));
}
}
文本、图片读取结果:
【示例3】删除形状
import com.spire.xls.*; public class RemoveShape {
public static void main(String[] args) {
//加载文档
Workbook wb = new Workbook();
wb.loadFromFile("AddShape.xlsx"); //获取工作表
Worksheet sheet = wb.getWorksheets().get(0); //获取指定形状,删除
sheet.getPrstGeomShapes().get(1).remove();//通过索引值获取并删除
// sheet.getPrstGeomShapes().get("Shape4").remove();//通过形状名称获取并删除 //删除所有图形
for (int i = sheet.getPrstGeomShapes().getCount()-1; i >= 0; i--)
{
sheet.getPrstGeomShapes().get(i).remove();
} //保存文档
wb.saveToFile("RemoveShape.xlsx");
wb.dispose();
}
}
运行程序后,可查看形状删除效果。
(本文完)
Java 添加、读取、删除Excel形状的更多相关文章
- Java 添加、删除Excel表单控件
通过表单控件,用户可以快速地将数据填写到模板文档中,轻松引用单元格数据并与其进行交互.本文通过Java代码示例介绍如何在Excel表格中添加表单控件,包括文本框.单选按钮.复选框.组合框.微调按钮等: ...
- Java 添加、删除、移动、隐藏/显示Excel工作表
本文内容将介绍通过Java程序如何添加.删除.移动工作表,以及设置工作表隐藏.显示等操作.文中使用了Java Excel类库(Free Spire.XLS for Java 免费版),可通过官网下载包 ...
- Java 添加数字签名到Excel以及检测、删除签名
Excel中可添加数字签名以供文档所有者申明文档的所有权或有效性.文本以Java代码示例介绍如何在Excel文档中对数字签名功能进行相关操作,包括如何添加签名到Excel.检测Excel文档是否已签名 ...
- java后台读取/解析 excel表格
需求描述 前台需要上传excel表格,提交到后台,后台解析并返回给前台,展示在前台页面上! 前台部分代码与界面 <th style="padding: 7px 1px;width:15 ...
- Java 添加、删除、替换、格式化Word中的文本(基于Spire.Cloud.SDK for Java)
Spire.Cloud.SDK for Java提供了TextRangesApi接口可通过addTextRange()添加文本.deleteTextRange()删除文本.updateTextRang ...
- Java 添加、删除、格式化Word中的图片
本文介绍使用Spire.Cloud.SDK for Java提供的ImagesApi接口来操作Word中的图片.具体可通过addImage()方法添加图片.deleteImage()方法删除图片.up ...
- Java poi读取,写入Excel,处理row和cell可能为空的情况
首先需要导入包 import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.NP ...
- Java 添加、修改、读取、复制、删除Excel批注
本文介绍通过Java程序来操作Excel批注的方法.操作内容包括批注添加(添加批注文本.背景色.字体.自适应等).修改.读取(文本.图片).复制.删除等. 工具:Free Spire.XLS for ...
- Java 添加、读取、删除Excel文档属性
在文档属性中,可以设置诸多关于文档的信息,如创建时间.作者.单位.类别.关键词.备注等摘要信息以及一些自定义的文档属性.下面将通过Java程序来演示如何设置,同时对文档内的已有信息,也可以实现读取和删 ...
随机推荐
- java 嵌入式数据库H2
H2作为一个嵌入型的数据库,它最大的好处就是可以嵌入到我们的Web应用中,和我们的Web应用绑定在一起,成为我们Web应用的一部分.下面来演示一下如何将H2数据库嵌入到我们的Web应用中. 一.搭建测 ...
- 写时拷贝COW(copy-on-write)
写时拷贝技术是通过"引用计数"实现的,在分配空间的时候多分配4个字节,用来记录有多少个指针指向块空间,当有新的指针指向这块空间时,引用计数加一,当要释放这块空间时,引用计数 ...
- 博客同步到CSDN客户端
同步本人博客到CSDN客户端 http://blog.csdn.net/johnnyz1234
- Perl 的继承
Perl 类的定义 Perl的一个packag可以作为一个类使用,文件后缀名为.pm,并且把package里的函数当作类的方法来用.如: package Person; 创建和使用对象 大多数程序使用 ...
- Mybase desktop7.3破解
1.Mybase Desktop 7.3 安装包 百度云链接: 链接:https://pan.baidu.com/s/1mWZ2_Qmkf6aAX9CYgrN12A 提取码:vjw7 2.破解包 百度 ...
- asp.net core 3.x Endpoint终结点路由1-基本介绍和使用
前言 我是从.net 4.5直接跳到.net core 3.x的,感觉asp.net这套东西最初是从4.5中的owin形成的.目前官方文档重点是讲路由,没有特别说明与传统路由的区别,本篇主要介绍终结点 ...
- java基础 -- 关键字static的用法
static关键字的基本作用就是方便在没有创建对象的情况下调用类的方法/变量, static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问. static ...
- 关于 5G,我们应该了解的
2020年元旦,我看了高通之前发布的一篇关于5G的文章,标题为“Everything You Need to Know About 5G”,主要包括5G是什么.有什么优势以及未来的前景等内容.我斗胆翻 ...
- shell点名脚本不重复人名
效果如图: 代码如下: #!/bin/bash #Author:GaoHongYu #QQ: #Time:-- :: #Name:dm.sh #Version:V1. stu=(刘一 陈二 张三 李四 ...
- Docker日常常用命令汇总
一.使用docker镜像/容器 (1)创建容器,且进入命令台 docker run --name 容器名 -i -t ubuntu /bin/bash (2)查看/容器 docker ps #查看正在 ...