最近写一个导入excel表格的问题,compose安装了最新的phpoffice。
因为我们项目中,有好多供应商,所以每家的供应商格式都不一样,
最近新增了一个用原来的方法一直都导入不了。
//前面的都是废话不多说,直接上代码
phpexcel自带多种操作版本
当然最新的是Excel2007,格式通常为xlsx,这个格式通常上传都没有问题。
一般遇到问题的就是xls格式的,通常为2003以下格式,后缀名为xls
这个时候选择excel版本应为Excel5,
重点来了,用此版本的excel,导入xls格式时会报错
数据插入失败iconv(): Wrong charset, conversion from
CP936' to UTF-8' is not allowed"
错误很明显的指出了,找了一下,问题出现在转码问题,最好修改为
代码
if (self::getIsIconvEnabled()) { if ($to=='UTF-8' && $from=='CP936') { return iconv('UTF-8', 'latin1', $value); } return iconv($from, $to, $value); }
搞定
Title中文乱码xls解决办法
image.png直接设置value格式为Apache POI,就可以了。
$value='Apache POI';
网友评论