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");
3 Réponses :
essayer,
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);
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
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');
Vous avez manqué un signe variable pour la variable d'écrivain sur la deuxième dernière ligne de code