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

تحزين سجلات داخل ملفات اكسل و xml وورد ..إلخ

مغلق
بدأه عبدالله جابر شقليه في 7 مايو 2004 · 9 رد · 6,580 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

في بعض الأحيان نحن نحتاج إلى تحزين بعض السجلات من قواعد البيانات داخل ملفات ورد واكسل و xml وغيرها من الملفات، ويتم تخزين هذه الملفات عن طريق استخدام كائن file system object الذي سوف يقوم بإنشاء الملفات التي نريدها.

في الكود التالي سوف نقوم بعرض بيانات من جدول وتخزينها داخل ملف اكسل:

<html dir="rtl">

<body bgcolor="#FFFFFF">
<%

accessdb="state_info" 


cn="DRIVER={Microsoft Access Driver (*.mdb)};"
cn=cn & "DBQ=" & server.mappath(accessdb)


Set rs = Server.CreateObject("ADODB.Recordset")


sql = "select state,statename,capital,year,order from states " 


rs.Open sql, cn




name_file= "states.xls"

set fso = createobject("scripting.filesystemobject")


Set act = fso.CreateTextFile(server.mappath(name_file), true)


act.WriteLine("<html><body>")
act.WriteLine("<table border=""1"">")
act.WriteLine("<tr>")
act.WriteLine("<th nowrap>State</th>")
act.WriteLine("<th nowrap>Abbreviaton</th>")
act.WriteLine("<th nowrap>Capital</th>")
act.WriteLine("<th nowrap>Year Entered</th>")
act.WriteLine("<th nowrap>Entrance Number</th>")
act.WriteLine("</tr>")



do while not rs.eof
Act.WriteLine("<tr>")
act.WriteLine("<td align=""right"">" & rs("statename") & "</td>" )
act.WriteLine("<td align=""right"">" & rs("state") & "</td>" )
act.WriteLine("<td align=""right"">" & rs("capital") & "</td>")
act.WriteLine("<td align=""right"">"& rs("year") & "</td>")
act.WriteLine("<td align=""right"">"& rs("order") & "</td>")
act.WriteLine("</tr>")


rs.movenext

loop



act.WriteLine("</table></body></html>")



act.close



response.write "<a href='states.xls'>States</a> (.xls) تم إنشاء ملف  " & now() & "<br>"

%>
</body>
</html>

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

حيث قمت بتخزين داخل المتغير name_file اسم الملف الذي شوف نقوم بإنشائه، مع تحديد امتداد الملف الذي سوف نقوم بإنشائه وهو ملف اكسل، واسم الملف الذي سوف نقوم بإنشائه هو states.xls

set fso = createobject("scripting.filesystemobject")

هنا نحدد الطريقة التي سوف نقوم بإنشاء الملفات عن طريقها وهي كائن file system object.

Set act = fso.CreateTextFile(server.mappath(name_file), true)

هنا سوف نضع المتغير act بأن يقوم بإنشاء الملف عن طريق الخاصية CreateTextFile ، مع تحديد اسم الملف الذي سوف نقوم بإنشائه، وهو الملف المخزن داخل المتغير name_file

act.WriteLine("<html><body>")
act.WriteLine("<table border=""1"">")
act.WriteLine("<tr>")
act.WriteLine("<th nowrap>State</th>")
act.WriteLine("<th nowrap>Abbreviaton</th>")
act.WriteLine("<th nowrap>Capital</th>")
act.WriteLine("<th nowrap>Year Entered</th>")
act.WriteLine("<th nowrap>Entrance Number</th>")
act.WriteLine("</tr>")

حيث هنا بعد أن يتم إنشاء الملف على السيرفر، سوف يتم بدء بكتابة البيانات داخل الملف الذي تم إنشائه.

حيث act.WriteLine سوف تقوم بعملية الطباعة داخل الملف.

حيث في هذا الكود سوف يتم إنشاء العناوين للسجلات التي سوف نقوم بإنشائه.

do while not rs.eof
Act.WriteLine("<tr>")
act.WriteLine("<td align=""right"">" & rs("statename") & "</td>" )
act.WriteLine("<td align=""right"">" & rs("state") & "</td>" )
act.WriteLine("<td align=""right"">" & rs("capital") & "</td>")
act.WriteLine("<td align=""right"">"& rs("year") & "</td>")
act.WriteLine("<td align=""right"">"& rs("order") & "</td>")
act.WriteLine("</tr>")


rs.movenext

loop

خيث هنا سوف نستخدم do while not rs.eof لعرض جميع السجلات.

وبعدها سوف يتم طباعة السجلات داخل الجدول.

وبعد أن يتم إنشاء جميع السجلات التي نريدها نقوم بإعلاق الملف الذي قمنا بإنشائه.

act.close

حيث أنها سوف تحدد بأنه تم الإنتهاء من إنشاء الملف.

response.write "<a href='states.xls'>States</a> (.xls) تم إنشاء ملف  " & now() & "
"

هنا سوف يتم وضع رابط للملف الذي قمنا بإنشائه حتى تستطعون من تحميلها بعد أن تم إنشائه.

هكذا نكون قد انتهينا من كيفية إنشاء ملف اكسل.

وهذه نفس الطريقة لإنشاء ملف الورد، فقط كل ما عليك هو تغير امتداد الملف الذي نريد إنشائه بدل من الامتداد xls إلى doc.

ونفس الشئ لإنشاء ملف html فقط قم بوضع الامتداد.

وأيضاً لإنشاء ملف xml تتم بنفس الكود الذي بالأعلى، ولكن الاختلاف هو بدل من أن وضعنا كود ال html الجداول داخل الملفات فقط سوف نقوم بكتابة كود xml، ولكم التغيير:

<html>

