我可以在从SQL查询创build的Excel报告中包含图像吗?

我必须创build一个基于包含文本列的mysql查询的Excel报表。 其中一列存储图像的绝对path。 我想知道是否有可能创build报告,包括可见的图像(如ole?)。

基本上,在Excel中,我可以显示图像如果我有它的path?

你可以用PHPExcel做到这一点。 首先你需要下载最新版本: https : //phpexcel.codeplex.com/

这是一个使用的例子:

include 'PHPExcel.php'; // Create new PHPExcel object $objPHPExcel = new PHPExcel(); // Set properties $objPHPExcel->getProperties()->setCreator("Jobin Jose"); $objPHPExcel->getProperties()->setLastModifiedBy("Jobin Jose"); $objPHPExcel->getProperties()->setTitle("Office 2007 XLSX Test Document"); $objPHPExcel->getProperties()->setSubject("Office 2007 XLSX Test Document"); $objPHPExcel->getProperties()->setDescription("Test document for Office 2007 XLSX, generated using PHPExcel classes."); // Add some data // echo date('H:i:s') . " Add some data\n"; $objPHPExcel->setActiveSheetIndex(0); $objPHPExcel->getActiveSheet()->SetCellValue('A1', 'Hello'); $objPHPExcel->getActiveSheet()->SetCellValue('B2', 'world!'); //$objPHPExcel->getActiveSheet()->SetCellValue('C1', 'Hello'); $objPHPExcel->getActiveSheet()->SetCellValue('D2', 'world!'); $objPHPExcel->getActiveSheet()->setTitle('Simple'); $gdImage = imagecreatefromjpeg('uploads/t12.jpg'); // Add a drawing to the worksheetecho date('H:i:s') . " Add a drawing to the worksheet\n"; $objDrawing = new PHPExcel_Worksheet_MemoryDrawing(); $objDrawing->setName('Sample image'); $objDrawing->setDescription('Sample image'); $objDrawing->setImageResource($gdImage); $objDrawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG); $objDrawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT); $objDrawing->setHeight(150); $objDrawing->setCoordinates('C1'); $objDrawing->setWorksheet($objPHPExcel->getActiveSheet()); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save(str_replace('.php', '.xlsx', __FILE__)); // Echo done echo date('H:i:s') . " Done writing file.\r\n"; 

上面的代码将创build一个“xlsx”格式的文件,因为它使用2007年的Excel类如果你想要“xls”格式只是尝试与2005年的类别不得使用2005年改变文件格式为“xls”。

看这里的例子