我正在使用phpexcelreader (http://sourceforge.net/projects/phpexcelreader)导入excel (XLS)文件。在用户手动打开excel、保存并导入之后,该文件将被分析并导入,没有任何问题。直接从生成excel的源系统导入文件时,无法正确导入文件。
我输出了两个excel文件的内容(好的文件和错误的文件),这就是我所发现的。使用此命令输出内容:
echo '<pre>';
var_export($excel->sheets);
echo '</pre>';下面是这个好文件的数组的一部分
0 =>
array (
'maxrow' => 0,
'maxcol' => 0,
'numRows' => 6,
'numCols' => 207,
'cells' =>
array (
4 =>
array (
1 => 'Employee First Name',
2 => 'Employee Last Name',下面是输出错误的文件数组的一部分/
0 =>
array (
'maxrow' => 0,
'maxcol' => 0,
'numRows' => 7,
'numCols' => 208,
'cells' =>
array (
4 =>
array (
1 => 'E' . "\0" . 'm' . "\0" . 'p' . "\0" . 'l' . "\0" . 'o' . "\0" . 'y' . "\0" . 'e' . "\0" . 'e' . "\0" . ' ' . "\0" . 'F' . "\0" . 'i' . "\0" . 'r' . "\0" . 's' . "\0" . 't' . "\0" . ' ' . "\0" . 'N' . "\0" . 'a' . "\0" . 'm' . "\0" . 'e' . "\0" . '',
2 => 'E' . "\0" . 'm' . "\0" . 'p' . "\0" . 'l' . "\0" . 'o' . "\0" . 'y' . "\0" . 'e' . "\0" . 'e' . "\0" . ' ' . "\0" . 'L' . "\0" . 'a' . "\0" . 's' . "\0" . 't' . "\0" . ' ' . "\0" . 'N' . "\0" . 'a' . "\0" . 'm' . "\0" . 'e' . "\0" . '',如您所见,phpexcelreader在字符后面添加了一个"\0“。需要一些帮助来防止这种情况发生,或者如何对字符串进行消毒?
发布于 2016-11-18 03:35:14
我对每个单元格的内容执行了清理。这就解决了问题
$cell = filter_var($cell, FILTER_SANITIZE_STRING);
https://stackoverflow.com/questions/40641733
复制相似问题