PhpExcel 创建多个工作表

标签 php phpexcel

你好,我正在尝试使用 phpexcel 创建一个 excel 模板

由于某种原因,图像创建了新工作表而不是使用当前工作表。 所以当我打开我创建的 excel 文件时,有 worksheetworksheet1 而不是一个。

    objPHPExcel = new PHPExcel();
            $objWorkSheet = $objPHPExcel->createSheet();            

             // Set the active Excel worksheet to sheet 0 
            $objPHPExcel->setActiveSheetIndex(0);  

            //Taslak Verileri
            $objPHPExcel->getActiveSheet()->SetCellValue('D'.'1', 'Firm'); 
            $objPHPExcel->getActiveSheet()->SetCellValue('J'.'1', 'SFUFORMU - FR.PS.21'); 
            $objPHPExcel->getActiveSheet()->SetCellValue('J'.'3', 'NO:'); 
            $objPHPExcel->getActiveSheet()->SetCellValue('D'.'2', 'Name Surname Signature'); 
            $objPHPExcel->getActiveSheet()->SetCellValue('A'.'4', 'Date');
            $objPHPExcel->getActiveSheet()->SetCellValue('A'.'5', 'Stock No:'); 
            $objPHPExcel->getActiveSheet()->SetCellValue('C'.'5', 'Image'); 
            $objPHPExcel->getActiveSheet()->SetCellValue('E'.'5', 'Image'); 
            $objPHPExcel->getActiveSheet()->SetCellValue('G'.'5', 'Resim'); 
            $objPHPExcel->getActiveSheet()->SetCellValue('I'.'5', 'Image'); 
            $objPHPExcel->getActiveSheet()->SetCellValue('K'.'5', 'Quantity'); 
            $objPHPExcel->getActiveSheet()->SetCellValue('M'.'5', 'Price'); 



            $objDrawing = new PHPExcel_Worksheet_Drawing();
                  $objDrawing->setWorksheet($objWorkSheet);
                  $objDrawing->setName("name");
                  $objDrawing->setDescription("Description");
                  $objDrawing->setPath('temp/3.jpeg');
                  $objDrawing->setCoordinates('F9');
                  $objDrawing->setOffsetX(1);
                  $objDrawing->setOffsetY(5);
            $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); 
            $objWriter->save('some_excel_file.xlsx'); 

enter image description here

enter image description here

最佳答案

您基本上创建了一个 PHPExcel 对象,该对象已经包含索引为 0 的空表。

然后您创建一个索引为 1 的新工作表。

然后您将所有内容写入索引为 0 的工作表,并在第二张工作表(新创建的)上添加图片。

这应该可以解决您的问题:

$objPHPExcel->setActiveSheetIndex(1); 

请注意,您仍然创建了一个新工作表,即使第一个工作表已经存在。 如果您想使用现有的工作表,只需执行以下操作:

删除:

   $objWorkSheet = $objPHPExcel->createSheet();            
   $objPHPExcel->setActiveSheetIndex(0); 

然后用现有的工作表做所有的事情。

$sheet = $objPHPExcel->getSheet(0);
$sheet->setCellValue('D'.'1', 'Firm')//Etc all the stuff.

给绘图同一张纸:

$objDrawing->setWorksheet($sheet);

关于PhpExcel 创建多个工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19213640/

相关文章:

javascript - 如何使用 javascript 更改 iframe 源

php - 我需要一个提示才能开始这个编程难题

php - Laravel 为路由提供数组,并非所有值都是必需的

php - 为什么 PHPExcel 在 Kohana 中使用时会尝试从 Excel 文件名创建类名?

PHPExcel:设置字体大小?

php - 从 PHP 调用外部 shell 脚本并获取其进程 ID

php 邮件功能无法使用

PHPExcel加载函数内存不足

php - 如何使用 PHPExcel 将 80MB+ xlsx 处理到数据库 MySQL?

PHPExcel 按值搜索单元格