채택완료

주문내역 엑셀로 다운로드시 이미지를 엑셀에 보이게 하고싶습니다.

주문내역 엑셀로 다운로드시 이미지를 엑셀에 보이게 하고싶습니다.

 

Copy
<?php

$sub_menu = '400400';

include_once('./_common.php');

 

auth_check($auth[$sub_menu], "w");

 

// 주문정보

$sql = " select *

            from {$g5['g5_shop_order_table']}

             ";

$result = sql_query($sql);

 

if(!@sql_num_rows($result))

    alert_close('배송처리할 주문 내역이 없습니다.');

 

function column_char($i) { return chr( 65 + $i ); }

 

if (phpversion() >= '5.2.0') {

    include_once(G5_LIB_PATH.'/PHPExcel.php');

    

    $headers = array('주문번호', '상품이미지', '수량');

    $widths  = array(20, 15, 10);

    $header_bgcolor = 'FFABCDEF';

    $last_char = column_char(count($headers) - 1);

 

    for($i=1; $row=sql_fetch_array($result); $i++) {

        $rows[] = 

                    array(' '.$row['od_id'], 

                        $row['item_image']


 

                        

);

    }

 

    $data = array_merge(array($headers), $rows);

 

    $excel = new PHPExcel();

    $excel->setActiveSheetIndex(0)->getStyle( "A1:${last_char}1" )->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID)->getStartColor()->setARGB($header_bgcolor);

    $excel->setActiveSheetIndex(0)->getStyle( "A:$last_char" )->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER)->setWrapText(true);

    foreach($widths as $i => $w) $excel->setActiveSheetIndex(0)->getColumnDimension( column_char($i) )->setWidth($w);


 

    //추가하려고 시도중인 소스 부분시작

    for($i=1; $rowNumber=sql_fetch_array($result); $i++) {

    $excel->getActiveSheet()->setCellValue('A'.$rowNumber, $p_od_id);

 

    if($item_image)

    {

    $objDrawing = new PHPExcel_Worksheet_Drawing();

    $objDrawing->setPath($item_image);

    $objDrawing->setCoordinates('B'.$rowNumber);

    $objDrawing->setWorksheet($excel->getActiveSheet());

    $excel->getActiveSheet()->getRowDimension($rowNumber)->setRowHeight(120);

    }

    else

    {

    $excel->getActiveSheet()->setCellValue('B'.$rowNumber, '');

    }

  

    // 추가하려고 시도중인 소스 부분 끝

 

    $excel->getActiveSheet()->fromArray($data,NULL,'A1');

 

    header("Content-Type: application/octet-stream");

    header("Content-Disposition: attachment; filename=\"allorderlist_".date("ymd", time()).".xls\"");

    header("Cache-Control: max-age=0");

 

    $writer = PHPExcel_IOFactory::createWriter($excel, 'Excel5');

    $writer->save('php://output');

} 

?>

 

// 추가하려고 시도중인 소스 부분을 보시면 다른데 참조해서 변경하려는데 원래 다운로드 php파일에서 데이터베이스의 값들을 다운로드하기위해서 배열을 쓰고 있어서 배열에 대한 지식이 부족하여 해결방법이 있는지 문의드립니다.

 

도움 부탁드립니다.

답변 2개

채택된 답변
+20 포인트

주문내역 엑셀로 다운로드시 이미지 전체주소를 다운로드 할수있도록 수정 하시면 될것 같은데요.

의뢰를 해보세요 ㅎㅎ

답변을 작성하려면 로그인이 필요합니다.