<body bgcolor="#FFFFFF">
<%

accessdb="state_info" 


cn="DRIVER={Microsoft Access Driver (*.mdb)};"
cn=cn & "DBQ=" & server.mappath(accessdb)


Set rs = Server.CreateObject("ADODB.Recordset")


sql = "select state,statename,capital,year,order from states order by states.order " 


rs.Open sql, cn





name_file= "states.xml"


set fso = createobject("scripting.filesystemobject")


Set act = fso.CreateTextFile(server.mappath(name_file), true)


act.WriteLine("<?xml version=""1.0""?>")
act.WriteLine("<states>")


do while not rs.eof


counter=counter+1

act.WriteLine("<state id="""& counter &""">")
act.WriteLine("<state_abbrev>" & rs("state") & "</state_abbrev>" )
act.WriteLine("<state_name>" & rs("statename") & "</state_name>" )
act.WriteLine("<state_capital>" & rs("capital") & "</state_capital>")
act.WriteLine("<year_admitted>"& rs("year") & "</year_admitted>")
act.WriteLine("<order_admitted>"& rs("order") & "</order_admitted>")
act.WriteLine("</state>")


rs.movenext
loop


act.WriteLine("</states>")



act.close


response.write "<a href='states.xml'>States</a> (.xml) تم إنشاء الملف<br>"
response.write "on  " & now() & "<br>"
%>
</body>
</html>

لا يوجد هناك فرق كبير سوى بدل أن قمنا بوضع كود ال html لإنشاء الملف قمنا باستبداله بكود ال xml.

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

مع تحياتي

تم تعديل هذه المشاركة بواسطة عبدالله جابر شقليه في 7 مايو 2004 في 11:55

MCP

MCTS:.Net Framework 2.0: Web Applications

MCPD:Web Developer

#2

ياسلام عليك ياعبد الله ,, ألف شكر على الموضوع الرائع جدا ,,

فقد أفدتني فعلا ,,

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#3

السلام عليكم

لا شكر على واجب اخ هيثم.

اعتقد بان هذا الموضوع يفيدك قليلاً في عملية مشاركة الملفات.

مع تحياتي

MCP

MCTS:.Net Framework 2.0: Web Applications

MCPD:Web Developer

#4

عبد الله اشكرك جداً فعلاً انت استاذ لم يمضى يوم على حديثنا وفى اليوم التالى تضع المقاله

تم تعديل هذه المشاركة بواسطة طارق إبراهيم في 8 مايو 2004 في 04:10

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#5

جزاك الله خير يا محب الخير :) جهودك عظيمة والله

إلى الأماااااااااااام

أحللت يا عود الآراكِ بثغرها - ما خفت يا عود الآراكِ آراكَ

لو كنت من أهل القتالِ قتلتكَ - ما فاز مني يا سواكُ سواكَ

#6

فائدة للاضافة في حال اردت ان تقوم ببناء ملف ورد او اكسل من خلال كود HTML ولنفترض من بيانات موجودة في سجل ما في قاعد البيانات فهذه الطريقة سوف تفيدكم

  Response.ContentType = "application/vnd.ms-word"
  
  Response.AddHeader "Content-Disposition", "attachment;Filename=Results.doc"
  Response.Write "<body>"

  Response.write(PageContent)  
  Response.Write "</body>"
  Response.Write "</html>"

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

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

Response.ContentType = "application/vnd.ms-excel"

جديد مدونتي الشخصية http://www.badwi.com

ادعو لنا بظاهر الغيب

MyBooksExchange.jpg

#7

ألف شكرا على هذة الدروس

وهذا ملف للفائدة( سجل زوار رهيب ب ِasp+xml)

ASP_XML_Gu639603202002.zip

http://www.jaascois.com

*************************************************

مجموعة مواضيع - إحتراف البرمجة -

ّ~~~~~~~~~~~~~~~~~~~~~~

البرمجة المتقدمة & الهندسة العكسية & برمجة وأمن الأنظمة

/index.php?showtopic=45002

آخر المواضيع :

+- تحليل جرائم الكمبيوتر -+

أنظمة اليونكس(Solaris,HP, AIX,SCO)وانواع المعالجات

ثغرة SMS لأجهزة الجوال Siemens 3568i !

أخطاء وثغرات البرامج العربية !!!

سلسلة مواضيع - أمن وحماية مواقع الويب -

E البرمجة المتقدمة X للملفات التنفيذية E

سلسلة مواضيع ثغرات الأنظمة وإختراق الأجهزة

**************************************************

<span style='font-size:14pt;line-height:100%'>الإرادة تحـــقق السيـــادة</span>

**************************************************

#8

السلام عليكم

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

اي اجراء العمليات على ملف الاكسل

كحفظه كصفحة ويب كل مرة يتم التغيير فيه

هذا مهم جدا يااخوة

#9

السلام عليكم اخوي

انا مسوي موقع مجاني لمحل الوالد

فهل اقدر اسوي صفحه بالاكسس

للبيع على الموقع مثلاً

او اتمنى تعلمني كيف اسوي صفحه تجاريه للعرض والطلب والشراء من على الانتر نت

#10

الموضوع حلو جدااااا

مشكووووووووور

-------------------------------------

جديد ! مجانا ! عدادات زوار جاهزة للمواقع تجنن

الموقع :

[/url

الطريقة موجودة في الموقع في بند Help

-----

newgoogle.cjb.net

::::التوقيع::::

موقع ممتاز

وان شاء الله يفيد الجميع

وشكرا

؟؟لماذا لا يصل الايميل المرسل من صفحتي الي الهوتميل؟؟

مستوي الجدية في المواضيع المطروحة

لا اله الا الله محمد رسول الله

هذا الموضوع مغلق.

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

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

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

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

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