有同学提问,在使用PHPExcel时,使用自带的setAutoSize方法无效,代码如下:
$PHPExcel->getActiveSheet()->getColumnDimension(PHPExcel_Cell::stringFromColumnIndex(1))->setAutoSize(true);这是PHPExcel文档中自带的写法,丁老师试了下,生成的Excel列不是自适应宽度的,还真的是没起做用。

研究了一下,不如换个思路,可以根据列内文字的长度来设置宽度。
获取文字长度时,需要先将文字转换为中文字符,用来计算包含中文的文字长度。
$strlen=strlen(iconv('utf-8','gb2312','丁老师软件'));得到宽度后,设置列宽度,然后执行生成Excel代码
$PHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth($strlen);果然,生成的Excel列宽度变为了自适应。

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

完整代码:
$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);composer更新指定包的命令composer require alibabacloud/dysmsapi-20170525:2.0.24 --ignore-platform-reqscomposer update alibabacl...
今天有同学问,要做一个网站,技术方面是用html5呢还是用vue呢?丁老师给你解答。其实,用html5和用vue,都可以做网站,但是就架构适用性来说,html5和vue有不同的特点。html5做网站的优点:1.快速开发,上手简单,不需要...
在使用jetbrains的ide开发代码时,经常性的会输入单引号或双引号,ide默认有对于引号的自动完成功能,即输入一个引号,自动显示两个,这一点其实做的很不智能,因为在使用时经常会有显示出3个的情况,那么怎么关闭这个功能呢?file-...
微信支付常见问题及解决办法
在php代码中,遇到复杂的sql语句,需要拼装sql语句,如:$sql='id 10;'$sql=' and (status in(1,2,3,4,5) andid not in (select id from aa...
在日常开发过程中,突然发现svn无法提交和更新,出现“nopathorpathfilespecifiedonthecommandline”的错误,网上搜了一圈百度google以及stackoverflow都没找到真正能解决问题的办法,本着不...
在fastadmin中,一个页面的非菜单链接,想要点击后打开指定页面,并且菜单自动展开,该怎么实现呢?经过丁老师研究后,发现超级简单,废话不多说,直接上代码:<a class="btn-addtabs" href=...
fastadmin里自定义按钮的btn-dialog,弹出窗口时默认大小,设置了data-area无效,经过研究后,发现了可用的方法,直接上代码不废话:table.on('post-body.bs.table',functi...