我尝试使用此代码在Excel单元格中添加注释:
$objPHPExcel->getActiveSheet()->getComment(($arr_periodes[2]+1),17+($arr_periodes[1]))->setAuthor($user->prenom.' '.$user->nom);
$objCommentRichText = $objPHPExcel->getActiveSheet()->getComment(($arr_periodes[2]+1),17+($arr_periodes[1]))->getText()->createTextRun($res->commentaire);
$objCommentRichText->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getComment(($arr_periodes[2]+1),17+($arr_periodes[1]))->getText()->createTextRun("\r\n");
$objPHPExcel->getActiveSheet()->getComment(($arr_periodes[2]+1),17+($arr_periodes[1]))->getText()->createTextRun($res->commentaire);
它打开文件,但我需要修复它并且评论没有显示。
这是我的作家:
$writer = new PHPExcel_Writer_Excel2007($objPHPExcel);
修改
此代码有效:
$objPHPExcel->getActiveSheet()
->getComment('E11')
->getText()->createTextRun($user->commentaire);
是否可以用变量代替E11?
我必须使用setCellValueByColumnAndRow,因此5,11即。
修改
我的问题仍然存在:
我试过这个:
objPHPExcel->getActiveSheet()
->getComment(($arr_periodes[2]+1),(17+$arr_periodes[1]))
->getText()->createTextRun($user->commentaire);
($ arr_periodes [2] +1)包含例4中AND(17 + $ arr_periodes [1])包含在例20中
参考资料是4,17
问题是第一个参数必须是一个字母!
该文件只有17K,我打开它时必须修复它。
任何想法?
答案 0 :(得分:3)
确保您使用的是Writer Excel2007。
答案 1 :(得分:0)
好的,我找到了解决方案:
我创建了一个数组:
$arr_lettres = array(2=>'C',3=>'D',4=>'E',5=>'F',6=>'G',7=>'H',8=>'I',9=>'J',10=>'K',11=>'L',12=>'M',13=>'N',14=>'O',15=>'P',16=>'Q',17=>'R',18=>'S',19=>'T',20=>'U',21=>'V',22=>'W',23=>'X',24=>'Y',25=>'Z',26=>'AA',27=>'AB',28=>'AC',29=>'AD',30=>'AE',31=>'AF',32=>'AG');
然后:
$objPHPExcel->getActiveSheet()
->getComment($arr_lettres[($arr_periodes[2]+1)].(17+$arr_periodes[1]))
->getText()->createTextRun($periodes->commentaire);
现在一切正常,我有我的意见和文字。