جامعة أهلاً عرب

العودة   جامعة أهلاً عرب > كلية Microsoft.Net و Visual Studio > برمجة قواعد البيانات والتقارير

برمجة قواعد البيانات والتقارير تتناول مواضيع هذا القسم برمجة قواعد البيانات وتطبيقاتها بواسطة تقنية ADO.NET وكذلك التقارير بالتقنيات المختلفة سواء Microsoft ReportViewer أو CrystalReport بغض النظر عن اللغة المستخدمه في ذلك

آخر 10 مشاركات قاعدة بيانات فندق ( آخر مشاركة : nicemessenger - مشاركات : 1 - )           »          اسماء الله الحسنى رائع ( آخر مشاركة : ousamagm2 - مشاركات : 3 - )           »          كيفية التعامل مع برنامجي وورد واكسيل من خلال لغة الفيجوال بيسك ( مشاركات : 18 - )           »          ممكن رقم تفعيل برنامج antivirus AVG 7.5 ( مشاركات : 0 - )           »          الى عمالقة المهندسين والمبرمجين في اقوى موقع عربي يتخصص في علوم الحاسب ( آخر مشاركة : nicemessenger - مشاركات : 7 - )           »          تغير الأسعار حسب الفصل(قاعدة بيانات فندق) ( آخر مشاركة : Ommda - مشاركات : 16 - )           »          كيف ادمج قاعدة البيانات ضمن exe ؟؟ ( مشاركات : 2 - )           »          برنامج SQL وبرامج اخرى ( مشاركات : 0 - )           »          أضخم مكتبة لبرامج الاكسيس بين يديك ( آخر مشاركة : rachidmaroc2003 - مشاركات : 312 - )           »          مشكلة تحتاج دعم فني ( مشاركات : 0 - )

إنشاء موضوع جديد  إضافة رد
 
LinkBack أدوات الموضوع انواع عرض الموضوع
قديم 2008-08-28, 10:05 AM   #1 (permalink)
كبير العمداء
 
الصورة الرمزية النبهاني
 
الجنس: ذكـــر
الجنسية: عمان
بلد الإقامة: عمان
الوظيفة: أخرى
المؤهل الدراسي: الثانوية العامة
التخصص العلمي: الهندسة الميكانيكية
كيف عرفت عن موقعنا: وصلة من موقع اخر
تاريخ التسجيل: May 2004
المشاركات: 6,651
شكراً: 48
تم شكره 72 مرة في 52 مشاركة
معدل تقييم المستوى:10 النبهاني 650- من الاشخاص الذين اتمنى ان تتعرف عليهمالنبهاني 650- من الاشخاص الذين اتمنى ان تتعرف عليهمالنبهاني 650- من الاشخاص الذين اتمنى ان تتعرف عليهمالنبهاني 650- من الاشخاص الذين اتمنى ان تتعرف عليهمالنبهاني 650- من الاشخاص الذين اتمنى ان تتعرف عليهمالنبهاني 650- من الاشخاص الذين اتمنى ان تتعرف عليهمالنبهاني 650- من الاشخاص الذين اتمنى ان تتعرف عليهم

طريقة عمل تقارير بواسطة Excel 2007

أصبح ترميز XML قياسيا فى تبادل وتداول البيانات وقامت الشركات الكبرى مثل مايكروسوفت بدعمة فى تطبيقاتها
كنا فى السابق نستخدم مكونات com للتعامل مع برامج أوفيس المختلفة والتى كانت تكتب ملفاتها بترميز ثنائى binary
اليوم أصبح بإمكاننا كتابة ملفات أوفيس كاملة من تطبيقاتنا بإستخدام ترميز XML الخاص بالأوفيس والتابع لمايكروسوفت
فى مثالنا هنا سنستخدم مكتبة جاهزة تقوم بذلك نيابة عنا ويمكننا أن نقوم نحن بذلك بدراستنا لترميز XML
الخاص بمايكروسوفت أوفيس
 إسم المكتبة CarlosAg.ExcelXmlWriter.dll
