java poi读取图表_转:通过 POI 获取图片在 Excel 表格中的位置

本文介绍了如何使用Java的Apache POI库来读取Excel中的图表,并获取其在工作表中的位置信息。虽然JXL无法读取自制的统计图表,但POI可以读取并定位图片。提供了获取所有图片及其位置的代码示例,并提到可以将读取到的图表保存为PNG格式。文章最后呼吁有解决方案的朋友分享帮助。
摘要由CSDN通过智能技术生成

静态报表真的很头痛哦,查找很久发现JXL、POI在读取excel中自制的统计图表方面存在局限,无法读取;但在读取一张图片以及写入图表方面还可以,我的问题解决不了了,肿么办??????

java如何读取excel中自制的统计图表,然后将读到的图表生成 png格式的图片???

注:图表可能是一个完整的模板,也可能是通过excel中多个图表工具组合成的复合图表

希望能帮我的朋友给我发邮件,提供解决方法,不胜感激!邮箱:a303313655@163.com

在网站查找中发现通过POI获取图片在excel中的位置的博客,觉得思路很好,现转载一下,大家分享!

获取位置:

public static List getAllPictures(HSSFWorkbook workbook) {

List list = new ArrayList();

List pictureList = workbook.getAllPictures();

List clientAnchorRecords = getClientAnchorRecords(workbook);

if (pictureList.size() != clientAnchorRecords.size()) {

throw new RuntimeException("解析文件中的图片信息出错,找到的图片数量和图片位置信息数量不匹配");

}

for (int i = 0; i < pictureList.size(); i++) {

HSSFPictureData pictureData = pictureList.get(i);

ClientAnchorInfo anchor = clientAnchorRecords.get(i);

HSSFSheet sheet = anchor.sheet;

EscherClientAnchorRecord clientAnchorRecord = anchor.clientAnchorRecord;

list.add(new MyPictureData(workbook, sheet, pictureData, clientAnchorRecord));

}

return list ;

}

private static class ClientAnchorInfo {

public HSSFSheet sheet;

public EscherClientAnchorRecord clientAnchorRecord;

public ClientAnchorInfo(HSSFSheet sheet, EscherClientAnchorRecord clientAnchorRecord) {

super();

this.sheet = sheet;

this.clientAnchorRecord = clientAnchorRecord;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值