ایمپورت کردن فایل اکسل به mysql بوسیله PHP

درود بر شما

 

امروز میخام وارد کردن اطلاعات از یک فایل اکسل رو داخل دیتابیس mysql توسط PHP  آموزش بدم

البته من الان فقط درباره mysql میگم اما خودتون هم میدونید که فرقی نداره چی باشه دیتابیس

راه ساده و بی دردسری که خودم رفتم رو براتون میگم شاید راه های دیگه ای هم باشه اما بر هر حال ….

 

اول از همه نیاز داریم به یک کلاس به نام simplexlsx که با PHP محبوبمون نوشته شده ، اخر مطلب فایل برای دانلود آماده هست

خوب فرض کنیم یک فرمی داریم که یک فایل xlsx بهش وارد میشه و نیاز داریم بعد از آپلود وارد دیتابیس بشه

فرم رو به ساده ترین شکل ممکنه من اینجا ساختم




<form method="post" action="" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="send" name="btn">
</form>


خوب حالا بعد از انتخاب فایل اکسل و فشردن دکمه send باید این کار رو انجام بدیم

if(isset($_POST['btn'])) {
    include_once 'simplexlsx.class.php';
    $xlsx = new SimpleXLSX($_FILES['file']['tmp_name']);
    list($cols,) = $xlsx->dimension();
    foreach( $xlsx->rows() as $k => $r) {
        if ($k == 0) continue; // skip first row
        for( $i = 1; $i <= $cols; $i++) {
            if ($r[1] != "" && $i<=4) {
                $array[$k] = $r;
            }
        }
    }
}

خوب تمام رکورد های فایل اکسل رو توی متغیر $array داریم . وقتشه که بوسیله یک حلقه وارد دیتابیس کنیمشون.

foreach($array as $item) {
    mysqli_query($DB,"INSERT INTO `place` (`col1`,`col2`)
            VALUES('{$item[0]}','{$item[1]}')");
}

نباید مشکل خاصی باشه و باید دیتا توی mysql ذخیره شده باشه.

فایل کلاس simplexlsx رو میتونید از اینجا دانلود کنید

3 دیدگاه

      1. سلام هادی جانوقتی دکمه send زده میشه اول از همه فایل مربوط به کلاس کار با اکسل رو include میکنیم به برنامه
        سپس یک شی از اون کلاس میسازیم و بوسیله یک حلقه foreach از رکورد اول فایل اکسل شروع میکنیم به خوندن تا آخر
        اصولا سطر اول در فایل اکسل ستون های اون میباشن که لازم نداریم اون سطر رو وارد دیتابیس کنیم و ازش رد میشیم(if ($k == 0) continue)
        قسمت بعدش داره توی هر سطر گردش میکنه و هر ستون از هر سطر رو میریزه توی یک آرایه (به عنوان مثال هر سطر ۴ ستون داره)
        و آرایه نهایی رو آخر سر وارد دیتابیس میکنیم

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *