العودة   منتديات داماس > منتدى البرمجة العام > لغات البرمجة
 
 

لغات البرمجة لغة الفيجوال دوت نت (VB.NET)

 
19-08-2018, 05:57 PM
hamzatalbi
عضو جديد
رقم العضوية: 902746
تاريخ التسجيل: Feb 2017
المشاركات: 5
 
السلام عليكم أطلب مساعدة الخبراء عندي تطبيق أريد إرسال بيانات من داتاقريد فيو(رقم العميل , لقب العميل ، إسم العميل) الى نمودج وورد بحيث .:
كل سطر من الداتاقريد فيو يرسل الى صفحة من نمودج وورد, لينتج عندي ملف واحد عدد صفحاته يساوي عدد أسطر الداتاقريد فيو , بيانات كل عميل في صفحة باستعمال bookmarks

وشكرا




20-08-2018, 08:31 PM
hitman48
عضو جديد
رقم العضوية: 877952
تاريخ التسجيل: Dec 2016
المشاركات: 21
 
وعليكم السلام اخي

تفضل شاهد هذا الكورس
اظغط هنا
اما للتصدير فما عليك الا بتغير الكنترول مثل textbox الى السطر الموجود في الداتا قريد فيو
مثلا الاسم موجود في السطر الثاني فقط تنادي عليه هكذا
dgv_1.Rows[0].Cells[1].Value.ToString()

او تفضل هذا الفنكشن وان شاء الله اكون افدتك

Public Sub ExportToWord(ByVal DGV As DataGridView, Heading As String)
        Dim oWord As Word.Application = DirectCast(CreateObject("Word.Application"), Word.Application)
        Dim oDoc As Word.Document = oWord.Documents.Add
        'insert a paragraph at the beginning of the document
        Dim oPara1 As Word.Paragraph
        oPara1 = oDoc.Content.Paragraphs.Add
        oPara1.Range.Text = Heading
        oPara1.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter
        oPara1.Range.InsertParagraphAfter()
        '----------------------------------------------------
        Dim Headrs = (From ch In DGV.Columns
                      Let header = DirectCast(DirectCast(ch, DataGridViewColumn).HeaderCell, DataGridViewColumnHeaderCell) 'Where header.Visible = True
                      Select header.Value).ToArray()
        Dim HeaderText() As String = Array.ConvertAll(Headrs, Function(v) v.ToString)
        Dim Items() = (From r In DGV.Rows Let row = DirectCast(r, DataGridViewRow) Where Not row.IsNewRow
                       Select (From Cell In row.Cells Let c = DirectCast(Cell, DataGridViewCell) Select c.Value).ToArray()).ToArray()
        Dim Table As String = String.Join(vbTab, HeaderText) & Environment.NewLine
        For Each a In Items
            Dim T() As String = Array.ConvertAll(a, Function(v) v.ToString)
            Table &= String.Join(vbTab, T) & Environment.NewLine
        Next
        Table = Table.TrimEnd(CChar(Environment.NewLine))
        Clipboard.SetText(Table)
        Dim oTable As Word.Table = oDoc.Tables.Add(oDoc.Bookmarks.Item("\endofdoc").Range, Items.Count + 1, Headrs.Count)
        oTable.Range.Paste()
        oTable.TableDirection = Word.WdTableDirection.wdTableDirectionRtl
        'make the row bold,fs 14+change textcolor
        oTable.Rows.Item(1).Range.Font.Bold = &H98967E
        oTable.Rows.Item(1).Range.Font.Size = 14
        oTable.Rows.Item(1).Range.Font.Color = Word.WdColor.wdColorWhite
        'change the background of the 1 row
        oTable.Rows.Item(1).Range.Shading.Texture = Word.WdTextureIndex.wdTextureNone
        oTable.Rows.Item(1).Range.Shading.ForegroundPatternColor = Word.WdColor.wdColorAutomatic
        oTable.Rows.Item(1).Range.Shading.BackgroundPatternColor = Word.WdColor.wdColorBlue
        oTable.Borders.OutsideColor = Word.WdColor.wdColorBlack
        oTable.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleSingle
        oTable.Borders.InsideColor = Word.WdColor.wdColorBlack
        oTable.Borders.InsideLineStyle = Word.WdLineStyle.wdLineStyleSingle

        'Insert Image To Word Document
        Dim x As Integer = 2
        Dim ColIndex As Integer = 1
        For _H As Integer = 0 To Headrs.Count - 1
            Dim ColHeadrText As String = HeaderText(_H)
            For _Col As Integer = 0 To DGV.Columns.Count - 1
                Dim _HeaderText As String = DGV.Columns(_Col).HeaderText
                If _HeaderText = ColHeadrText Then
                    For i As Integer = 0 To DGV.RowCount - 1
                        Dim ColType As Type = DGV.Columns(_Col).GetType
                        If ColType.Name = "DataGridViewImageColumn" Then
                            Dim _Image As Image = DirectCast(DGV.Rows(i).Cells(_Col).FormattedValue, Image)
                            Clipboard.SetImage(_Image)
                            oTable.Cell(x, _H + 1).Range.Paste()
                        Else
                            Dim ItemType As String = (DGV.Rows(i).Cells(_Col).Value).GetType.ToString
                            If ItemType = "System.DateTime" Then
                                oTable.Cell(x, _H + 1).Range.Text = Convert.ToDateTime(DGV.Rows(i).Cells(_Col).Value).ToString("d-M-yyyy")
                            Else
                                oTable.Cell(x, _H + 1).Range.Text = DGV.Rows(i).Cells(_Col).Value.ToString
                            End If
                        End If
                        x = x + 1
                    Next
                    x = 2
                End If
            Next
            ColIndex = ColIndex + 1
        Next


        oWord.Visible = True
    End Sub




Powered by vBulletin® Version
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
The owner and operator of the site is not responsible for the availability of, or any content provided.
Topics that are written in the site reflect the opinion of the author.
جميع ما يُطرح من مواضيع ومشاركات تعبر عن رأي كاتبها ولا تعبر عن رأي مالك الموقع أو الإدارة بأي حال من الأحوال.