1

我在使用 PHPExcel 时遇到了一些麻烦,

事实上,我已经阅读了我找到的所有教程,但它对我不起作用。

我已将此代码放在页面上:

$i = -1; // index des enregistrements

$objPHPExcel->setActiveSheetIndex(0);
$sheet->getColumnDimension('A')->setWidth(75);
$sheet->getColumnDimension('B')->setWidth(150);
$sheet->getColumnDimension('C')->setWidth(190);
$sheet->getColumnDimension('D')->setWidth(150);
$sheet->getColumnDimension('E')->setWidth(115);
$sheet->getColumnDimension('F')->setWidth(115);
$sheet->getColumnDimension('G')->setWidth(380);
$sheet->getColumnDimension('H')->setWidth(75);
$objPHPExcel->getActiveSheet()->SetCellValue('D1', '<img src="images/agenda.png" alt="AGENDA" width="168" height="24">');
$objPHPExcel->getActiveSheet()->SetCellValue('A3', 'Du '.$_REQUEST['date1'].' Au '.$_REQUEST['date2'].', Critères: '.$_REQUEST['tache'] );
$objPHPExcel->getActiveSheet()->SetCellValue('A5', 'CLIENT');
$objPHPExcel->getActiveSheet()->SetCellValue('B5', 'N° DE DOSSIER');
$objPHPExcel->getActiveSheet()->SetCellValue('C5', 'DEBITEUR');
$objPHPExcel->getActiveSheet()->SetCellValue('D5', 'TEL');
$objPHPExcel->getActiveSheet()->SetCellValue('E5', 'DATE');
$objPHPExcel->getActiveSheet()->SetCellValue('F5', 'TRAITEMENT');
$objPHPExcel->getActiveSheet()->SetCellValue('G5', 'DESCRIPTION');
$objPHPExcel->getActiveSheet()->SetCellValue('H5', 'RESTANT DU EN PPAL');

但它给了我以下错误:

注意:未定义的变量:第 173 行中的工作表

注意:未定义的变量:第 173 行中的工作表

我真的迷路了,我认为改变列大小的方式是这样的。

任何形式的帮助将不胜感激。

亲切的问候。

SP。

4

1 回答 1

3

您必须在使用它之前定义 $sheet ,就像 PHP 中的任何变量一样,它在实际创建之前不存在;但您也希望它是您要设置列宽的实际 PHPExcel 工作表。

所以

代替

$objPHPExcel->setActiveSheetIndex(0);

利用

$sheet = $objPHPExcel->setActiveSheetIndex(0);

这是有效的,因为调用 setActiveSheetIndex() 返回活动的工作表对象

将 $sheet 定义为当前工作表后,您可以调用设置列宽

编辑

然后,您还可以简化调用以设置单元格值

$objPHPExcel->getActiveSheet()->SetCellValue('D1', '<img src="images/agenda.png" alt="AGENDA" width="168" height="24">

$sheet->SetCellValue('D1', '<img src="images/agenda.png" alt="AGENDA" width="168" height="24">

ETC

但是请注意,在单元格中设置 HTML 标记只是将单元格设置为包含文本字符串,这不会在您的工作表中嵌入图像

于 2012-10-30T09:30:47.327 回答