PHPExcel 单元格高度仅适用于空单元格
PHPExcel cell height only works on empty cell
我已经在 google 上阅读了几个示例,但找不到与我的问题类似的内容。
要设置我使用的单元格高度:
$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(-1);
这会将单元格高度设置为 "auto"。
我想 text/data 会保留它的高度?!
我尝试了几个值,例如:4、10 等。
奇怪的是,只有没有任何文字的单元格才会改变高度。
我在想:text/font 是否有 margin-top 值?
我看不到任何类型的高度限制,所以这应该不是问题。
代码
//Set font Size
$objPHPExcel->getActiveSheet()->getStyle("A1:I".$highestRow)->getFont()->setSize(4);
//Set Row size
$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(6);
例子
我希望单元格高度与文本一样高!
行高限制实际上是 409.50(546 像素),这是 OfficeOpenXML (xlsx) 格式的 MS Excel 限制。只是PHPExcel不强制执行而已
如果您查看一些示例(例如 01Simple.php
),您会看到第 8 行和第 10 行自动设置了高度。在您的情况下,看起来好像有一个换行符您在单元格中设置的文本之前的字符,因此它们跨越 2 行,并且自动高度会相应地自行设置。
为了解决我的问题,我必须在设置单元格值的循环中设置每个行高。
//Loop out data into cells (create excel)
while($value = $stmt->fetch()){
//Set start Column
$column = "A";
//Set row height
$objPHPExcel->getActiveSheet()->getRowDimension($row)->setRowHeight(6);
//Set cell values
$objPHPExcel->getActiveSheet()->SetCellValue($column++.$row, $value['value']);
我已经在 google 上阅读了几个示例,但找不到与我的问题类似的内容。
要设置我使用的单元格高度:
$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(-1);
这会将单元格高度设置为 "auto"。
我想 text/data 会保留它的高度?!
我尝试了几个值,例如:4、10 等。
奇怪的是,只有没有任何文字的单元格才会改变高度。
我在想:text/font 是否有 margin-top 值?
我看不到任何类型的高度限制,所以这应该不是问题。
代码
//Set font Size
$objPHPExcel->getActiveSheet()->getStyle("A1:I".$highestRow)->getFont()->setSize(4);
//Set Row size
$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(6);
例子
我希望单元格高度与文本一样高!
行高限制实际上是 409.50(546 像素),这是 OfficeOpenXML (xlsx) 格式的 MS Excel 限制。只是PHPExcel不强制执行而已
如果您查看一些示例(例如 01Simple.php
),您会看到第 8 行和第 10 行自动设置了高度。在您的情况下,看起来好像有一个换行符您在单元格中设置的文本之前的字符,因此它们跨越 2 行,并且自动高度会相应地自行设置。
为了解决我的问题,我必须在设置单元格值的循环中设置每个行高。
//Loop out data into cells (create excel)
while($value = $stmt->fetch()){
//Set start Column
$column = "A";
//Set row height
$objPHPExcel->getActiveSheet()->getRowDimension($row)->setRowHeight(6);
//Set cell values
$objPHPExcel->getActiveSheet()->SetCellValue($column++.$row, $value['value']);