【问题标题】:Uncaught exception 'PHPExcel_Reader_Exception' with message could not open for reading带有消息的未捕获异常“PHPExcel_Reader_Exception”无法打开以供阅读
【发布时间】:2014-08-24 13:45:11
【问题描述】:

我正在为用户创建一个表单,允许他们上传.csv 文件和xls/xlsx 文件。目前,该程序确实允许他们上传.csv 文件,这些文件用于更新我正在处理的Oracle 11g 数据库。但是,我似乎无法弄清楚如何打开,然后将xsl/xlsx 文件正确地转到csv's。我不断收到此错误:

Fatal error: Uncaught exception 'PHPExcel_Reader_Exception' with message 'Could not open uploaded.xls for reading! File does not exist, or it is not readable.' in /opt/apache/servers/planninganddesign/htdocs/LG/SLCCA/Classes/PHPExcel/Shared/OLERead.php:80 Stack trace: #0 /opt/apache/servers/planninganddesign/htdocs/LG/SLCCA/Classes/PHPExcel/Reader/Excel5.php(1164): PHPExcel_Shared_OLERead->read('uploaded.xls') #1 <DIRECTORY> (612): PHPExcel_Reader_Excel5->_loadOLE('uploaded.xls') #2 /opt/apache/servers/planninganddesign/htdocs/LG/SLCCA/update_handler2.php(12): PHPExcel_Reader_Excel5->load('uploaded.xls') #3 {main} thrown in /opt/apache/servers/planninganddesign/htdocs/LG/SLCCA/Classes/PHPExcel/Shared/OLERead.php on line 80 

这是一个很长的错误,但我认为第一行是我目前的主要问题。

update2.php(表格)[我怀疑你需要这个]:

<?php require('reader.php'); ?>

<form name="file" enctype="multipart/form-data" action="update_handler2.php" method="post" >

   <u>GF:</u> <input type="file" name="uploaded"><br>
   <u>GF:</u> <input type="number" name="numbers"><br>

   <input type="submit" value="Submit">

</form>

update_handler2.php(处理程序):

<?php require_once'Classes/PHPExcel/IOFactory.php'; ?>

<?php

    $file = $_FILES['uploaded']['tmp_name'];

    $inputFileType = 'Excel5';
    $inputFileName = '$file';

    $objReader = PHPExcel_IOFactory::createReader($inputFileType);
    $objPHPExcelReader = $objReader->load($inputFileName);

    $loadedSheetNames = $objPHPExcelReader->getSheetNames();

    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcelReader, 'CSV');

    foreach($loadedSheetNames as $sheetIndex => $loadedSheetName) {
        $objWriter->setSheetIndex($sheetIndex);
        $objWriter->save($loadedSheetName.'.csv');
    }

?>

有人知道如何解决这个问题吗?

【问题讨论】:

    标签: php csv converter phpexcel


    【解决方案1】:
    $inputFileName = '$file';
    

    你的文件真的叫$file(你引用它作为字符串文字)......还是变量$file中的文件名

    $inputFileName = $file;
    

    【讨论】:

    • 哇,我不知道把它放在 '' 中会变成文字。 Obvi 我只有一周的时间来编程 xD 哈哈!非常感谢,这似乎解决了我的错误。一旦可以,我将在 10 分钟内接受答复!感谢您帮助菜鸟。
    • 如果使用双引号("),那么PHP在遇到变量名时会插入变量值,如果使用单引号('),那么它将是一个直字符串字面量docs
    • 你每天都会学到一些新东西 :) 我愿意,但我需要 15 个代表才能做到这一点,哈哈。非常感谢!
    猜你喜欢
    • 2014-11-26
    • 2015-02-27
    • 2014-12-23
    • 1970-01-01
    • 2014-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多