vb.net利用listbox控件与excel文件相结合统计数据

vb.net 专栏收录该内容
4 篇文章 0 订阅
  Dim xlApp As Object = Nothing
        Dim xlBooks As Excel.Workbooks = Nothing
        Dim xlBook As Excel.Workbook = Nothing
        Dim xlSheets As Excel.Sheets = Nothing
        Dim xlSheet As Excel.Worksheet = Nothing
        Dim myrange As Excel.Range = Nothing
        Dim i, j As Integer '定义listbox1控件删除重复值变量
        Dim jshe, rows1 As Integer '定义SUMIF计数变量

        Dim strFilePath As String = "C:\Users\Dell\Desktop\数据可视化测试\认统计2020.3.20.xlsx"
        xlApp = New Excel.Application()

        xlBooks = xlApp.Workbooks

        xlBook = xlBooks.Open(strFilePath)
        xlSheets = xlBook.Worksheets
        xlSheet = xlSheets("Sheet1") '这里是你要读入数据的那个sheet页 
        '第一行第一列 
        myrange = xlSheet.Range("h2")
        ' Dim a As String = myrange.Value
        MsgBox(xlSheet.UsedRange.Rows.Count) '最大的使用行数。有记录的总行数。包括写过数据然后删除数据的空白行。要删除这样的行,必须整行删除掉。
        ' MsgBox(xlSheet.UsedRange.Columns.Count) '最大的使用列数。

        TextBox1.Text = myrange.Text
        'MsgBox("暂停")
        ''''''''''''''''''''''''''''''''''''将表格内容填加到Listbox1控件中'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        For i = 2 To xlSheet.UsedRange.Rows.Count
            If xlSheet.Range("h" & i).Value = Nothing Then '判断如果表格为空数据,停止导出
                Exit For
            End If
            ListBox1.Items.Add(xlSheet.Range("h" & i).Value)
        Next
        '''''''''''''''''''''''''''''''''''将Listbox1控件中重复数据去重''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        For i = 0 To ListBox1.Items.Count - 1
            For j = ListBox1.Items.Count - 1 To i + 1 Step -1
                If ListBox1.Items(i) = ListBox1.Items(j) Then ListBox1.Items.RemoveAt(j) '使用remove 不能删除
            Next
        Next
        '''''''''''''''''''''''''''''''''''根据listbox控件内容计算数值'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        rows1 = xlSheet.UsedRange.Rows.Count '表格内所有行数
        jshe = xlSheets.Application.WorksheetFunction.SumIf(xlSheet.Range("h2:h" & rows1), ListBox1.Items.Item(0), xlSheet.Range("d2:d" & rows1)) '求和 参数1:条件序列为H列,参数2:以h2列第一行数据为条件,参数3:在D列中符合条件数据进行相加。
        TextBox1.Text = jshe
        MsgBox(rows1)

        xlBook.Close(True) '关闭工作簿
        xlApp.Quit '结束EXCEL对象
  • 0
    点赞
  • 0
    评论
  • 2
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页

打赏作者

Newnotes

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值