Bài viết [PHP] - Code upload Dữ liệu từ file Excel .xls vào CSDL MySQL

Thảo luận trong 'PHP' bắt đầu bởi white.smut, 12 Tháng sáu 2014.

  1. Offline

    white.smut

    • Administrator

    • Loading: |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||] 99% Completed - Error: Disconnected. Please try again!
    Số bài viết:
    842
    Đã được thích:
    425
    Điểm thành tích:
    450
    Code upload dữ liệu từ file Excel .xls vào CSDL MySQL sau đây rất dễ hiểu, bạn có thể làm ví dụ theo các bước sau:

    Bước 1: Tạo cơ sở dữ liệu tên 'nckh' với table là 'sinhvien_log' và có các trường sau:

    [IMG]

    Bước 2: Tạo file config.php để kết nối cơ sở dữ liệu:
    PHP:
    <?php
    mysql_connect
    ("localhost","root","");
    mysql_select_db("nckh");
    mysql_query('SET NAMES "UTF8"');
    ?>
    Bước 3: Tải file excel_reader2_patch_applied.php
    Link: Tại đây

    Bước 4: Tạo file uploadxls.php:
    PHP:
    <?php
    include ('config.php');
    ?>
    <fieldset>
    <legend>THÔNG TIN FILE</legend>
    <?php
    if(isset($_POST['submit_img'])){
    $allowedExts = array("xls");
    $temp explode("."$_FILES["file2"]["name"]);
    $extension end($temp);
    if (((
    $_FILES["file2"]["type"] == "application/vnd.ms-excel"))
    && (
    $_FILES["file2"]["size"] < 200000)
    && 
    in_array($extension$allowedExts))
      {
      if (
    $_FILES["file2"]["error"] > 0)
        {
        echo 
    "Return Code: " $_FILES["file2"]["error"] . "<br>";
        }
      else
        {
        echo 
    "Upload: " $_FILES["file2"]["name"] . "<br>";
        echo 
    "Size: " . ($_FILES["file2"]["size"] / 1024) . " kB<br>";
     
    $ng date("d");
    $t date("m");
    $n date("y");
        if (
    file_exists("store/" $_FILES["file2"]["name"]))
          {
          echo 
    $_FILES["file2"]["name"] . " File đã tồn tại hoặc tên file bị trùng với tên file trong CSDL. ";
      echo 
    "File lưu tại: " ."<div id='linkIMG'>""store/" $_FILES["file2"]["name"]."</div> <br />";
          }
        else
          {
     
    $ten $ng."".$t."".$n."-".$_FILES['file2']['name'];
          
    move_uploaded_file($_FILES["file2"]["tmp_name"],"store/" $ten);
          echo 
    "File lưu tại: " ."<div id='linkIMG'>""store/" $ten."</div> ";
    ?>
    <br />
    DỮ LIỆU TRONG FILE <?php echo  $_FILES["file2"]["name"]; ?>
    <?php
    $filename
    ="store/" $ten;
    require_once 
    'excel_reader2_patch_applied.php';
    $data = new Spreadsheet_Excel_Reader($filename,true,"UTF-8");
    $rowsnum $data->rowcount($sheet_index=0);
    $colsnum =  $data->colcount($sheet_index=0);
    echo 
    "<table  border='0' cellpadding='2' cellspacing='3'> <tr bgcolor='#99FFFF'><td>MSV</td><td>TÊN</td></tr>";
    for (
    $i=2;$i<=$rowsnum;$i++){
    $a $data->val($i,2);
    $b $data->val($i,3);
    if ((
    $a!="")&&($b!=""))
    {
    echo 
    "<tr bgcolor='#FFFFCC' > <td>$a</td> <td>$b</td>";
    $sql_dmsp="INSERT INTO `nckh`.`sinhvien_log` (`id`, `msv`, `tensv`) VALUES (NULL, '$a', '$b');";
    mysql_query($sql_dmsp);
    }
    }
    echo 
    "</table>";
    ?>
    </fieldset>
    <?php
    }
        }
      }
    else
      {
      echo 
    "File không hợp lệ";
      }
     }
    ?>
    </fieldset>
    <form action="" method="post" enctype="multipart/form-data">
    <fieldset>
    <legend>UPLOAD DỮ LIỆU</legend>
    <label for="file">Filename:</label>
    <table>
    <tr>
    <td>
    <input type="file" name="file2" id="file2"><br>
    </td>
    <td>
    <input type="submit" name="submit_img" value="Submit">
    </td>
    </tr>
    <tr>
    <td colspan="2">
    - Các file XLS(2003) <br />
    </td>
    </tr>
    </table>
    </fieldset>
    </form>
    Bước 5: Viết 1 file excel có nội dung sau:

    [IMG]

    Có các lưu ý sau:
    - File sẽ được lưu lại bằng tên gồm ngày tháng năm + tên file nhằm mục đích lưu trữ và được lưu trong thư mục store
    - File báo lỗi nếu trùng tên
    - Dữ liệu sẽ đọc trong file excel từ hàng thứ 2 trở đi
    Dưới đây là bộ code của nó
    Chúc bạn thành công!

    Các file đính kèm:

    hongoctrien thích bài này.

Chia sẻ trang này

Advertising: Linux system admin | nukeviet | nukeviet 4 | Upload ảnh miễn phí