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

运行程序后,可查看形状删除效果。

(本文完)

原文地址:https://www.cnblogs.com/Yesi/p/12256675.html

时间: 2024-08-29 09:28:04

Java 添加、读取、删除Excel形状的相关文章

Java 添加、删除Excel表单控件

通过表单控件,用户可以快速地将数据填写到模板文档中,轻松引用单元格数据并与其进行交互.本文通过Java代码示例介绍如何在Excel表格中添加表单控件,包括文本框.单选按钮.复选框.组合框.微调按钮等:以及如何删除Excel中的指定表单控件.程序运行环境:Java.IDEA.jdk1.8.0.无需安装Microsoft Excel使用工具:Free Spire.XLS for Java (免费版)jar获取及导入:官网下载jar包,并解压,将lib文件夹下的jar文件导入java程序.或者可通过m

Java 添加、读取、删除Excel文档属性

在文档属性中,可以设置诸多关于文档的信息,如创建时间.作者.单位.类别.关键词.备注等摘要信息以及一些自定义的文档属性.下面将通过Java程序来演示如何设置,同时对文档内的已有信息,也可以实现读取和删除等操作. 示例大纲: 1. 添加文档属性 1.1 添加摘要信息 1.2 添加自定义文档信息 2. 读取文档属性 3. 删除文档信息 3.1 删除所有摘要信息.自定义文档属性 3.2 删除指定摘要信息.自定义文档属性 使用工具:Spire.XLS for Java 获取方法1:通过官网下载包.下载后

Java 添加、读取和删除 Excel 批注

批注是一种富文本注释,常用于为指定的Excel单元格添加提示或附加信息. Free Spire.XLS for Java 为开发人员免费提供了在Java应用程序中对Excel文件添加和操作批注的功能. 本文将介绍如何使用Free Spire.XLS for Java在Excel文档中添加,读取和删除批注. 安装首先你需要下载Spire.XLS JAR并将其作为依赖项添加到您的Java程序中.如果您使用的是maven,您需要将以下依赖项添加到您的pom.xml文件中. <repositories>

java使用POI实现excel文件的读取,兼容后缀名xls和xlsx

需要用的jar包如下: 如果是maven管理的项目,添加依赖如下: <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.14</version> </depen

java读取WORD/EXCEL模板转换生成新WORD/EXCEL文档

原文:java读取WORD/EXCEL模板转换生成新WORD/EXCEL文档 代码下载地址:http://www.zuidaima.com/share/1550463239670784.htm 可以通过预先设置指定的excel和word模板,通过替换文档里面指定的标志来生成新的excel和word文档.excel的部分只是实现了简单的方法.word部分可以支持word2003和word2007格式.建议word使用07及其以上. 其实excel部分标签和jstl很像,而且支持循环等.word就支

java通过POI技术操作Excel(2)----模板读取,录入数据

先来回顾下通常把java对Excel的操作分为以下功能:1.生成模板,导出模板:2.填充模板,录入数据:3:读取数据库数据,导出数据:在上一篇博文中,我简单记录了模板生成和导出,在这篇博文中,主要来记录--Excel文件导入,数据录入(仍然是以jsp+servlet为例) 既然要解决这个问题,那首先来分析下我们需要面对的有哪些需求需要实现: 1.Excel文件导入(这是最基础的,巧妇难为无米之炊,导入环节也是查了好久才完成的); 2.Excel文件中数据的格式判定,你要读取文件,如果文件中其实没

FileSystemObject组件新建读取添加修改删除功能实例

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>FileSystemObject组件应该实例</title> </head> <

Java中读取Excel功能实现_POI

这里使用apache的poi进行读取excel 1,新建javaproject 项目:TestExcel 2,导入包 包下载地址:http://poi.apache.org/download.html#POI-3.10-FINAL 百度网盘下载:http://pan.baidu.com/s/1i365mQT 导入根目录下.lib.ooxml-lib下的所有jar 4,操作读取excel import java.io.File; import java.io.IOException; import

ArcGIS Engine效率探究——要素的添加和删除、属性的读取和更新

ArcGIS Engine效率探究——要素的添加和删除.属性的读取和更新 来自:http://blog.csdn.net/freewaywalker/article/details/23703863 分类: ArcNotes2014-04-14 20:56 1781人阅读 评论(0) 收藏 举报 1. 要素的添加 ArcGIS Engine中,主要有两个方法用于要素的添加: Using IFeatureClass.CreateFeature followed by IFeature.Store