المشاركات : 1,245
المواضيع 215
الإنتساب : Sep 2013
السمعة :
2
الشكر: 3
تم شكره 510 مرات في 303 مشاركات
PHP كود :
Dim sqlQRY2 As String Dim SqlDataAdapter As New OleDbDataAdapter Dim ds As New DataSet ds = New DataSet
sqlQRY2 = "SELECT * FROM school " SqlDataAdapter = New OleDbDataAdapter(sqlQRY2, objconn) SqlDataAdapter.Fill(ds, "school")
Dim the5, the6, the7, the12, the13 As Double nnn1 = CInt(TextBox1.Text)
ComboBox4.Text = nnn1 nnn2 = (DateTimePicker1.Text) 'nnn2 = Val(TextBox1.Text) nnn3 = (ComboBox1.Text)
If objconn.State = ConnectionState.Closed Then objconn.Open()
'Dim sqlQRY As String = "SELECT * FROM adinvodet where invono= " & nnn2 & " " Dim sqlQRY As String sqlQRY = "SELECT adinvodet.gname, adinvodet.company, adinvodet.invsun, adinvodet.makhzanid, adinvodet.makhzanname, Sum(adinvodet.invqu) AS invqu, adinvodet.invprc, adinvodet.invsal, adinvodet.makas FROM(adinvodet) WHERE(((adinvodet.invono) = " & (ComboBox4.Text) & "))GROUP BY adinvodet.gname, adinvodet.company, adinvodet.invsun, adinvodet.makhzanid, adinvodet.makhzanname, adinvodet.invprc, adinvodet.invsal, adinvodet.makas, adinvodet.itcod, adinvodet.invunit, adinvodet.invqu, adinvodet.invprc, adinvodet.invsal, adinvodet.makas " 'Dim dp As New OleDbDataAdapter 'ds = New DataSet Dp = New OleDbDataAdapter(sqlQRY, objconn) Dp.Fill(ds, "adinvodet") Dim rds = New ReportDataSource("salseDataSet1_adinvodet", ds.Tables("adinvodet")) ' قم بتغيير "DataSet1" إلى اسم مصدر البيانات الخاص بك Form46.ReportViewer1.LocalReport.DataSources.Clear() Form46.ReportViewer1.LocalReport.DataSources.Add(rds) Form46.ReportViewer1.LocalReport.ReportEmbeddedResource = "ismail.Report2.rdlc"
Dim paramList As New Generic.List(Of ReportParameter) paramList.Add(New ReportParameter("part1", ComboBox1.Text)) paramList.Add(New ReportParameter("part2", TextBox1.Text)) paramList.Add(New ReportParameter("part3", DateTimePicker1.Text)) paramList.Add(New ReportParameter("part4", theschool)) Form46.ReportViewer1.LocalReport.SetParameters(paramList) Form46.ReportViewer1.Refresh()
المشاركات : 1,245
المواضيع 215
الإنتساب : Sep 2013
السمعة :
2
الشكر: 3
تم شكره 510 مرات في 303 مشاركات
او نصدر التقرير الي اكسل
مثلا
المشاركات : 47
المواضيع 13
الإنتساب : May 2024
السمعة :
13
الشكر: 12
تم شكره 60 مرات في 33 مشاركات
لإعداد وتصدير التقرير إلى Excel في VB.NET باستخدام مكتبة Microsoft.Reporting.WinForms، يمكنك اتباع الخطوات التالية. هذا الكود يعتمد على المكتبة المتاحة ضمن Visual Studio ويشرح كيفية إنشاء التقرير وتصديره إلى ملف Excel.
الخطوات:
إعداد مشروعك: تأكد من إضافة مكتبة Microsoft.Reporting.WinForms إلى مشروعك.
إعداد البيانات والتقرير: قم بإعداد البيانات وربطها بالتقرير.
تصدير التقرير إلى Excel: استخدم الوظيفة Render لتصدير التقرير إلى ملف Excel.
PHP كود :
Imports System.IO Imports Microsoft.Reporting.WinForms
Public Class Form3 Private Sub ButtonGenerateReport_Click(sender As Object, e As EventArgs) Handles ButtonGenerateReport.Click ' إعداد الاتصال وقاعدة البيانات Dim sqlQRY2 As String = "SELECT * FROM school" Dim objconn As New OleDbConnection("Your Connection String Here") Dim SqlDataAdapter As New OleDbDataAdapter(sqlQRY2, objconn) Dim ds As New DataSet
SqlDataAdapter.Fill(ds, "school")
Dim the5, the6, the7, the12, the13 As Double Dim nnn1 As Integer = CInt(TextBox1.Text)
ComboBox4.Text = nnn1 Dim nnn2 As Date = DateTimePicker1.Value Dim nnn3 As String = ComboBox1.Text
If objconn.State = ConnectionState.Closed Then objconn.Open()
Dim sqlQRY As String sqlQRY = "SELECT adinvodet.gname, adinvodet.company, adinvodet.invsun, adinvodet.makhzanid, adinvodet.makhzanname, " & _ "Sum(adinvodet.invqu) AS invqu, adinvodet.invprc, adinvodet.invsal, adinvodet.makas " & _ "FROM adinvodet " & _ "WHERE adinvodet.invono = " & ComboBox4.Text & " " & _ "GROUP BY adinvodet.gname, adinvodet.company, adinvodet.invsun, adinvodet.makhzanid, adinvodet.makhzanname, " & _ "adinvodet.invprc, adinvodet.invsal, adinvodet.makas, adinvodet.itcod, adinvodet.invunit, adinvodet.invqu, " & _ "adinvodet.invprc, adinvodet.invsal, adinvodet.makas"
Dim Dp As New OleDbDataAdapter(sqlQRY, objconn) Dp.Fill(ds, "adinvodet")
Dim rds As New ReportDataSource("salseDataSet1_adinvodet", ds.Tables("adinvodet")) Form46.ReportViewer1.LocalReport.DataSources.Clear() Form46.ReportViewer1.LocalReport.DataSources.Add(rds) Form46.ReportViewer1.LocalReport.ReportEmbeddedResource = "ismail.Report2.rdlc"
Dim paramList As New Generic.List(Of ReportParameter) paramList.Add(New ReportParameter("part1", ComboBox1.Text)) paramList.Add(New ReportParameter("part2", TextBox1.Text)) paramList.Add(New ReportParameter("part3", DateTimePicker1.Value.ToString("yyyy-MM-dd"))) paramList.Add(New ReportParameter("part4", theschool)) Form46.ReportViewer1.LocalReport.SetParameters(paramList) Form46.ReportViewer1.RefreshReport()
' تصدير التقرير إلى Excel ExportReportToExcel(Form46.ReportViewer1) End Sub
Private Sub ExportReportToExcel(reportViewer As ReportViewer) Dim warnings As Warning() Dim streamids As String() Dim mimeType As String = String.Empty Dim encoding As String = String.Empty Dim extension As String = "xlsx" Dim bytes As Byte()
' إعداد التقرير bytes = reportViewer.LocalReport.Render("Excel", Nothing, mimeType, encoding, extension, streamids, warnings)
' حفظ الملف إلى Excel Dim filePath As String = "C:\path\to\your\output\Report.xlsx" Using fs As New FileStream(filePath, FileMode.Create) fs.Write(bytes, 0, bytes.Length) End Using
MessageBox.Show("تم تصدير التقرير بنجاح إلى " & filePath) End Sub End Class
الشرح:
إعداد البيانات والتقرير:
تم إعداد الاتصال بقاعدة البيانات واستعلام SQL لجلب البيانات.
ملء DataSet بالبيانات المسترجعة من قاعدة البيانات.
إعداد ReportDataSource وربطها بـ ReportViewer.
تصدير التقرير إلى Excel:
تستخدم وظيفة Render لتوليد البيانات الثنائية للتقرير بصيغة Excel.
يتم حفظ البيانات الثنائية إلى ملف Excel باستخدام FileStream.
ملاحظات:
تأكد من أن مسار الملف (filePath) صالح وأن لديك الأذونات اللازمة للكتابة في الموقع المحدد.
يمكنك تعديل تنسيق التصدير وتغيير "Excel" إلى تنسيقات أخرى مدعومة مثل "PDF" إذا رغبت بذلك.
باستخدام هذا الكود، يمكنك إعداد وتصدير تقريرك إلى ملف Excel بسهولة في VB.NET.
غَزة شجرة سنديان لا تنحني، ووردة لا تذبل، وشوكة عصية على الكسر. غزة، دماؤها تنتصر على السيف والسياف.
متغيب لفترة ان اخطأت بحق احد ارجو المسامحة
المشاركات : 1,245
المواضيع 215
الإنتساب : Sep 2013
السمعة :
2
الشكر: 3
تم شكره 510 مرات في 303 مشاركات
لماذا ملف الاكسل لا يفتح بعد التصدير
التنسيق لا يطابق
ولا افهم لماذا
المشاركات : 1,245
المواضيع 215
الإنتساب : Sep 2013
السمعة :
2
الشكر: 3
تم شكره 510 مرات في 303 مشاركات
هل فتح عند حضرتك
او لو فيه طريقة للطباعة دون عرض نافذة الطباعات
برجاء الرد
المشاركات : 47
المواضيع 13
الإنتساب : May 2024
السمعة :
13
الشكر: 12
تم شكره 60 مرات في 33 مشاركات
من الواضح أن هناك عدة نقاط يجب فحصها لضمان أن التقرير يتم تصديره بشكل صحيح إلى ملف Excel. دعونا نتناول الأمور الممكنة خطوة بخطوة:
1. التحقق من تنسيق التقرير في الـ ReportViewer
تأكد من أن التقرير الذي تقوم بإنشائه وعرضه في الـ ReportViewer يظهر بشكل صحيح قبل التصدير إلى ملف Excel. إذا كان التقرير في الـ ReportViewer يحتوي على أي مشاكل، فمن المحتمل أن تظهر نفس المشاكل في ملف Excel.
2. التحقق من مسار الحفظ
تأكد من أن المسار الذي تحفظ فيه الملف صحيح وأن لديك الأذونات الكافية للكتابة إلى هذا المسار. في الكود الحالي، المسار محدد إلى C:\path\to\your\output\Report.xlsx. تأكد من تعديل هذا المسار إلى مسار حقيقي على جهازك.
3. التحقق من عملية التصدير إلى Excel
تأكد من أن الـ ReportViewer يدعم التصدير إلى تنسيق Excel بدون مشاكل. يمكنك فحص أي تحذيرات يتم إرجاعها من عملية التصدير لمعرفة ما إذا كان هناك أي مشاكل في التقرير:
PHP كود :
' إعداد التقرير bytes = reportViewer.LocalReport.Render("Excel", Nothing, mimeType, encoding, extension, streamids, warnings)
' عرض التحذيرات إن وجدت If warnings IsNot Nothing AndAlso warnings.Length > 0 Then For Each warning As Warning In warnings MessageBox.Show(warning.Message) Next End If
4. التحقق من امتداد الملف
تأكد من أن الامتداد المستخدم لتصدير التقرير هو "xlsx" وليس "xls". في الكود الخاص بك، الامتداد صحيح ولكنه من الجيد التحقق من صحة الامتداد عند الحفظ.
5. التحقق من تنسيق البيانات
تأكد من أن البيانات التي تقوم بتصديرها تتوافق مع التنسيق المتوقع لملفات Excel. قد تكون هناك مشاكل في البيانات التي يتم تصديرها والتي قد تؤدي إلى فشل فتح الملف بشكل صحيح.
تحسين الكود:
تأكد من أن الكود الخاص بالتصدير إلى Excel ينفذ بشكل صحيح ويعرض أي تحذيرات ممكنة. يمكنك استخدام الكود التالي كنموذج محسّن:
PHP كود :
Private Sub ExportReportToExcel(reportViewer As ReportViewer) Dim warnings As Warning() Dim streamids As String() Dim mimeType As String = String.Empty Dim encoding As String = String.Empty Dim extension As String = "xlsx" Dim bytes As Byte()
' إعداد التقرير bytes = reportViewer.LocalReport.Render("Excel", Nothing, mimeType, encoding, extension, streamids, warnings)
' عرض التحذيرات إن وجدت If warnings IsNot Nothing AndAlso warnings.Length > 0 Then For Each warning As Warning In warnings MessageBox.Show(warning.Message) Next End If
' حفظ الملف إلى Excel Dim filePath As String = "C:\path\to\your\output\Report.xlsx" Using fs As New FileStream(filePath, FileMode.Create) fs.Write(bytes, 0, bytes.Length) End Using
MessageBox.Show("تم تصدير التقرير بنجاح إلى " & filePath) End Sub
قم بفحص هذه النقاط وتحديث الكود الخاص بك حسب الحاجة. إذا استمرت المشكلة، قد تحتاج إلى مراجعة إعدادات التقرير والبيانات المصدرة بعناية أكبر.
غَزة شجرة سنديان لا تنحني، ووردة لا تذبل، وشوكة عصية على الكسر. غزة، دماؤها تنتصر على السيف والسياف.
متغيب لفترة ان اخطأت بحق احد ارجو المسامحة
المشاركات : 1,245
المواضيع 215
الإنتساب : Sep 2013
السمعة :
2
الشكر: 3
تم شكره 510 مرات في 303 مشاركات
لك كل التحيةعلي تعبك
برجاء تجربة الحل لان هذا الملف لم يفتح رغم تطبيق تعليماتك
يمكن تصدير التقرير الي الطابعة مباشرة الي الطابعة كحل اخر
ما يتم تنفيذه علي ارض الواقع برجاء كتابته ليستفيد منه الجميع
واكيد
لك كل الشكر
علي تعبك
|