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

عرض جدول اكسل على صفحة ويب مع التحديث التلقائي

بدأه المستفيد نت في 21 نوفمبر 2010 · 9 رد · 7,878 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لدي ملف اكسل على سيرفر ويندوز واريد عرض شيت من هذا الملف على صفحة ويب مع تحديثها بشكل تلقائي كل ثانية

كيف يكون ذلك ..ومن لديه خبرة ارجو المشاعدة

#2

بسم الله الرحمن الرحيم

اخى العزيز

ده مثال من ال CODEPROJECT بيوضح ال Auto Refresh Web Page

الرابط الخاص بي

ان شاء الله يفيدك

#3

السلام عليكم :)

بصراحة أنا مش متأكد أن العملية التي سأشرحها تنفع في حالة السرفر، لكن جربها وقول لي إذا نفعت أو لا...

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

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

لا تنس طبعاً أن يكون الصف الأول يحتوي على أسماء الأعمدة لأننا سنحتاج لها عند كتابة الاستعلام لاحقاً. كذلك لا تنس حفظ الملف والتأكد من إغلاق برنامج الأكسل بعدها، لأن ذلك قد يسبب عرقلة العملية بسبب استخدام البرنامج للملف.

نقوم بعد ذلك بفتح قناة اتصال من نوع ODBC Datasouce من الكنترول بانل حق الوندوز وفي الغالب تكون ضمن قائمة أدوات الإدارة Administration Tools

ومن نافذته نذهب إلى التبويب المسمى UserDNS ونقوم بإضافة Add محرك الأكسل Microsoft Excel Driver *.xls طبعاً إذا كانت ملف الأكسل تبع 2007 أو 2010 فلازم تختار المحرك الذي أمامه *.xlsx

المهم ستنقر على إنهاء Finish وستفتح لك نافذة تثبيت الاتصال مع الملف ستقوم فيها بتسمية الاتصال وليكن MyExcelDB، دعك من كتابة الوصف الآن وانقر مباشرة على زرار تحديد المصنف Select Workbook ثم حدد مسار ملف الأكسل الذي تريد استخدامه ثم OK وOK مرة أخرى.

وبذلك ستجد اسم الاتصال موجود في قائمة ال UserDNS وهذا يعني أن عملية الاتصال كانت ناجحة.

بعد ذلك ستقوم بفتح الفجوال ويب دفلوبر أو الفجوال ستوديو أو الإكسبرشن ويب وستقوم بالتالي:

==============================================

حالة استخدام برنامج Microsoft Expression WEB

==============================================

1- إضافة صفحة ويب فورم جديدة للتجربة في مشروع موقع ويب جديد asp.net 2.0 أو أحدث.

2- ستقوم بإضافة مصدر بيانات من نوع SQLDatasource من قائمة الأدوات - قسم البيانات Data.

3- ستقوم بالنقر على سهم الوظائف المختصرة (في الغالب في أعلى يمين مصدر البيانات) وتختار إعدادات الاتصال Configuer Data Source

4- ستظهر لك نافذة الاتصال وستختار إضافة اتصال جديد New Connection

5- تظهر هنا نافذة اختيار نوع المصدر وستختار Microsoft ODBC Data Source ثم OK

6 - تظهر الآن نافذة إعدادات المصدر وستقوم بالنقر على أول قائمة منسدلة وستختار الاتصال الذي قمنا ببنائه MyExcelDB ولمعرفة ما إذا كانت جميع الخطوات السابقة صحيحة قم بالنقر على زرار اختبار الاتصال Test Connection فإذا قال أن كل شيء تمام فهذا جيد، وفي حالة وجود خطأ فراجع الخدوات السابقة!(لاحظ أنه سيقوم بإعطاء رسالة خطأ إذا كان ملف الأكسل مفتوحاً)

7- بعد OK سنقوم بمتابعة العملية Next ثم Next ثم سيقوم البرنامج بعرض محتوى الجداول المتوفرة في ملف الأكسل حيث ستجد الجدول MyExcelTable

وفي حالة عدم ظهوره وظهور مربع حوار جمل الاستعلام فارغ ستكتب الاستعلام التالي SELECT * FROM MyExcelTable ثم Next ثم اختبار جملة الاستعلام للتأكد من عملها عن طريق Test Query فإذا نجحت العملية ستنقر على إنهاء وإذا حصل عناك خطأ تأكد من أن ملف الأكسل غير مستخدم من قبل أي برنامج آخر.

8 - ستقوم بربط مصدر البيانات باحدى أدوات العرض مثل Datalist أو Gridview أو أي أداة أخرى تحب استخدامها للعرض وتقبل البيانات من مصدر بيانات .

9 - قم بمعاينة الصفحة للتأكد من أن كل شيء يجري بشكل جيد.

=========================================

حالة استخدام Visual Studio 2008 أو 2010

=========================================

1- بعد فتح مشروع جديد لموقع ويب asp.net 2.0 أو أحدث قم بإضافة ويب فورم فارغ.

2- ستقوم بإظهار قائمة مستعرض السرفر Server Explorer من قائمة العرض View.

3- منها ستنقر على أيقونة الاتصال بقاعدة بيانات Connect to Database .

4 - تظهر هنا نافذة اختيار نوع المصدر وستختار Microsoft ODBC Data Source ثم OK.

