Kết quả 1 đến 8 của 8
  1. #1
    CI Member devilcry2015's Avatar
    Ngày tham gia
    20-12-2014
    Bài viết
    44
    Cảm ơn
    25
    Được cảm ơn 0 trong 0 bài viết

    Question Help Cách Export images to Exel

    Chào các bạn !

    Mình đang gặp khó khăn vấn đề này , xuất hình ảnh ra file exel (hình ảnh không phải text), đã tham khảo nhiều nguồn nhưng vẫn chưa làm được chức năng này.

    Mong các pro vào giúp đỡ hoặc chỉ cho mình nguồn tham khảo với nhé, cám ơn các bạn !

  2. #2
    Super Moderator Zen Studio's Avatar
    Ngày tham gia
    19-06-2013
    Bài viết
    393
    Cảm ơn
    58
    Được cảm ơn 166 trong 123 bài viết

    phpexcel xuất kích

    PHP Code:
    <?php    $rowNumber 12;    foreach($list as $data){$this->excel->getActiveSheet()->setCellValue('A'.$rowNumber$data->code_caption)->setCellValue('B'.$rowNumber$data->color);if(file_exists('./media/img/gallery/items/'.$data->image.'TH.jpg')){    $objDrawing = new PHPExcel_Worksheet_Drawing();    $objDrawing->setPath('./media/img/gallery/items/'.$data->image.'TH.jpg');    $objDrawing->setCoordinates('C'.$rowNumber);    $objDrawing->setWorksheet($this->excel->getActiveSheet());    $this->excel->getActiveSheet()->getRowDimension($rowNumber)->setRowHeight(120);}else{$this->excel->getActiveSheet()->setCellValue('C'.$rowNumber'');}$this->excel->getActiveSheet()->setCellValue('D'.$rowNumber$data->desc);$this->excel->getActiveSheet()->setCellValue('E'.$rowNumber$data->$d_met);$this->excel->getActiveSheet()->setCellValue('F'.$rowNumber$data->$w_met);$this->excel->getActiveSheet()->setCellValue('G'.$rowNumber$data->$h_met);$this->excel->getActiveSheet()->setCellValue('H'.$rowNumber$data->qty);$this->excel->getActiveSheet()->setCellValue('I'.$rowNumber,$data->$cur_dat);           $this->excel->getActiveSheet()->setCellValue('J'.$rowNumber,$data->$total_price);$rowNumber++;    }?>
    dựa vào đấy để làm j có j tính tiếp nhé
    Sửa lần cuối bởi Zen Studio; 03-07-2015 lúc 11:11 AM.
    hay cung chung toi chinh phuc tri thuc

  3. #3
    CI Member devilcry2015's Avatar
    Ngày tham gia
    20-12-2014
    Bài viết
    44
    Cảm ơn
    25
    Được cảm ơn 0 trong 0 bài viết
    Trích dẫn Gửi bởi Zen Studio Xem bài viết
    PHP Code:
    <?php    $rowNumber 12;    foreach($list as $data){$this->excel->getActiveSheet()->setCellValue('A'.$rowNumber$data->code_caption)->setCellValue('B'.$rowNumber$data->color);if(file_exists('./media/img/gallery/items/'.$data->image.'TH.jpg')){    $objDrawing = new PHPExcel_Worksheet_Drawing();    $objDrawing->setPath('./media/img/gallery/items/'.$data->image.'TH.jpg');    $objDrawing->setCoordinates('C'.$rowNumber);    $objDrawing->setWorksheet($this->excel->getActiveSheet());    $this->excel->getActiveSheet()->getRowDimension($rowNumber)->setRowHeight(120);}else{$this->excel->getActiveSheet()->setCellValue('C'.$rowNumber'');}$this->excel->getActiveSheet()->setCellValue('D'.$rowNumber$data->desc);$this->excel->getActiveSheet()->setCellValue('E'.$rowNumber$data->$d_met);$this->excel->getActiveSheet()->setCellValue('F'.$rowNumber$data->$w_met);$this->excel->getActiveSheet()->setCellValue('G'.$rowNumber$data->$h_met);$this->excel->getActiveSheet()->setCellValue('H'.$rowNumber$data->qty);$this->excel->getActiveSheet()->setCellValue('I'.$rowNumber,$data->$cur_dat);           $this->excel->getActiveSheet()->setCellValue('J'.$rowNumber,$data->$total_price);$rowNumber++;    }?>
    dựa vào đấy để làm j có j tính tiếp nhé

    Chào bạn, Mình làm chức năng export dữ liệu có ảnh sản phẩm ra file Exel.

    bạn cho mình hỏi " ./media/img/gallery/items/'.$data->image.'TH.jpg' " có phải là đường dẫn thư mục hình ảnh trên host không ? hay ở dưới máy clein.

    Cám ơn bạn !

  4. #4
    Super Moderator Zen Studio's Avatar
    Ngày tham gia
    19-06-2013
    Bài viết
    393
    Cảm ơn
    58
    Được cảm ơn 166 trong 123 bài viết
    cái đấy thực chất là thư mục để lấy hình ảnh, bạn đưa nó lên host thì lấy đường dẫn trên host của bạn đến thư mục cần lấy ảnh.

    thực chất mà nói cậu download thư viện của PHPEXCEL nó có hướng dẫn và ví dụ đầy đủ đấy.
    Sửa lần cuối bởi Zen Studio; 03-07-2015 lúc 11:34 AM.
    hay cung chung toi chinh phuc tri thuc

  5. The Following User Says Thank You to Zen Studio For This Useful Post:

    devilcry2015 (03-07-2015)

  6. #5
    CI Member devilcry2015's Avatar
    Ngày tham gia
    20-12-2014
    Bài viết
    44
    Cảm ơn
    25
    Được cảm ơn 0 trong 0 bài viết
    Trích dẫn Gửi bởi Zen Studio Xem bài viết
    cái đấy thực chất là thư mục để lấy hình ảnh, bạn đưa nó lên host thì lấy đường dẫn trên host của bạn đến thư mục cần lấy ảnh.

    thực chất mà nói cậu download thư viện của PHPEXCEL nó có hướng dẫn và ví dụ đầy đủ đấy.
    Mình xài PHPEXCEL xuất ra thì nó chỉ ra tiêu đề không, bạn xem giùm mình với

    Code :

    //load PHPExcel library
    $this->load->library('Excel');

    // Create new PHPExcel object
    $objPHPExcel = new PHPExcel();

    // Set document properties
    $objPHPExcel->getProperties()->setCreator("mohamadikhwan.com")
    ->setLastModifiedBy("mohamadikhwan.com")
    ->setTitle("Office 2007 XLSX Test Document")
    ->setSubject("Office 2007 XLSX Test Document")
    ->setDescription("Test document for Office 2007 XLSX, generated by PHP classes.")
    ->setKeywords("office 2007 openxml php")
    ->setCategory("Test result file");

    // Add some data
    $objPHPExcel->setActiveSheetIndex(0)
    ->setCellValue('A1', 'STT')
    ->setCellValue('B1', 'Mã sản phẩm')
    ->setCellValue('C1', 'Hình ảnh')
    ->setCellValue('D1', 'Mô tả')
    ->setCellValue('E1', 'SL')
    ->setCellValue('F1', 'Đơn vị tính')
    ->setCellValue('G1', 'Đơn giá')
    ->setCellValue('H1', 'Thành tiền');

    // Rename worksheet (worksheet, not filename)
    $objPHPExcel->getActiveSheet()->setTitle('bao_gia_quatanglocan.com.vn');

    $lists = array(
    array(
    'name' => 'Nobita',
    'email' => 'nobitacnt@gmail.com',
    'phone' => '../images/logo_hoadon.png',
    ),
    array(
    'name' => 'Xuka',
    'email' => 'xuka@gmail.com',
    'phone' => '../images/logo_hoadon.png',
    ),
    array(
    'name' => 'Chaien',
    'email' => 'chaien@gmail.com',
    'phone' => '../images/logo_hoadon.png',
    ),
    );

    $rowNumber = 12;
    foreach($lists as $data){
    $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A'.$rowNumber, $data->name)
    ->setCellValue('B'.$rowNumber, $data->email);
    if(file_exists('images/logo_hoadon.png')){
    $objDrawing = new PHPExcel_Worksheet_Drawing();
    $objDrawing->setPath('images/logo_hoadon.png');
    $objDrawing->setCoordinates('C'.$rowNumber);
    $objDrawing->setWorksheet($this->excel->getActiveSheet());
    $objPHPExcel->setActiveSheetIndex(0)->getRowDimension('C'.$rowNumber)->setRowHeight(120);
    }else{
    $objPHPExcel->setActiveSheetIndex(0)->setCellValue('C'.$rowNumber, $data->phone);
    }

    $this->excel->getActiveSheet()->setCellValue('D'.$rowNumber, $data->email);

    $rowNumber++;
    }

    //Set active sheet index to the first sheet, so Excel opens this as the first sheet
    $objPHPExcel->setActiveSheetIndex(0);

    //Redirect output to a client’s web browser (Excel2007)
    //clean the output buffer
    ob_end_clean();

    //this is the header given from PHPExcel examples. but the output seems somewhat corrupted in some cases.
    //header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    //so, we use this header instead.
    header('Content-type: application/vnd.ms-excel');
    header('Content-Disposition: attachment;filename="Bang_bao_gia.xlsx"');
    header('Cache-Control: max-age=0');

    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
    $objWriter->save('php://output');

    Cám ơn bạn !

  7. #6
    Super Moderator Zen Studio's Avatar
    Ngày tham gia
    19-06-2013
    Bài viết
    393
    Cảm ơn
    58
    Được cảm ơn 166 trong 123 bài viết
    hình như bạn set hình ảnh bị sai thì phải $objDrawing->setCoordinates('C'.$rowNumber); tớ làm vẫn thấy bình thường mà.

    nó phải như thế này mới đúng chứ
    $objDrawing->setCoordinates($objDrawing->setCoordinates("C$num");

    bạn nên lưu ý các dấu nháy '' và "" các thông số đưa vào là ok thôi

    chúc bạn thành công nhé
    Sửa lần cuối bởi Zen Studio; 06-07-2015 lúc 09:38 AM.
    hay cung chung toi chinh phuc tri thuc

  8. #7
    Super Moderator Zen Studio's Avatar
    Ngày tham gia
    19-06-2013
    Bài viết
    393
    Cảm ơn
    58
    Được cảm ơn 166 trong 123 bài viết

    đây là toàn bộ code mình test cho bạn

    ví dụ 1 chỉ xuất ra định dạng jpg nếu bạn chỉ có phép upload jpg

    PHP Code:
     <?php
    $num
    ='1';
    include 
    'Classes/PHPExcel.php';
    $objPHPExcel = new PHPExcel();
    $objPHPExcel->getProperties()->setCreator("Zen Studio");
    $objPHPExcel->getProperties()->setLastModifiedBy("Zen Studio");
    $objPHPExcel->getProperties()->setTitle("demo");
    $objPHPExcel->getProperties()->setSubject("demo");
    $objPHPExcel->getProperties()->setDescription("demo");
    $objPHPExcel->setActiveSheetIndex(0);
    $objPHPExcel->getActiveSheet()->SetCellValue('A1''Sao');
    $objPHPExcel->getActiveSheet()->SetCellValue('B2''Không');
    $objPHPExcel->getActiveSheet()->SetCellValue('D2''Được là Sao Vậy');
    $objPHPExcel->getActiveSheet()->setTitle('demo');
    $gdImage imagecreatefromjpeg('uploads/demo.jpg');
    $objDrawing = new PHPExcel_Worksheet_MemoryDrawing();
    $objDrawing->setName('demo');
    $objDrawing->setDescription('demo');
    $objDrawing->setImageResource($gdImage);
    $objDrawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG);
    $objDrawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT);
    $objDrawing->setHeight(150);$objDrawing->setCoordinates("C$num");
    $objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
    $objWriter PHPExcel_IOFactory::createWriter($objPHPExcel'Excel2007');
    $objWriter->save(str_replace('.php''.xlsx'__FILE__));
    echo 
    date('H:i:s') . "Bạn Đã Tạo Tập Tin Exel Thành Công.\r\n";
    ?>
    ví dụ 2 cho phép tất cả các định dạng mà bạn upload image vào

    PHP Code:
    <?php
    $num
    ='1';
    include 
    'Classes/PHPExcel.php';
    $objPHPExcel = new PHPExcel();
    $objPHPExcel->getProperties()->setCreator("Zen Studio");
    $objPHPExcel->getProperties()->setLastModifiedBy("Zen Studio");
    $objPHPExcel->getProperties()->setTitle("demo");
    $objPHPExcel->getProperties()->setSubject("demo");
    $objPHPExcel->getProperties()->setDescription("demo");
    $objPHPExcel->setActiveSheetIndex(0);
    $objPHPExcel->getActiveSheet()->SetCellValue('A1''Sao');
    $objPHPExcel->getActiveSheet()->SetCellValue('B2''Không');
    $objPHPExcel->getActiveSheet()->SetCellValue('D2''Được là Sao Vậy');
    $objPHPExcel->getActiveSheet()->setTitle('demo');
    $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(10);
    $objDrawing = new PHPExcel_Worksheet_Drawing();
    $objDrawing->setPath('uploads/demo.png');
    $objDrawing->setName('demo');
    $objDrawing->setDescription('demo');
    $objDrawing->setHeight(150);
    $objDrawing->setCoordinates("C$num");$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
    $objWriter PHPExcel_IOFactory::createWriter($objPHPExcel'Excel2007');
    $objWriter->save(str_replace('.php''.xlsx'__FILE__));
    echo 
    date('H:i:s') . "Bạn Đã Tạo Tập Tin Exel Thành Công.\r\n";
    ?>


    bạn để các link và thư viện giống mình để test nhé, chúc bạn thành công
    Sửa lần cuối bởi Zen Studio; 06-07-2015 lúc 11:24 AM.
    hay cung chung toi chinh phuc tri thuc

  9. The Following User Says Thank You to Zen Studio For This Useful Post:

    devilcry2015 (07-07-2015)

  10. #8
    CI Member devilcry2015's Avatar
    Ngày tham gia
    20-12-2014
    Bài viết
    44
    Cảm ơn
    25
    Được cảm ơn 0 trong 0 bài viết
    [QUOTE=Zen Studio;4356]ví dụ 1 chỉ xuất ra định dạng jpg nếu bạn chỉ có phép upload jpg

    PHP Code:
     <?php
    $num
    ='1';
    include 
    'Classes/PHPExcel.php';
    $objPHPExcel = new PHPExcel();
    $objPHPExcel->getProperties()->setCreator("Zen Studio");
    $objPHPExcel->getProperties()->setLastModifiedBy("Zen Studio");
    $objPHPExcel->getProperties()->setTitle("demo");
    $objPHPExcel->getProperties()->setSubject("demo");
    $objPHPExcel->getProperties()->setDescription("demo");
    $objPHPExcel->setActiveSheetIndex(0);
    $objPHPExcel->getActiveSheet()->SetCellValue('A1''Sao');
    $objPHPExcel->getActiveSheet()->SetCellValue('B2''Không');
    $objPHPExcel->getActiveSheet()->SetCellValue('D2''Được là Sao Vậy');
    $objPHPExcel->getActiveSheet()->setTitle('demo');
    $gdImage imagecreatefromjpeg('uploads/demo.jpg');
    $objDrawing = new PHPExcel_Worksheet_MemoryDrawing();
    $objDrawing->setName('demo');
    $objDrawing->setDescription('demo');
    $objDrawing->setImageResource($gdImage);
    $objDrawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG);
    $objDrawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT);
    $objDrawing->setHeight(150);$objDrawing->setCoordinates("C$num");
    $objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
    $objWriter PHPExcel_IOFactory::createWriter($objPHPExcel'Excel2007');
    $objWriter->save(str_replace('.php''.xlsx'__FILE__));
    echo 
    date('H:i:s') . "Bạn Đã Tạo Tập Tin Exel Thành Công.\r\n";
    ?>
    ví dụ 2 cho phép tất cả các định dạng mà bạn upload image vào

    PHP Code:
    <?php
    $num
    ='1';
    include 
    'Classes/PHPExcel.php';
    $objPHPExcel = new PHPExcel();
    $objPHPExcel->getProperties()->setCreator("Zen Studio");
    $objPHPExcel->getProperties()->setLastModifiedBy("Zen Studio");
    $objPHPExcel->getProperties()->setTitle("demo");
    $objPHPExcel->getProperties()->setSubject("demo");
    $objPHPExcel->getProperties()->setDescription("demo");
    $objPHPExcel->setActiveSheetIndex(0);
    $objPHPExcel->getActiveSheet()->SetCellValue('A1''Sao');
    $objPHPExcel->getActiveSheet()->SetCellValue('B2''Không');
    $objPHPExcel->getActiveSheet()->SetCellValue('D2''Được là Sao Vậy');
    $objPHPExcel->getActiveSheet()->setTitle('demo');
    $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(10);
    $objDrawing = new PHPExcel_Worksheet_Drawing();
    $objDrawing->setPath('uploads/demo.png');
    $objDrawing->setName('demo');
    $objDrawing->setDescription('demo');
    $objDrawing->setHeight(150);
    $objDrawing->setCoordinates("C$num");$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
    $objWriter PHPExcel_IOFactory::createWriter($objPHPExcel'Excel2007');
    $objWriter->save(str_replace('.php''.xlsx'__FILE__));
    echo 
    date('H:i:s') . "Bạn Đã Tạo Tập Tin Exel Thành Công.\r\n";
    ?>


    Cám ơn bạn, mình làm được rồi !

Chia sẽ và Bình Luận chủ đề Help Cách Export images to Exel trên facebook

Các từ khóa xuất hiện trên google của chủ đề

Chưa có từ khóa lên top google

Tag của Chủ đề này - Hãy Thêm Tags Để bài viết nhanh lên top google

Quyền viết bài

  • Bạn không thể đăng chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi đính kèm
  • Bạn không thể sửa bài
  •