首页 > 原创文章 > 软件开发 > 查看文章

PHPExcel列自适应宽度的方法

所属分类:软件开发 来源: 丁老师原创 更新时间:2025-07-10 08:56 IP属地: 深圳
点击阅读全文

有同学提问,在使用PHPExcel时,使用自带的setAutoSize方法无效,代码如下:

$PHPExcel->getActiveSheet()->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex(1))->setAutoSize(true);

这是PHPExcel文档中自带的写法,丁老师试了下,生成的Excel列不是自适应宽度的,还真的是没起做用

image.png

研究了一下,不如换个思路,可以根据列内文字的长度来设置宽度
获取文字长度时,需要先将文字转换为中文字符,用来计算包含中文的文字长度。

$strlen=strlen(iconv('utf-8','gb2312','丁老师软件'));

得到宽度后,设置列宽度,然后执行生成Excel代码

$PHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth($strlen);

果然,生成的Excel列宽度变为了自适应。

image.png

但是这个时候,列之间因为没有边距,所以还是显得稍微拥挤。我们可以在设置宽度时+2,生成的Excel效果要好看很多。

image.png

完整代码:

$sheet->setCellValue('A1','姓名')->setCellValue('B1','丁老师软件');

$len_1=strlen(iconv('utf-8','gb2312','姓名'));
$len_2=strlen(iconv('utf-8','gb2312','丁老师软件'));

$sheet->getColumnDimension('A')->setWidth($len_1);
$sheet->getColumnDimension('B')->setWidth($len_2);


相关文章

html网页调用打开微信小程序白屏的问题解决...

最近好多学员在问,自己开发的小程序,需要用html网页打开,按照网上的教程,没有一个成功的,希望丁老师帮助下。我说没问题,然后去网上看了一下,关于使用h5打开微信小程序这个问题,全部都是只言片语,没有一篇完整的内容,大家把各种代码东拼西...

PHP网页报DOMDocument::loa...

PHP网站,网页打开不正常,显示“DOMDocument::loadHTML():TagheaderinvalidinEntity”错误代码,是怎么回事呢?其实,这是php程序中,使用了newDOMDocument的loadHTML来解...

关闭JetBrains Intellij i...

在使用JetBrains旗下的IDE产品,如Intellijidea、Webstorm、Phpstorm时,有个很讨厌的行为,就是在写代码时,如果换行输入闭合大括号}的时候,编辑器会自动对整个文档的代码进行重新格式化操作,这让一些有代码...

dedecms cookies泄漏导致SQL...

dedecmscookies泄漏导致SQL漏洞

推荐文章

抖音小程序开发的流程是什么?

开发抖音小程序是一个涉及多个步骤的过程,需要准备相应的资料和工具。以下是开发抖音小程序需要准备的资料和步骤:1.入驻抖音开发平台:首先,你需要在抖音开放平台注册一个开发者账号,并完成主体认证和对公认证。如果未完成认证,你可以在沙盒工具中创建...

php拼装sql语句,换行查询出错的问题解决

在php代码中,遇到复杂的sql语句,需要拼装sql语句,如:$sql='id 10;'$sql=' and (status in(1,2,3,4,5) andid not in (select id from aa...

uniapp开发微信小程序怎么模拟位置?

废话不多说,直接上货。在微信开发者工具调试栏,找到Sensor(传感器)。Geolocation,勾选启用,下边输入经纬度即可!

低成本的政企软件系统维护服务

开源节流,控制生产成本,限制开销,是每个企业和单位都要采取的成本控制和管理措施。其中,人力成本是企业在经营中支出占比较大的一块。以IT信息化部门为例,一个负责企业软件系统运维的IT部门,至少需要配置3个员工,每个员工按照IT工程师3-5年工...

QQ咨询 微信咨询