6
votes

Ajout d'un logo à une feuille Excel utilisant PHP Excel

J'essaie d'ajouter une image de logo sur une feuille de calcul Excel générée à l'aide de la liste Code ci-dessous, mais pour une raison quelconque, il ne fait rien

    $objReader = PHPExcel_IOFactory::createReader('Excel2007');
    $objPHPExcel = $objReader->load("workbooks/" . $labref . "/" . $labref . ".xlsx");
    $objPHPExcel->getActiveSheet(2);
    $objWorkSheet = $objPHPExcel->createSheet();
    $objWorkSheet->setTitle("Sample Summary");        
    $dir1 = "exclusive_image";

       $objDrawing = new PHPExcel_Worksheet_Drawing();
                $objDrawing->setName("name");
                $objDrawing->setDescription("Description");
                $objDrawing->setPath(base_url().'exclusive_image/nqcl.png');
                $objDrawing->setCoordinates('A1');
                $objDrawing->setWorksheet($objWorkSheet->getActiveSheet(2));
        $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
        $objWriter->save("workbooks/" . $labref . "/" . $labref . ".xlsx");


0 commentaires

3 Réponses :


1
votes

essayer, xxx


0 commentaires

13
votes

Ajout de logo est si simple, essayez ci-dessous le code.

$objPHPExcel = new PHPExcel();
$sheet = $objPHPExcel->setSheetIndexAndTitle(1, "YOUR_SHEET_TITLE"); // first sheet
$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setName('Logo');
$objDrawing->setDescription('Logo');
$logo = base_path() . '/images/logo.png'; // Provide path to your logo file
$objDrawing->setPath($logo);
$objDrawing->setOffsetX(8);    // setOffsetX works properly
$objDrawing->setOffsetY(300);  //setOffsetY has no effect
$objDrawing->setCoordinates('B1');
$objDrawing->setHeight(75); // logo height
$objDrawing->setWorksheet($sheet); 


1 commentaires

base_path (). '/images/logo.png'; Cela ne peut être que différent pour chaque utilisateur et qui utiliseedignettor peut utiliser FCPath à la place de base_path



3
votes

Utilisation:

<?php
include 'DB.php';

error_reporting(E_ALL);

ini_set('include_path', ini_get('include_path').';../Classes/');
include 'PHPExcel.php';
include 'PHPExcel/Writer/Excel2007.php';

$excel = new PHPExcel();
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="your_name.xls"');
header('Cache-Control: max-age=0');

$excel->setActiveSheetIndex(0)
        ->setCellValue('A1', 'Hello')
        ->setCellValue('B2', 'world!')
        ->setCellValue('C1', 'Hello')
        ->setCellValue('D2', 'world!');

$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setName('Logo');
$objDrawing->setDescription('Logo');
$logo = 'images/logo.png'; // Provide path to your logo file
$objDrawing->setPath($logo);  //setOffsetY has no effect
$objDrawing->setCoordinates('E1');
$objDrawing->setHeight(200); // logo height
$objDrawing->setWorksheet($excel->getActiveSheet()); 


// Do your stuff here

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

// This line will force the file to download
$writer->save('php://output');


1 commentaires

Vous avez manqué un signe variable pour la variable d'écrivain sur la deuxième dernière ligne de code