"> خواندن و نوشتن اطلاعات در اکسل به زبان سی شارپ

خواندن و نوشتن اطلاعات در اکسل به زبان سی شارپ

نوشتن اطلاعات در اکسل

در این مبحث میخواهیم به این موضوعی بپردازیم که چگونه میتوان از یک صفحه اکسل به عنوان سورس یا منبع برای بارگذاری داده ها (نوشتن اطلاعات در اکسل ) در ویندوز اپلیکیشن یا وب اپلیکیشن استفاده کرد و همچنیین دوباره آن را با استفاده از  سی شارپ به یک برگ اکسل برگرداند . ما در آموزش های دیگری همچون ثبت اطلاعات توسط فایل اکسل ، و ذخیره فایل اکسل در دیتابیس بحث کردیم اما اما در اکثر مواقع در بعضی از بخش های کد درتس عمل نمیکند.
در نگاه کلی معمولا وقتی که احتیاج به دسترسی به اطلاعاتی از یک برگ اکسل هست , ما ابتدا تصمیم به شروع با آفیس میگیریم و اتصالی بین برگ اکسل و شروع پردازش برقرار میکنیم اما این راه معایبی دارد که در ادامه های را برسی میکنیم.

از قبیل:
استفاده از آن از طریق وب ممکن است دچار مشکل شود.پس گزینه ی بهتر این است که از OLEDB برای خواندن داده ها استفاده کنیم و رشته های ارتباطی با یک برگ اکسل برقرار کنیم.
حال در نظر میگیریم که ما چیزهایی برای دریافت داده ها و ارسال داده ها به برگ اکسل آماده داریم و داده ها در DataTable و Dataset قرار میدهیم. میتوانیم از کد های زیر برای دریافت یا ارسال داده ها به اکسل استفاده کنیم
کد زیر برای ارسال داده ها از یک محل به برگ اکسل استفاده میشود.


string connectionString = "Provider=Microsoft.Jet.OleDb.4.0; Data Source=D:\MySamplefile.xls; Extended Properties=Excel 8.0;"
using(OleDbConnection Connection = new OleDbConnection(connectionString))
 {
 Connection.Open()
 using(OleDbCommand command = new OleDbCommand())
 {
 command.Connection = Connection;
 command.CommandText = "CREATE TABLE [EmpTable$](EmpFirstName Char(100), EmpLastName char(100), EmpDept char(250))";
 command.ExecuteNonQuery();
 }
//Add values to the table (EMPTable) in the Worksheet
using(OleDbCommand command = new OleDbCommand())
 {
command.Connection = Connection;
command.CommandText = "INSERT INTO TABLE [EmpTable$](EmpFirstName ,EmpLastName ,EmpDept ) VALUES('Karthik','Anbu','karthik.Anbu@xyz.com')";
command.ExecuteNonQuery();
 command.CommandText = "INSERT INTO TABLE [EmpTable$](EmpFirstName ,EmpLastName ,EmpDept ) VALUES('Arun','Kumar','Arun.Kumar@xyz.com')";
 command.ExecuteNonQuery();
 }


 

کد زیر نیز برای خواندن داده ها از یک برگ اکسل به کار میرود :


DataTable dt;

string connectionString = "Provider=Microsoft.Jet.OleDb.4.0; Data Source=D:\MySamplefile.xls; Extended Properties=Excel 8.0;"

using(OleDbConnection Connection = new OleDbConnection(connectionString))

{

Connection.Open()

using(OleDbCommand command = new OleDbCommand())

{

command.Connection = Connection;

command.CommandText = "SELECT * FROM [EmpTable]";

using(OleDbDataAdapter adapter =new OleDbDataAdapter())

{

adapter.SelectCommand = command;

adapter.Fill(dt);

}

}

}

 

 

  • پسورد: www.mspsoft.com
مسعود شریفی پور

از سال 88 که با برنامه نویسی آشنا شدم خیلی علاقه مند بودم یک بستر آموزشی بسازم در فضای وب و به انتشار آموزش های در این زمینه بپردازم.حالا یک تیم داریم و با قدرت رو به جلو حرکت میکنیم.

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

    ali پاسخ

    عالی بود مرسی

    کورش پاسخ

    سلام.
    چگونه میتوان نام شیت اول تا دهم را در اکسل با سی شارپ به اسم دلخاه خودمان در ویندوز اپلیکشن تغییر بدهیم.
    با تشکر

    مسیح پاسخ

    میشه این مطلب رو با کد بیسیک(vb.net)بنویسید
    ممنون

    حنیف پاسخ

    درود
    اگر اسم شیت اکسل را ندانم؟چگونه میتونم باهمین روش با دستور select اولین شیت اکسل رو بخونم؟؟؟؟

      مسعود شریفی پور پاسخ

      میتونید اندیس 0 مقداری که برمیگردونه رو بخونید.

    حنیف پاسخ

    ممنون از شما که به سوال بنده پاسخی ندادید بعد از یک ماه

      زهره سلطانیان پاسخ

      سلام شما سوالتون اگر اسم شیت اکسل را ندانم؟چگونه میتونم باهمین روش با دستور select اولین شیت اکسل رو بخونم؟؟؟؟ این بود و همکارم جوابتونو دادن
      جواب:
      میتونید اندیس 0 مقداری که برمیگردونه رو بخونید.

کدیشن ! مارکت پروژه های برنامه نویسی راه اندازی شدیه توکه پا بریم ببینم