import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.*;
import org.apache.poi.ss.util.ImageUtils;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.*;
public class ExcelChartToImage {
public static void main(String[] args) {
try {
// 读取Excel文件
FileInputStream fileInputStream = new FileInputStream("path/to/your/excel.xlsx");
Workbook workbook = new XSSFWorkbook(fileInputStream);
// 获取第一个Sheet
Sheet sheet = workbook.getSheetAt(0);
// 获取Sheet中的绘图对象
XSSFDrawing drawing = (XSSFDrawing) sheet.createDrawingPatriarch();
// 遍历绘图对象,查找图表
for (XSSFChart chart : drawing.getCharts()) {
// 将图表转换为图片
ByteArrayOutputStream chartOut = new ByteArrayOutputStream();
chart.getPackagePart().save(chartOut);
ByteArrayInputStream chartIn = new ByteArrayInputStream(chartOut.toByteArray());
BufferedImage bufferedImage = ImageIO.read(chartIn);
// 保存图片到本地
File outputImage = new File("path/to/save/image.png");
ImageIO.write(bufferedImage, "png", outputImage);
System.out.println("Chart image saved successfully.");
}
// 关闭文件流
fileInputStream.close();
workbook.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
https://c.aalib.net/tool/chatgpt/
https://chat.jinshutuan.com/#/chat/1684810656315
https://chat.scorpii.net/
相关的依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-encryption</artifactId>
<version>5.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-full</artifactId>
<version>5.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>ooxml-schemas</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>com.github.virtuald</groupId>
<artifactId>curvesapi</artifactId>
<version>1.06</version>
</dependency>