PHPExcel For循环数据到数组的转换

PHPExcel For loop data to array conversion

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

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

我正在收集任何包含数据的列的 headers 以构建我的数组(接下来将加载到列表框中)。我知道有一个额外的逗号,但是一旦我能正确提取它就可以解决这个问题。

下面的代码为我提供了我的 tmp 文件的前 3 个 headers:"Header1,Header2,Header3," - 这是从之前在网页上构建 table 的搜索中更改的 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);

感谢您的帮助!

马克

替换for循环中的下行

$val = $cell->getValue().',';

$val .= $cell->getValue().',';

上一行将用逗号分隔一个一个地连接您的结果。

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

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

$myArray = explode(',',$myString);