通过php将Excel工作表数据存储到数据库中

时间:2014-08-01 12:37:46

标签: php excel

我成功地通过来自http://www.phpclasses.org/browse/package/6279/download/zip.html的一些php文件以表格形式在我的php页面上显示excel表格数据,我试图通过下面的代码将每列表格的文本存储到数据库中,但我得到了注意:未定义的索引:feed10

代码是

<html>
<head>
<title>Upload</title>
</head>
<body>
<form  method="post" enctype="multipart/form-data" >
Upload file (*.XLSX file) <input type="file" name="file" value=""  /><input type="submit" value="Upload" />
</form>
<form  method="post" enctype="multipart/form-data" action="loadPHP.php">
<?php

if (isset($_FILES['file'])) {

require_once "simplexlsx.class.php";

$row = 0;

$xlsx = new SimpleXLSX( $_FILES['file']['tmp_name'] );

echo '<h2>Uploaded Data</h2>';
echo '<table >';

list($cols,) = $xlsx->dimension();

foreach( $xlsx->rows() as $k => $r) {
//  if ($k == 0) continue; // skip first row
echo '<tr>';
for( $i = 0; $i < $cols; $i++) {
echo '<td name="feed'.$row.''.$i.'">'.( (isset($r[$i])) ? $r[$i] : '&nbsp;' ).'</td>';

}
echo '</tr>';
$row++;
}
echo '</table>';
echo '<input type="submit" value="Load in Database"/>';
}

?>  
</form>

</div>
</body>
</html>

loadPHP.php

<?php
    session_start();
    $rw=1;
    $result='';
    $con=mysql_connect("localhost","root","12345");
    if(!$con) {
        die('could not connect'.mysql_error());
    }
    mysql_select_db("birt",$con);
    for( $col = 0; $col < 2; $col++ ){
        $day=$_POST['feed'.$rw.''.$col.''];
        $order = "INSERT INTO lecture_plan (topic ) VALUES ('$day')";
        $result = mysql_query($order);
    }
    if($result){
        header('Location: simplexlsx.example3.php');
    } else{
        echo("<br>Input data is fail");
    }
    mysql_close($con);
?>`

1 个答案:

答案 0 :(得分:1)

数据未通过表单提交,因为您是直接在td标记中设置的。

尝试将数据移动到隐藏输入,如下所示:

echo '<td>'.( (isset($r[$i])) ? $r[$i] : '&nbsp;' ).' <input type="hidden" name="feed'.$row.''.$i.'" value="'.( (isset($r[$i])) ? $r[$i] : null ).'" /></td>';