poi Excel의 그림 위치 읽기
지난주부터 엑셀 가져오기를 부추겨 최신 포이 패키지를 다운로드한 결과 엑셀 파일에 그림이 있었다.사진을 처리하는 것은 정말 어려운 일이다. 인터넷 검색을 통해 처음에 HSSFSheet류가 그림을 처리하는 예를 발견했지만 xlsx 파일이 사용할 수 있는 것이 아니다. 그 중에서 한 가지 방법에 대한 HSSFSheet.getDrawingEscherAggregate()가 표시됩니다.
쪽지: 스티커 1:http://www.cnblogs.com/shwen99/archive/2010/09/13/1824896.html
나중에 xls와 xlsx가 그림을 읽는 위치를 겸용하는 스티커를 찾았는데 이 스티커는 문제를 해결할 수 있다.
쪽지: 스티커 2:http://blog.csdn.net/delongcpp/article/details/8833995
하지만 그 중 하나는 XSSFSheet입니다.getRelations (), 컬렉션을 찾아서 이 컬렉션이 무엇인지 궁금합니다.내 프로젝트에서 한 원소만 발견했는데 작업표 그림을 꺼내서 이 집합의 첫 번째 원소만 가져오면 되는지 의문이 든다. (for 순환하는 코드를 쓰지 않아도 된다. 게으름~)?인터넷에서 공식api 문서를 찾았는데 찾아보니 공식문서에 XSSFSheet에 방법이 있다고 쓰여 있어요. getDrawing Patriarch(), 스티커 1 같은 방법이에요. 반환된 결과는 스티커 2가 필요한 대상입니다.전에도 모든 방법을 다 해봤는데 기억에는 이 방법이 없었고 프로젝트에서 해봤는데 역시 없었다.그래서 새로운 버전이 있는 건지 의심스럽습니다. 제가 지난주에 최신판 3.11을 다운로드받았기 때문입니다. 하지만 서프라이즈를 기대하는 마음으로 인터넷에 접속했습니다.역시, 최신 버전은 3.12, 5월 11일 업데이트!바로 어제!하하, 정말 졸고 싶을 때 베개를 배달하러 왔어요.이제 xlsx 그림을 더 편리하게 처리할 수 있습니다!
다음은 내가 쓴 방법 중 하나이다.
/**
* , null。
*
* @param sheet
*
* @param cell
*
* @return
*/
public static String getPictureNameOfCell(Sheet sheet, Cell cell) {
int cellRowIndex = cell.getRowIndex();
int cellColIndex = cell.getColumnIndex();
if (sheet instanceof XSSFSheet) {
XSSFSheet xSheet = (XSSFSheet) sheet;
XSSFDrawing drawing = xSheet.getDrawingPatriarch();
List<XSSFShape> xShapeList = drawing.getShapes();
for (int i = 0; i < xShapeList.size(); i++) {
XSSFPicture xPicture = (XSSFPicture) xShapeList.get(i);
XSSFClientAnchor xAnchor = xPicture.getPreferredSize();
if (xAnchor.getRow1() == cellRowIndex && xAnchor.getCol1() == cellColIndex) {
return xPicture.getPictureData().getPackagePart().getPartName().getName();
}
}
}
return null;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
POI Excel 사용자 정의 날짜 형식 읽기 (인스턴스 코드)POI로 Excel 데이터 읽기: (버전 번호: POI3.7) 1. Excel 읽기 2, Excel 데이터 처리: Excel 저장 날짜, 시간은 모두 수치 형식으로 저장되며, 읽을 때 POI가 먼저 수치 유형인지 아...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.