PHPExcel 导入

    function importExecl($file='', $sheet=0)
    {
        header("Content-type:text/html;charset=utf-8");
        ini_set('memory_limit', '3072M');
        ini_set('max_execution_time', 0);
        $file = "./Uploads/20180605.xlsx";
        $file = iconv("utf-8", "gb2312", $file);   //转码
        if(empty($file) OR !file_exists($file)) {
            die('file not exists!');
        }
        vendor('PHPExcel.PHPExcel');
        $objRead = new \PHPExcel_Reader_Excel2007();   //建立reader对象
        if(!$objRead->canRead($file)){
            $objRead = new PHPExcel_Reader_Excel5();
            if(!$objRead->canRead($file)){
                die('No Excel!');
            }
        }
        $arr = array(
            'A' => 'goods_oe',
            'B' => 'goods_number',
            'C' => 'goods_name',
            'D' => 'content',
            'E' => 'source',
            'F' => 'category_name'
        );

        $obj = $objRead->load($file);  //建立excel对象
        $currentSheet = $obj->getSheet($sheet);   //获取指定的sheet表
        $allColumn = $currentSheet->getHighestColumn();   //取得最大的列号
        $allRow = $currentSheet->getHighestRow();   //获取总行数
        $i = 0;

      //方法一    $data 是所有数据
  $file = "./Uploads/20180605.xlsx";
        $file = iconv("utf-8", "gb2312", $file);   //转码
        if(empty($file) OR !file_exists($file)) {
            die('file not exists!');
        }
        vendor('PHPExcel.PHPExcel');
        $objRead = new \PHPExcel_Reader_Excel2007();   //建立reader对象
        if(!$objRead->canRead($file)){
            $objRead = new PHPExcel_Reader_Excel5();
            if(!$objRead->canRead($file)){
                die('No Excel!');
            }
        }
        $arr = array(
            'A' => 'goods_oe',
            'B' => 'goods_number',
            'C' => 'goods_name',
            'D' => 'content',
            'E' => 'source',
            'F' => 'category_name'
        );

        $obj = $objRead->load($file);  //建立excel对象
        $currentSheet = $obj->getSheet($sheet);   //获取指定的sheet表
        $allColumn = $currentSheet->getHighestColumn();   //取得最大的列号
        $allRow = $currentSheet->getHighestRow();   //获取总行数
        $i = 0;

      //方法一    $data 是所有数据
    for($j=3;$j<=$allRow;$j++){
            //从A列读取数据
            for($k='A';$k<=$allColumn;$k++){
                // 读取单元格
                $data[$j][]=$obj->getActiveSheet()->getCell("$k$j")->getValue();
            }
//            print_r($data[$j][0]);die;
        }

      //方法二 $data2 每一行数据就是一个数组      

    for ($currentRow = 2; $currentRow <= $allRow; $currentRow++) {
            $i++;
            /**从第A列开始输出*/
            for ($currentColumn = 'A'; $currentColumn <= $allColumn; $currentColumn++) {
                $val = $currentSheet->getCellByColumnAndRow(ord($currentColumn) - 65, $currentRow)->getValue();
                $data1[$currentColumn] = $val;
            }
            foreach ($arr as $key => $val) {
                $data2[$val] = $data1[$key];
            }
            //保存数据入库
            $this->Savedata($data2, $currentRow);
            echo "\n";
        }


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用PHPExcelExcel文件中的数据导入到数据库的步骤: 1. 首先,您需要安装PHPExcel库。您可以从官方GitHub存储库中获取最新版本的PHPExcel。下载后,将库的文件解压缩到您的项目目录中。 2. 创建一个名为“import_excel.php”的PHP文件,并在其中包含PHPExcel库中的“PHPExcel.php”文件。 3. 在“import_excel.php”文件中,创建一个HTML表单,允许用户上传Excel文件。 4. 在PHP文件中,使用以下代码将Excel文件中的数据读取到PHP数组中: ```php require_once 'PHPExcel.php'; $excel = PHPExcel_IOFactory::load($_FILES['file']['tmp_name']); $sheet = $excel->getActiveSheet(); $rows = array(); foreach ($sheet->getRowIterator() as $row) { $cellIterator = $row->getCellIterator(); $cellIterator->setIterateOnlyExistingCells(FALSE); $cells = array(); foreach ($cellIterator as $cell) { $cells[] = $cell->getValue(); } $rows[] = $cells; } ``` 5. 将数组中的数据插入到数据库中。您可以使用MySQLi或PDO等PHP扩展来执行此操作。以下是一个使用MySQLi的示例: ```php $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } foreach ($rows as $row) { $sql = "INSERT INTO table_name (column1, column2, column3) VALUES ('" . $row[0] . "', '" . $row[1] . "', '" . $row[2] . "')"; if ($conn->query($sql) === TRUE) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } } $conn->close(); ``` 6. 在浏览器中打开“import_excel.php”文件,并上传Excel文件。数据将被导入到数据库中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值