PHPExcel不读我的xls文件

时间:2013-03-09 21:17:39

标签: php phpexcel

当我加载任何文件xls,但总是给出文本。我做了所有这些:DOM元素:HTML DOM元素:BODY DOM元素:P段开始:段落结束:FLUSH CELL:A1 =>二

$ aSheet = $ objPHPExcel-> getActiveSheet ();

外部文件没有数据怎么办?

我的代码:

function getXLS($xls) {
    include_once '/server_name/public_html/PHPExcel/Classes/PHPExcel/IOFactory.php';
    $objPHPExcel = PHPExcel_IOFactory::load($xls);
    $objPHPExcel->setActiveSheetIndex(0);
    $aSheet = $objPHPExcel->getActiveSheet();
    $array = array();
    foreach($aSheet->getRowIterator() as $row) {
        $cellIterator = $row->getCellIterator();
        $item = array();
        foreach($cellIterator as $cell) {
            array_push($item, $cell->getCalculatedValue());
        }
        return $array;
    }

    $excel_file = $_FILES['excel_file'];
    if( $excel_file )
        $excel_file = $_FILES['excel_file']['tmp_name'];
    if($_FILES['excel_file']['tmp_name']) {
        $xlsData = getXLS($excel_file); 
    }
}

1 个答案:

答案 0 :(得分:1)

这些错误消息是用于读取HTML文件的旧调试代码。 PHPExcel已将您正在加载的文件标识为HTML而不是真正的.xls文件,并且正在使用HTML Reader。不幸的是,我在代码中留下了一些应该在发布之前删除的诊断信息。

要解析,编辑HTML Reader文件,并注释掉任何回传任何内容的行

然而,仔细观察它实际上看起来好像有一个HTML标记缠绕在一个真正的Excel文件的字节流数据(在文本编辑器中打开文件,看看我的意思)。但是这个文件正在生成,它被这个文件破坏了,使它无法读取。您需要修复创建此文件的代码。