使用PHP ExcelReader时出现问题-错误的xls文件?

使用PHP ExcelReader时出现问题-错误的xls文件?,php,excel,Php,Excel,我正在尝试使用从excel文件导入数据,但遇到了问题。该文件由工作程序生成。虽然这是一个非官方的项目,但我只是一个爱好者 当我读文件时,数据很奇怪。一列中通常为4个字符的单元格将被截断为2个。大多数其他列在单元格被截断时似乎没有一致性,只是整个文本从未出现过。如果我使用Libreoffice编辑一个单元格,保存并导入同一个文件,所有内容都会显示良好。代码是这样的: $data = new Spreadsheet_Excel_Reader(); $data->setOutpu

我正在尝试使用从excel文件导入数据,但遇到了问题。该文件由工作程序生成。虽然这是一个非官方的项目,但我只是一个爱好者

当我读文件时,数据很奇怪。一列中通常为4个字符的单元格将被截断为2个。大多数其他列在单元格被截断时似乎没有一致性,只是整个文本从未出现过。如果我使用Libreoffice编辑一个单元格,保存并导入同一个文件,所有内容都会显示良好。代码是这样的:

    $data = new Spreadsheet_Excel_Reader();
    $data->setOutputEncoding('CP1251');
    $data->read($filename);
    echo "<table>\n";
    for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
        echo "<tr>";
        for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
            echo "<td>";
            if (isset($data->sheets[0]['cells'][$i][$j])) {
                echo $data->sheets[0]['cells'][$i][$j];
            }
            echo "</td>";
        }
        echo "</tr>\n";
    }
    echo "</table>\n";

其想法是,该文件将由多个用户每天至少生成一次,因此让他们在上传之前保存、编辑并重新保存该文件是不现实的。您对如何按原样导入此文件有什么建议吗?

我和您有同样的问题。我的xls文件是从SSRS下载的。 如果我下载后直接读取,字符串和数字数据将作为奇怪的数据检索。 例如:

excel 1040809656.00中的数据 但电子表格Excel阅读器检索[$-10408096561040809656104080965610408096561040809656104040809651040809656]10408096561040809656]10408096561040809656

我的临时解决方案是打开文件并另存为它,而不进行编辑