poi获取Excel表中图片位置
来源:互联网 发布:淘宝店铺装修教程2016 编辑:程序博客网 时间:2024/05/20 03:42
import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.FileNotFoundException;import java.io.FilenameFilter;import java.util.Iterator;import java.util.List;import org.apache.poi.hssf.record.EscherAggregate;import org.apache.poi.ddf.EscherRecord;import org.apache.poi.ddf.EscherClientAnchorRecord;import org.apache.poi.ss.usermodel.WorkbookFactory;import org.apache.poi.ss.usermodel.Workbook;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.xssf.usermodel.XSSFWorkbook;import org.apache.poi.openxml4j.exceptions.InvalidFormatException;/*** 获取Excel表中图片位置* @author win user*/public class cc {public static void main(String[] args) {try {new cc().getImageMatrices("D:/aa.xls");} catch (Exception ex) {System.out.println("Caught an: " + ex.getClass().getName());System.out.println("Message: " + ex.getMessage());System.out.println("Stacktrace follows:.....");ex.printStackTrace(System.out);}}public void getImageMatrices(String folderName) throws IOException,FileNotFoundException, InvalidFormatException {//File fileFolder = new File(folderName);//File[] excelWorkbooks = fileFolder.listFiles(new ExcelFilenameFilter());// for(File excelWorkbook : excelWorkbooks) {Workbook workbook = WorkbookFactory.create(new FileInputStream(folderName));if (workbook instanceof HSSFWorkbook) {this.processImages((HSSFWorkbook) workbook);} else {this.processImages((XSSFWorkbook) workbook);}// }}private void processImages(HSSFWorkbook workbook) {EscherAggregate drawingAggregate = null;HSSFSheet sheet = null;List<EscherRecord> recordList = null;Iterator<EscherRecord> recordIter = null;sheet = workbook.getSheetAt(0);drawingAggregate = sheet.getDrawingEscherAggregate();if (drawingAggregate != null) {recordList = drawingAggregate.getEscherRecords();recordIter = recordList.iterator();while (recordIter.hasNext()) {this.iterateRecords(recordIter.next(), 1);}}//}}private void iterateRecords(EscherRecord escherRecord, int level) {List<EscherRecord> recordList = null;Iterator<EscherRecord> recordIter = null;EscherRecord childRecord = null;recordList = escherRecord.getChildRecords();recordIter = recordList.iterator();while (recordIter.hasNext()) {childRecord = recordIter.next();if (childRecord instanceof EscherClientAnchorRecord) {this.printAnchorDetails((EscherClientAnchorRecord) childRecord);}if (childRecord.getChildRecords().size() > 0) {this.iterateRecords(childRecord, ++level);}}}private void printAnchorDetails(EscherClientAnchorRecord anchorRecord) {System.out.print("图片左上角 "+anchorRecord.getRow1() +"行 " + anchorRecord.getCol1()+ "列" + " x坐标:"+ anchorRecord.getDx1() + " y坐标:" + anchorRecord.getDy1());System.out.println(" 图片的右下角 "+ anchorRecord.getRow2()+ " 行 "+ anchorRecord.getCol2() +" 列 "+ " x坐标:"+ anchorRecord.getDx2()+ " y坐标:" + anchorRecord.getDy2());}private void processImages(XSSFWorkbook workbook) {System.out.println("目前还不支持OOXML workbooks.Investigating.");}public class ExcelFilenameFilter implements FilenameFilter {public boolean accept(File file, String fileName) {boolean includeFile = false;if (fileName.endsWith(".xls") || fileName.endsWith(".xlsx")) {includeFile = true;}return (includeFile);}}}
0 0
- poi获取Excel表中图片位置
- 用POI获取excel表中的图片位置及数据
- poi 获取excel中图片
- 关于POI对Excel2007中图片的处理,获取图片在excel中对应的位置
- 利用POI获取Excel中图片和图片位置(支持excel2003or2007多sheet)
- poi获取图片位置
- 转:通过 POI 获取图片在 Excel 表格中的位置
- zk框架获取POI Excel图片 以及 设置图片位置和大小的方法
- poi获取excel图片(excel2003,excel2007)
- POI+JFreeChart生成报表图片在Excel中的位置
- Apache POI向excel中插入图片
- POI在Excel中插入图片
- POI导出图片到excel中
- 使用POI在EXCEL中插入图片
- poi导出Excel中图片的设置
- java poi 在excel中插入图片
- poi如何在excel中插入图片
- POI-获取Excel中合并单元格问题
- 关于使用Transaction对于非数据库事务的操作
- 设计模式——适配器模式
- POI导出Exel表中图片到文件夹下
- CSDN 夏令营程序 试题分析 (3)
- nginx安装及启动
- poi获取Excel表中图片位置
- 修改MyEclipse行数的颜色
- spring mina整合(客户端进行调用)
- SQL语句集锦——数据库表查询、更新、删除等SQL语法
- 理解got和plt
- web application stress tool网站压力测试
- Android开发,Toast重复显示(显示时间过长)解决方法
- 一、cocos2d-x 3.0 final使用httpclient编译到android,需要用到的android.mk
- uva11645 - Bits 统计 巧妙的大数