phpExcel:无法加载资源:net :: ERR_CONNECTION_RESET

时间:2015-02-26 09:18:05

标签: php phpexcel

我实际上使用phpExcel来获取一个excel文件,我使用<input type='file'>从用户恢复,然后在csv文件中转换此excel文件。

我的脚本工作和生成的csv文件。问题是我的脚本完成后页面永远不会停止加载,我在控制台中收到此错误:Failed to load resource: net::ERR_CONNECTION_RESET

他们是另一个问题,我在我的脚本中也使用了另一个对象来显示菜单,菜单不显示我使用的是PHPExcel。

他们是我调用我的PHPExcel对象创建的代码:

<?php
///Get excelFile ///        
if(isset($_FILES['excelFileCandidat']))
{
   require_once dirname(__FILE__) . "/../../lib/ExcelCandidat/ExcelCandidat.class.php";
   $file = new ExcelCandidat($_FILES['excelFileCandidat']);
   $file->excelFileToCsv();
}



echo "<table width='100%'>";
echo     "<tr>";
echo        "<td>";
echo           "Import new Excel File : ";
echo           "<input type='file' name='excelFileCandidat' />";
echo        "</td>";
echo        "<td>";
echo           "<input type='submit' name='submit' value='Send' />";
echo        "</td>";
echo     "</tr>";
echo "</table>";
?>

我的目标:

<?php
require_once dirname(__FILE__) . "/../PHPExcel/PHPExcel.php";

class ExcelCandidat
{
    private $excelFile;
    public function __construct($file)
    {
        $this->excelFile = $file;
    }

    public function excelFileToCsv()
    {
        set_time_limit(600);
        if (!is_array($this->excelFile))
        {
             throw new Exception("STR_APPROCHECK_ERR");
        }

        $newFilename = 'csvCandidat';
        $ext = strrchr($this->excelFile['name'], '.');
        $isExcel = stripos($ext, '.xls') !== false;
        if($isExcel) 
        {
            ini_set('memory_limit', '256M');
            $objPHPExcel = PHPExcel_IOFactory::load($this->excelFile['tmp_name']);
            $worksheet = $objPHPExcel->getActiveSheet();
            $writer = PHPExcel_IOFactory::createWriter($objPHPExcel , 'CSV');
            $writer->setDelimiter(';');
            $writer->setEnclosure('"');
            $writer->setUseBOM(false);
            $tmpName = dirname(__FILE__) . '/file/' . $newFilename . date('ymdHis') .'.csv';
            $writer->save($tmpName);
            unset($objPHPExcel, $writer);
        }
    }
}
?>

1 个答案:

答案 0 :(得分:0)

我发现问题来自PHPExcel / Calculation.php文件中的库。

你必须在类的开头添加一行PHPExcel_Calculation添加一行private $saveThis;并在构造函数(第1722行)中添加line $this->saveThis = $this;并在destruct函数(第1740行)中重新添加$this的{​​{1}}