2016-06-14 16 views
2

ColdFusion 10에서 SpreadSheetAddImage를 사용하여 헤더에 이미지를 추가하는 것이 내 스프레드 시트입니다. 내가 실행중인 문제는 함수가 앵커 위치를 취하는 예입니다. 셀 1 행 1에서 셀 5 행 5로 이미지를 실행하려면 앵커 인수로 "1,1,5,5"를 제공합니다. . 그러나 내 테이블에 이러한 셀에 작은 데이터가 있으면 이미지에 크런치가 발생합니다. 너비와 높이가 설정된 이미지를 어떻게 추가 할 수 있습니까?SpreadSheetAddImage - 너비와 높이가 설정된 이미지 추가

SpreadsheetAddImage(excelSheet,"C:\myimagepath\excelReportHeaderImage.jpg","1,1,5,5"); 
+0

AFAIK, CF는 명시 적 크기 조정을 지원하지 않습니다. 너비와 높이를 변경하는 유일한 방법은 고정 된 행과 열의 너비/높이를 변경하는 것입니다. POI로 수행 할 수 있지만 Excel의 측정 시스템은 약간 복잡하므로 [명시적인 크기 조정은 생각만큼 쉽지 않습니다.] (http://stackoverflow.com/questions/759856/poi-3-2-image- 높이 - 너비 조절). 오버플로에 신경 쓰지 않는다면 이미지를 셀의 왼쪽 상단 모서리에 고정시키고 필요에 따라 크기를 조정할 수 있습니다. 다른 방법보다 약간 간단하지만 POI가 필요하지는 않습니다. – Leigh

+0

도 참조하십시오 [아파치 POI 이미지 셀 HSSF 및 XSSF] (http://stackoverflow.com/questions/759856/poi-3-2-image-height-width-controlling) – Leigh

+0

@Leigh - 오버플로 잘 있어요 , 어떻게 그것을 왼쪽 상단 셀 (A1)에 고정시키고 이미지가 가로 질러 지도록할까요? – Phil

답변

1

Leigh의 도움을 받아서 알아 냈습니다. E5 그것은 이미지의 실제 크기입니다 : ColdFusion에서 10 년, 여기

// Add our report header (must add AFTER the columns have been resized or it will reset the image size) 
headerImageBytes = FileReadBinary(image_file_path); 
headerImageIndex = poiWorkbook.addPicture(headerImageBytes, poiWorkbook.PICTURE_TYPE_JPEG); 
helper = poiWorkbook.getCreationHelper(); 
drawing = poiSheet.createDrawingPatriarch(); 
anchor = helper.createClientAnchor(); 
anchor.setCol1(0); 
anchor.setCol2(5); 
anchor.setRow1(0); 
anchor.setRow2(5); 
picture = drawing.createPicture(anchor, headerImageIndex); 
picture.resize(); 

지금 이미지는 셀 A1에서 보여줍니다 ... 내가 한 것입니다. 크기를 조정해야하는 경우 resize 메서드에 눈금을 전달할 수 있다고 생각합니다.

+0

멋진 작품! 이제 왜 CF가 그걸 상자 밖으로하지 않습니까 ?-)? – Leigh

+0

@Leigh - 나도 몰라. 어도비에있는 사람들이 이것을 조금 더 잘 생각해 보시기 바랍니다. – Phil

+0

예. 제 3 자 라이브러리 통합 문제에 대한 동정과 여러 가지 기본 기능을 사용할 수 없거나 기대했던대로 작동하지 않는다는 격렬한 말투심이 생겨납니다. 격노는 보통 승리합니다 ;-) – Leigh