有同学提问,在使用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);
应用场景场景1:使用APP或小程序,分享给别人的网页内容,当用户打开这个网页内容时,可以自动打开APP或小程序。场景2:短信群发给目标人群,短信内容包含短网址,打开短网址后,可以打开APP或小程序。实现方法:无论是场景1还是场景2,其技...
在使用idea旗下的产品,如intellijidea,phpstorm,webstorm时,有的时候编辑前端页面JS,在换行时经常会自动出现个}大括号,这一点程序不是很智能,其实后边都已经有括号了。比如下图这样:那么如何解决这个问题呢?...
有做前端的同学在问,css的calc函数到底怎么使用啊,一直搞不清楚,糊里糊涂的,丁老师你能给我讲解一下吗?其实,calc是css样式表中,一个非常简单的函数,是计算数值用的,常用来作为宽度、高度等长度单位来使用。例子一,宽度自适应,两...
在uniapp中,使用picker multiSelector多列联动选择时,单独更新某列数据后,在前端没有显示,之前的写法:this.data_list[1]=[];var aaa=[];aaa.push(1);aaa.push(2)...
在使用jetbrains的ide开发代码时,经常性的会输入单引号或双引号,ide默认有对于引号的自动完成功能,即输入一个引号,自动显示两个,这一点其实做的很不智能,因为在使用时经常会有显示出3个的情况,那么怎么关闭这个功能呢?file-se...
安装fastadmin,打开后提示"你所浏览的页面暂时无法访问",无法安装,是因为程序的runtime没有写权限,需要对runtime目录,添加写权限。解决方法:windows:右键目录,写入按钮打勾。如果不行,在“安全...
有同学反应,在使用photoshop时,忽然文件打不开了,先后试了下psd格式、jpg格式、png格式的,等等等等,全都打不开,重启了电脑也不行,这是怎么回事呢?经过丁老师研究后发现,这是因为安装的是非正版photoshop,在使用时,没有...
正确的USB连线,其次打开开发者选项、USB调试,这些都是老生常谈,就不说了。在确保以上操作无误后,如果还找不到真机,关闭IDE,然后去adb的目录下,即HBuilderX\plugins\launcher\tools\adbs,把adb....