کد VBA برای تبدیل جدول از اکسل به جیسون (Export Excel to JSON)


در دنیای امروز، داده‌ها نقش بسیار حیاتی در فرآیندهای تجاری، تحلیل‌های آماری، و توسعه نرم‌افزارها دارند. یکی از چالش‌های رایج در کار با اکسل، تبدیل داده‌های جدول به فرمت‌های قابل استفاده در برنامه‌های دیگر، مخصوصاً JSON است. JSON یا JavaScript Object Notation، یک فرمت سبک و قابل فهم است که به‌طور گسترده در انتقال داده‌ها در برنامه‌نویسی و توسعه وب کاربرد دارد. بنابراین، ایجاد یک کد VBA (Visual Basic for Applications) برای تبدیل یک جدول در اکسل به فایل JSON، می‌تواند به شدت مفید و کارآمد باشد.
در این مقاله، به صورت جامع و کامل، فرآیند نوشتن و درک کد VBA برای این هدف را شرح خواهیم داد. این کد برای کاربرانی طراحی شده است که می‌خواهند بدون نیاز به نرم‌افزارهای دیگر، مستقیماً در داخل اکسل، داده‌های خود را به فرمت JSON تبدیل کنند، و به راحتی بتوانند آنها را در پروژه‌های مختلف به کار ببرند.

چرا نیاز به تبدیل جدول اکسل به JSON داریم؟




همانطور که اشاره شد، JSON یک فرمت استاندارد است که در انتقال داده‌ها بین سرورها و کلاینت‌ها، برنامه‌های وب، و سیستم‌های مختلف استفاده می‌شود. اکسل، به عنوان یکی از ابزارهای محبوب برای مدیریت داده‌ها، فاقد قابلیت داخلی برای صادر کردن داده‌ها به فرمت JSON است. در نتیجه، برای توسعه‌دهندگان و تحلیل‌گران داده، نیاز به راه‌حلی وجود دارد تا بتوانند داده‌های موجود در اکسل را به راحتی به این فرمت تبدیل کنند.
در این زمینه، کد VBA یک راه حل بسیار موثر و قابل انعطاف است. VBA، زبان برنامه‌نویسی داخلی اکسل، این امکان را فراهم می‌کند که بتوانیم عملیات‌های پیچیده و تکراری را به صورت خودکار انجام دهیم. با نوشتن یک ماژول VBA، می‌توانیم داده‌های جدول را خوانده، ساختارهای لازم را ایجاد کنیم، و نهایتاً خروجی JSON تولید کنیم. این فرآیند، به صورت کاملاً خودکار و بدون نیاز به ابزارهای خارجی، انجام می‌شود.

ساختار کلی کد VBA برای تبدیل جدول اکسل به JSON




در ابتدا، باید یک جدول در اکسل داشته باشید که می‌خواهید به JSON تبدیل کنید. فرض کنیم، جدول شما در Sheet1 قرار دارد و داده‌ها از سلول A1 شروع می‌شوند. ساختار کلی کد شامل چند قسمت اصلی است:
  1. تعریف متغیرهای مورد نیاز: شامل متغیرهای رشته‌ای برای نگهداری JSON نهایی، اشیاء برای ساختار JSON، و متغیرهای حلقه‌ای برای پیمایش در سطرها و ستون‌ها.
    2. پیمایش در داده‌ها: حلقه‌هایی برای خواندن هر سطر و هر ستون، و جمع‌آوری داده‌ها در قالب ساختارهای مناسب.
    3. ایجاد ساختار JSON: استفاده از توابع و رشته‌سازی برای ساخت فایل JSON، به نحوی که مقادیر و کلیدهای هر عنصر به درستی در قالب JSON قرار گیرد.
    4. صادر کردن فایل JSON: ذخیره کردن رشته نهایی در یک فایل متنی با پسوند .json، و یا نمایش آن در یک پنجره پیام.

    نمونه کد VBA برای تبدیل جدول اکسل به JSON




در ادامه، یک نمونه کد کامل آورده شده است که این فرآیند را انجام می‌دهد:
vba  

Sub ExportTableToJSON()

Dim ws As Worksheet

Dim lastRow As Long, lastCol As Long

Dim i As Long, j As Long

Dim jsonString As String

Dim data As Object

Dim item As Object

Dim fs As Object

Dim filePath As String
' تنظیم برگه مورد نظر

Set ws = ThisWorkbook.Sheets("Sheet1")
' پیدا کردن اخرین سطر و ستون

lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row

lastCol = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column
' ایجاد یک مجموعه برای نگهداری داده‌ها

Set data = CreateObject("Scripting.Dictionary")

jsonString = "["
' پیمایش در سطرها

For i = 2 To lastRow ' فرض بر این است که ردیف اول عنوان ستون است

Set item = CreateObject("Scripting.Dictionary")

' پیمایش در ستون‌ها

For j = 1 To lastCol

... ← ادامه مطلب در magicfile.ir