المكتبة بالمرفقات
 طريقة العمل
• سنقوم بكتابة جدول بسيط فى data set يحتوى على معلومات أسماء الكتب ومؤلفيها
• ثم سنقوم بحفظ محتويات هذا المجلد لملف إكسل على المسار c:\vbm.xls

الشكل النهائى للتطبيق



لتحميل المثال انقر هنا


خطوات العمل

1. ننشأ تطبيق ويندوز جديد
2. نضع على التطبيق مكون datagridview ومكون زر أمر button 3. نجعل خاصية dock لزر الأمر على القيمة Bottom
4. نجعل خاصية dock لجدول عرض البيانات على القيمة fill
5. نبدأ فى وضع الكود
¨ أولا نقوم بعمل جدول البيانات الخاص بنا ومن ثم نعرضة على النموذج
¨ ثانيا نقوم بعمل مرجع لمكتبة CarlosAg.ExcelXmlWriter.dll
¨ عن طريق add reverence




اكواد البرنامج :

كود:
@@@@@@@@@@@@@@@@@@@@@
	 
	 'الموضوع  :  : أساليب حفظ والتعامل  مع ملفات  ومايكروسوفت أوفيس  بترميز xml  
	 ' التطبيق  :  visual basic 2005 – 2008 
	 '  : محمد م م  -  [mmmdev]
	 ' : تطبيق بسيط  لحفظ بيانات جدول بيانات بسيط  فى صورة ملف إكسل  بتنسيق  xls 
	 ' www.vb4arab.com
	 
	 '@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
	 
	 
	 Imports System.Data
	 Public Class Form1
	 
		 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
	 
	 
	 
	 
	 
			 Dim books_ds As New DataSet
			 ' تعريف  متغير من نوع  فئة البيانات
			 Dim books_tb_a As New DataTable("Books")
			 'تعريف متغير من من جدول البيانات وسيكون الجدول الخاص بنا
			 '---------------------------------------------
			 ' تعريف الحقول الخاصة بالجدول وهى حقول كود التعريف وإسم الكتاب والمؤلف
			 With books_tb_a.Columns.Add("id", GetType(Integer))
				 ' السماح بزيادة تلقائية لرقم التعريف
				 .AutoIncrement = True
				 ' الزيادة تكون بمقدار 1
				 .AutoIncrementSeed = 1
				 ' عدم السماح بالقيمة الخالية
				 .AllowDBNull = False
				 ' لا يمكن التكرار
				 .Unique = True
			 End With
	 
			 With books_tb_a.Columns.Add("book", GetType(String))
				 'أقصى حجم 50
				 .MaxLength = 50
			 End With
	 
	 
			 With books_tb_a.Columns.Add("author", GetType(String))
				 .MaxLength = 50
			 End With
	 
			 '====================================================
			 ' ملا  البيانات والسجلات
			 ' وربط كائن البيانات بجدول البيانات
	 
			 books_ds.Tables.Add(books_tb_a)
			 '''''''''''''
			 books_tb_a.Rows.Add(New Object() {1, "موسوعة اليهود واليهودية والصهيونية ", "د/عبد الوهاب المسيرى"})
			 books_tb_a.Rows.Add(New Object() {2, "حوار مع صديقى الملحد  ", "د/مصطفى محمود"})
			 books_tb_a.Rows.Add(New Object() {3, "العبقريات ", "عباس محمود العقاد"})
			 books_tb_a.Rows.Add(New Object() {4, "قصة الحضارة ", "ويل ديورانت"})
			 books_tb_a.Rows.Add(New Object() {5, "الأنسان الحائر بين العلم والخرافة ", "د/عبد المسحن صالح"})
			 books_tb_a.Rows.Add(New Object() {6, "موسوعة مصر القدية ", "د/سليم حسن"})
			 books_tb_a.Rows.Add(New Object() {7, "رسالة التوحيد ", "العلامة الشيخ محمد عبدة"})
			 books_tb_a.Rows.Add(New Object() {8, "حول العالم فى 80 يوم ", "جول فيرن"})
			 books_tb_a.Rows.Add(New Object() {9, "اليهود إنثروبولوجيا ", "د/جمال حمدان"})
			 books_tb_a.Rows.Add(New Object() {10, "معجزة القرأن ", "العلامة الشيخ الشعراوى"})
			 books_tb_a.Rows.Add(New Object() {11, "أناكارينا ", "تولستوى"})
			 books_tb_a.Rows.Add(New Object() {12, "إقتصاد مصر كيف ضاع ", "فاروق جويدة"})
			 books_tb_a.Rows.Add(New Object() {13, "البخلاء ", "الجاحظ"})
	 
			 ''''''''''''
			 ' ربط جدول عرض البيانات على النموذج لدينا بكائن فئة البيانات لعرض البيانات منة
			 Me.DataGridView1.DataSource = books_ds
			 Me.DataGridView1.DataMember = books_tb_a.ToString
	 
		   
	 
	 
	 
		 End Sub
	 
	 
	 
		 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
			 Dim fileName As String = "c:\vbm.xls"
			 ' ExcelGeneratorإستخدام  فئة  
			 '  لتصدير البيانات وإنشاء  ملف  xls
			 ExcelGenerator.Generate(DataGridView1).Save(fileName)
			 ' إستدعاء التطبيق إكسل 
			 Process.Start(fileName)
		 End Sub
	 End Class
  • نضع الكود الخاص بإنشاء وتنسيق ملف xls
  • فى موديول جديد
