php 数组导入导出excel表格问题

事故背景:
甲方反馈按照标准格式无法上传Excel表格数据,提示:头信息与配置信息不符 格式不正确。
列出了关键代码,如下:

$xls_file = trim($this->_request->getQuery('xls_file', ''));
$topic_id = trim($this->_request->getQuery('topic_id', 1));

$reader = PHPExcel_IOFactory::createReader('Excel5');
$excel = $reader->load($xls_file);
$sheet = $excel->getSheet(0);
$row = $sheet->getHighestRow();
$column = $sheet->getHighestColumn();

$model = new LeadTopicModel();
//获得标题头
$header = array();
for ($k = 'A'; $k <= $column; $k++) {
 $header[] = trim($excel->getActiveSheet()->getCell("{$k}1")->getValue());
}
if ($header != $model->getFields()) {
 throw new Exception('头信息与配置信息不符 格式不正确!', 4003);
}

其中$column是excel表格的列(A,B,C,D.....)
走查了一遍逻辑,发现没问题,打印了$column的数据,定位到了问题:甲方上传的Excel表格格式不对。H列虽然没有数据,但是列格式被修改过,程序会判断该列有数据,导致了该问题。

QQ截图20171002105823.png

解决办法:删除该列(全选清空格式也可以)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容