My Programming Notes

Here are Notes.... come from debugging

My Programming Notes

Here are Notes.... come from debugging

جمعه, ۴ مرداد ۱۳۹۲، ۰۳:۰۷ ق.ظ

خواندن داده از یک فایل Excel در C#

اولین مطلبی که موقع کار کردن با WPF یاد گرفتم نحوه گرفتن داده از دیتا بیس بود.

فرض کنید دیتا بیس شما یک فایل Excel باشد. برای اینکه بتوانیم از اطلاعات موجود در آن استفاده کنیم باید با آن مثل Sql برخورد کنیم.

برای اینکار از کلاس oleDb استفاده می کنیم.

این کلاس یک Data Reader  است که برای خواندن سطر های دیتا بیس از آن استفاده می شود.

موقع استفاده از آن باید Namespace: using system.oleDb و Namespace : using system.Data رو حتما به Namespace   ها اضافه کنید.

حالا با استفاده از oleDb یک connection می سازیم که به دیتا بیس مورد نظر متصل بشیم.

یعنی یک متغیر را مثل زیر از جنس string تعریف می کنیم و عبارت زیر را مثل نمونه به آن می دهیم. این متغیر نشان می دهد که متا  می خواهیم از یک فایل Excel استفاده کنیم. پس از آن یک نمونه از  OleDbCommand می سازیم.


string ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties= 'Excel 12.0;HDR=yes


;()OleDbCommand oleDBCmd = new OleDbCommand


از Command استفاده می کنیم تا بتوانیم دستور اتصال به دیتا بیس را صادر کنیم و نوع دستور و جزئیاتش را مشخص کنیم.


  ,oleDBCmd.Connection = new OleDbConnection(String.Format(connectionString 

;(("C:\Users\SZ\Desktop\New File - Sample.xlsx"@


        ( if (oleDBCmd.Connection.State != ConnectionState.Open

        }

         

;  () oleDBCmd.Connection.Open

       {

        ; oleDBCmd.CommandType = CommandType.Text


همان طور که در بالا می بینید ابتدا برای برقراری اتصال ، آدرس محل قرار گرفتن  فایل را قید کردم سپس وضعیت Connection  را  بررسی کردم که حتما open باشدسپس نوع  دستور را به  CommandType  به صورت Text  دادم که خودم دستور را دستی بنویسم مانند دستوراتی که در Query های Sql  می نویسیم.

با همان مقررات.

به کد زیر توجه کنید:

   [$string cmdText = "SELECT  [Name] as [Title] ,[Id] FROM [PersonId] from [Student

         

  

      ; oleDBCmd.CommandText = cmdText


با این روش اتصال به دیتابیس (فایل Excel ) برقرار می شود. برای خواندن فایل و جدول های موجود هم باید از کلاس OleDbDataReader استفاده کرد.


دانلود مثال WPF

! دقت کنید که همین مثال می تواند با توجه به شرایط Windows Forms Application نوشته شود.

۴۴ نظر موافقین ۶ مخالفین ۰ ۰۴ مرداد ۹۲ ، ۰۳:۰۷
سارا زکی زاده