有同学提问,在使用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);
微信小程序可以实现文档的在线预览及保存本地下载,支持的格式有pdf/doc/xls/ppt等常用文档类型,如图:除了对办公文档进行预览,还可以进行转发、收藏、保存手机本地等其他操作。实现该功能的思路为,先用downloadFile下载文...
最近有很多读者朋友来函,咨询新版本的织梦dedecms,在模型中新添加了自定义字段后,网站后台发布时却不显示这个字段的问题。丁老师亲自下了一个最新版的dedecms安装后,找到了后台发布时显示自定义字段的方法。
fastadmin里自定义按钮的btn-dialog,弹出窗口时默认大小,设置了data-area无效,经过研究后,发现了可用的方法,直接上代码不废话:table.on('post-body.bs.table',func...
微信公众号可以把官网的网页集成进去吗?想通过微信公众号实现打开公司网站的页面,具体要怎么实现呢?其实这个功能,可以通过微信菜单的方式来实现...
在使用idea系列的配套软件时,如intellijidea、PhpStorm、WebStrom时,在搜索文件时,右上角的filemask可以筛选指定类型的文件。但是有时候可能会输入错误,产生多个记录,而且没办法删除,在以后的开发中经常会耽误...
CI框架是一款很小却又非常强大的PHP程序框架,非常适合用来搭建中小型网站以及扩展程序。有同学问到,在使用CI框架时,比如要对全站的标题、公司信息、电话等设置一个全局变量,不用每个页面都写死,该怎么办呢?丁老师来教你:1.打开页面的控制器文...
在php代码中,遇到复杂的sql语句,需要拼装sql语句,如:$sql='id 10;'$sql=' and (status in(1,2,3,4,5) andid not in (select id from aa...
在使用jetbrains的ide开发代码时,经常性的会输入单引号或双引号,ide默认有对于引号的自动完成功能,即输入一个引号,自动显示两个,这一点其实做的很不智能,因为在使用时经常会有显示出3个的情况,那么怎么关闭这个功能呢?file-se...