phpExcel列大小问题

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了phpExcel列大小问题脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我想确保在PHPExcel生成的工作簿中没有切断任何值.要做到这一点,我打电话
$ocurrentSheet->getColumnDimension($aCurrentCoords['x'])->setAutoSize(true);

每次我写一个单元格.
这似乎不起作用:许多列最终都很小.

有谁知道如何确保输出的excel工作簿中的每一列都根据其内容确定大小?

每次写单元格时都不要这样做……这是不必要的开销.每列只做一次.

请注意,保存时它仍然很昂贵,因为PHPExcel然后遍历该列中的每个单元格,根据该单元格的内容计算出所需的度,同时考虑公式计算和格式化,并使用其中任何单元格的最大大小柱.即使这样,它也不是一个完美的解决方案:认行为是估计,计算要显示的字符数,并使用基于字体的通用乘数(Arial,Verdana of Calibri)和一点点填充.为了更准确的计算,您可以更改用于计算的方法,然后代码使用GD构建ttf边界框,并将单元格大小基于该框的尺寸.这是一个更准确的计算,但速度要慢很多.

您可以使用以下方法更改计算方法

PHPExcel_Shared_Font::setAutoSizeMethod($method);

在保存之前,其中$method是以下之一:

PHPExcel_Shared_Font::AUTOSIZE_METHOD_APPROX
PHPExcel_Shared_Font::AUTOSIZE_METHOD_EXACT

这仍然不是一个完美的解决方案,但它是PHPExcel可以做的最佳计算.

另一种方法是在保存之前直接自己调用工作表的calculateColumnWidths()方法…然后遍历每个列的维度,将值增加5%,以便在保存之前尝试确保整个列适合.

脚本宝典总结

以上是脚本宝典为你收集整理的phpExcel列大小问题全部内容,希望文章能够帮你解决phpExcel列大小问题所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。