الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

استيراد بيانات من ملف إكسل إلى داتا قريد فيو بدون تكرار

بدأه solnaif في 6 مارس 2017 · 12 رد · 982 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

لدي ملف إكسل أريد أن أستورد بياناته إلى داتا قريد فيو مع عدم تكرار البيانات المستوردة في أي عمود من أعمدة ملف الإكسل وللتوضيح أكثر لو مثلاً في العمود الثاني وجد رقم 10 في أكثر من صف لا أريد أن يتم الإستيراد إلا لرقم واحد ،، وكذلك لو كان في العمود الأول أكثر من صنف بنفس الإسم لا أريد أن يتم الإستيراد إلا لاسم واحد فقط من نفس الصنف وهكذا لبقية الأعمدة فهل هناك من حل 

وجزيتم خيرا

مثال.rar

#2

up

#3
solnaif كتب:

up

#4

اين ملف الاكسل الذي به تكرار

#5

الله يجزاك خير موجود في نفس الملف المضغوط باسم ملفات الطلبات

#7

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

أقلام 10 60
مراسيم 10 40
برايات 10 50

اي صف ستختار والباقي يستبعد ما هو الشروط غير التكرار لا أقلام لا تدمج برايات وكذلك

أقلام    10    60
اقلام حبر    80    60

ما هي عناصر الدمج

#8

السلام عليكم ورحمة الله وبركاته 
جزيتم خيراً
أنا فكرتي من المشروع أني استخلص فقط البيانات الغير متكررة في أي عمود من الأعمدة ومثال ذلك مثلاً : لاحظ البيانات التالية كلها متكررة ما عدا

ملفات إنجاز  38     28    ( هذا غير متكرر سواء في العناصر أو في الأرقام ) فأريد من خلال الاستعلام أنه لا يظهر لي إلا هذا أما بقية العناصر كلها لا تظهر 
وكذلك لو تلاحظ  دفاتر أبو 100   70     32 غير متكرر فأريده ان يظهر  أيضا

أقلام 10 60
مراسيم 10 40
برايات 10 50
دفاتر أبو 40 35 60
دفاترأبو 60 45 25
دفاتر أبو80 62 45
دفاتر ابو 100 70 32
دفاتر جامعة ملون 62 41
دفاتر تحضير 35 95
ملفات إنجاز  38 28
ملفات بلاستيك 45 63
اكياس هدايا 35 25
اقلام حبر 80 60
علب هدايا 40 25

أعتقد أنني أوصلت الفكرة وجزاكم الله كل خير

#9
  OpenFileDialog opFile = new OpenFileDialog();
            opFile.Filter = "ملفات الأكسل |*.*| Excel Files |*.XLSX";
            if (opFile.ShowDialog() == DialogResult.OK)
            {
                con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + opFile.FileName + "; Extended Properties = Excel 12.0");
                StringBuilder sSql = new StringBuilder();

                sSql.Append("SELECT * ");
                sSql.Append("FROM [sheet1$] ");
                sSql.Append("WHERE ");
                sSql.Append("B In (SELECT B FROM [sheet1$] GROUP BY B HAVING Count(B)=1) ");
                sSql.Append("AND ");
                sSql.Append("s In (SELECT S FROM [sheet1$] GROUP BY S HAVING Count(S)=1) ");
                sSql.Append("AND ");
                sSql.Append("k In (SELECT K FROM [sheet1$] GROUP BY K HAVING Count(K)=1)");

                dTImport = new OleDbDataAdapter(sSql.ToString(), con);

                dtExcelUpload = new DataTable();
                dTImport.Fill(dtExcelUpload);
                dataGridView1.DataSource = dtExcelUpload;

                con.Close();
            }
#10

بيّض الله وجهك وأسعدكم في الدارين ورحم الله والديكم

#11
KARIMSOFT كتب:
  OpenFileDialog opFile = new OpenFileDialog();
            opFile.Filter = "ملفات الأكسل |*.*| Excel Files |*.XLSX";
            if (opFile.ShowDialog() == DialogResult.OK)
            {
                con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + opFile.FileName + "; Extended Properties = Excel 12.0");
                StringBuilder sSql = new StringBuilder();

                sSql.Append("SELECT * ");
                sSql.Append("FROM [sheet1$] ");
                sSql.Append("WHERE ");
                sSql.Append("B In (SELECT B FROM [sheet1$] GROUP BY B HAVING Count(B)=1) ");
                sSql.Append("AND ");
                sSql.Append("s In (SELECT S FROM [sheet1$] GROUP BY S HAVING Count(S)=1) ");
                sSql.Append("AND ");
                sSql.Append("k In (SELECT K FROM [sheet1$] GROUP BY K HAVING Count(K)=1)");

                dTImport = new OleDbDataAdapter(sSql.ToString(), con);

                dtExcelUpload = new DataTable();
                dTImport.Fill(dtExcelUpload);
                dataGridView1.DataSource = dtExcelUpload;

                con.Close();
            }

 

السلام عليكم ورحمة الله وبركاته جزاكم الله كل خير ما قصرت وهذا ما نريده حفظكم الله ورعاكم ،، ولدي سؤال أخر
هل من الممكن استيراد البيانات كاملة ولكن دون تكرار يعني كل عنصر مكررة يتم استيراده مرة واحدة فقط 

يعني لو كان عنصر الأقلام      10    40  
مكررة أكثر من مرة بنفس الأرقام
فأريد أن أستورده مره واحدة فقط 

وسامحنا إن أثقلنا عليكم وجزاكم الله خير الجزاء

#12
SELECT B,s,k FROM [sheet1$] GROUP BY B,s,k
#13

يعطيك الف عافية

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…