كود:
Imports CarlosAg.ExcelXmlWriter
   ' إستدعاء فضاء الأسماء الخاص بمكتبة التعامل مع  xls
   Imports System
   Imports System.Drawing
   Imports System.Xml
   Imports System.Windows.Forms
   
   Public Class ExcelGenerator
	   ' Methods
	   ' تكوين شكل  الملف  xls
	   'مع وضع البارميترز حسب  برنامجنا المستخدم 
	   Public Shared Function Generate(ByVal dataGridView As DataGridView) As Workbook
		   Dim workbook As New Workbook
		   Dim worksheet As Worksheet = workbook.Worksheets.Add("Sheet 1")
		   Dim worksheetRow As New WorksheetRow
		   Dim dataGridViewColumn As DataGridViewColumn
		   For Each dataGridViewColumn In dataGridView.Columns
			   worksheet.Table.Columns.Add(New WorksheetColumn(dataGridViewColumn.Width))
			   worksheetRow.Cells.Add(New WorksheetCell(dataGridViewColumn.HeaderText))
		   Next
		   worksheet.Table.Rows.Insert(0, worksheetRow)
		   Dim worksheetDefaultStyle As WorksheetStyle = ExcelGenerator.GetWorksheetStyle(dataGridView.DefaultCellStyle, "Default")
		   workbook.Styles.Add(worksheetDefaultStyle)
		   Dim rowIndex As Integer
		   For rowIndex = 0 To dataGridView.RowCount - 1
			   worksheetRow = worksheet.Table.Rows.Add
			   Dim columnIndex As Integer
			   For columnIndex = 0 To dataGridView.ColumnCount - 1
				   Dim cell As DataGridViewCell = dataGridView.Item(columnIndex, rowIndex)
				   Dim cellStyle As WorksheetStyle = ExcelGenerator.GetWorksheetStyle(cell.InheritedStyle, String.Concat(New Object() {"column", columnIndex, "row", rowIndex}))
				   If (Not cellStyle Is Nothing) Then
					   workbook.Styles.Add(cellStyle)
				   Else
					   cellStyle = worksheetDefaultStyle
				   End If
				   Dim dataType As DataType = ExcelGenerator.GetDataType(cell.ValueType)
				   worksheetRow.Cells.Add(cell.FormattedValue.ToString, dataType, cellStyle.ID)
			   Next columnIndex
		   Next rowIndex
		   Return workbook
	   End Function
   
	   Private Shared Function GetColorName(ByVal color As Color) As String
		   Return ("#" & color.ToArgb.ToString("X").Substring(2))
	   End Function
   
	   Private Shared Function GetDataType(ByVal valueType As Type) As DataType
		   If (Not valueType Is GetType(DateTime)) Then
			   If (valueType Is GetType(String)) Then
				   Return DataType.String
			   End If
			   If ((((((valueType Is GetType(SByte)) OrElse (valueType Is GetType(Byte))) OrElse ((valueType Is GetType(Short)) OrElse (valueType Is GetType(UInt16)))) OrElse (((valueType Is GetType(Integer)) OrElse (valueType Is GetType(UInt32))) OrElse ((valueType Is GetType(Long)) OrElse (valueType Is GetType(UInt64))))) OrElse ((valueType Is GetType(Single)) OrElse (valueType Is GetType(Double)))) OrElse (valueType Is GetType(Decimal))) Then
				   Return DataType.Number
			   End If
		   End If
		   Return DataType.String
	   End Function
   
	   Private Shared Function GetWorksheetStyle(ByVal dataGridViewCellStyle As DataGridViewCellStyle, ByVal id As String) As WorksheetStyle
		   Dim worksheetStyle As WorksheetStyle = Nothing
		   If (Not dataGridViewCellStyle Is Nothing) Then
			   worksheetStyle = New WorksheetStyle(id)
			   If Not dataGridViewCellStyle.BackColor.IsEmpty Then
				   worksheetStyle.Interior.Color = ExcelGenerator.GetColorName(dataGridViewCellStyle.BackColor)
				   worksheetStyle.Interior.Pattern = StyleInteriorPattern.Solid
			   End If
			   If Not dataGridViewCellStyle.ForeColor.IsEmpty Then
				   worksheetStyle.Font.Color = ExcelGenerator.GetColorName(dataGridViewCellStyle.ForeColor)
			   End If
			   If (Not dataGridViewCellStyle.Font Is Nothing) Then
				   worksheetStyle.Font.Bold = dataGridViewCellStyle.Font.Bold
				   worksheetStyle.Font.FontName = dataGridViewCellStyle.Font.Name
				   worksheetStyle.Font.Italic = dataGridViewCellStyle.Font.Italic
				   worksheetStyle.Font.Size = CInt(dataGridViewCellStyle.Font.Size)
				   worksheetStyle.Font.Strikethrough = dataGridViewCellStyle.Font.Strikeout
				   worksheetStyle.Font.Underline = IIf(dataGridViewCellStyle.Font.Underline, UnderlineStyle.Single, UnderlineStyle.None)
			   End If
			   worksheetStyle.Borders.Add(StylePosition.Top, LineStyleOption.Continuous, 1, "Black")
			   worksheetStyle.Borders.Add(StylePosition.Right, LineStyleOption.Continuous, 1, "Black")
			   worksheetStyle.Borders.Add(StylePosition.Bottom, LineStyleOption.Continuous, 1, "Black")
			   worksheetStyle.Borders.Add(StylePosition.Left, LineStyleOption.Continuous, 1, "Black")
		   End If
		   Return worksheetStyle
	   End Function
   
   End Class


الموضوع منقول بتصرف وهذه هي المصادر :
تطبيق بسيط لحفظ بيانات جدول بيانات بسيط فى صورة ملف إكسل بتنسيق Xls - منتدى فيجوال بيسك
CarlosAg Excel Xml Writer Library
النبهاني غير متواجد حالياً   رد مع اقتباس
مرحبا عزيزي الزائر
لمشاهدة باقي ردود هذا الموضوع, من فضلك قم بتسجيل الدخول او اضغط هنا للتسجيل.
إنشاء موضوع جديد  إضافة رد

الكلمات الدلالية (Tags)
.net, dot net, excel, open xml, xml

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة
الانتقال السريع


الساعة الآن 07:24 PM.


Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd
إن الكتابات المنشورة في الجامعة ملك لأصحابها و هي لا تعبر عن وجهة نظر إدارة الجامعة


Search Engine Friendly URLs by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53