يتم دمج ASP وExcel لإنشاء التعليمات البرمجية لجداول البيانات والرسوم البيانية التي يمكن للأصدقاء المحتاجين الرجوع إليها. جدول المحتويات
1. تكوين البيئة
2. العمليات الأساسية لـ ASP على برنامج Excel
3. يقوم ASP بتشغيل برنامج Excel لإنشاء جداول البيانات
4. يقوم ASP بتشغيل برنامج Excel لإنشاء المخططات
5. حلول تصفح وتنزيل وحذف ملفات Excel من جانب الخادم
6. الملحق
نص
1. تكوين البيئة
فيما يتعلق بتكوين البيئة من جانب الخادم، انطلاقًا من المواد المرجعية، يجب أن تكون جميع تكوينات سلسلة Microsoft جيدة، وهي:
1. ويندوز 9x+PWS+أوفيس
2. ويندوز 2000 بروفيشنال + بي دبليو اس + أوفيس
3. خادم ويندوز 2000 + IIS + أوفيس
في الوقت الحاضر، البيئة التي اختبر فيها المؤلف بنجاح هي البيئة الأخيرة. لا توجد متطلبات خاصة لإصدار Office، نظرًا لعدم اليقين بشأن تكوين العميل وانخفاض التوافق، فمن المستحسن ألا يكون إصدار Office من جانب الخادم مرتفعًا جدًا لمنع فشل العميل في العرض بشكل صحيح بعد التنزيل.
اكتشافان آخران بالصدفة حول تكوين البيئة من جانب الخادم هما:
1. تم تجهيز آلة التطوير الخاصة بالمؤلف في الأصل بنظام WPS2002 الخاص بـ Kingsoft، ولكن كانت هناك دائمًا مشكلة في إنشاء كائن Excel بعد إلغاء تثبيت WPS2002، اختفى الخطأ.
2. يحب المؤلف استخدام FrontPage عند تطوير تعليمات برمجية لـ ASP. وتبين أنه إذا تم فتح FrontPage (جانب الخادم)، فإن إنشاء الكائن يكون غير مستقر، وأحيانًا ناجحًا، وأحيانًا غير ناجح. بعد إجراء تحقيقات مكثفة، وجدنا أنه إذا تم تشغيل برنامج سلسلة Office على جانب الخادم، فمن الصعب إنشاء كائنات Excel بنجاح.
الشيء الآخر الذي يجب تعيينه على جانب الخادم هو إذن التشغيل لمكون COM. اكتب DCOMCNFG في سطر الأوامر للدخول إلى واجهة تكوين مكون COM. حدد Microsoft Excel وانقر فوق الزر "تحديد مخصص" لجميع الخيارات الثلاثة أثناء التحرير، قم بإضافة الجميع إلى كافة الأذونات. بعد الحفظ، قم بإعادة تشغيل الخادم.
لا يوجد شيء مميز فيما يتعلق بتكوين بيئة العميل، فطالما تم تثبيت Office وIE، فإن أي إصدار عالمي يبدو جيدًا.
2. العمليات الأساسية لـ ASP على برنامج Excel
1. قم بإنشاء كائن Excel
تعيين objExcelApp = CreateObject(Excel.Application)
objExcelApp.DisplayAlerts = false لا يعرض التحذيرات
objExcelApp.Application.Visible = false لا يعرض الواجهة
2. قم بإنشاء ملف Excel جديد
objExcelApp.WorkBooks.add
تعيين objExcelBook = objExcelApp.ActiveWorkBook
تعيين objExcelSheets = objExcelBook.Worksheets
تعيين objExcelSheet = objExcelBook.Sheets(1)
3. قراءة ملفات Excel الموجودة
strAddr = Server.MapPath(.)
objExcelApp.WorkBooks.Open(strAddr & /Templet/Table.xls)
تعيين objExcelBook = objExcelApp.ActiveWorkBook
تعيين objExcelSheets = objExcelBook.Worksheets
تعيين objExcelSheet = objExcelBook.Sheets(1)
4. احفظ ملف Excel باسم
objExcelBook.SaveAs strAddr & /Temp/Table.xls
5. احفظ ملف Excel
objExcelBook.Save (تم حفظ المؤلف بنجاح أثناء الاختبار، لكن الصفحة أبلغت عن خطأ.)
6. اخرج من عملية Excel
يجب إنهاء objExcelApp.Quit
تعيين objExcelApp = لا شيء
3. يقوم ASP بتشغيل برنامج Excel لإنشاء جداول البيانات
1. أدخل البيانات في نطاق
objExcelSheet.Range(B3:k3).Value = Array(67, 87, 5, 9, 7, 45, 45, 54, 54, 10)
2. أدخل البيانات في الخلية
objExcelSheet.Cells(3,1).Value=Internet Explorer
3. تغيير لون نص الخلية
objExcelSheet.Cells(3,1).Font.Color=vbred
4. ارسم خطوطًا حول الخلايا
objExcelSheet.Cells(3.1).Borders(1).LineStyle =1
objExcelSheet.Cells(3.1).Borders(2).LineStyle =1
objExcelSheet.Cells(3.1).الحدود(3).LineStyle =1
objExcelSheet.Cells(3.1).Borders(4).LineStyle =1
ارسم خطوطًا في منتصف المنطقة
objExcelSheet.Range(A1:G7).Borders(7).LineStyle =1
objExcelSheet.Range(A1:G7).Borders(8).LineStyle =1
8. قم بتعيين لون خلفية الخلية
objExcelSheet.Cells(3.1).Interior.colorindex=17
9. دمج الخلايا
objExcelSheet.Range(A1:G7).دمج
10. اضبط المحاذاة إلى اليسار واليمين
2 يسار 3 وسط 4 يمين
objExcelSheet.Range(A1).HorizontalAlignment = 2
11. قم بتعيين المحاذاة العلوية والسفلية
2 يتم توسيطها
objExcelSheet.Range(A1)..VerticalAlignment = 2
4. يقوم ASP بتشغيل برنامج Excel لإنشاء المخططات
1. إنشاء مخطط الرسم البياني
objExcelApp.Charts.Add
2. قم بتعيين نوع المخطط
objExcelApp.ActiveChart.ChartType = 97
ملاحظة: مخطط خطي ثنائي الأبعاد، 4؛ مخطط دائري ثنائي الأبعاد، 5؛
3. قم بتعيين عنوان المخطط
objExcelApp.ActiveChart.HasTitle = True
objExcelApp.ActiveChart.ChartTitle.Text = مخطط اختبار
4. قم بتعيين الرسومات من خلال بيانات الجدول
objExcelApp.ActiveChart.SetSourceData objExcelSheet.Range(A1:k5),1
5. تعيين بيانات الرسومات مباشرة (مستحسن)
objExcelApp.ActiveChart.SeriesCollection.NewSeries
objExcelApp.ActiveChart.SeriesCollection(1).الاسم = =333
objExcelApp.ActiveChart.SeriesCollection(1).القيم = =
6. ربط الرسم البياني
objExcelApp.ActiveChart.Location 1
7. عرض جدول البيانات
objExcelApp.ActiveChart.HasDataTable = True
8. عرض وسيلة الإيضاح
objExcelApp.ActiveChart.DataTable.ShowLegendKey = True
5. حلول تصفح وتنزيل وحذف ملفات Excel من جانب الخادم
هناك العديد من الحلول للتصفح، بما في ذلك Location.href= وNavigate وResponse.Redirect. يوصى باستخدام طريقة العميل لأنها تمنح الخادم مزيدًا من الوقت لإنشاء ملفات Excel.
يعد تنفيذ التنزيل أكثر إزعاجًا بعض الشيء. يعد هذا حلاً أفضل لتنزيل المكونات من خوادم جاهزة على الإنترنت أو لتخصيص أحد المكونات وتطويره بنفسك. هناك طريقة أخرى وهي تشغيل مكون Excel على العميل، ويقوم العميل بتشغيل ملف Excel من جانب الخادم وحفظه للعميل. تتطلب هذه الطريقة من العميل فتح إذن التشغيل لعنصر تحكم ActiveX غير الآمن، نظرًا لصعوبة إعلام كل عميل بتعيين الخادم كموقع موثوق به، يوصى باستخدام الطريقة الأولى لحفظ المشكلة.
تتكون خطة الحذف من ثلاثة أجزاء:
ج: تستخدم ملفات Excel التي تم إنشاؤها بواسطة نفس المستخدم نفس اسم الملف. يمكن أن يتكون اسم الملف من رقم معرف المستخدم أو رقم معرف الجلسة الذي يضمن عدم تكرار السلاسل. بهذه الطريقة سيقوم الملف الجديد بالكتابة تلقائيًا فوق الملف السابق عند إنشائه.
ب: عند تعيين الحدث Session_onEnd في الملف Global.asa ليتم تشغيله، قم بحذف ملف Excel المؤقت الخاص بهذا المستخدم.
C: عندما يتم تعيين الحدث Application_onStart في ملف Global.asa للتشغيل، قم بحذف كافة الملفات الموجودة في الدليل المؤقت.
ملاحظة: بنية الدليل الموصى بها/دليل رمز Src/دليل قالب القالب/دليل التخزين المؤقت Temp
6. الملحق
تعتبر عملية Excel الميتة عند حدوث خطأ بمثابة صداع. ستساعد إضافة On Error Resume Next قبل كل ملف على تحسين هذا الوضع، لأنه سيستمر في تنفيذ Application.Quit بغض النظر عما إذا كان الملف يولد خطأ، مما يضمن عدم ترك أي عملية ميتة بعد كل تنفيذ لبرنامج.
نقطتان إضافيتان:
1. يمكن حل عمليات Excel المحددة الأخرى عن طريق تسجيل وحدات الماكرو.
2. سيؤدي فتح SQL Enterprise Manager على جانب الخادم أيضًا إلى حدوث مشكلات.
انسخ رمز الكود كما يلي:
<%
OnErrorResumeNextstrAddr=Server.MapPath(.)setobjExcelApp=CreateObject(Excel.Application)
objExcelApp.DisplayAlerts=false
objExcelApp.Application.Visible=false
objExcelApp.WorkBooks.Open(strAddr&/Templet/Null.xls)
setobjExcelBook=objExcelApp.ActiveWorkBook
setobjExcelSheets=objExcelBook.Worksheets
setobjExcelSheet=objExcelBook.Sheets(1)objExcelSheet.Range(B2:k2).Value=Array(Week1,Week2,Week3,Week4,Week5,Week6,Week7,
الأسبوع 8، الأسبوع 9، الأسبوع 10)
objExcelSheet.Range(B3:k3).Value=Array(67,87,5,9,7,45,45,54,54,10)
objExcelSheet.Range(B4:k4).Value=Array(10,10,8,27,33,37,50,54,10,10)
objExcelSheet.Range(B5:k5).Value=Array(23,3,86,64,60,18,5,1,36,80)
objExcelSheet.Cells(3,1).Value=InternetExplorer
objExcelSheet.Cells(4,1).Value=Netscape
objExcelSheet.Cells(5,1).Value=OtherobjExcelSheet.Range(b2:k5).Select
objExcelApp.Charts.Add
objExcelApp.ActiveChart.ChartType=97
objExcelApp.ActiveChart.BarShape=3
objExcelApp.ActiveChart.HasTitle=True
objExcelApp.ActiveChart.ChartTitle.Text=
سجل الزوار لكل أسبوع تظهر في النسبة المئوية للمتصفحات
objExcelApp.ActiveChart.SetSourceDataobjExcelSheet.Range(A1:k5),1
objExcelApp.ActiveChart.Location1
'objExcelApp.ActiveChart.HasDataTable=True
'objExcelApp.ActiveChart.DataTable.ShowLegendKey=TrueobjExcelBook.
SaveAsstrAddr&/Temp/Excel.xlsobjExcelApp.Quit
setobjExcelApp=لا شيء
%>
<!DOCTYPEHTMLPUBLIC-//W3C//DTDHTML4.0Transitional//EN>
<أتش تي أم أل>
<الرأس>
<TITLE>مستند جديد</TITLE>
<METANAME=GeneratorCONTENT=MicrosoftFrontPage5.0>
<METANAME=AuthorCONTENT=>
<METANAME=الكلمات الرئيسيةCONTENT=>
<METANAME=DescriptionCONTENT=>
</الرأس>
<الجسم>
</الجسم>
</HTML>