PureJS ExcelIO 이미지 export 문제
페이지 정보
작성자 케어가든 작성일 2023-10-19 17:55 조회 232회 댓글 0건본문
관련링크
안녕하세요 SpreadJS를 이용해 웹 모듈 개발 중에 있습니다.
개발 중 ExcelIO를 이용해 excel export 시 이미지가 계속해서 출력되지 않는 문제가 있어 문의드립니다.
편집 중 버튼으로 이미지를 넣을 수 있도록 개발 중이라
이미지가 추가된 셀은 아래 스크립트와 같은 형태로 작성되어 있습니다.
버튼이 남아있는 셀:
var imageBtn = new GC.Spread.Sheets.CellTypes.Button();
sheet.setCellType(row, col, imageBtn, GC.Spread.Sheets.SheetArea.viewport);
이미지가 추가된 셀:
sheet.getCell(row, col).formatter('=IMAGE("'이미지 주소'")');
그리고 삽입된 이미지를 추출되는 엑셀 파일에도 정상적으로 띄우기 위해서
위의 포럼 글을 참고, function toDataURL을 추가하여 이미지 URL을 base64로 변환해
아래와같은 스크립트로 시트 위에 이미지를 삽입하였고...var cellRect = sheet.getCellRect(row, col);
var url = sheet.getFormatter(row, col).substring(8).slice(0, -2);
toDataURL(url, function (dataUrl) {
var img = sheet.pictures.add('img', dataUrl, cellRect.x-100, cellRect.y-70, 100, 70);
img.startRow(row);
img.startColumn(col);
img.startRowOffset(0);
img.startColumnOffset(0);
});
웹 화면에는 이런 형태로 그림이 유지되나 선택되지는 않았습니다.
(셀 배경으로 박힌 것처럼, 편집하려 하면 text cursor가 나타남)
export한 엑셀 파일에는 이와 같이 나타났습니다.
base64변환된 이미지가 웹 상에서 정상적으로 보이는 것을 확인했으며,
sheet.pictures.add 대신
sheet.shapes.addPictureShape 를 사용해도 결과가 같았습니다
링크에 있는 codepen샘플은 정상적으로 이미지가 잘 출력되는데 왜 제가 작성중인 스크립트에서는 이미지 출력에 문제가 있는지 아직 해결책을 못 찾았습니다. 문제점을 찾아주실 수 있을까요
댓글목록
등록된 댓글이 없습니다.