• 0
tayfa3003

ارسال بيانات الى صفحه اكسل

سؤال

السلام عليكم و رحمه الله

ارجوا المساعده في هذه المشكله . اريد حصر أسماء جميع الملفات من فولدر معين بما في ذلك الفولدرات الداخليه و ارسال البيانات الى ملف اكسل

لكن عند تشغيل التطبيق يعطى الرساله الاتيه:

Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index

و هذا هو الكود المستخدم

private void button1_Click(object sender, EventArgs e)

{

/* get all files name without path*/

string path;

if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)

{

path = folderBrowserDialog1.SelectedPath;

string[] files = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories);

int i = 0;

foreach (string file in files)

{

//listBox1.Items.Add(Path.GetFileName(file));

dataGridView1.Rows[0].Cells.Value = file;

i++;

}

}

}

ارجوا الافاده جزاكم الله خيرا

test.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

2 إجابة على هذا السؤال .

  • 0

1-اضف عمود  اولا add Column عند التصميم datagrideview

2-مسح البانات السابقة  datagrideview

3-اضف لكل ملف row

4-.Rows[0].Cells .... خطأ  اعكس 

اليك الكود الصحيح

 private void button1_Click(object sender, EventArgs e)
        {
            /* get all files name without path*/
            string path;
            if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
            {
                path = folderBrowserDialog1.SelectedPath;
                string[] files = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories);
                int i = 0;
                dataGridView1.Rows.Clear();//  1-clear all old data
                foreach (string file in files)
                {
                   
                    dataGridView1.Rows.Add();// 2- add new row
                    dataGridView1.Rows[i].Cells[0].Value = file;// 3-not Row[0] but Cell[0]
                    i++;
                }
            }
        }

 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

جزاكم الله خيرا

و الف شكر على الرد. انا نفذت البرنامج كالتالى :

/* get all files name without path*/
            string path;
            if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
                {
                path = folderBrowserDialog1.SelectedPath;
              

                Extensions = comExtensions.Text;
                string[] files = Directory.GetFiles(path, "*."+ Extensions , SearchOption.AllDirectories);

                foreach (string file in files)
                    {

                    dt.Rows.Add(resultecode, qualityNm, partDes, "", partcol, "مستطيل", resultesize, partName, ""); //add to datatable
                    }
                this.dgvMain.DataSource = dt;  //add to datagridview
                }


ارجوا من الله ان ينفع بكم و يزيدكم علما و ينفعكم بما علمكم

مره اخرى شكرا جزيلا

 

 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .