اسکریپت برای استخراج داده‌های جدول HTML به اکسل [.xls، .csv] با استفاده از جاوا اسکریپت


در دنیای وب امروز، داده‌ها نقش بسیار حیاتی و استراتژیک در تحلیل‌های تجاری، آمارگیری، و مدیریت اطلاعات دارند. بنابراین، نیاز به تبدیل و استخراج داده‌های موجود در صفحات وب، به صورت قابل استفاده در نرم‌افزارهای دیگر، بسیار احساس می‌شود. یکی از رایج‌ترین نیازها، استخراج داده‌های جداول HTML و تبدیل آنها به فرمت‌های اکسل مانند فایل‌های .xls و .csv است. در این مقاله، قصد داریم به صورت جامع و کامل، فرآیند نوشتن یک اسکریپت جاوا اسکریپت که این کار را انجام می‌دهد، بررسی کنیم.

مقدمه‌ای بر اهمیت استخراج داده‌ها از جداول HTML




در صفحات وب، جداول برای نمایش داده‌های ساختاریافته، بسیار رایج هستند. مثلا، جداول در سایت‌های تجاری، بانک‌های اطلاعاتی، لیست‌های محصولات، داده‌های آماری و موارد دیگر. اما مشکل این است که این داده‌ها، در قالب HTML قرار دارند و نیاز است که به صورت فایل‌های اکسل یا CSV ذخیره شوند تا بتوانند در برنامه‌های تحلیل داده، مانند Excel یا نرم‌افزارهای تحلیل آماری، به راحتی مورد استفاده قرار گیرند.
در این راستا، ابزارهای مختلفی وجود دارند، اما استفاده از جاوا اسکریپت، به دلیل انعطاف‌پذیری، قابلیت اجرا در مرورگر، و عدم نیاز به نصب نرم‌افزارهای خارجی، بسیار محبوب است. با نوشتن یک اسکریپت جاوا اسکریپت، می‌توان داده‌های جدول HTML را استخراج کرد و سپس آن‌ها را در قالب فایل‌های .csv و .xls ذخیره نمود.

مراحل کلی فرآیند استخراج داده‌ها




در اینجا، به صورت مرحله‌ای فرآیند استخراج داده‌های جدول HTML و تبدیل آن‌ها به فایل‌های اکسل را شرح می‌دهیم:
  1. انتخاب جدول مورد نظر در صفحه وب

ابتدا باید به صورت دقیق، عنصر جدول مورد نظر در DOM صفحه مشخص شود. این کار معمولاً با استفاده از شناسه (id)، کلاس (class) یا دیگر روش‌های انتخاب المان انجام می‌گیرد.
  1. استخراج ردیف‌ها و سلول‌ها

پس از مشخص کردن جدول، باید ردیف‌ها (tr) و سلول‌ها (td یا th) را پیمایش کنیم. این کار با حلقه‌های تو در تو انجام می‌شود، که هر ردیف را مرور کرده و داده‌های هر سلول را جمع‌آوری می‌کند.
  1. ساخت ساختار داده‌ی قابل تبدیل

داده‌های استخراج‌شده در قالب آرایه‌های دو بعدی یا آرایه‌ای از اشیاء ذخیره می‌شوند. این ساختار، پایه‌ای است برای تبدیل داده‌ها به فرمت‌های مورد نظر.
  1. تبدیل داده‌ها به فرمت CSV یا XLS

بعد از ساخت ساختار داده، باید آن‌ها را به فرمت‌های خروجی تبدیل کنیم. برای فایل CSV، این کار آسان است؛ کافی است داده‌ها را به صورت رشته‌های جداشده با کاما یا دیگر جداکننده‌ها، قالب‌بندی کنیم. برای فایل XLS، باید از کتابخانه‌های مخصوص یا روش‌های دیگر استفاده نمود.
  1. دانلود فایل نهایی در مرورگر

در نهایت، فایل ساخته‌شده باید به کاربر ارائه شود. این کار معمولاً با ایجاد یک لینک دانلود و فراخوانی آن انجام می‌شود، که کاربر بتواند فایل را ذخیره کند.

جزئیات پیاده‌سازی با کد جاوا اسکریپت




برای مثال، فرض کنید جدولی در صفحه وب دارید، و می‌خواهید داده‌های آن را در قالب فایل CSV یا XLS دانلود کنید. در ادامه، نمونه کدهای پایه برای این کار ارائه می‌شود.

استخراج داده‌ها به صورت CSV




javascript  

function exportTableToCSV() {

var table = document.querySelector("table"); // انتخاب جدول

var rows = table.querySelectorAll("tr");

var csvContent = '';
rows.forEach(function(row) {

var cols = row.querySelectorAll("th, td");

var rowData = [];

cols.forEach(function(col) {

// حذف کاراکترهای خاص و فراوری

rowData.push('"' + col.innerText.replace(/"/g, '&quo... ← ادامه مطلب در magicfile.ir