2014-10-01 24 views
0

在我的剧本我倒是喜欢阅读“浏览&输入文件”,然后我wan't PHPExcel一个.xls文件读取/加载.xls和插入单元格的值到MySQL。致命错误:未收到的异常'PHPExcel_Reader_Exception'带消息'无法打开阅读!文件不存在

我有这个脚本与静态文件的工作:$ PATH = 'file.xls'; 但我无法获得上传脚本来处理我的代码。

错误: 致命错误:未收到的异常'PHPExcel_Reader_Exception'带有消息'无法打开阅读!文件不存在

有人能告诉我what's错了吗? 或者是否有一些我错过的代码?

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()); 
} 
} 
?> 
+0

它帮助,如果你实际描述你遇到的问题。错误消息(屏幕上或日志中)?你尝试过哪些调试,等等 – 2014-10-01 12:24:49

+0

你可以从你的PHP错误日志中添加一些东西吗? – rikpg 2014-10-01 12:41:21

+0

如果你得到一个500错误,那么这是一个服务器端的问题,您需要检查服务器日志....一个共同的原因可能是在你的脚本解析错误:'从命令PHP -l'行可以帮助识别 – 2014-10-01 12:50:16

回答

0

HTML代码失踪名& ID:

<input type="file" name="file" id="file" multiple> 
相关问题