تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
طباعة report viewer دون فتح نافذة الطابعات
#3
لإعداد وتصدير التقرير إلى 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 ObjectAs EventArgsHandles 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(filePathFileMode.Create)
 
           fs.Write(bytes0bytes.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.
غَزة شجرة سنديان لا تنحني، ووردة لا تذبل، وشوكة عصية على الكسر. غزة، دماؤها تنتصر على السيف والسياف.
متغيب لفترة ان اخطأت بحق احد ارجو المسامحة
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
RE: طباعة report viewer دون فتح نافذة الطابعات - بواسطة غزة العزة - 16-06-24, 02:44 PM


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم