تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
سؤال عن كود يقوم بعدد عنصر معين فى ملف اكسيل
#17
السلام عليكم
أخي الكريم عذرا على التأخير
تفضل هذا هو الكود

كود :
Imports Microsoft.Office.Interop
Public Class Form1
    Dim exl_app As Excel.Application = CreateObject("Excel.Application")
    Dim Values, Counter As New List(Of String)
    Dim DateValues, CountryValues As New List(Of String)
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Values.Clear()
        Counter.Clear()
        DateValues.Clear()
        CountryValues.Clear()
        ReadFromExcel("c:\Book.xlsx")
        SaveToExcel(Application.StartupPath & "\Book0.xlsx")
    End Sub
    Private Sub ReadFromExcel(ByVal FileName As String)
        Dim exl_wrk As Excel.Workbook
        Dim exl_wst As Excel.Worksheet
        exl_wrk = exl_app.Workbooks.Open(FileName)
        exl_wst = exl_wrk.Worksheets(1)
        With exl_wst
            Dim Value1, Value2, Value3 As String
            Dim Index1, Index2, Index3 As Integer
            For I = 1 To .UsedRange.Rows.Count
                If Not String.IsNullOrEmpty(.Range("D" & I).Value) Then
                    Value1 = .Range("D" & I).Value.ToString.Split(" ")(0)
                    Value2 = .Range("E" & I).Value
                    Index1 = DateValues.IndexOf(Value1)
                    Index2 = CountryValues.IndexOf(Value2)
                    Application.DoEvents()
                    If Index1 = -1 Then
                        DateValues.Add(Value1)
                        Index1 = DateValues.Count - 1
                    End If
                    If Index2 = -1 Then
                        CountryValues.Add(Value2)
                        Index2 = CountryValues.Count - 1
                    End If
                    Value3 = Index1.ToString & "," & Index2.ToString
                    Index3 = Values.IndexOf(Value3)
                    If Index3 = -1 Then
                        Values.Add(Value3)
                        Index3 = Values.Count - 1
                        Counter.Add("0")
                    End If
                    Counter.Item(Index3) = Val(Counter.Item(Index3)) + 1
                End If
            Next
        End With
        exl_wrk.Close()
        exl_app.Quit()
    End Sub
    Private Sub SaveToExcel(ByVal FileName As String)
        Dim exl_wrk As Excel.Workbook
        Dim exl_wst As Excel.Worksheet
        exl_wrk = exl_app.Workbooks.Add
        exl_wst = exl_wrk.Worksheets(1)
        With exl_wst
            .Cells(1, 1) = "اسم الدولة"
            Dim Index As Integer = 0
            For I = 2 To DateValues.Count + 1
                .Cells(1, I).NumberFormat = "@"
                .Cells(1, I) = DateValues.Item(I - 2)
                For H = 2 To CountryValues.Count + 1
                    .Cells(H, 1) = CountryValues.Item(H - 2)
                    Index = Values.IndexOf((I - 2).ToString & "," & (H - 2).ToString)
                    If Index = -1 Then
                        .Cells(H, I) = 0
                    Else
                        .Cells(H, I) = Counter.Item(Index)
                    End If
                Next
            Next
        End With
        exl_wrk.SaveAs(FileName)
        exl_wrk.Close()
        exl_app.Quit()
    End Sub
End Class

بالتوفيق
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
سؤال عن كود يقوم بعدد عنصر معين فى ملف اكسيل - بواسطة sooriaty03 - 03-03-13, 02:16 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] عرض اكسيل علىDGVتعمل على بعض الأجهزة وبعضها لا Ragi 7 147 19-12-25, 03:21 PM
آخر رد: أبو خالد الشكري
  سؤال عن الاسمبلي و النيم سبيس justforit 0 102 07-12-25, 12:28 AM
آخر رد: justforit
  فائدة بخصوص التعامل مع علامات التنصيص مع {سؤال} justforit 4 270 02-11-25, 11:19 PM
آخر رد: justforit
  [نقاش] سؤال MetoDas 2 1,489 20-04-25, 10:21 PM
آخر رد: Kamil
  [سؤال] سؤال ترددت قبل نشرة:طابعة الباركود لماذا تطبع أكثر من ليبل فارغ قبل السليم dr.programming 1 511 20-04-25, 09:26 PM
آخر رد: Kamil
  سؤال لو سمحتم احبتى فى الله خالد كامل1 4 807 09-02-25, 12:02 AM
آخر رد: princelovelorn
  سؤال واستفسار خالد كامل1 1 402 04-02-25, 09:31 PM
آخر رد: aliday03
  اريد كود معين اثابكم الله خالد كامل1 1 456 04-02-25, 09:28 PM
آخر رد: aliday03
  سؤال فى تقرير كريستال خالد كامل1 0 393 04-02-25, 05:50 AM
آخر رد: خالد كامل1
Question [VB.NET] هناك سؤال يهم كل مبرمج الماذا برنامجك يظهر على بعض الشاشات اكثر دقه بشكل مصغر ومشوه Microformt 0 448 01-02-25, 03:48 PM
آخر رد: Microformt

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


يقوم بقرائة الموضوع: