PHP

چگونه : داده ها را از فایل excel بخوانیم و در دیتابیس MySQL بریزیم ؟!

تبلیغات
کانال تلگرام فتولیا
4 سوالی شهرداری

سلام :)

مدتی قبل در یکی از کارها باید یک سری اطلاعات رو از فایل excel می خواندیم و در دیتابیس MySQL ذخیره می کردیم .چون برای اولین این کارو انجام می دادم مدتی دنبال بهترین و آسون ترین روش بودم که بالاخره مشکلم با این اسکریپت راه افتاد که می خواهیم حالا بررسی کنیم . روش های دیگری هم هست مثل استفاده از کتابخانه PHP EXCEL که به علت حجم بالای کلاس و پیچیدگی بیشتری که داشت انتخاب ما نبود . یه نکته دیگر اینکه این اسکریپت فعلا از زبان فارسی پشتیبانی نمی کند

 فایل اصلی

از خط ۶ تا ۱۰ کد استایل های CSS قرار دارند . در خط ۲۵ کلاس مربوطه را به برنامه الحاق کرده و در خط بعدی یک شی (Object) از روی کلاس فوق می سازیم .در خط ۲۸ اطلاعات مربوط به پایگاه داده و در خط بعدی نام پایگاه داده را وارد کرده ایم (کد sql لازم برای ایجاد جدول لازمه داخل فایل اسکریپت در آخر همین پست قرار دارد) .در خط ۳۱ نام فایل excel ای را وارد می کنیم که می خواهیم اطلاعاتش را بخوانیم .

سپس به وسیله یک حلقه for اطلاعات فایل ایکسل را ردیف به ردیف خوانده در در دیتابیس ذخیره می کنیم .این اسکریپت همچنین یک progressbar نیز دارد که روند پیشرفت عملیات ذخیره سازی را در حجم های انبوه بهتر مشخص می کند.

امیدوارم این اسکریپت مورد استفاده تون قرار بگیرد و به دوستان تون هم پیشنهاد کنید . ما رو از نظرات تون نیز بهره مند کنید

 

18 Comments

  1. سلام.جواب نداد.تا ۹۰ درصد میره ناگهانی.میگه ۹ از ۱۰ پردازش شد.اما هیچی نمیره توی دیتابیس.
    البته هنوز کد را بررسی دقیق نکردم.

  2. دوستان اگه کسی ازاین کد استفاده کرد وجواب گرفت ،لطفا بنده هم راهنمایی کنید که این فایل روکجااستفاده کنم وفایل اکسل خود رو توکدام مسیر وکلا با چه کدنویسی عملیات فوق رو انجام بدم .ممنون

  3. سلام وممنون
    من اجراش میکنم تا ۹۹ درصد پیش میره و این ارور رو میده

    Notice: Undefined variable: formatstr in C:\ms4w\Apache\htdocs\mapping\excelRead\excelRead\Excel\reader.php on line 410
    ولی هیچی تو پایگاه داده نمیره

  4. به نام خدا
    و با سلام
    بالاخره با کلی جستجو و…
    بعد نزدیک به ۲ ساعت راه حل برای نمایش کاراکتر های فارسی رو پیدا کردم، اونم:
    $data->setOutputEncoding(“UTF-8”);
    دوستان برای تشکر فقط یه صلوات برامون بفرستند.
    موفق و پیروز باشید.

    1. خدا خیرت بده از دیروز درگیر این موضوع بودم، کلی روش که انجام میشد ولی کلی تبدیلات باید رو اکسل انجام میدادی تا فارسی رو هم نشون بده، و این روش به راحتی این کارو انجام داد

  5. سلام
    دوست عزیز اسکریپت خوبیست، فقط خوب بود از زبان فارسی هم پشتیبانی می کرد. اگه امکان داره راه این رو که از زبان فارسی پشتیبانی کنه، مختصرا توضیج دهید.
    با تشکر.

  6. مهندس فکر می کنم توی قالب قبلی برای این جور پست هات یک فایل نمونه هم میگذاشتی که توش تمام فایل های مورد نیاز بود ولی الان یا من نمی تونم پیداش کنم یا نیستش !
    مثلا همین اسکپریپت رو من قبلا گرفتم و ازش استفاده هم کرده بودم ولی الان فقط کدهاش نمایش داده میشه و فایلهایی که برای اجرا به اونها نیاز داره مثل reader.php موجود نیست.

  7. یک دیکشنری ویندوز دارم که از اکسل استفاده می کنه, برای تبدیل به نسخه ی آنلاینش دنبال راه حل بودم که به نظر چیز خوبی پیدا کردم.
    ممون

  8. یعنی اینکه میخوام جداول پایگاه داده رو پس از ایمکه جستجو کردم از طریق فایل اکسل ببینم .من مثلا جستجو میکنم که آقای x رو نتایجش رو بیار (جدولش رو بیار )ولی به صورت اکسل

  9. من این اسنیپت رو ندیده بودم. البته راه دیگه ای هم هست: import کردن فایل اکسل به پایگاه داده در phpMyAdmin.
    از آپدیت پروگرس بارش خوشم اومد. همونجا میشد یک لوگ هم اضافه کرد تا در صورت خطا گزارش کنه.

پاسخ دهید

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

آخرین مقالات فتولیا در ایمیل شما

در خبرنامه ما عضو شوید و آخرین مطالب و مقالات آموزشی را اول شما دریافت کنید