استفاده از Excel به عنوان پایگاه داده

استفاده از Excel به عنوان پایگاه داده

شاید برای شما هم پیش آمده باشد که یک فایل Excel داشته باشید و بخواهید با استفاده از برنامه نویسی در آن جستجو کرده یا اینکه از آن گزارش بگیرید. معمولاً اولین فکری که به ذهن افراد می رسد این است که آن را به دیتابیس های دیگر تبدیل کنند اما با استفاده از این آموزش خواهید دید که چگونه یک فایل Excel را بدون نیاز به تبدیل به صورت مستقیم به برنامه متصل کرده و داده ها را از آن استخراج یا در آن جستجو کنیم. برای این منظور ابتدا باید یک کانکشن استرینگ (Connection String) ساخته ، سپس با استفاده از دستورات زیر به آن متصل شویم. اما قبل از هر چیز این نکته را یادآور شویم که حتماً می بایست اطلاعات موجود در فایل Excel شما در جدول یا Table قرار داده شده باشد و فایل Excel مورد نظر نباید در درایو C یا پوشه ای که محدودیت دارد قرار داشته باشد.

تعریف یک شیء از Connection String

OleDbConnection con=new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\MyExcel.xlsx;Extended Properties='Excel 8.0;HDR=YES';");

تعریف یک شیء از Connection String

Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\MyExcel.xlsx;Extended Properties='Excel 8.0;HDR=YES';")

تا اینجا یک کانکشن استرینگ (Connection String) برای اتصال به فایل تعریف کردیم. حال با استفاده از کدهای زیر اطلاعات را از فایل Excel دریافت و در یک DataTable ذخیره می کنیم :

اتصال به فایل و دریافت اطلاعات

OleDbDataAdapter da=new OleDbDataAdapter("Select [ستون دوم],[ستون اول] from [Sheet1$]", con);
DataTable dt=new DataTable();
da.Fill(dt);

اتصال به فایل و دریافت اطلاعات

Dim da As New OleDbDataAdapter("Select [نام ستون دوم],[نام ستون اول] from [Sheet1$]", con)
Dim dt As New DataTable()
da.Fill(dt)

حال تمامی اطلاعات ستون اول و ستون دوم در یک DataTable قرار دارد و می توانیم در آن جستجو ، گزارش گیری و سایر عملیات را انجام دهیم. این روش برای دریافت اطلاعات با دستور Select می باشد اما شما می توانید با استفاده از سایر دستورات عملیات درج(Insert) ، حذف(Delete) و ویرایش(Update) را انجام دهید.

این روش برای Excel با ورژن های 2003 ، 2007 ، 2010 و 2013 امتحان شده و مشکلی ندارد.

برای انجام این روش با سایر ورژن ها تنها کافی است مقدار Extended Properties موجود در کانکشن استرینگ (Connection String) را تغییر دهید.



نظرات کاربران



عبارت امنیتی : حاصل 4 × 6 می شود :
متن پیام :