【问题标题】:How to eliminate empty rows in excel upload from PHP using PHPExcel upload?如何使用 PHPExcel 上传从 PHP 中消除 excel 上传中的空行?
【发布时间】:2013-04-09 06:45:42
【问题描述】:

我正在开发中。我想在使用 PHP excel 插件从 PHP 上传 excel 时消除空行。

while($x<=$excel->sheets[0]['numRows']){
    $y=1;
    while($y<=$excel->sheets[0]['numCols']){
        $cell = isset($excel->sheets[0]['cells'][$x][$y])
            ? $excel->sheets[0]['cells'][$x][$y] 
            : '';
        if($excel->sheets[0]['cells'][$x][$y] == $excel->sheets[0]['cells'][$x][1] ){
            echo $cell;
        } else { 
            echo $cell; 
        }
        $y++;
    } 
    $x++;
} 

我使用此代码将值从 excel 获取到 PHP,但如果 excel 有空记录,则结果将被修改,例如额外的单元格。我该如何解决这个问题。

【问题讨论】:

  • 您是真的在使用 PHPExcel,还是在使用 PEAR Spreadsheet_Excel_Writer (SEW)...在我看来更像是后者
  • 抱歉,我只使用了 Spreadsheet_Excel_Writer。我怎样才能消除空行
  • 您需要在第二个 while 循环之前测试行数组中的每个单元格是否为空,并且只有在有非空单元格时才执行该 while 循环。我建议使用 array_filter() 来计算非空单元格
  • 它说:解析错误:语法错误,意外的 T_FUNCTION 在
  • 那是什么意思?你运行的是什么版本的PHP?我的回答至少需要 5.3.0;但是您至少应该运行它,因为不再支持以下任何内容

标签: php spreadsheet


【解决方案1】:
if (!array_reduce(
    $excel->sheets[0]['cells'][$x],
    function ($state, $value) {
        return $state && !($value > '');
    },
    TRUE
)) {
// execute your while($y<=$excel->sheets[0]['numCols']) loop here
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多