gpt4 book ai didi

PHPExcel 右对齐图像

转载 作者:可可西里 更新时间:2023-11-01 00:43:53 25 4
gpt4 key购买 nike

我正在尝试使用 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 的文本对齐变为右对齐,但图像仍然左对齐。

最佳答案

面临同样的挑战:如何将图片与单元格右对齐。我正在使用继 PHP Excel 之后的 PHP Spreadsheet。这有效:

use PhpOffice\PhpSpreadsheet\Worksheet;
use PhpOffice\PhpSpreadsheet\Worksheet\Drawing;

$ws = $spreadsheet->getActiveSheet();
$logoPath = __DIR__ . '/reporting/templates/SmallLogo.jpg';
$drawing = new Drawing();
$drawing->setPath($logoPath);
$drawing->setCoordinates('K2');
$drawing->setHeight(45); //pixels
$colWidth = $ws->getColumnDimension('K')->getWidth();
if ($colWidth == -1) { //not defined which means we have the standard width
$colWidthPixels = 64; //pixels, this is the standard width of an Excel cell in pixels = 9.140625 char units outer size
} else { //innner width is 8.43 char units
$colWidthPixels = $colWidth * 7.0017094; //colwidht in Char Units * Pixels per CharUnit
}
$offsetX = $colWidthPixels - $drawing->getWidth(); //pixels
$drawing->setOffsetX($offsetX); //pixels
$drawing->setWorksheet($ws);

它应该以与 PHPExcel 相同的方式工作。诀窍是将列宽转换为 Excel 像素,并使用 offsetX 从左水平列边框获得正确的偏移量。如果图片比列宽,偏移量将为负数。

关于PHPExcel 右对齐图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25659925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com