【问题标题】:Error getting while import excel using php使用php导入excel时出错
【发布时间】:2018-03-15 07:23:37
【问题描述】:

我想使用 php 导入 excel。我有

 public function importexcel()
    {

        $this->img = 'poc.xlsx';
$exceldata = array();
 require 'Classes/PHPExcel/IOFactory.php';
try
{
    $inputfiletype = PHPExcel_IOFactory::identify( $this->img);
    $objReader = PHPExcel_IOFactory::createReader($inputfiletype);
    $objPHPExcel = $objReader->load( $this->img);
}

catch(Exception $e)
{
    die('Error loading file "'.pathinfo( $this->img,PATHINFO_BASENAME).'": '.$e->getMessage());
}

POC.xlsx

但是当我加载页面时出现类似的错误

加载文件“poc.xlsx”时出错:无法打开 poc.xlsx 进行阅读! 文件不存在。

请帮助我。任何帮助将不胜感激。

【问题讨论】:

  • 您的文件路径似乎不正确。请检查您的文件路径。
  • 'controllers/poc.xlsx'
  • @LawrenceCherone 谢谢

标签: php excel import


【解决方案1】:

您应该始终使用文件的绝对路径。如果文件与控制器位于同一目录中,则路径应如下所示:

$this->img = __DIR__ . '/poc.xlsx';

__DIR__ 是一个魔法常数,其值始终等于当前文件目录的绝对路径。

请注意,您正在使用这样的 require 语句:

require 'Classes/PHPExcel/IOFactory.php';

由于您显然没有通知不存在文件的致命错误,因此表明当前工作目录不是controllers,而是它上面的一个。所以,你也可以写

$this->img = '../poc.xlsx';` 

这可能也会起作用。但同样,当您使用绝对路径时,避免所有丢失文件的错误会更容易。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-15
    相关资源
    最近更新 更多