Java 添加、读取、删除Excel图片

本文介绍在Java程序中如何添加图片到excel表格,添加图片时可设置图片大小、位置、旋转、超链接、可选文本等,以及如何读取、删除excel表格中已有的图片。

 

工具:Free Spire.XLS for Java (免费版)

:可通过官网下载包,并解压将lib文件夹下的jar文件导入java程序;或者通过maven仓库下载导入

Jar导入效果:

Java 代码示例

 【示例1】添加图片 

import com.spire.xls.*;

public class AddImage {
    public static void main(String[] args) {
        //加载文档
        Workbook wb = new Workbook();
        wb.loadFromFile("test.xlsx");

        //获取工作表
        Worksheet sheet = wb.getWorksheets().get(0);

        //添加图片
        ExcelPicture picture = sheet.getPictures().add(7,2,"tp.png");
        picture.setHeight(270);//设置图片高度
        picture.setWidth(550);//设置图片宽度
        picture.setRotation(20);//设置图片旋转角度
        picture.setAlternativeText("Picture1");//设置图片可选文本
        picture.setHyperLink("http://www.baidu.com",true);//添加超链接到图片

        //保存文档
        wb.saveToFile("AddImage.xlsx", ExcelVersion.Version2010);
        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 ExtractImage {
    public static void main(String[] args) throws IOException {
        //加载文档
        Workbook wb = new Workbook();
        wb.loadFromFile("AddImage.xlsx");

        //获取第一张工作表
        Worksheet sheet = wb.getWorksheets().get(0);

        //获取工作表中第一张图片并保存到指定路径
        ExcelPicture pic = sheet.getPictures().get(0);
        BufferedImage loImage = pic.getPicture();
        ImageIO.write(loImage,"jpg",new File("ExtractedImage.jpg"));
    }
}

图片读取结果:

 

【示例3】删除图片

import com.spire.xls.*;

public class RemoveImage {
    public static void main(String[] args) {
        //加载文档
        Workbook wb = new Workbook();
        wb.loadFromFile("AddImage.xlsx");

        //获取指定工作表
        Worksheet sheet = wb.getWorksheets().get(0);

        //获取指定图片,删除
        sheet.getPictures().get(0).remove();

        //保存文档
        wb.saveToFile("RemoveImage.xlsx",ExcelVersion.Version2010);
        wb.dispose();
    }
}

运行程序后,生成的文件可查看图片删除效果。

 

(本文完)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java可以使用Apache POI库来操作Excel文件,包括添加读取删除图表趋势线。 添加图表趋势线: ```java // 创建一个趋势线对象 XSSFChart chart = (XSSFChart) sheet.createDrawingPatriarch().createChart(anchor); XSSFCategoryAxis bottomAxis = chart.createCategoryAxis(AxisPosition.BOTTOM); XSSFValueAxis leftAxis = chart.createValueAxis(AxisPosition.LEFT); XSSFLineChartData data = chart.createLineChartData("趋势线"); // 添加数据 XSSFChartLineChartData.Series series = data.addSeries(bottomAxis, leftAxis); series.addPoint(new XSSFChartLineChartData.DataPoint(0, 2)); series.addPoint(new XSSFChartLineChartData.DataPoint(1, 3)); series.addPoint(new XSSFChartLineChartData.DataPoint(2, 4)); // 添加趋势线 XSSFChartTrendline trendline = series.addTrendline(0, TrendlineType.LINEAR); trendline.setDisplayEquation(true); trendline.setDisplayRSquared(true); ``` 读取图表趋势线: ```java // 读取Excel文件 File file = new File("/path/to/file.xlsx"); Workbook workbook = WorkbookFactory.create(file); Sheet sheet = workbook.getSheetAt(0); // 获取图表对象 XSSFDrawing drawing = sheet.getDrawingPatriarch(); for (XSSFShape shape : drawing.getShapes()) { if (shape instanceof XSSFChart) { XSSFChart chart = (XSSFChart) shape; for (XSSFChartSeries series : chart.getSeries()) { for (XSSFChartTrendline trendline : series.getTrendlines()) { // 获取趋势线方程和R-squared值 String equation = trendline.getEquation(); double rSquared = trendline.getRSquared(); } } } } ``` 删除图表趋势线: ```java // 获取趋势线对象并删除 XSSFChartTrendline trendline = series.getTrendline(0); series.removeTrendline(trendline); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值