为什么无论PHPExcel和Spreadsheet插入图片,只要同一行其他列有自动换行。图片就会自动拉伸变形?并且设置了图片宽高,取消按比例都没用?
$drawingContent = new Drawing(); foreach ($listDatas as $item) { // 插入图片 $drawingContent->setPath($item[3]) ->setCoordinates('D' . $row) ->setResizeProportional(false) ->setWidthAndHeight(50, 50) ->setWorksheet($sheet); $sheet->setCellValue('A' . $row, $item[0]); $sheet->setCellValue('B' . $row, $item[1]); $sheet->setCellValue('C' . $row, $item[2]); $sheet->setCellValue('E' . $row, $item[4]); $sheet->setCellValue('F' . $row, $item[5]); $sheet->setCellValue('G' . $row, $item[6]); $sheet->setCellValue('H' . $row, $item[7]); $sheet->setCellValue('I' . $row, $item[8]); $sheet->setCellValue('J' . $row, $item[9]); $sheet->setCellValue('K' . $row, $item[10]); $sheet->setCellValue('L' . $row, $item[11]); $sheet->setCellValue('M' . $row, $item[12]); $sheet->setCellValue('N' . $row, $item[13]); $sheet->setCellValue('O' . $row, $item[14]); $row++; } // 居中 $sheet->getStyle('A9:C'.$row)->applyFromArray($styleArray); $sheet->getStyle('E9:O'.$row)->applyFromArray($styleArray);
希望图片能按宽高设置去实现
在 PHPExcel 和 PhpSpreadsheet 中,图片可能被拉伸的原因可能与单元格的自动调整大小功能有关。当您在一个单元格中插入图片,并且该单元格所在行的其他列包含自动换行的文本时,Excel 可能会尝试调整行高以适应最大的内容(包括图片和文本)。这可能导致图片被拉伸或压缩。
要解决这个问题,您可以尝试以下方法:
$sheet->getRowDimension($row)->setRowHeight(行高值);
$drawingContent->setResizeProportional(false) ->setWidthAndHeight(50, 50);
如果上述方法仍然无法解决问题,您可能需要进一步调试代码或检查 Excel 的具体行为。另外,请确保您使用的是最新版本的 PhpSpreadsheet,因为旧版本可能存在已知的问题或限制。
最后,请注意,Excel 的行为可能因版本而异,因此某些解决方案可能只在特定版本的 Excel 中有效。如果您在使用 PhpSpreadsheet 时遇到与 Excel 兼容性相关的问题,建议查阅相关文档或社区论坛以获取更多帮助。
本文向大家介绍Javascript防止图片拉伸的自适应处理方法,包括了Javascript防止图片拉伸的自适应处理方法的使用技巧和注意事项,需要的朋友参考一下 前言 相信大家在日常的web开发中,作为前端经常会遇到处理图片拉伸问题的情况。 例如banner、图文列表、头像等所有和用户或客户自主操作图片上传的地方,而一旦牵扯图片,就会涉及到图片拉伸的问题,当然,在图片上传时做手动裁切,让用户或客户清
PHPExcel 是一个用来读写 Excel 2007 (OpenXML) 文件的 PHP 库。 示例代码: /** Error reporting */error_reporting(E_ALL); /** Include path **/ini_set('include_path', ini_get('include_path').';../Classes/'); /** PHPExcel *
问题内容: 我正在尝试自动调整工作表的列大小。我正在写文件,最后我尝试调整所有列的大小。 上面的代码不起作用。不更改列大小以适合文本 更新 我正在使用的作家 问题答案: 如果将列设置为AutoSize,PHPExcel会尝试根据列的计算值(基于任何公式的结果)以及格式掩码(例如千位分隔符)添加的任何其他字符来计算列宽。 默认情况下,这是宽度:使用GD时,可以使用一种更准确的计算方法,该方法还可以处
问题内容: 正如您在下面的可运行代码中看到的那样,我尝试使用具有可扩展子框的Box。孩子们的盒子可以改变大小,这一切都很好。主要问题是大小始终相对于父对象。但是我希望它们具有特定的大小,以防万一没有地方再使用JScrollPane。目前,它们仅收缩其他子框。 我尝试了Glue和Filler,但是没有用。胶水只是无效,而填充剂的副作用是始终将其保持在某个位置(即使在ScrollPane起作用时)。有
问题内容: 样品: 我有两个问题,请: 为什么基本上会发生这种情况? 什么是正确的方法,以防止其拉伸而不影响flex容器中的其他flex项目? 问题答案: 您不想拉伸高度跨度吗? 您可能会影响一个或多个弹性项目,而不会拉伸容器的整个高度。 要影响容器的所有弹性项目,请选择以下选项: 您必须设置为,并且该容器的所有弹性项目都将获得其内容的高度。 要仅影响单个flex-item,请选择以下选项: 如果
问题内容: 您好,我是phpexcel的新手,我想知道是否可以通过某种方式将我创建的excel发送给客户端下载而不将其保存在我的服务器上,或者将其下载后立即删除 我正在尝试在页面上创建一个“导出按钮”,该页面将为用户提供他想要我刚刚创建的Excel的“弹出窗口”。 现在,我创建表后,我做了: 但这将其保存到我的服务器 谢谢 问题答案: 与其将其保存到文件中,不如将其保存到文档中: 这会将它按原样发