dongpiaozhao6836 2014-09-04 07:46
浏览 145

PHPExcel右对齐图像

I'm trying to align an image using PHPExcel but i can't because the image is overlaid above the worksheet.

// 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);

The text align of A1 change to right align but the image it still aligned on the left.

  • 写回答

3条回答 默认 最新

  • dongposhi8677 2014-10-12 19:20
    关注

    Here is an idea:

    You need to determine the maximum width / height (by experimentation). Save the values.

    // Logo
    $maxWidth = 700;
    $maxHeight = 40;
    

    Here is the rest of the code:

    $objDrawing = new PHPExcel_Worksheet_Drawing();
    $objDrawing->setWorksheet($objPHPExcel->getActiveSheet());
    $objDrawing->setName("Logo");
    $objDrawing->setDescription("Company Logo");
    $objDrawing->setPath('logo.png');
    $objDrawing->setCoordinates('A1');
    $objDrawing->setHeight($maxHeight);
    // This is the "magic" formula
    $offsetX =$maxWidth - $objDrawing->getWidth();
    $objDrawing->setOffsetX($offsetX);
    

    Hope this helps.

    评论

报告相同问题?

悬赏问题

  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)