【发布时间】:2014-10-28 21:00:25
【问题描述】:
我正在尝试使用 PHPExcel 对齐图像,但我不能,因为图像覆盖在工作表上方。
// Create new picture object
$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setPath('my_img.jpg');
// Insert picture
$objDrawing->setCoordinates('A1');
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
// Style cell
$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
A1 的文字对齐变为右对齐,但它的图像仍然在左侧对齐。
【问题讨论】:
-
因为图像覆盖在工作表上而不是单元格的内容上,您需要使用图像
setOffsetX()和setOffsetY()计算该图像相对于单元格宽度的位置方法 .... 设置单元格的对齐方式仅与单元格的内容有关,没有什么魔法可以为您做到这一点。 -
@Mark Baker:嗯,有一点魔法可以解决由于 Excel 使用字符单位来测量单元格宽度、点(几分之一英寸)来测量单元格高度这一事实引起的混淆和像素来处理图片。这让我非常困惑,特别是因为我不知道一英寸是什么:-)。请参阅下面的解决方案。
标签: php image alignment phpexcel