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

PHPExcel列自适应宽度的方法

所属分类:软件开发 来源: 丁老师原创 更新时间:2025-07-10 08:56 浏览: 2259 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打开微信小程序这个问题,全部都是只言片语,没有一篇完整的内容,大家把各种代码东拼西...

微信企业付款到零钱开发

丁老师开发的微信企业付款功能,可以直接对接系统,在用户申请提现时由微信直接付款至个人的微信零钱账户

Jquery1.7版本之前不支持on事件的解...

这个时候可以用到live方法

百度编辑器ueditor自动添加p标签换行的...

在实际工作中发现,有个编辑器每次保存或者修改后,都会自动在内容顶部和底部增加几行,烦人的很,一直找不到解决办法。后来发现原来是自己代码的问题。解决办法:内容在textarea中,不要换行不要写成:<textarea{content...

推荐文章

Android Studio 打包APP制作...

在使用android studio打包app时,需要制作JKS证书,具体的命令如下:D:\Program Files\Java\jre1.8.0_301\bin keytool -genkey -v -keystore dlq6.jks -...

如何删除idea软件搜索时的find mas...

在使用idea系列的配套软件时,如intellij idea、Php Storm、Web Strom时,在搜索文件时,右上角的file mask可以筛选指定类型的文件。但是有时候可能会输入错误,产生多个记录,而且没办法删除,在以后的开发中经...

安装fastadmin提示“你所浏览的页面暂...

安装fastadmin,打开后提示"你所浏览的页面暂时无法访问",无法安装,是因为程序的runtime没有写权限,需要对runtime目录,添加写权限。解决方法:windows:右键目录,写入按钮打勾。如果不行,在“安全...

Uniapp开发微信小程序时,微信开发者工具...

在使用uniapp开发微信小程序,微信开发者工具调试时,明明已经给了获取位置权限,但还是提示需要打开gps获取位置,具体解决办法如下:打开uniapp的manifest.json文件,切换到源码模式,找到mp-weixin节点"p...