PHPExcel For循环数据到数组转换

时间:2016-11-04 04:44:47

标签: php arrays string phpexcel

我正在尝试转换在ForEach循环中通过For循环获取的数据。 我从下面的PHP代码中获取了我期望的数据。问题是,当我尝试将其转换为数组(任何方法,包括爆炸)时,我只得到最后的结果。我可以通过在循环中运行数组请求告诉我获得重复信息但在循环外我只得到最后的结果。

我正在使用PHPExcel。我没有使用文件打开,因为我在故意移动文件之前从tmp文件加载此数组。

我正在收集任何列的标题以及数据来构建我的数组(接下来要加载到列表框中)。我知道有一个额外的逗号,但是一旦我可以正确解析它就可以修复。

下面的代码为我提供了tmp文件的前3个标题:" Header1,Header2,Header3," - 这是因为之前在Excel上在网页上构建表格的搜索而改变的。

foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
$highestRow         = $worksheet->getHighestDataRow(); // e.g. 10
$highestColumn      = $worksheet->getHighestDataColumn(); // e.g 'F'
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
$nrColumns = ord($highestColumn) - 64;
for ($row = 1; $row < 2; ++ $row) {
    for ($col = 0; $col < $highestColumnIndex; ++ $col) {
        $cell = $worksheet->getCellByColumnAndRow($col, 1);
        $val = $cell->getValue().',';
        $dataType = PHPExcel_Cell_DataType::dataTypeForValue($val);
print_r($val); //This is displaying what I expect to see "Header1,Header2,Header3,"
    }
}}

我尝试了类似下面的代码(以及$ myArray),但我得到的结果如下:"Header1,Array ( [0] => Header1, ) Header2,Array ( [0] => Header2, ) Header3,Array ( [0] => Header3, )" or if outside the } "Array ( [0] => Header3, )

$myString = $val;
$myArray = explode(',',$myString,0);
print_r($myArray);

感谢您的帮助!

标记

1 个答案:

答案 0 :(得分:0)

将以下行替换为for循环

$ val = $ cell-&gt; getValue()。&#39;,&#39;;

$ val。= $ cell-&gt; getValue()。&#39;,&#39;;

上面的行将逐个用逗号分隔你的结果。

如果您需要一个阵列中的所有内容,请替换下面的行

$ myArray = explode(&#39;,&#39;,$ myString,0);

$ myArray = explode(&#39;,&#39;,$ myString);