PDA

View Full Version : آموزش: کار با اکسل در #C



ایمان اختیاری
جمعه 06 اسفند 1389, 14:07 عصر
سلام .. برای یه کاری مجبور شدم با اکسل از طریق #C در ارتباط باشم گفتم اینجا هم یه تاپیک در مورد بزنم شاید به درد کسی خورد .
اول از همه این رفرنس ها رو به پروژه تون اضافه کنید ..

Microsoft Office 11.0 Object Library
Microsoft Excel 11.0 Object Library

بعدش این رفرنس ها رو به پروژه تون معرفی کنید :

using Microsoft.Office.Interop;
using Microsoft.Office.Interop.Excel;
using Alias = Microsoft.Office.Interop.Excel


این که من از Alias استفاده کردم برای راحتی کار هستش ..
Alias.Application excelApp = new Alias.Application();

Alias.Workbook excelBook = excelApp.Workbooks.Add(XlSheetType.xlWorksheet);

Alias.Worksheet excelWorksheet = (Worksheet)(excelBook.Worksheets[1]);
توسط خط اول یک نمونه از application اکسل ایجاد می کنیم و در خط دوم یک workbook و در خط سوم یک شیت برای قرار دادن اطلاعات ...

excelApp.Visible = true;

excelWorksheet.DisplayRightToLeft = true;
توسط خط اول می گیم وقتی کدا اجرا شد نمونه کار که توسط اکسل ایجاد شده رو نشون بده
خط دوم هم که راست چین کردن اطلاعاته

Range rng1 = excelWorksheet.get_Range("A1", "A1");
rng1.Value2 = "کد";
rng1.Font.Bold = true;
rng1.Font.Color = Color.Red;
rng1.Cells.Interior.Color = Color.GreenYellow;
خط اول برای ایجاد یک سرستون به کار می ره ...
خط دوم محتوای سرستون رو مشخص می کنه
خط سوم رنگ قلم
و خط چهارم رنگ زمینه سلول رو ست می کنه

int i = 1;

foreach (var k in b)
{
i++;

string s = i.ToString();

Range r1 = excelWorksheet.get_Range("A" + s, "A" + s);


r1.Value2 = s;

Range r2 = excelWorksheet.get_Range("B" + s, "B" + s);

r2.Value2 = k.ToString();



}

خب توسط قطعه کد بالا ما سلولهایی که زیر سربرگ اول A1 تا A1 هستن رو پر می کنیم .. اطلاعات هم از s خونده می شه و در r1.value2 که همون سلول هستش ذخیره می شه .. اینو گذاشتم مثلا برای ایجاد ردیف
و اطلاعات اصلی int[] b = new int[3] { 1, 2, 3 }; هستن که توسط k در سلول های B1 تا B1 قرار داده می شن ..
به همین سادگی ..
حالا وقتی شما برنامه رو اجرا می کنید و این کد رو فراخوانی اطلاعات توسط اکسل نشون داده می شه که قابل save هستن .. اگه خواستین save هم اتوماتیک باشه از کد زیر استفاده کنید :
excelApp.SaveWorkspace("test.xls");
که مسیر بدین و اسم فایل و باقی کارا ....
:لبخندساده: موفق باشید .

moayed
شنبه 19 فروردین 1391, 17:08 عصر
باتشکر از شما دوست عزیز

Collector
شنبه 19 فروردین 1391, 18:46 عصر
آموزش خوبی بود
لطف میکنی به این (http://barnamenevis.org/showthread.php?331498-%D8%AA%D8%A8%D8%AF%DB%8C%D9%84-%D9%81%DB%8C%D9%84%D8%AF-%D9%85%D8%AA%D9%86%DB%8C-%D8%A8%D9%87-%D8%B9%D8%AF%D8%AF%DB%8C-%D8%AF%D8%B1-%D8%A7%DA%A9%D8%B3%D9%84-%D8%A8%D8%A7-C)تاپیک نگاه کنی نمیدونم مشکل از کجاست.

jmfnima
یک شنبه 20 فروردین 1391, 13:17 عصر
با تشكر از شما دوست عزيز
ولي كدهايي كه شما نوشتين اينجا ناقص ديده ميشه اگه لطف كنيد اونا رو جوري بفرستين تا تمام كدها كامل ديده بشه . ممنون