PDA

View Full Version : باز کردن یک فایل اکسل و اضافه کردن یک سطر به آن



armira
سه شنبه 26 آذر 1392, 15:21 عصر
با سلام خدمت دوستان عزیز . من با نحوه export یک دیتاگرید به فایل اکسل آشنا هستم . اما میخوام یک فایل اکسل که موجود هست رو باز کنم و یک سطر به اون اضافه کنم . چطور میتونم این کارو انجام بدم ؟ لطفا کمکم کنید.

دلتنگ اسمان
سه شنبه 26 آذر 1392, 15:27 عصر
سلام.
من با این کد به اکسل وصل میشم. توی رفرنسها هم باید
Microsoft.Office.Interop.Excel رو اضافه کنی. و همینطور توی usingها.



Range range_radif1, range_radif2, range_radif3;

Worksheet worksheetbarname, worksheet110_99_88_1, worksheet110_99_88_2;// sheetsbarnameh, sheets110_99_8;

string[] column_Excel = {"A","B","C","D","E","F","G","H","I","J","K","L","M", "N","O","P","Q","R","S"
,"T","U","V","W","X","Y","Z","AA","AB","AC","AD","AE", "AF","AG","AH","AI","AJ","AK",
"AL","AM","AN","AO","AP", "AQ","AR","AS","AT","AU","AV"};


object mis = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Excel.Application ExcelAppbarnameh = new Microsoft.Office.Interop.Excel.Application();

ExcelAppbarnameh.Visible = false;
System.Threading.Thread.CurrentThread.CurrentCultu re = new System.Globalization.CultureInfo("en-US");

Microsoft.Office.Interop.Excel.Application ExcelApp_110_99_88 = new Microsoft.Office.Interop.Excel.Application();

ExcelApp_110_99_88.Visible = false;
System.Threading.Thread.CurrentThread.CurrentCultu re = new System.Globalization.CultureInfo("en-US");


//باز کردن برنامه اصلی
Workbook workbook_barnameh = ExcelAppbarnameh.Workbooks.Open(FileName_barnameh, mis, mis, mis, mis, mis,
mis, mis, mis, mis, mis, mis, mis, mis, mis);
Sheets sheetsbarnameh = workbook_barnameh.Worksheets;

//باز کردن برنامه کدها
Workbook workbook110_99_88 = ExcelApp_110_99_88.Workbooks.Open(FileName110_99_8 8, mis, mis, mis, mis,
mis, mis, mis, mis, mis, mis, mis, mis, mis, mis);
Sheets sheets110_99_8 = workbook110_99_88.Worksheets;

دلتنگ اسمان
سه شنبه 26 آذر 1392, 15:35 عصر
FileName_barnameh , FileName110_99_8 مسیر دوتا فایل اکس هستش که میخوام بازش کنم. این هم بقیه کدها که فایل رو باز کرده و شیت مورد نظر رو یافته و در ردیفها حرکت میکنه.

string namesheet = "";
int Contsheetbarname = 12;
for (int t = 1; t <= Contsheetbarname; t++)
{
int q = 0;
worksheetbarname = (Worksheet)sheetsbarnameh.get_Item(t);
namesheet = worksheetbarname.Name;
if (namesheet == "کارگاه" )
{

worksheet110_99_88_1 = (Worksheet)sheets110_99_8.get_Item(6);

range_radif1 = (Range)worksheetbarname.get_Range("B" + 7, "B" + 26);
System.Array valuearray_radif1 = (System.Array)range_radif1.Value2;

for (int wr = 1; wr <= 20; wr++)
{
if (valuearray_radif1.GetValue(wr, 1) == null)
break;
tedad_row = wr;
}


for (int r = 1; r <= number_days; r++)//حرکت در طول ردیفها از راست به چپ
{
//تعریف رنج در برنامه اصلی
range_radif2 = (Range)worksheetbarname.get_Range(column_Excel[r + 6] + 7, column_Excel[r + 6] + (tedad_row + 6));
System.Array valuearray_radif2 = (System.Array)range_radif2.Value2;

range_radif3 = (Range)worksheet110_99_88_1.get_Range(column_Excel[r + 1] + 4, column_Excel[r + 1] + 18);

armira
سه شنبه 26 آذر 1392, 15:58 عصر
من یک مقداری گیج شدم . میشه واضح تر توضیح بدین . مثلا اینکه مسیر فایلمو کجا بدم ؟ و اینکه کجای کد شما میاد یک سطر به فایل اضافه میکنه ؟

دلتنگ اسمان
سه شنبه 26 آذر 1392, 16:07 عصر
ببین بنده یه فرم دارم روی فرمم یه باتن گذاشتم وقتی روی اون کلیک میکنی پنجره ای باز میشه و مسیر فایل اکسل رو میخواد.وقتی فایل اکسل رو انتخاب کردی اون مسیر رو خودش میخونه.البته این مسیر روی میریزم توی تکس باکس و بعد میخونم.
توی این کدها سطری اضافه نمیشه بلکه تا جایی که برنامه بتونه به فایل اکسل دسترسی پیداکنه و شیت مورد نظر رو هم باز کنه و یه ردیفی رو هم بخونه نوشته شده . بقیش ...