关于laravel_excel

之前采取

$sheet->getStyle('A1:A5')->getNumberFormat()
        ->setFormatCode( \PHPExcel_Style_NumberFormat::FORMAT_TEXT ); //格式为文本

的方式将单元格转化为文本,但是里面的身份证号信息还是以科学计数法形式存在(这里我始终搞不懂为什么文本格式会以科学计数法存在,我看了单元格确实是文本格式),虽然可以在数据前面加空格或者单引号或者在数据后面加“\t”,这样显示上可以达到很好的效果,但是却躲不过Excel宏检测(这是需求方写的宏检测,无论单引号空格反斜杠t都是会被检测出问题),所以问了躲避这个宏检测也是头疼了好久,然后看到另外一个解决方法:

$sheet->setCellValueExplicit("A1",'这里填写数据',\PHPExcel_Cell_DataType::TYPE_STRING); //只能一个单元格一个单元格赋值

发现确实可以完美躲掉Excel宏检测,怀疑是不是getNumberFormat()函数把我坑了

而且 setCellValueExplicit 这个函数同时还可以起到修改表中值的作用!!!所以如果有修改表中单元格的值的需求,也可以用这个函数

发布了20 篇原创文章 · 获赞 8 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/a26637896/article/details/82380577
今日推荐