• 0
solnaifg

كيفية استيراد بيانات من ملف اكسل متعدد الأوراق

سؤال

السلام عليكم ورحمة الله وبركاته :

لدي ملف إكسل متعدد الأوراق ( أي فيه أكثر من شيت ) كيف يمكنني أن أستورد بيانات محددة من هذه الأوراق مع تحدد الأعمدة والصفوف التي سأستورد منها البيانات إلى داتا قريد في السي شارب أنا قمت بعمل الكود التالي :

 OpenFileDialog selectFile = new OpenFileDialog();
            // هنا تحديد الملفات الذي يقوم بعرضها صندوق فتح الملفات
            selectFile.Filter = "All Files |*.*| Excel Files |*.XLS";
            //بعد اختيار الملف من صندوق الملفات يقوم بفتحه
            if (selectFile.ShowDialog()== DialogResult.OK)
            {
                // هنا تم تحديد الاتصال ببرنامج الاكسل ونوعيته
                conncation = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source =" + selectFile.FileName + ";Extended Properties=Excel 12.0");
                // هنا يتم جلب البيانات من ملف الإكسل
                dtADbtar = new OleDbDataAdapter("Select * FROM [sheet1$a1:d5],[sheet2$a1:d5],[sheet3$a1:d5],[sheet4$a1:d5]", conncation);
                dtTable = new DataTable();
                dtADbtar.Fill(dtTable);
               dataGridView1.DataSource = dtTable;
                }

ولكن واجهتني عدة مشاكل منها أولا تكرار عملية البيانات ثانياً لو تم إضافة شيت آخر يجب أن أقوم بتعديل الكود ، فهل هناك حل لهذه المشكلة بحيث يقوم بسحب البيانات تلقائياً دون تكرار ،

وحتى لو تم إضافة شيتات جديدة يقوم بسحبها دون التعديل في الكود

ImportFromExcelSadanee.rar

0

شارك هذا الرد


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

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

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



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

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

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