douhu4091 2014-08-20 14:52
浏览 12
已采纳

在php中导入excel文件

friends i already know how to upload .csv file format through php. but now i need to know how to upload .xls file in php. i tried of this code but it doesn't work properly.. can any one able to give suggestion for me??

if ($_POST['frmSubmit']) {
    $file = $_FILES['frmUpload']['name'];   

    if ($file) {
        $data = new Spreadsheet_Excel_Reader();
        $data->read('name'.$file);

        for ($k = 1; $k < count($strDatas->sheets[0]['numRows']); $k++) {       
            $name = $data->sheets[0]['cells'][$k][1];
            $code = $data->sheets[0]['cells'][$k][2];
            $email = $data->sheets[0]['cells'][$k][3];
            $designation = $data->sheets[0]['cells'][$k][4];
            $number = $data->sheets[0]['cells'][$k][5];
            $salary = $data->sheets[0]['cells'][$k][6]; 
            $age = $data->sheets[0]['cells'][$k][7];    

            doInsertEmployeeDetails($name, $code, $email, $designation, $number, $salary, $age);
        }   
    } else {
        $strMessage = 'Please upload a valid file.';                                                                    
        $strClass = 'Error';
    }
}
  • 写回答

1条回答 默认 最新

  • duanli0119 2014-08-20 14:55
    关注

    A file upload is a file upload. Doesn't matter if it's .txt, .jpg, .exe, or .foobarbaz. PHP doesn't care.

    What you ARE doing wrong is making up a totally fake name for that file and somehow expecting PHP to magically fix that.

    You need to first confirm that an upload actually occurred and SUCCEEDED

    if ($_FILES['frmUpload']['error'] !== UPLOAD_ERR_OK) {
       die("File upload failed with error code #" . $_FILES['frmUpload']['error']);
    }
    

    Then just use the standard temp filename that PHP assigns, not the utterly meaning filename that existed on the client:

    $data->read($_FILES['frmUpload']['tmp_name']);
    

    And of course, you should probably check if that upload really is an excel file, and not something completely different.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改