5 - تظهر الآن نافذة إعدادات المصدر وستقوم بالنقر على أول قائمة منسدلة وستختار الاتصال الذي قمنا ببنائه MyExcelDB ولمعرفة ما إذا كانت جميع الخطوات السابقة صحيحة قم بالنقر على زرار اختبار الاتصال Test Connection فإذا قال أن كل شيء تمام فهذا جيد، وفي حالة وجود خطأ فراجع الخدوات السابقة! (لاحظ أنه سيقوم بإعطاء رسالة خطأ إذا كان ملف الأكسل مفتوحاً)

6 - بعد الأوكي ستجد أن الاتصال قد تم إضافته إلى قائمة مستعرض السرفر، وبالنقر على السهم الموجود بجانبها ستجد مجلد الجداول وبداخله ستجد جدولنا MyExcelTable وبداخله أسماء الأعمدة الخاصة به.

7 - تستطيع اختصاراً أن تقوم بسحب اسم الجدول من مستعرض السرفر إلى الصفحة مباشرة، وبذلك سيقوم البرنامج بإنشاء مصدر بيانات من نوع SQL وإدراج Gridview يحتوي على بيانات للمعاينة بشكل فوري وسريع.

8 - قم بمعاينة الصفحة للتأكد من أن كل شيء يجري بشكل جيد.

==============================================

حسناً إذن :)

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

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

تم تعديل هذه المشاركة بواسطة AmeenSnw في 21 نوفمبر 2010 في 22:20

#4

فيما يتعلق بالتحديث التلقائي:

تستطيع استخدام الأداة المسماة UpdatePanle والموجودة في صندوق الأدوات - قسم Ajax Extetions

أي عناصر أو أدوات يتم إدخالها بداخل إطارها سيتم تحديثها عند الطلب.

ولجعل الطلب يكون كل ثانية سنقوم بإضافة الأداة Timer من نفس المكان، حيث تستخدم هذه الأداة لتحديث الصفحة بعد بلوغ زمن معين محدد في خاصية interval، وبإعطائه القيمة 1000 فهذا يعني تحديث الصفحة كل ثانية.

ولأن تحديث الصفحة كل ثانية سيكون أمراً عصيباً على مستعرض الإنترنت ومتصفح الموقع، فسنقوم بإدخال كلاً من عارض البيانات والموقت بداخل الأداة UpdatePanel، وبذلك سيتم تحديث العناصر التي بداخلها فقط بمعزل عن بقية محتويات الصفحة، ولن تشعر بعملية التحديث البتة (مثل الفيس بوك عند إضافة مشاركة).

ملاحظة:

- كلاً من UpdatePanel وTimer بحاجة لأن يتم إضافة مديرها الخاص والمسمى ScriptManager وهو موجود في نفس قسم الأدوات Ajax Extetions

- هناك أيضاًأداة UpdateProgress وهي المسؤولة عن إظهار نص أو صورة أو أي شيء تحدده في حالة تأخر المتصفح في استلام التحديثات أو في حالة بطء سرعة الإنترنت (مثلما يحصل أيضاُ في الفيس بوك عندما يتم إضافة موضوع تجد شريط أو أيقونة متحركة تظهر للدلالة على الـLoading)

- كلاً من UpdateProgress وTimer بحاجة لأن يكونا بداخل الـ UpdatePanel لجعلهما يعملان بشكل متوافق.

==============================

حسناً إذن :)

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

تم تعديل هذه المشاركة بواسطة AmeenSnw في 21 نوفمبر 2010 في 22:46

#5

اخي الكريم هل ممكن اتواصل معك عن طريق الإيميل ارسلت لك رسالة على الخاص

#6

السلام عليكم :)

اقتباس
اخي الكريم هل ممكن اتواصل معك عن طريق الإيميل ارسلت لك رسالة على الخاص

عفوا ياصاحبي، لكن حتى نقوم بإثراء الموضوع يجب أن تكون المناقشة فيه، ليستفيد زوار الموقع وأعضاءه!

#7

iهل ممكن طرح مثال من الاخوة الخبراء

#8

اخي الكريم هناك مشكلة واجهتني انظر للصورة على الرابط

عند اختيار الاكسل تظهر هذي الصورة

i4j38548.png

#9

السلام عليكم:)

دعك من هذا الخيار الآن...

ما يهمنا هو MyExcelTable الذي قمت بإضافته (وهو موجود في القائمة كما أرى!)

ويفضل أن تغير اسمه إلى MyExcelDB عنطريق النقر على configure ثم تغيير الاسم.

وذلك ليوافق ما هو مشروح في الخطوات!

تم تعديل هذه المشاركة بواسطة AmeenSnw في 4 ديسمبر 2010 في 20:38

#10
AmeenSnw كتب:

السلام عليكم:)

دعك من هذا الخيار الآن...

ما يهمنا هو MyExcelTable الذي قمت بإضافته (وهو موجود في القائمة كما أرى!)

ويفضل أن تغير اسمه إلى MyExcelDB عنطريق النقر على configure ثم تغيير الاسم.

وذلك ليوافق ما هو مشروح في الخطوات!

configure

اذا قمت بالضغط على configure تظهر لي نفس الرسالة السابقة الخطأ

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