php - fatal error : Uncaught exception 'PHPExcel_Reader_Exception' with message 'Could not open for reading! 文件不存在

标签 php mysql twitter-bootstrap file-upload phpexcel

在我的脚本中,我想使用“浏览和输入文件”读取 .xls 文件,然后我不想 PHPExcel 读取/加载 .xls 并将单元格值插入 mysql。

我让这个脚本使用静态文件:$path = 'file.xls'; 但我无法让上传脚本与我的代码一起使用。

错误: fatal error :未捕获异常“PHPExcel_Reader_Exception”,消息为“无法打开阅读!”文件不存在

有人可以告诉我出了什么问题吗? 或者我缺少一些代码吗?

HTML 选择文件:

<form class="form-horizontal well" action="php/import_excel.php" method="post"  name="import_excel" enctype="multipart/form-data">
                <h4>Ladda upp tabell</h4>
                    <div class="input-group">
                        <span class="input-group-btn">
                            <span class="btn btn-primary btn-file">
                                Bläddra&hellip; <input type="file" multiple>
                            </span>
                        </span>
                        <input type="text" class="form-control" readonly>
                    </div>
                    <span class="help-block">
                        Välj en excel fil
                    </span>
                    <div class="pull-right">
                        <button type="submit" id="submit" name="Import" class="btn btn-primary  button-loading" data-loading-text="Loading...">Ladda upp</button>
                    </div>
                    <br />
                </form>

PHP读取并插入到mysql:

//Load phpexcel includes    
require '../Classes/PHPExcel.php';
require_once '../Classes/PHPExcel/IOFactory.php';

//Establish connection to mysql
$conn=mysql_connect($host,$username,$password) or die("Could not connect");
mysql_select_db($dbname,$conn) or die("could not connect database");

//Load file
if(isset($_POST["Import"])){
echo $path=$_FILES["file"]["tmp_name"];

//$path = "atbl.xls";
$objPHPExcel = PHPExcel_IOFactory::load($path);

//Loop threw file to get data
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
    $worksheetTitle     = $worksheet->getTitle();
    $highestRow         = 20; //$worksheet->getHighestRow(); // e.g. 10
    $highestColumn      = 'G'; //$worksheet->getHighestColumn(''); // e.g 'F'
    $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
    $nrColumns = ord($highestColumn) - 64;

//Echo file info
echo "<br>The worksheet ".$worksheetTitle." has ";
echo $nrColumns . ' columns (A-' . $highestColumn . ') ';
echo ' and ' . $highestRow . ' row.';
echo '<br>Data: <table border="1"><tr>';

//Loop threw colum, rows and cells
for ($row = 11; $row <= $highestRow; ++ $row) {
    echo '<tr>';
    for ($col = 0; $col < $highestColumnIndex; ++ $col) {
        $cell = $worksheet->getCellByColumnAndRow($col, $row);
        $val = $cell->getCalculatedValue();
        //$dataType = PHPExcel_Cell_DataType::dataTypeForValue($val);
        echo '<td>' . $val . '<br></td>';
    }
    echo '</tr>';
}
echo '</table>';
}

for ($row = 11; $row <= $highestRow; ++ $row) {
$val=array();
for ($col = 0; $col < $highestColumnIndex; ++ $col) {
$cell = $worksheet->getCellByColumnAndRow($col, $row);
$val[] = $cell->getCalculatedValue();
}
//Insert data from file to mysql 
$sql="INSERT INTO phpexcel(objekt_nr, objekt_rev, element_nr, element_langd, element_bredd,  element_hojd)
VALUES ('".$val[0] . "','" . $val[1] . "','" . $val[2]. "','" . $val[4]. "','" . $val[5]. "','" .   $val[6]. "')";
//echo $sql."\n";
mysql_query($sql) or die('Invalid query: ' . mysql_error());
}
}
?>

最佳答案

HTML 代码缺少名称和 ID:

<input type="file" name="file" id="file" multiple>

关于php - fatal error : Uncaught exception 'PHPExcel_Reader_Exception' with message 'Could not open for reading! 文件不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26141115/

相关文章:

PHP7.1 json_encode() float 问题

javascript - 是否可以在关闭 body 标签之前关闭 div 标签?

php - 我应该调用一个包含 SESSION 值的变量而不是在 PHP 中调用实际 session 吗?

PHP:意外行为:foreach ... {$array ['country' ][] = $value ['country' ]}

php - 从不同的表中选择用户名,其中 id 在 codeigniter 中匹配

html - 如何 float div?

mysql - 如果另一个表中不存在连接字段值,则从 JOIN 查询获取默认值

mysql - 具有 3 个角色的数据库设计用户

html - 如何在 Bootstrap 中获取跨越父级整个宽度的按钮组?

html - 当行未满时 Bootstrap 中心 div